--- openapi: 3.1.0 info: title: API Documentation tags: - name: AWS Policies - 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: Agent Configs description: Endpoints for managing agent configurations — AI behavior instructions and Slack trigger settings for an agent. - name: Agent Roles description: Endpoints for managing agent roles — custom permission sets that define what actions an AI agent is allowed to perform within the organization. - name: Agents description: Endpoints for managing AI agents — automated organization members with configurable behavior, permissions, and Slack integration. - name: Allocations - 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: Artifacts - 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: BillItems - 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: 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: Calendar events - 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: Connections - 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 Cost Rates - Bulk - 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: Deals - Bulk - 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: Email Links - 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: Export jobs - name: Filter Preferences - 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: Imports - 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: Integration Task Management Configuration - 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: Invoices - Bulk - name: Job Role - name: Job Role Rate Card - 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 Champions - name: Organization Invoices - name: Organization Membership Counts - 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: |- Docs are rich-text pages in a two-level hierarchy: a **doc** (root page) owns sharing settings, memberships and the project link; **subpages** nest under it. Page bodies are ProseMirror JSON — write them through the markdown/HTML endpoints; raw body writes are not part of the public API. Edit history lives in [`page_versions`](openapi:group:pageversions); root pages on a project also carry custom fields. - 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: Payment reminders - 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: Payments - Bulk - name: People description: |- Every person in an organization is a `people` record. The `person_type` filter distinguishes four kinds: - **User**: has a Productive login and can sign in. Employees, contractors and client users are all users. - **Contact**: a person record without a login, typically someone at a client company kept for CRM and communication. Cannot sign in or track time. - **Placeholder**: a named slot used in resource planning to book time before a real person is hired or assigned. Has no login. - **Agent**: an AI agent acting inside the organization on behalf of its manager. 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. ### Creating and inviting a person Adding a person takes two requests. 1. **`POST /api/v2/people`** creates the person record. It has no login yet and appears as a **Contact** in the `person_type` filter. `company_id` and `role_id` are required, and the person needs an `email` before it can be invited. 2. **`PATCH /api/v2/people/{id}/invite`** turns the record into a **User**. It creates or links the user account for the email, applies `company_id`, `custom_role_id` and, for time tracker roles, `subsidiary_id`, and sends the invitation email. #### `skip_invite` Add `?skip_invite=true` to the invite request to create and link the user account without sending the email. The person is marked `virtual: true` and `invited_at` stays empty. Use it when you are importing people who should exist in planning, reports and time tracking but should not get access yet, or ever. Do not use it for people who need to sign in, since no email is sent and `PATCH /api/v2/people/{id}/resend` does nothing for virtual people. - 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** bind a placeholder to a specific field (assignee, subscriber, start date, or due date) on a template task or todo. When the template is instantiated, the resolved placeholder value is written to that field. Date fields can additionally apply a relative interval offset from the resolved date. - name: Placeholders description: |- **Placeholders** are named person or date slots defined on a template project. When a project is created from the template, each placeholder is resolved to a concrete person or date, and the resolved value is applied wherever the placeholder is used. Not to be confused with placeholder people in resource planning — those are `people` records with the `placeholder` attribute. - 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 Milestones description: |- **Project milestones** are dated markers on a project — a launch, a review, a deadline — with a title, icon, color, an optional note and an optional assignee. They are shown on the project and on resource planning timelines. Milestones are available only when the project milestones feature is enabled for the organization; otherwise the list is empty and other requests are rejected. Client users never see milestones. - name: Project Preferences description: Project preferences link a person to a project and hold that person's personal settings for it — preferred task layout, whether they auto-watch new tasks, and free-form view preferences. There is at most one record per person per project. - 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: Scenario Bookings description: Time bookings scheduled for scenario items, applied to the deal as real bookings when the scenario is applied with `apply_bookings`. All scenario endpoints require the Scenario Builder feature on the organization's plan. - name: Scenario Items description: Person and placeholder assignments on scenario services, carrying rates and allocated quantities. All scenario endpoints require the Scenario Builder feature on the organization's plan. - name: Scenario Sections description: Groupings of services within a scenario, mirroring the deal's sections. All scenario endpoints require the Scenario Builder feature on the organization's plan. - name: Scenario Services description: Line items of a scenario, mirroring the deal's services and carrying their pricing, budgets, and financial totals. All scenario endpoints require the Scenario Builder feature on the organization's plan. - name: Scenarios description: What-if copies of a deal's sections, services, items, and bookings, applied back to the deal by overwrite (replace everything) or sync (diff and merge). All scenario endpoints require the Scenario Builder feature on the organization's plan. - 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 Assignments - Bulk - name: Service Suggestions - 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 Type Assignments - Bulk - 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: Services - Bulk - name: Sessions description: "**Sessions** represent authenticated login sessions for users accessing Productive." - name: Signups - name: Skills - 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: Tasks - Bulk - 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: Two Factor Authentications - 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: Widgets - Bulk - 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/activities": get: tags: - Activities summary: Get activities operationId: activities-index description: List activities with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_activity" - "$ref": "#/components/parameters/sort_activity" - "$ref": "#/components/parameters/include_activity" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '200': "$ref": "#/components/responses/collection_activity" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/activities/{id}": get: tags: - Activities summary: Get an activity operationId: activities-show description: Retrieve a single activity by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_activity" responses: '200': "$ref": "#/components/responses/single_activity" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/agent_configs": post: tags: - Agent Configs summary: Create an agent config operationId: agent-configs-create description: Creates a new configuration for an agent, defining AI behavior instructions and Slack integration trigger settings. parameters: - "$ref": "#/components/parameters/include_agent_config" requestBody: "$ref": "#/components/requestBodies/agent_config" responses: '201': "$ref": "#/components/responses/single_agent_config" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_agent_config" get: tags: - Agent Configs summary: Get agent configs operationId: agent-configs-index description: Returns a paginated list of agent configurations in the organization. Supports filtering by agent ID. parameters: - "$ref": "#/components/parameters/filter_agent_config" - "$ref": "#/components/parameters/sort_agent_config" - "$ref": "#/components/parameters/include_agent_config" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_agent_config" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/agent_configs/{id}": delete: tags: - Agent Configs summary: Delete an agent config operationId: agent-configs-destroy description: Deletes the specified agent configuration. This action cannot be undone. parameters: - in: path name: id schema: type: string required: true responses: '204': description: Returned when the agent configuration is successfully deleted. '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Agent Configs summary: Get an agent config operationId: agent-configs-show description: Returns the configuration for the specified agent, including AI instructions and Slack trigger settings. parameters: - in: path name: id schema: type: string required: true description: The unique identifier of the agent configuration to retrieve. - "$ref": "#/components/parameters/include_agent_config" responses: '200': "$ref": "#/components/responses/single_agent_config" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Agent Configs summary: Update an agent config operationId: agent-configs-update description: Updates the configuration for the specified agent, including AI behavior instructions and Slack trigger settings. parameters: - in: path name: id schema: type: string required: true description: The unique identifier of the agent configuration to update. - "$ref": "#/components/parameters/include_agent_config" requestBody: "$ref": "#/components/requestBodies/agent_config_update" responses: '200': "$ref": "#/components/responses/single_agent_config" '422': "$ref": "#/components/responses/unprocessable_content_agent_config" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/agent_roles/{id}": get: tags: - Agent Roles summary: Get an agent role operationId: agent-roles-show description: Returns the role associated with the specified agent, including its permission settings. parameters: - in: path name: id schema: type: string required: true description: The unique identifier of the agent role to retrieve. responses: '200': "$ref": "#/components/responses/single_role" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Agent Roles summary: Update an agent role operationId: agent-roles-update description: Updates the permissions and access settings for the specified agent role. parameters: - in: path name: id schema: type: string required: true description: The unique identifier of the agent role to update. requestBody: "$ref": "#/components/requestBodies/agent_role" responses: '200': "$ref": "#/components/responses/single_role" '422': "$ref": "#/components/responses/unprocessable_content_role" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/agents/{id}/activate": patch: tags: - Agents summary: Activate an agent operationId: agents-activate-activate description: Reactivates a previously deactivated agent, making it available again. Clears the `deactivated_at` timestamp. parameters: - in: path name: id schema: type: string required: true description: The unique identifier of the agent to activate. - "$ref": "#/components/parameters/include_agent" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_agent" "/api/v2/agents": post: tags: - Agents summary: Create an agent operationId: agents-create description: Creates a new agent in the organization with the specified name, manager, role, and optional avatar. parameters: - "$ref": "#/components/parameters/include_agent" requestBody: "$ref": "#/components/requestBodies/agent" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_agent" '422': "$ref": "#/components/responses/unprocessable_content_agent" get: tags: - Agents summary: Get agents operationId: agents-index description: Returns a paginated list of agents in the organization. Supports filtering by status, manager, custom role, name, and more. parameters: - "$ref": "#/components/parameters/filter_agent" - "$ref": "#/components/parameters/sort_agent" - "$ref": "#/components/parameters/include_agent" - "$ref": "#/components/parameters/fields" responses: '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_agent" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" "/api/v2/agents/{id}/deactivate": patch: tags: - Agents summary: Deactivate an agent operationId: agents-deactivate-deactivate description: Deactivates the specified agent, preventing it from being used. Sets `deactivated_at` to the current time. parameters: - in: path name: id schema: type: string required: true description: The unique identifier of the agent to deactivate. - "$ref": "#/components/parameters/include_agent" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_agent" "/api/v2/agents/{id}": get: tags: - Agents summary: Get an agent operationId: agents-show description: Returns a single agent by ID, including its attributes and related resources. parameters: - in: path name: id schema: type: string required: true description: The unique identifier of the agent to retrieve. - "$ref": "#/components/parameters/include_agent" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_agent" patch: tags: - Agents summary: Update an agent operationId: agents-update description: Updates an existing agent's attributes such as name, title, manager, or custom role. parameters: - in: path name: id schema: type: string required: true description: The unique identifier of the agent to update. - "$ref": "#/components/parameters/include_agent" requestBody: "$ref": "#/components/requestBodies/agent_update" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_agent" '422': "$ref": "#/components/responses/unprocessable_content_agent" "/api/v2/allocations": get: tags: - Allocations summary: Get allocations operationId: allocations-index parameters: - "$ref": "#/components/parameters/fields" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_allocation" "/api/v2/approval_policies/{id}/archive": patch: tags: - Approval Policy summary: Archives the approval policy operationId: approval_policies-archive-archive description: Archive an approval policy. parameters: - in: path name: id schema: type: string required: true description: The ID of the approval policy to archive. - "$ref": "#/components/parameters/include_approval_policy" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_approval_policy" "/api/v2/approval_policies": post: tags: - Approval Policy summary: Creates the approval policy operationId: approval_policies-create description: Create a new approval policy. parameters: - "$ref": "#/components/parameters/include_approval_policy" requestBody: "$ref": "#/components/requestBodies/approval_policy" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_approval_policy" '422': "$ref": "#/components/responses/unprocessable_content_approval_policy" get: tags: - Approval Policy summary: Get approval policies operationId: approval_policies-index description: List approval policies with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_approval_policy" - "$ref": "#/components/parameters/sort_approval_policy" - "$ref": "#/components/parameters/include_approval_policy" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_approval_policy" "/api/v2/approval_policies/{id}/restore": patch: tags: - Approval Policy summary: Restores the approval policy operationId: approval_policies-restore-restore description: Restore an approval policy. parameters: - in: path name: id schema: type: string required: true description: The ID of the approval policy to restore. - "$ref": "#/components/parameters/include_approval_policy" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_approval_policy" "/api/v2/approval_policies/{id}": get: tags: - Approval Policy summary: Gets the approval policy operationId: approval_policies-show description: Retrieve a single approval policy by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the approval policy to retrieve. - "$ref": "#/components/parameters/include_approval_policy" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_approval_policy" patch: tags: - Approval Policy summary: Updates the approval policy operationId: approval_policies-update description: Update an approval policy. parameters: - in: path name: id schema: type: string required: true description: The ID of the approval policy to update. - "$ref": "#/components/parameters/include_approval_policy" requestBody: "$ref": "#/components/requestBodies/approval_policy_update" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_approval_policy" '200': "$ref": "#/components/responses/single_approval_policy" "/api/v2/approval_policy_assignments": post: tags: - Approval Policy Assignment summary: Creates the approval policy assignment operationId: approval_policy_assignments-create description: Create a new approval policy assignment. parameters: - "$ref": "#/components/parameters/include_approval_policy_assignment" requestBody: "$ref": "#/components/requestBodies/approval_policy_assignment" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_approval_policy_assignment" '201': "$ref": "#/components/responses/single_approval_policy_assignment" delete: tags: - Approval Policy Assignment summary: Bulk deletes approval policy assignments description: | Deletes several approval policy assignments in one request. Requires the JSON:API bulk extension headers (`Content-Type` and `Accept`: `application/vnd.api+json; ext=bulk`). The same headers on `POST /api/v2/approval_policy_assignments` create several assignments at once, reusing the existing assignment of a target, and respond with a collection; validation errors then carry the index of the failing item in `meta.bulk_index`. Bulk create is not atomic: valid items are saved even when the response is 422, which lists only the failing items. Responds with not found when no requested assignment is visible. operationId: approval_policy_assignments-destroy-bulk requestBody: "$ref": "#/components/requestBodies/approval_policy_assignment_bulk_delete" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Approval Policy Assignment summary: Get approval policy assignments operationId: approval_policy_assignments-index description: List approval policy assignments with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_approval_policy_assignment" - "$ref": "#/components/parameters/sort_approval_policy_assignment" - "$ref": "#/components/parameters/include_approval_policy_assignment" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_approval_policy_assignment" "/api/v2/approval_policy_assignments/{id}": delete: tags: - Approval Policy Assignment summary: Deletes the approval policy assignment operationId: approval_policy_assignments-destroy description: Delete an approval policy assignment. parameters: - in: path name: id schema: type: string required: true description: The ID of the approval policy assignment to delete. responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Approval Policy Assignment summary: Gets the approval policy assignment operationId: approval_policy_assignments-show description: Retrieve a single approval policy assignment by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the approval policy assignment to retrieve. - "$ref": "#/components/parameters/include_approval_policy_assignment" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_approval_policy_assignment" patch: tags: - Approval Policy Assignment summary: Updates the approval policy assignment operationId: approval_policy_assignments-update description: Update an approval policy assignment. parameters: - in: path name: id schema: type: string required: true description: The ID of the approval policy assignment to update. - "$ref": "#/components/parameters/include_approval_policy_assignment" requestBody: "$ref": "#/components/requestBodies/approval_policy_assignment_update" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_approval_policy_assignment" '200': "$ref": "#/components/responses/single_approval_policy_assignment" "/api/v2/approval_statuses/{id}/approve": patch: tags: - Approval Status summary: Approves an approval status 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`. parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_approval_status" requestBody: "$ref": "#/components/requestBodies/approval_status_approve" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_approval_status" "/api/v2/approval_statuses/approve": patch: tags: - Approval Status summary: Bulk approves approval statuses description: | Approves several time off approval statuses in one request. Requires the JSON:API bulk extension headers (`Content-Type` and `Accept`: `application/vnd.api+json; ext=bulk`) and the time off approvals add-on. Responds with the requested approval statuses. operationId: approval_statuses-approve-bulk parameters: - "$ref": "#/components/parameters/include_approval_status" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/approval_status_bulk_approve" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_approval_status" "/api/v2/approval_statuses": get: tags: - Approval Status summary: Get approval statuses 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. parameters: - "$ref": "#/components/parameters/filter_approval_status" - "$ref": "#/components/parameters/include_approval_status" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_approval_status" "/api/v2/approval_statuses/{id}/reject": patch: tags: - Approval Status summary: Rejects an approval status operationId: approval_statuses-reject-reject parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_approval_status" requestBody: "$ref": "#/components/requestBodies/approval_status_reject" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_approval_status" "/api/v2/approval_statuses/{id}": get: tags: - Approval Status summary: Gets the approval status operationId: approval_statuses-show description: Returns a single approval status by id. parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_approval_status" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_approval_status" "/api/v2/approval_workflows": post: tags: - Approval Workflow summary: Creates the approval workflow operationId: approval_workflows-create description: Create a new approval workflow. parameters: - "$ref": "#/components/parameters/include_approval_workflow" requestBody: "$ref": "#/components/requestBodies/approval_workflow" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_approval_workflow" '201': "$ref": "#/components/responses/single_approval_workflow" get: tags: - Approval Workflow summary: Get approval workflows operationId: approval_workflows-index description: List approval workflows, optionally filtered by approval policy, absence category or ID. parameters: - "$ref": "#/components/parameters/filter_approval_workflow" - "$ref": "#/components/parameters/sort_approval_workflow" - "$ref": "#/components/parameters/include_approval_workflow" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_approval_workflow" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Approval Workflow summary: Bulk updates approval workflows description: | Updates several approval workflows in one request. Requires the JSON:API bulk extension headers (`Content-Type` and `Accept`: `application/vnd.api+json; ext=bulk`). The same headers on `POST /api/v2/approval_workflows` create several workflows at once and respond with a collection. Validation errors carry the index of the failing item in `meta.bulk_index`. operationId: approval_workflows-update-bulk parameters: - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/approval_workflow_bulk" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_approval_workflow" '422': "$ref": "#/components/responses/unprocessable_content_approval_workflow" "/api/v2/approval_workflows/{id}": delete: tags: - Approval Workflow summary: Deletes the approval workflow operationId: approval_workflows-destroy description: Delete an approval workflow. parameters: - in: path name: id schema: type: string required: true description: ID responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Approval Workflow summary: Gets the approval workflow operationId: approval_workflows-show description: Retrieve a single approval workflow by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_approval_workflow" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_approval_workflow" patch: tags: - Approval Workflow summary: Updates the approval workflow operationId: approval_workflows-update description: Update an approval workflow. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_approval_workflow" requestBody: "$ref": "#/components/requestBodies/approval_workflow_update" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_approval_workflow" '200': "$ref": "#/components/responses/single_approval_workflow" "/api/v2/artifacts/{id}": delete: tags: - Artifacts summary: Deletes an artifact operationId: artifacts-destroy parameters: - in: path name: id schema: type: string required: true responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Artifacts summary: Gets an artifact operationId: artifacts-show parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_artifact" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_artifact" "/api/v2/artifacts": get: tags: - Artifacts summary: Get artifacts operationId: artifacts-index parameters: - "$ref": "#/components/parameters/filter_artifact" - "$ref": "#/components/parameters/sort_artifact" - "$ref": "#/components/parameters/include_artifact" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_artifact" "/api/v2/artifacts/{id}/publish": patch: tags: - Artifacts summary: Publishes an artifact operationId: artifacts-publish-publish parameters: - in: path name: id schema: type: string required: true responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_artifact" '422': "$ref": "#/components/responses/unprocessable_content_artifact" "/api/v2/artifacts/{id}/unpublish": patch: tags: - Artifacts summary: Unpublishes an artifact operationId: artifacts-unpublish-unpublish parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_artifact" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/attachments": post: tags: - Attachments summary: Create an attachment operationId: attachments-create description: Create a new attachment. parameters: - "$ref": "#/components/parameters/include_attachment" requestBody: "$ref": "#/components/requestBodies/attachment" responses: '201': "$ref": "#/components/responses/single_attachment" '422': "$ref": "#/components/responses/unprocessable_content_attachment" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Attachments summary: Get attachments operationId: attachments-index description: List attachments with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_attachment" - "$ref": "#/components/parameters/sort_attachment" - "$ref": "#/components/parameters/include_attachment" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_attachment" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/attachments/{id}": delete: tags: - Attachments summary: Delete an attachment operationId: attachments-destroy description: Delete an attachment. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Attachments summary: Get an attachment operationId: attachments-show description: Retrieve a single attachment by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_attachment" responses: '200': "$ref": "#/components/responses/single_attachment" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Attachments summary: Update an attachment operationId: attachments-update description: Update an attachment. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_attachment" requestBody: "$ref": "#/components/requestBodies/attachment_update" responses: '200': "$ref": "#/components/responses/single_attachment" '422': "$ref": "#/components/responses/unprocessable_content_attachment" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/automatic_invoicing_rules": post: tags: - Automatic Invoicing Rules summary: Create an automatic invoicing rule operationId: automatic_invoicing_rules-create description: Create a new automatic invoicing rule. parameters: - "$ref": "#/components/parameters/include_automatic_invoicing_rule" requestBody: "$ref": "#/components/requestBodies/automatic_invoicing_rule" responses: '422': "$ref": "#/components/responses/unprocessable_content_automatic_invoicing_rule" '201': "$ref": "#/components/responses/single_automatic_invoicing_rule" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" get: tags: - Automatic Invoicing Rules summary: Get automatic invoicing rules operationId: automatic_invoicing_rules-index description: List automatic invoicing rules with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_automatic_invoicing_rule" - "$ref": "#/components/parameters/sort_automatic_invoicing_rule" - "$ref": "#/components/parameters/include_automatic_invoicing_rule" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_automatic_invoicing_rule" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/automatic_invoicing_rules/{id}": delete: tags: - Automatic Invoicing Rules summary: Deletes an automatic invoicing rule operationId: automatic_invoicing_rules-destroy description: Delete an automatic invoicing rule. parameters: - in: path name: id schema: type: string required: true description: The ID of the automatic invoicing rule to delete. responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Automatic Invoicing Rules summary: Gets an automatic invoicing rule operationId: automatic_invoicing_rules-show description: Retrieve a single automatic invoicing rule by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the automatic invoicing rule to retrieve. - "$ref": "#/components/parameters/include_automatic_invoicing_rule" responses: '200': "$ref": "#/components/responses/single_automatic_invoicing_rule" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Automatic Invoicing Rules summary: Update an automatic invoicing rule operationId: automatic_invoicing_rules-update description: Update an automatic invoicing rule. parameters: - in: path name: id schema: type: string required: true description: The ID of the automatic invoicing rule to update. - "$ref": "#/components/parameters/include_automatic_invoicing_rule" requestBody: "$ref": "#/components/requestBodies/automatic_invoicing_rule_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_automatic_invoicing_rule" '200': "$ref": "#/components/responses/single_automatic_invoicing_rule" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/aws_policies": post: tags: - AWS Policies summary: Create an AWS upload policy operationId: aws_policies-create requestBody: "$ref": "#/components/requestBodies/aws_policy" responses: '201': "$ref": "#/components/responses/single_aws_policy" '422': "$ref": "#/components/responses/unprocessable_content_aws_policy" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/bank_accounts/{id}/archive": patch: tags: - BankAccounts summary: Archives a bank account operationId: bank_accounts-archive-archive description: Archive a bank account. parameters: - in: path name: id schema: type: string required: true description: The ID of the bank account to archive. responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_bank_account" "/api/v2/bank_accounts": post: tags: - BankAccounts summary: Create a bank account operationId: bank_accounts-create description: Create a new bank account. requestBody: "$ref": "#/components/requestBodies/bank_account" responses: '201': "$ref": "#/components/responses/single_bank_account" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - BankAccounts summary: Get bank accounts operationId: bank_accounts-index description: List bank accounts with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_bank_account" - "$ref": "#/components/parameters/sort_bank_account" - "$ref": "#/components/parameters/include_bank_account" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_bank_account" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/bank_accounts/{id}/restore": patch: tags: - BankAccounts summary: Restores an archived bank account operationId: bank_accounts-restore-restore description: Restore a bank account. parameters: - in: path name: id schema: type: string required: true description: The ID of the bank account to restore. responses: '200': "$ref": "#/components/responses/single_bank_account" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/bank_accounts/{id}": get: tags: - BankAccounts summary: Gets a bank account operationId: bank_accounts-show description: Retrieve a single bank account by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the bank account to retrieve. - "$ref": "#/components/parameters/include_bank_account" responses: '200': "$ref": "#/components/responses/single_bank_account" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - BankAccounts summary: Update a bank account operationId: bank_accounts-update description: Update a bank account. parameters: - in: path name: id schema: type: string required: true description: The ID of the bank account to update. requestBody: "$ref": "#/components/requestBodies/bank_account_update" responses: '200': "$ref": "#/components/responses/single_bank_account" '422': "$ref": "#/components/responses/unprocessable_content" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/bill_items": post: tags: - BillItems summary: Create a bill item operationId: bill_items-create requestBody: "$ref": "#/components/requestBodies/bill_item" responses: '201': "$ref": "#/components/responses/single_bill_item" '422': "$ref": "#/components/responses/unprocessable_content_bill_item" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - BillItems summary: Get bill items operationId: bill_items-index parameters: - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_bill_item" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/bill_items/{id}": delete: tags: - BillItems summary: Deletes a bill item operationId: bill_items-destroy parameters: - in: path name: id schema: type: string required: true responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - BillItems summary: Gets a bill item operationId: bill_items-show parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_bill_item" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - BillItems summary: Update a bill item operationId: bill_items-update parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/bill_item_update" responses: '200': "$ref": "#/components/responses/single_bill_item" '422': "$ref": "#/components/responses/unprocessable_content_bill_item" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/bills": post: tags: - Bills summary: Create a bill operationId: bills-create description: Create a new bill. requestBody: "$ref": "#/components/requestBodies/bill" responses: '201': "$ref": "#/components/responses/single_bill" '422': "$ref": "#/components/responses/unprocessable_content_bill" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Bills summary: Get bills operationId: bills-index parameters: - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_bill" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/bills/{id}": delete: tags: - Bills summary: Deletes a bill operationId: bills-destroy description: Delete a bill. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Bills summary: Gets a bill operationId: bills-show description: Retrieve a single bill by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_bill" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Bills summary: Update a bill operationId: bills-update description: Update a bill. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/bill_update" responses: '200': "$ref": "#/components/responses/single_bill" '422': "$ref": "#/components/responses/unprocessable_content_bill" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/bookings": post: tags: - Bookings summary: Create a booking operationId: bookings-create description: Create a new booking. requestBody: "$ref": "#/components/requestBodies/booking_create" responses: '201': "$ref": "#/components/responses/single_booking" '422': "$ref": "#/components/responses/unprocessable_content_booking" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Bookings summary: Get bookings operationId: bookings-index description: List bookings with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_booking" - "$ref": "#/components/parameters/sort_booking" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_booking" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/bookings/{id}": delete: tags: - Bookings summary: Deletes a booking operationId: bookings-destroy description: Delete a booking. parameters: - in: path name: id schema: type: string required: true description: ID responses: '422': "$ref": "#/components/responses/unprocessable_content_booking" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Bookings summary: Gets a booking operationId: bookings-show description: Retrieve a single booking by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_booking" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Bookings summary: Update a booking operationId: bookings-update description: Update a booking. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/booking" responses: '200': "$ref": "#/components/responses/single_booking" '422': "$ref": "#/components/responses/unprocessable_content_booking" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/calendar_events": post: tags: - Calendar events summary: Create a calendar event through a connected Google or Outlook integration operationId: calendar_events-create requestBody: "$ref": "#/components/requestBodies/calendar_event" responses: '422': "$ref": "#/components/responses/unprocessable_content_calendar_event" '201': "$ref": "#/components/responses/single_calendar_event" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Calendar events summary: Get the calendar events of the current person's connected calendar integrations operationId: calendar_events-index parameters: - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_calendar_event" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/comments/{id}/add_reaction": patch: tags: - Comments summary: Adds reaction to a comment operationId: comments-add_reaction-add_reaction description: Add a reaction to a comment. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_comment" requestBody: "$ref": "#/components/requestBodies/comment_add_reaction" responses: '200': "$ref": "#/components/responses/single_comment" '422': "$ref": "#/components/responses/unprocessable_content_comment" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" "/api/v2/comments": post: tags: - Comments summary: Create a comment operationId: comments-create 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. parameters: - "$ref": "#/components/parameters/include_comment" requestBody: "$ref": "#/components/requestBodies/comment" responses: '201': "$ref": "#/components/responses/single_comment" '422': "$ref": "#/components/responses/unprocessable_content_comment" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Comments summary: Get comments operationId: comments-index description: List comments with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_comment" - "$ref": "#/components/parameters/sort_comment" - "$ref": "#/components/parameters/include_comment" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_comment" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/comments/{id}": delete: tags: - Comments summary: Deletes a comment operationId: comments-destroy description: Delete a comment. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Comments summary: Gets a comment operationId: comments-show description: Retrieve a single comment by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_comment" responses: '200': "$ref": "#/components/responses/single_comment" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Comments summary: Update a comment operationId: comments-update description: Updates a comment's editable fields. The `creator` is fixed at creation time and cannot be changed. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_comment" requestBody: "$ref": "#/components/requestBodies/comment_update" responses: '200': "$ref": "#/components/responses/single_comment" '422': "$ref": "#/components/responses/unprocessable_content_comment" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/comments/{id}/pin": patch: tags: - Comments summary: Pins a comment operationId: comments-pin-pin description: Pin a comment. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_comment" responses: '200': "$ref": "#/components/responses/single_comment" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/comments/{id}/remove_reaction": patch: tags: - Comments summary: Removes reaction from comment operationId: comments-remove_reaction-remove_reaction description: Remove a reaction from a comment. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_comment" requestBody: "$ref": "#/components/requestBodies/comment_remove_reaction" responses: '200': "$ref": "#/components/responses/single_comment" '422': "$ref": "#/components/responses/unprocessable_content_comment" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/comments/{id}/unpin": patch: tags: - Comments summary: Unpins a comment operationId: comments-unpin-unpin description: Unpin a comment. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_comment" responses: '200': "$ref": "#/components/responses/single_comment" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/companies/{id}/archive": patch: tags: - Companies summary: Archives a company operationId: companies-archive-archive description: Archive a company. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_company" responses: '200': "$ref": "#/components/responses/single_company" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/companies": post: tags: - Companies summary: Create a company operationId: companies-create description: Create a new company. parameters: - "$ref": "#/components/parameters/include_company" requestBody: "$ref": "#/components/requestBodies/company" responses: '201': "$ref": "#/components/responses/single_company" '422': "$ref": "#/components/responses/unprocessable_content_company" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Companies summary: Get companies operationId: companies-index description: List companies with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_company" - "$ref": "#/components/parameters/sort_company" - "$ref": "#/components/parameters/include_company" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_company" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/companies/{id}/restore": patch: tags: - Companies summary: Restores a company operationId: companies-restore-restore description: Restore a company. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_company" responses: '200': "$ref": "#/components/responses/single_company" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/companies/{id}": get: tags: - Companies summary: Gets a company operationId: companies-show description: Retrieve a single company by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_company" responses: '200': "$ref": "#/components/responses/single_company" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Companies summary: Update a company operationId: companies-update description: Update a company. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_company" requestBody: "$ref": "#/components/requestBodies/company_update" responses: '200': "$ref": "#/components/responses/single_company" '422': "$ref": "#/components/responses/unprocessable_content_company" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/connections/accept": post: tags: - Connections summary: Accept a connection operationId: connections-accept requestBody: "$ref": "#/components/requestBodies/connection_accept" responses: '201': "$ref": "#/components/responses/single_connection" '422': "$ref": "#/components/responses/unprocessable_content_connection" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/connections": post: tags: - Connections summary: Create a connection operationId: connections-create requestBody: "$ref": "#/components/requestBodies/connection" responses: '201': "$ref": "#/components/responses/single_connection" '422': "$ref": "#/components/responses/unprocessable_content_connection" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Connections summary: Get connections operationId: connections-index parameters: - "$ref": "#/components/parameters/filter_connection" - "$ref": "#/components/parameters/sort_connection" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_connection" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/connections/{id}": delete: tags: - Connections summary: Disconnects a connection operationId: connections-destroy parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the connection. responses: '200': "$ref": "#/components/responses/single_connection" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Connections summary: Gets a connection operationId: connections-show parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the connection. responses: '200': "$ref": "#/components/responses/single_connection" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/contact_entries": post: tags: - Contact Entries summary: Create a contact entry operationId: contact_entries-create description: Create a new contact entry. requestBody: "$ref": "#/components/requestBodies/contact_entry" responses: '201': "$ref": "#/components/responses/single_contact_entry" '422': "$ref": "#/components/responses/unprocessable_content_contact_entry" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Contact Entries summary: Get contact entries operationId: contact_entries-index description: List contact entries with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_contact_entry" - "$ref": "#/components/parameters/sort_contact_entry" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_contact_entry" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/contact_entries/{id}": delete: tags: - Contact Entries summary: Deletes a contact entry operationId: contact_entries-destroy description: Delete a contact entry. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Contact Entries summary: Gets a contact entry operationId: contact_entries-show description: Retrieve a single contact entry by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_contact_entry" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Contact Entries summary: Update a contact entry operationId: contact_entries-update description: Update a contact entry. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/contact_entry_update" responses: '200': "$ref": "#/components/responses/single_contact_entry" '422': "$ref": "#/components/responses/unprocessable_content_contact_entry" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/contracts/generate": post: tags: - Contracts summary: Generates new budgets for several contracts description: | Generates budgets for several contracts in one request. Requires the JSON:API bulk extension header (`Content-Type: application/vnd.api+json; ext=bulk`); the single-contract endpoint lives at `/api/v2/contracts/{id}/generate`. Each item may carry its own `generate_until`, and the request generates at most 36 budgets in total, so it holds at most 36 contracts. Validation is all or nothing — when any contract is rejected, none of them generate. The generated budget IDs are returned under `meta.generated_budget_ids`, keyed by contract ID. When generation stops on a conflict partway through, the contracts before it stay generated and the 409 lists the budgets generated so far under the same keyed `meta.generated_budget_ids`. operationId: contracts-bulk-generate requestBody: "$ref": "#/components/requestBodies/contract_bulk_generate" responses: '422': "$ref": "#/components/responses/unprocessable_content_contract" '200': "$ref": "#/components/responses/contract_bulk_generate" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/contracts": post: tags: - Contracts summary: Create a contract operationId: contracts-create description: Create a new contract. requestBody: "$ref": "#/components/requestBodies/contract" responses: '201': "$ref": "#/components/responses/single_contract" '422': "$ref": "#/components/responses/unprocessable_content_contract" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Contracts summary: Get contracts operationId: contracts-index description: List contracts with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_contract" - "$ref": "#/components/parameters/sort_contract" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_contract" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/contracts/{id}": delete: tags: - Contracts summary: Deletes a contract operationId: contracts-destroy description: Delete a contract. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Contracts summary: Gets a contract operationId: contracts-show description: Retrieve a single contract by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_contract" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Contracts summary: Update a contract operationId: contracts-update description: Update a contract. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/contract_update" responses: '200': "$ref": "#/components/responses/single_contract" '422': "$ref": "#/components/responses/unprocessable_content_contract" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/contracts/{id}/generate": post: tags: - Contracts summary: Generates new budget operationId: contracts-generate-generate description: Generate a contract. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/contract_generate" responses: '200': "$ref": "#/components/responses/contract_generate" '422': "$ref": "#/components/responses/unprocessable_content_contract" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/contracts/{id}/recalculate_rolled_over_time": patch: tags: - Contracts summary: Recalculate rolled over time description: | Schedules the recalculation of rolled over time for the contract's budgets when the contract uses rollover hours. An optional `deal_id` limits it to one budget of the contract. operationId: contracts-recalculate-rolled-over-time parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/contract_recalculate_rolled_over_time" responses: '200': "$ref": "#/components/responses/single_contract" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/custom_domains": post: tags: - Custom domains summary: Create a custom domain operationId: custom_domains-create description: Create a new custom domain. requestBody: "$ref": "#/components/requestBodies/custom_domain" responses: '201': "$ref": "#/components/responses/single_custom_domain" '422': "$ref": "#/components/responses/unprocessable_content_custom_domain" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Custom domains summary: Get custom domains operationId: custom_domains-index description: List custom domains with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_custom_domain" - "$ref": "#/components/parameters/sort_custom_domain" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_custom_domain" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/custom_domains/{id}": delete: tags: - Custom domains summary: Deletes a custom domain operationId: custom_domains-destroy description: Delete a custom domain. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Custom domains summary: Gets a custom domain operationId: custom_domains-show description: Retrieve a single custom domain by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_custom_domain" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Custom domains summary: Updates a custom domain operationId: custom_domains-update parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/custom_domain_update" responses: '200': "$ref": "#/components/responses/single_custom_domain" '422': "$ref": "#/components/responses/unprocessable_content_custom_domain" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/custom_domains/{id}/verify": patch: tags: - Custom domains summary: Verifies a custom domain operationId: custom_domains-verify parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_custom_domain" '422': "$ref": "#/components/responses/unprocessable_content_custom_domain" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/custom_field_options/{id}/archive": patch: tags: - Custom Field Options summary: Archives a custom field option operationId: custom_field_options-archive-archive description: Archive a custom field option. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_custom_field_option" responses: '200': "$ref": "#/components/responses/single_custom_field_option" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/custom_field_options": post: tags: - Custom Field Options summary: Creates a custom field option operationId: custom_field_options-create description: Create a new custom field option. parameters: - "$ref": "#/components/parameters/include_custom_field_option" requestBody: "$ref": "#/components/requestBodies/custom_field_option" responses: '201': "$ref": "#/components/responses/single_custom_field_option" '422': "$ref": "#/components/responses/unprocessable_content_custom_field_option" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Custom Field Options summary: Get custom field options operationId: custom_field_options-index description: List custom field options with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_custom_field_option" - "$ref": "#/components/parameters/sort_custom_field_option" - "$ref": "#/components/parameters/include_custom_field_option" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_custom_field_option" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/custom_field_options/{id}": get: tags: - Custom Field Options summary: Gets a custom field option operationId: custom_field_options-show description: Retrieve a single custom field option by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_custom_field_option" responses: '200': "$ref": "#/components/responses/single_custom_field_option" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Custom Field Options summary: Updates a custom field option operationId: custom_field_options-update description: Update a custom field option. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_custom_field_option" requestBody: "$ref": "#/components/requestBodies/custom_field_option_update" responses: '200': "$ref": "#/components/responses/single_custom_field_option" '422': "$ref": "#/components/responses/unprocessable_content_custom_field_option" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/custom_fields/{id}/archive": patch: tags: - Custom Fields summary: Archives a custom field operationId: custom_fields-archive-archive description: Archive a custom field. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_custom_field" responses: '200': "$ref": "#/components/responses/single_custom_field" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/custom_fields": post: tags: - Custom Fields summary: Creates a custom field operationId: custom_fields-create description: Create a new custom field. parameters: - "$ref": "#/components/parameters/include_custom_field" requestBody: "$ref": "#/components/requestBodies/custom_field" responses: '201': "$ref": "#/components/responses/single_custom_field" '422': "$ref": "#/components/responses/unprocessable_content_custom_field" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Custom Fields summary: Get custom fields operationId: custom_fields-index description: List custom fields with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_custom_field" - "$ref": "#/components/parameters/sort_custom_field" - "$ref": "#/components/parameters/include_custom_field" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_custom_field" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/custom_field_sections/{id}/archive": patch: tags: - Custom Field Section summary: Archives the custom field section operationId: custom_field_sections-archive-archive description: Archive a custom field section. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_custom_field_section" responses: '200': "$ref": "#/components/responses/single_custom_field_section" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/custom_field_sections": post: tags: - Custom Field Section summary: Creates the custom field section operationId: custom_field_sections-create description: Create a new custom field section. parameters: - "$ref": "#/components/parameters/include_custom_field_section" requestBody: "$ref": "#/components/requestBodies/custom_field_section" responses: '201': "$ref": "#/components/responses/single_custom_field_section" '422': "$ref": "#/components/responses/unprocessable_content_custom_field_section" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Custom Field Section summary: Get custom field sections operationId: custom_field_sections-index description: List custom field sections with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_custom_field_section" - "$ref": "#/components/parameters/sort_custom_field_section" - "$ref": "#/components/parameters/include_custom_field_section" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_custom_field_section" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/custom_field_sections/{id}": get: tags: - Custom Field Section summary: Gets the custom field section operationId: custom_field_sections-show description: Retrieve a single custom field section by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_custom_field_section" responses: '200': "$ref": "#/components/responses/single_custom_field_section" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Custom Field Section summary: Updates the custom field section operationId: custom_field_sections-update description: Update a custom field section. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_custom_field_section" requestBody: "$ref": "#/components/requestBodies/custom_field_section_update" responses: '200': "$ref": "#/components/responses/single_custom_field_section" '422': "$ref": "#/components/responses/unprocessable_content_custom_field_section" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/custom_fields/{id}": get: tags: - Custom Fields summary: Gets a custom field operationId: custom_fields-show description: Retrieve a single custom field by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_custom_field" responses: '200': "$ref": "#/components/responses/single_custom_field" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Custom Fields summary: Updates a custom field operationId: custom_fields-update description: Update a custom field. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_custom_field" requestBody: "$ref": "#/components/requestBodies/custom_field_update" responses: '200': "$ref": "#/components/responses/single_custom_field" '422': "$ref": "#/components/responses/unprocessable_content_custom_field" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/dashboards/copy": post: tags: - Dashboards summary: Copy a dashboard operationId: dashboards-copy-copy description: Copy a dashboard. parameters: - "$ref": "#/components/parameters/include_dashboard" requestBody: "$ref": "#/components/requestBodies/dashboard_copy" responses: '201': "$ref": "#/components/responses/single_dashboard" '422': "$ref": "#/components/responses/unprocessable_content_dashboard" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/dashboards": post: tags: - Dashboards summary: Create a dashboard operationId: dashboards-create description: Create a new dashboard. parameters: - "$ref": "#/components/parameters/include_dashboard" requestBody: "$ref": "#/components/requestBodies/dashboard" responses: '201': "$ref": "#/components/responses/single_dashboard" '422': "$ref": "#/components/responses/unprocessable_content_dashboard" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Dashboards summary: Get all dashboards operationId: dashboards-index description: List dashboards with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_dashboard" - "$ref": "#/components/parameters/sort_dashboard" - "$ref": "#/components/parameters/include_dashboard" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_dashboard" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/dashboards/{id}": delete: tags: - Dashboards summary: Delete a dashboard operationId: dashboards-destroy description: Delete a dashboard. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Dashboards summary: Get a dashboard operationId: dashboards-show description: Retrieve a single dashboard by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_dashboard" responses: '200': "$ref": "#/components/responses/single_dashboard" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Dashboards summary: Update a dashboard operationId: dashboards-update description: Update a dashboard. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_dashboard" requestBody: "$ref": "#/components/requestBodies/dashboard_update" responses: '200': "$ref": "#/components/responses/single_dashboard" '422': "$ref": "#/components/responses/unprocessable_content_dashboard" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/deal_cost_rates": post: tags: - Deal Cost Rates summary: Create a deal cost rate operationId: deal_cost_rates-create description: Create a new deal cost rate. parameters: - "$ref": "#/components/parameters/include_deal_cost_rate" requestBody: "$ref": "#/components/requestBodies/deal_cost_rate" responses: '422': "$ref": "#/components/responses/unprocessable_content_deal_cost_rate" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': content: application/vnd.api+json: schema: type: object properties: data: oneOf: - "$ref": "#/components/schemas/_response_object_deal_cost_rate" - type: array items: "$ref": "#/components/schemas/_response_object_deal_cost_rate" title: List included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_deal_cost_rate" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Created deal cost rate, or the created deal cost rates for a bulk request delete: tags: - Deal Cost Rates - Bulk summary: Delete deal cost rates operationId: deal_cost_rates-destroy-bulk requestBody: "$ref": "#/components/requestBodies/deal_cost_rate_bulk_delete" responses: '204': description: No Content '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Deal Cost Rates summary: Get deal cost rates operationId: deal_cost_rates-index description: List deal cost rates with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_deal_cost_rate" - "$ref": "#/components/parameters/sort_deal_cost_rate" - "$ref": "#/components/parameters/include_deal_cost_rate" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_deal_cost_rate" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/deal_cost_rates/{id}": delete: tags: - Deal Cost Rates summary: Deletes a deal cost rate operationId: deal_cost_rates-destroy description: Delete a deal cost rate. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Deal Cost Rates summary: Gets a deal cost rate operationId: deal_cost_rates-show description: Retrieve a single deal cost rate by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_deal_cost_rate" responses: '200': "$ref": "#/components/responses/single_deal_cost_rate" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Deal Cost Rates summary: Update a deal cost rate operationId: deal_cost_rates-update description: Update a deal cost rate. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_deal_cost_rate" requestBody: "$ref": "#/components/requestBodies/deal_cost_rate_update" responses: '200': "$ref": "#/components/responses/single_deal_cost_rate" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/deals/close": patch: tags: - Deals summary: Closes several budgets description: | Closes several budgets in one request. Requires the JSON:API bulk extension header (`Content-Type: application/vnd.api+json; ext=bulk`); the single-budget endpoint lives at `/api/v2/deals/{id}/close`. Close is a budget-only action, so a sales deal in the payload is rejected. Each item may carry its own `delivered_on` (defaults to today), `destroy_future_bookings` and `confirm_revenue_distribution_variance`. Authorization is all or nothing — when any budget is denied (403) or cannot be closed (409, e.g. it is already closed, has unapproved time entries or expenses, or a running timer), none of them close and every blocked row is reported with its `meta.bulk_index`. A budget with custom revenue distribution that does not add up to its fixed revenue is reported the same way, with the amounts in `meta` as on the single close: 409 `revenue_distribution_variance` unless its item carries `confirm_revenue_distribution_variance: true`, or 409 `revenue_distribution_variance_blocked` regardless of it when the organization's `deal_settings.block_delivery_on_revenue_distribution_variance` is on. A `delivered_on` in a locked financial month also rejects the whole batch with a 409, without `meta.bulk_index`. A batch is limited to 100 budgets; a larger one is rejected with a 422 before any check runs. operationId: deals-bulk-close parameters: - "$ref": "#/components/parameters/include_deal" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/deal_bulk_close" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_deal" "/api/v2/deals/open": patch: tags: - Deals summary: Opens several budgets description: | Reopens several closed budgets in one request. Requires the JSON:API bulk extension header (`Content-Type: application/vnd.api+json; ext=bulk`); the single-budget endpoint lives at `/api/v2/deals/{id}/open`. Open is a budget-only action, so a sales deal in the payload is rejected. Authorization is all or nothing — when any budget is denied (403) or cannot be opened (409, e.g. it is already open or its delivered on falls in a locked financial month), none of them open and every blocked row is reported with its `meta.bulk_index`. A batch is limited to 100 budgets; a larger one is rejected with a 422 before any check runs. operationId: deals-bulk-open parameters: - "$ref": "#/components/parameters/include_deal" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/deal_bulk_open" responses: '200': "$ref": "#/components/responses/collection_deal" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/deals/{id}/close": patch: tags: - Deals summary: Closes a deal description: Close a deal. operationId: deals-close-close parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_deal" requestBody: "$ref": "#/components/requestBodies/deal_close" responses: '200': "$ref": "#/components/responses/single_deal" '409': "$ref": "#/components/responses/conflict" '422': "$ref": "#/components/responses/unprocessable_content_deal" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/deals/copy": post: tags: - Deals summary: Copies a deal description: Create a copy of an existing deal. operationId: deals-copy-copy parameters: - "$ref": "#/components/parameters/include_deal" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/deal_copy" responses: '422': "$ref": "#/components/responses/unprocessable_content_deal" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_or_collection_deal" "/api/v2/deals": post: tags: - Deals summary: Create a deal operationId: deals-create description: Create a new deal. parameters: - "$ref": "#/components/parameters/include_deal" requestBody: "$ref": "#/components/requestBodies/deal" responses: '201': "$ref": "#/components/responses/single_deal" '422': "$ref": "#/components/responses/unprocessable_content_deal" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" delete: tags: - Deals - Bulk summary: Delete deals operationId: deals-destroy-bulk requestBody: "$ref": "#/components/requestBodies/deal_bulk_delete" responses: '204': description: No Content '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Deals summary: Get deals operationId: deals-index description: List deals with optional filters. Returns paginated deal records the caller has access to. parameters: - "$ref": "#/components/parameters/filter_deal" - "$ref": "#/components/parameters/sort_deal" - "$ref": "#/components/parameters/include_deal" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_deal" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Deals - Bulk summary: Update deals operationId: deals-update-bulk parameters: - "$ref": "#/components/parameters/include_deal" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/deal_bulk_update" responses: '200': "$ref": "#/components/responses/collection_deal" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content_deal" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/deals/create_from_origin": post: tags: - Deals summary: Creates a budget from origin deal operationId: deals-create_from_origin-create_from_origin description: Create a new deal from an origin deal. parameters: - "$ref": "#/components/parameters/include_deal" requestBody: "$ref": "#/components/requestBodies/deal_create_from_origin" responses: '201': "$ref": "#/components/responses/single_deal" '422': "$ref": "#/components/responses/unprocessable_content_deal" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/deals/{id}": delete: tags: - Deals summary: Deletes a deal operationId: deals-destroy description: Delete a deal. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Deals summary: Gets a deal operationId: deals-show description: Retrieve a single deal by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_deal" responses: '200': "$ref": "#/components/responses/single_deal" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Deals summary: Update a deal operationId: deals-update description: Update a deal's attributes or relationships. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_deal" requestBody: "$ref": "#/components/requestBodies/deal_update" responses: '200': "$ref": "#/components/responses/single_deal" '422': "$ref": "#/components/responses/unprocessable_content_deal" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/deals/{id}/open": patch: tags: - Deals summary: Opens a deal operationId: deals-open-open description: Reopen a closed deal. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_deal" responses: '200': "$ref": "#/components/responses/single_deal" '422': "$ref": "#/components/responses/unprocessable_content_deal" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/deal_statuses/{id}/archive": patch: tags: - Deal Statuses summary: Archives a deal status operationId: deal_statuses-archive-archive description: Archive a deal status. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_deal_status" responses: '200': "$ref": "#/components/responses/single_deal_status" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/deal_statuses": post: tags: - Deal Statuses summary: Create a deal status operationId: deal_statuses-create description: Create a new deal status. parameters: - "$ref": "#/components/parameters/include_deal_status" requestBody: "$ref": "#/components/requestBodies/deal_status" responses: '201': "$ref": "#/components/responses/single_deal_status" '422': "$ref": "#/components/responses/unprocessable_content_deal_status" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Deal Statuses summary: Get deal statuses operationId: deal_statuses-index description: List deal statuses with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_deal_status" - "$ref": "#/components/parameters/sort_deal_status" - "$ref": "#/components/parameters/include_deal_status" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_deal_status" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/deal_statuses/{id}": delete: tags: - Deal Statuses summary: Destroy a deal status operationId: deal_statuses-destroy description: Delete a deal status. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '422': "$ref": "#/components/responses/unprocessable_content_deal_status" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Deal Statuses summary: Gets a deal status operationId: deal_statuses-show description: Retrieve a single deal status by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_deal_status" responses: '200': "$ref": "#/components/responses/single_deal_status" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" patch: tags: - Deal Statuses summary: Update a deal status operationId: deal_statuses-update description: Update a deal status. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_deal_status" requestBody: "$ref": "#/components/requestBodies/deal_status_update" responses: '200': "$ref": "#/components/responses/single_deal_status" '422': "$ref": "#/components/responses/unprocessable_content_deal_status" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/deal_statuses/merge": patch: tags: - Deal Statuses summary: Merges a deal status operationId: deal_statuses-merge-merge description: Merge deal statuses. parameters: - "$ref": "#/components/parameters/include_deal_status" requestBody: "$ref": "#/components/requestBodies/deal_status_merge" responses: '200': "$ref": "#/components/responses/single_deal_status" '422': "$ref": "#/components/responses/unprocessable_content_deal_status" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/deleted_items": get: tags: - Deleted Items summary: Get deleted items operationId: deleted_items-index description: List deleted items in the recycle bin. parameters: - "$ref": "#/components/parameters/filter_deleted_item" - "$ref": "#/components/parameters/sort_deleted_item" - "$ref": "#/components/parameters/include_deleted_item" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_deleted_item" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/deleted_items/{id}/restore": patch: tags: - Deleted Items summary: Restores a deleted item (answers the restored record in its own type; the schema shows the task case) operationId: deleted_items-restore-restore description: Restore a deleted item from the recycle bin. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_task" - "$ref": "#/components/parameters/fields" responses: '422': "$ref": "#/components/responses/unprocessable_content_deleted_item" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_task" "/api/v2/deleted_items/{id}": get: tags: - Deleted Items summary: Gets a deleted item operationId: deleted_items-show description: Retrieve a single deleted item. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_deleted_item" responses: '200': "$ref": "#/components/responses/single_deleted_item" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/discussions": post: tags: - Discussions summary: Create an discussion operationId: discussions-create description: Create a new discussion. parameters: - "$ref": "#/components/parameters/include_discussion" requestBody: "$ref": "#/components/requestBodies/discussion" responses: '201': "$ref": "#/components/responses/single_discussion" '422': "$ref": "#/components/responses/unprocessable_content_discussion" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Discussions summary: Get discussions operationId: discussions-index description: List discussions. parameters: - "$ref": "#/components/parameters/filter_discussion" - "$ref": "#/components/parameters/sort_discussion" - "$ref": "#/components/parameters/include_discussion" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_discussion" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/discussions/{id}": delete: tags: - Discussions summary: Deletes a discussion operationId: discussions-destroy description: Delete a discussion. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" get: tags: - Discussions summary: Gets a discussion operationId: discussions-show description: Retrieve a single discussion. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_discussion" responses: '200': "$ref": "#/components/responses/single_discussion" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Discussions summary: Update an discussion operationId: discussions-update description: Update a discussion. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_discussion" requestBody: "$ref": "#/components/requestBodies/discussion_update" responses: '200': "$ref": "#/components/responses/single_discussion" '422': "$ref": "#/components/responses/unprocessable_content_discussion" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/discussions/{id}/reopen": patch: tags: - Discussions summary: Reopens a discussion operationId: discussions-reopen-reopen description: Reopen a resolved discussion. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_discussion" responses: '200': "$ref": "#/components/responses/single_discussion" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/discussions/{id}/resolve": patch: tags: - Discussions summary: Resolves a discussion operationId: discussions-resolve-resolve description: Resolve an open discussion. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_discussion" responses: '200': "$ref": "#/components/responses/single_discussion" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/discussions/{id}/subscribe": patch: tags: - Discussions summary: Subscribes to discussion operationId: discussions-subscribe-subscribe description: Subscribe to a discussion. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_discussion" responses: '200': "$ref": "#/components/responses/single_discussion" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/discussions/{id}/unsubscribe": patch: tags: - Discussions summary: Unsubscribes from discussion operationId: discussions-unsubscribe-unsubscribe description: Unsubscribe from a discussion. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_discussion" responses: '200': "$ref": "#/components/responses/single_discussion" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/document_styles/copy": post: tags: - Document Styles summary: Duplicates a document style operationId: document_styles-copy-copy description: Copy an existing document style. parameters: - "$ref": "#/components/parameters/include_document_style" requestBody: "$ref": "#/components/requestBodies/document_style_copy" responses: '201': "$ref": "#/components/responses/single_document_style" '422': "$ref": "#/components/responses/unprocessable_content_document_style" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/document_styles": post: tags: - Document Styles summary: Create a document_style operationId: document_styles-create description: Create a new document style. parameters: - "$ref": "#/components/parameters/include_document_style" requestBody: "$ref": "#/components/requestBodies/document_style" responses: '201': "$ref": "#/components/responses/single_document_style" '422': "$ref": "#/components/responses/unprocessable_content_document_style" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Document Styles summary: Get document_styles operationId: document_styles-index description: List document styles. parameters: - "$ref": "#/components/parameters/filter_document_style" - "$ref": "#/components/parameters/sort_document_style" - "$ref": "#/components/parameters/include_document_style" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_document_style" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" "/api/v2/document_styles/{id}": delete: tags: - Document Styles summary: Destroys a document style operationId: document_styles-destroy description: Delete a document style. parameters: - in: path name: id schema: type: string required: true description: ID responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Document Styles summary: Gets a document_style operationId: document_styles-show description: Retrieve a single document style. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_document_style" responses: '200': "$ref": "#/components/responses/single_document_style" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Document Styles summary: Update a document_style operationId: document_styles-update description: Update a document style. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_document_style" requestBody: "$ref": "#/components/requestBodies/document_style_update" responses: '200': "$ref": "#/components/responses/single_document_style" '422': "$ref": "#/components/responses/unprocessable_content_document_style" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/document_types/{id}/archive": patch: tags: - Document Types summary: Archives a document type operationId: document_types-archive-archive description: Archive a document type. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_document_type" responses: '200': "$ref": "#/components/responses/single_document_type" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/document_types/copy": post: tags: - Document Types summary: Duplicates a document type operationId: document_types-copy-copy description: Copy an existing document type. parameters: - "$ref": "#/components/parameters/include_document_type" requestBody: "$ref": "#/components/requestBodies/document_type_copy" responses: '201': "$ref": "#/components/responses/single_document_type" '422': "$ref": "#/components/responses/unprocessable_content_document_type" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/document_types": post: tags: - Document Types summary: Create a document_type operationId: document_types-create description: Create a new document type. parameters: - "$ref": "#/components/parameters/include_document_type" requestBody: "$ref": "#/components/requestBodies/document_type" responses: '201': "$ref": "#/components/responses/single_document_type" '422': "$ref": "#/components/responses/unprocessable_content_document_type" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Document Types summary: Get document_types operationId: document_types-index description: List document types. parameters: - "$ref": "#/components/parameters/filter_document_type" - "$ref": "#/components/parameters/sort_document_type" - "$ref": "#/components/parameters/include_document_type" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_document_type" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/document_types/{id}": get: tags: - Document Types summary: Gets a document_type operationId: document_types-show description: Retrieve a single document type. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_document_type" responses: '200': "$ref": "#/components/responses/single_document_type" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Document Types summary: Update a document_type operationId: document_types-update description: Update a document type. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_document_type" requestBody: "$ref": "#/components/requestBodies/document_type_update" responses: '200': "$ref": "#/components/responses/single_document_type" '422': "$ref": "#/components/responses/unprocessable_content_document_type" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/einvoice_identities": post: tags: - E-invoice Identities summary: Creates an e-invoice identity operationId: einvoice_identities-create parameters: - "$ref": "#/components/parameters/include_einvoice_identity" requestBody: "$ref": "#/components/requestBodies/einvoice_identity" responses: '201': "$ref": "#/components/responses/single_einvoice_identity" '422': "$ref": "#/components/responses/unprocessable_content_einvoice_identity" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - E-invoice Identities summary: Gets a list of e-invoice identities operationId: einvoice_identities-index parameters: - "$ref": "#/components/parameters/filter_einvoice_identity" - "$ref": "#/components/parameters/include_einvoice_identity" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_einvoice_identity" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/einvoice_identities/{id}": get: tags: - E-invoice Identities summary: Gets an e-invoice identity operationId: einvoice_identities-show parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_einvoice_identity" responses: '200': "$ref": "#/components/responses/single_einvoice_identity" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - E-invoice Identities summary: Updates an e-invoice identity operationId: einvoice_identities-update parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_einvoice_identity" requestBody: "$ref": "#/components/requestBodies/einvoice_identity" responses: '200': "$ref": "#/components/responses/single_einvoice_identity" '422': "$ref": "#/components/responses/unprocessable_content_einvoice_identity" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/email_links": post: tags: - Email Links summary: Create an email link description: Links an email of the person's mailbox to exactly one target. Only the mailbox owner links. operationId: email_links-create parameters: - "$ref": "#/components/parameters/include_email_link" requestBody: "$ref": "#/components/requestBodies/email_link" responses: '201': "$ref": "#/components/responses/single_email_link" '422': "$ref": "#/components/responses/unprocessable_content_email_link" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Email Links summary: Get email links description: Lists the links between emails and the deals, invoices, projects, tasks, companies and people the person sees. operationId: email_links-index parameters: - "$ref": "#/components/parameters/filter_email_link" - "$ref": "#/components/parameters/include_email_link" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_email_link" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/email_links/{id}": delete: tags: - Email Links summary: Delete an email link description: Unlinks the email from its target. Only the mailbox owner unlinks. operationId: email_links-destroy parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the email link. responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/emails/{id}/attach": patch: tags: - Emails summary: Attach an email operationId: emails-attach-attach description: Attach an email to a resource. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_email" requestBody: "$ref": "#/components/requestBodies/email_attach" responses: '200': "$ref": "#/components/responses/single_email" '422': "$ref": "#/components/responses/unprocessable_content_email" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/emails/{id}": delete: tags: - Emails summary: Delete an email operationId: emails-destroy description: Delete an email. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Emails summary: Get an email operationId: emails-show description: Retrieve a single email. parameters: - in: path name: id schema: type: string required: true description: ID - in: query name: integration_id schema: type: string required: false - "$ref": "#/components/parameters/include_email" responses: '200': "$ref": "#/components/responses/single_email" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/emails/{id}/dismiss": patch: tags: - Emails summary: Dismiss an email operationId: emails-dismiss-dismiss description: Dismiss an email from the inbox. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_email" responses: '200': "$ref": "#/components/responses/single_email" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/emails": get: tags: - Emails summary: Get emails operationId: emails-index description: List emails. parameters: - "$ref": "#/components/parameters/filter_email" - "$ref": "#/components/parameters/sort_email" - "$ref": "#/components/parameters/include_email" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_email" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/entitlements": post: tags: - Entitlements summary: Creates an entitlement operationId: entitlements-create description: Create a new entitlement. parameters: - "$ref": "#/components/parameters/include_entitlement" requestBody: "$ref": "#/components/requestBodies/entitlement" responses: '201': "$ref": "#/components/responses/single_entitlement" '422': "$ref": "#/components/responses/unprocessable_content_entitlement" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Entitlements summary: Get entitlements operationId: entitlements-index description: List entitlements. parameters: - "$ref": "#/components/parameters/filter_entitlement" - "$ref": "#/components/parameters/sort_entitlement" - "$ref": "#/components/parameters/include_entitlement" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_entitlement" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/entitlements/{id}": delete: tags: - Entitlements summary: Deletes an entitlement operationId: entitlements-destroy description: Delete an entitlement. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Entitlements summary: Get an entitlement operationId: entitlements-show description: Retrieve a single entitlement. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_entitlement" responses: '200': "$ref": "#/components/responses/single_entitlement" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Entitlements summary: Updates an entitlement operationId: entitlements-update description: Update an entitlement. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_entitlement" requestBody: "$ref": "#/components/requestBodies/entitlement_update" responses: '200': "$ref": "#/components/responses/single_entitlement" '422': "$ref": "#/components/responses/unprocessable_content_entitlement" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/events/{id}/archive": patch: tags: - Events summary: Archives an event operationId: events-archive-archive description: Archive an event. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_event" responses: '200': "$ref": "#/components/responses/single_event" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/events": post: tags: - Events summary: Create an event operationId: events-create description: Create a new event. parameters: - "$ref": "#/components/parameters/include_event" requestBody: "$ref": "#/components/requestBodies/event" responses: '201': "$ref": "#/components/responses/single_event" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_event" get: tags: - Events summary: Get events operationId: events-index description: List events. parameters: - "$ref": "#/components/parameters/filter_event" - "$ref": "#/components/parameters/sort_event" - "$ref": "#/components/parameters/include_event" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_event" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/events/{id}": delete: tags: - Events summary: Deletes an event operationId: events-destroy description: Delete an event. parameters: - in: path name: id schema: type: string required: true description: ID responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Events summary: Get an event operationId: events-show description: Retrieve a single event. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_event" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_event" patch: tags: - Events summary: Update an event operationId: events-update description: Update an event. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_event" requestBody: "$ref": "#/components/requestBodies/event_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_event" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_event" "/api/v2/events/{id}/restore": patch: tags: - Events summary: Restores an event operationId: events-restore-restore description: Restore an archived event. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_event" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_event" "/api/v2/exchange_rates": get: tags: - Exchange Rates summary: Get exchange rates operationId: exchange_rates-index description: List exchange rates. parameters: - "$ref": "#/components/parameters/filter_exchange_rate" - "$ref": "#/components/parameters/sort_exchange_rate" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_exchange_rate" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/expenses/{id}/approve": patch: tags: - Expenses summary: Approves an expense operationId: expenses-approve-approve description: Approve an expense by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_expense" requestBody: "$ref": "#/components/requestBodies/expense_approve" responses: '200': "$ref": "#/components/responses/single_expense" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" "/api/v2/expenses/bulk_approve": patch: tags: - Expenses - Bulk summary: Bulk approves expenses operationId: expenses-bulk_approve parameters: - "$ref": "#/components/parameters/include_expense" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/expense_bulk_approve" responses: '200': "$ref": "#/components/responses/collection_expense" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_expense" "/api/v2/expenses/{id}/check_export_status": patch: tags: - Expenses summary: Checks the status of a pending expense export operationId: expenses-check_export_status-check_export_status parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_expense" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_expense" '502': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Bad Gateway "/api/v2/expenses/copy": post: tags: - Expenses summary: Copy an expense operationId: expenses-copy-copy description: Copy an expense to create a duplicate. parameters: - "$ref": "#/components/parameters/include_expense" requestBody: "$ref": "#/components/requestBodies/expense_copy" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_expense" "/api/v2/expenses": post: tags: - Expenses summary: Create a expense operationId: expenses-create description: Create a new expense and associate it with a budget service. parameters: - "$ref": "#/components/parameters/include_expense" requestBody: "$ref": "#/components/requestBodies/expense" responses: '201': "$ref": "#/components/responses/single_expense" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" delete: tags: - Expenses - Bulk summary: Delete expenses operationId: expenses-destroy-bulk description: Bulk delete expenses. requestBody: "$ref": "#/components/requestBodies/expense_bulk_delete" responses: '204': description: No Content '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Expenses summary: Get expenses operationId: expenses-index description: List expenses. Returns a paginated collection of expenses matching the specified filters. parameters: - "$ref": "#/components/parameters/filter_expense" - "$ref": "#/components/parameters/sort_expense" - "$ref": "#/components/parameters/include_expense" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_expense" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Expenses - Bulk summary: Update expenses operationId: expenses-update-bulk description: Bulk update expenses. parameters: - "$ref": "#/components/parameters/include_expense" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/expense_bulk_update" responses: '200': "$ref": "#/components/responses/collection_expense" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/expenses/{id}": delete: tags: - Expenses summary: Deletes a expense operationId: expenses-destroy description: Delete an expense by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Expenses summary: Gets a expense operationId: expenses-show description: Retrieve a single expense by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_expense" responses: '200': "$ref": "#/components/responses/single_expense" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Expenses summary: Update a expense operationId: expenses-update description: Update an existing expense. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_expense" requestBody: "$ref": "#/components/requestBodies/expense_update" responses: '200': "$ref": "#/components/responses/single_expense" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/expenses/download_datev_files": patch: tags: - Expenses - Bulk summary: Uploads DATEV files for several expenses and returns signed links to them operationId: expenses-download_datev_files-bulk requestBody: "$ref": "#/components/requestBodies/expense_bulk_datev" responses: '200': content: application/json: schema: type: object additionalProperties: type: object properties: file_url: type: string file_name: type: string file_size: type: integer description: Uploaded files keyed by kind (csv, zip when an expense has an attachment, company_csv, bundle) '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/expenses/{id}/download_datev_files": get: tags: - Expenses summary: Uploads an expense's DATEV files and returns signed links to them operationId: expenses-download_datev_files-download_datev_files parameters: - in: path name: id schema: type: string required: true responses: '200': content: application/json: schema: type: array items: type: object additionalProperties: type: object properties: file_url: type: string file_name: type: string file_size: type: integer description: One entry per uploaded file (csv, zip when the expense has an attachment, company_csv, bundle) '422': "$ref": "#/components/responses/unprocessable_content_expense" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/expenses/export": post: tags: - Expenses - Bulk summary: Exports expenses to the accounting integration operationId: expenses-export-bulk parameters: - "$ref": "#/components/parameters/include_expense" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/expense_bulk_export" responses: '200': "$ref": "#/components/responses/collection_expense" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/expenses/{id}/export": patch: tags: - Expenses summary: Exports an expense operationId: expenses-export-export description: Export an expense to an external accounting system. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_expense" requestBody: "$ref": "#/components/requestBodies/expense_export" responses: '200': "$ref": "#/components/responses/single_expense" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/expenses/{id}/export_update": patch: tags: - Expenses summary: Updates exported expense operationId: expenses-export_update-export_update description: Update the export status of an expense in the external accounting system. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_expense" responses: '200': "$ref": "#/components/responses/single_expense" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/expenses/{id}/reject": patch: tags: - Expenses summary: Rejects an expense operationId: expenses-reject-reject parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_expense" requestBody: "$ref": "#/components/requestBodies/expense_reject" responses: '200': "$ref": "#/components/responses/single_expense" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/expenses/{id}/unapprove": patch: tags: - Expenses summary: Unapproves an expense operationId: expenses-unapprove-unapprove description: Unapprove an expense by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_expense" responses: '200': "$ref": "#/components/responses/single_expense" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/expenses/{id}/unlink_purchase_order": patch: tags: - Expenses summary: Unlinks the purchase order from an expense operationId: expenses-unlink_purchase_order-unlink_purchase_order parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_expense" responses: '200': "$ref": "#/components/responses/single_expense" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/expenses/{id}/unreject": patch: tags: - Expenses summary: Unrejects an expense operationId: expenses-unreject-unreject parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_expense" requestBody: "$ref": "#/components/requestBodies/expense_unreject" responses: '200': "$ref": "#/components/responses/single_expense" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/export_jobs/{id}": get: tags: - Export jobs summary: Gets the status of a queued export job operationId: export_jobs-show parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_export_job" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/filter_preferences": post: tags: - Filter Preferences summary: Create a filter preference operationId: filter_preferences-create parameters: - "$ref": "#/components/parameters/include_filter_preference" requestBody: "$ref": "#/components/requestBodies/filter_preference" responses: '201': "$ref": "#/components/responses/single_filter_preference" '422': "$ref": "#/components/responses/unprocessable_content_filter_preference" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Filter Preferences summary: Get filter preferences operationId: filter_preferences-index parameters: - "$ref": "#/components/parameters/filter_filter_preference" - "$ref": "#/components/parameters/sort_filter_preference" - "$ref": "#/components/parameters/include_filter_preference" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_filter_preference" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/filter_preferences/{id}": delete: tags: - Filter Preferences summary: Delete a filter preference operationId: filter_preferences-destroy parameters: - in: path name: id schema: type: string required: true responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Filter Preferences summary: Get a filter preference operationId: filter_preferences-show parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_filter_preference" responses: '200': "$ref": "#/components/responses/single_filter_preference" '403': "$ref": "#/components/responses/forbidden" '401': "$ref": "#/components/responses/unauthorized" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/filter_preferences/{id}/increment": patch: tags: - Filter Preferences summary: Increment the usage of a filter preference operationId: filter_preferences-increment parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_filter_preference" responses: '200': "$ref": "#/components/responses/single_filter_preference" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/filter_preferences/track": post: tags: - Filter Preferences summary: Track the use of a filter preference, creating it on first use operationId: filter_preferences-track parameters: - "$ref": "#/components/parameters/include_filter_preference" requestBody: "$ref": "#/components/requestBodies/filter_preference" responses: '200': "$ref": "#/components/responses/single_filter_preference" '201': "$ref": "#/components/responses/single_filter_preference" '422': "$ref": "#/components/responses/unprocessable_content_filter_preference" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/filters/copy": post: tags: - Filters summary: Instantiates a report from a report template operationId: filters-copy-copy parameters: - "$ref": "#/components/parameters/include_filter" requestBody: "$ref": "#/components/requestBodies/filter_copy" responses: '422': "$ref": "#/components/responses/unprocessable_content_filter" '201': "$ref": "#/components/responses/single_filter" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/filters": post: tags: - Filters summary: Create a filter operationId: filters-create description: Create a new filter. parameters: - "$ref": "#/components/parameters/include_filter" requestBody: "$ref": "#/components/requestBodies/filter" responses: '201': "$ref": "#/components/responses/single_filter" '422': "$ref": "#/components/responses/unprocessable_content_filter" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Filters summary: Get filters operationId: filters-index description: List filters. parameters: - "$ref": "#/components/parameters/filter_filter" - "$ref": "#/components/parameters/sort_filter" - "$ref": "#/components/parameters/include_filter" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_filter" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/filters/{id}": delete: tags: - Filters summary: Deletes a filter operationId: filters-destroy description: Delete a filter. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Filters summary: Gets a filter operationId: filters-show description: Retrieve a single filter. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_filter" responses: '200': "$ref": "#/components/responses/single_filter" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Filters summary: Update a filter operationId: filters-update description: Update a filter. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_filter" requestBody: "$ref": "#/components/requestBodies/filter_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_filter" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_filter" "/api/v2/folders/{id}/archive": patch: tags: - Folders summary: Archives a folder 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). parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the folder. - "$ref": "#/components/parameters/include_folder" responses: '200': "$ref": "#/components/responses/single_folder" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/folders/copy": post: tags: - Folders summary: Copy a folder operationId: folders-copy-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_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_date": true, "copy_repeat": true, "copy_estimate": true, "copy_custom_fields": true } } } ``` parameters: - "$ref": "#/components/parameters/include_folder" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/folder_copy" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_or_collection_folder" '422': "$ref": "#/components/responses/unprocessable_content_folder" "/api/v2/folders": post: tags: - Folders summary: Create a folder operationId: folders-create description: |- Creates a folder inside a project. Requires a `name` and the `project_id`. ```json { "data": { "type": "folders", "attributes": { "name": "Design", "project_id": 31002 } } } ``` parameters: - "$ref": "#/components/parameters/include_folder" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/folder" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_or_collection_folder" '422': "$ref": "#/components/responses/unprocessable_content_folder" get: tags: - Folders summary: Get folders 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. parameters: - "$ref": "#/components/parameters/filter_folder" - "$ref": "#/components/parameters/sort_folder" - "$ref": "#/components/parameters/include_folder" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_folder" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/folders/{id}/move": patch: tags: - Folders summary: Move a folder operationId: folders-move-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 } } } } ``` parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the folder. - "$ref": "#/components/parameters/include_folder" requestBody: "$ref": "#/components/requestBodies/folder_move" responses: '200': "$ref": "#/components/responses/single_folder" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_folder" "/api/v2/folders/{id}/reposition": patch: tags: - Folders summary: Reposition a folder operationId: folders-reposition-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 } } } ``` parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the folder. - "$ref": "#/components/parameters/include_folder" requestBody: "$ref": "#/components/requestBodies/folder_reposition" responses: '200': "$ref": "#/components/responses/single_folder" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/folders/{id}/restore": patch: tags: - Folders summary: Restores a folder operationId: folders-restore-restore description: Restores an archived folder — and its task lists — back to active status. parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the folder. - "$ref": "#/components/parameters/include_folder" responses: '200': "$ref": "#/components/responses/single_folder" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/folders/{id}": get: tags: - Folders summary: Gets a folder operationId: folders-show description: Returns a single folder by ID. parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the folder. - "$ref": "#/components/parameters/include_folder" responses: '200': "$ref": "#/components/responses/single_folder" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Folders summary: Update a folder operationId: folders-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. parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the folder. - "$ref": "#/components/parameters/include_folder" requestBody: "$ref": "#/components/requestBodies/folder_update" responses: '200': "$ref": "#/components/responses/single_folder" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_folder" "/api/v2/holiday_calendars/countries": get: tags: - Holiday calendars summary: Get countries available for holiday calendars operationId: holiday_calendars-countries description: |- Returns the countries and their subdivisions that can be used for automatic holiday generation. Use the returned `code` values as the holiday calendar `country` and `state` attributes. Requires permission to manage holidays. This is a plain JSON response (not JSON:API). The list is proxied from holidayapi.com and cached for 24 hours; if the provider is unavailable, `countries` is an empty array. responses: '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '200': content: application/json: schema: type: object description: Wrapper object holding the `countries` array. properties: countries: type: array items: type: object description: A single country as returned by the holiday provider. Additional provider fields may be present. properties: code: type: string description: ISO 3166-1 alpha-2 country code (e.g. `US`). Use it as the holiday calendar `country` attribute. example: US codes: type: object description: Alternative ISO 3166-1 representations of the country code. properties: alpha-2: type: string description: ISO 3166-1 alpha-2 code. example: US alpha-3: type: string description: ISO 3166-1 alpha-3 code. example: USA numeric: type: string description: ISO 3166-1 numeric code. example: '840' example: alpha-2: US alpha-3: USA numeric: '840' currencies: type: array items: type: object properties: alpha: type: string description: ISO 4217 currency code. example: USD example: alpha: USD description: Currencies used in the country. example: - alpha: USD flag: type: string format: uri description: URL of the country flag image. example: https://flagsapi.com/US/flat/64.png languages: type: array items: type: string example: en description: ISO 639-1 codes of the languages in which holiday names are available for this country. example: - en name: type: string description: English name of the country. example: United States subdivisions: type: array items: type: object description: A single state or region of the country. properties: code: type: string description: ISO 3166-2 subdivision code (e.g. `US-CA`). example: US-CA languages: type: array items: type: string example: en description: ISO 639-1 codes of the languages used in the subdivision. example: - en name: type: string description: Name of the state or region. example: California example: code: US-CA name: California languages: - en description: States or regions with their own regional holidays. Use the subdivision `code` as the holiday calendar `state` attribute. example: - code: US-CA name: California languages: - en example: code: US name: United States codes: alpha-2: US alpha-3: USA numeric: '840' languages: - en currencies: - alpha: USD flag: https://flagsapi.com/US/flat/64.png subdivisions: - code: US-CA name: California languages: - en description: Supported countries, each with ISO codes, languages, currencies and subdivisions. example: - code: US name: United States codes: alpha-2: US alpha-3: USA numeric: '840' languages: - en currencies: - alpha: USD flag: https://flagsapi.com/US/flat/64.png subdivisions: - code: US-CA name: California languages: - en example: countries: - code: US name: United States codes: alpha-2: US alpha-3: USA numeric: '840' languages: - en currencies: - alpha: USD flag: https://flagsapi.com/US/flat/64.png subdivisions: - code: US-CA name: California languages: - en description: List of supported countries with their subdivisions. "/api/v2/holiday_calendars": post: tags: - Holiday calendars summary: Create a holiday calendar operationId: holiday_calendars-create description: Create a new holiday calendar. requestBody: "$ref": "#/components/requestBodies/holiday_calendar" responses: '201': "$ref": "#/components/responses/single_holiday_calendar" '422': "$ref": "#/components/responses/unprocessable_content_holiday_calendar" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Holiday calendars summary: Get all holiday calendars operationId: holiday_calendars-index description: List holiday calendars. parameters: - "$ref": "#/components/parameters/filter_holiday_calendar" - "$ref": "#/components/parameters/sort_holiday_calendar" - "$ref": "#/components/parameters/include_holiday_calendar" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_holiday_calendar" "/api/v2/holiday_calendars/{id}": delete: tags: - Holiday calendars summary: Deletes a holiday calendar operationId: holiday_calendars-destroy description: Delete a holiday calendar. parameters: - in: path name: id schema: type: string required: true description: ID responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Holiday calendars summary: Get a holiday calendar operationId: holiday_calendars-show description: Retrieve a single holiday calendar. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_holiday_calendar" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Holiday calendars summary: Update a holiday calendar operationId: holiday_calendars-update description: Update a holiday calendar. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/holiday_calendar_update" responses: '200': "$ref": "#/components/responses/single_holiday_calendar" '422': "$ref": "#/components/responses/unprocessable_content_holiday_calendar" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/holidays": post: tags: - Holidays summary: Create a holiday operationId: holidays-create description: Create a new holiday. requestBody: "$ref": "#/components/requestBodies/holiday" responses: '422': "$ref": "#/components/responses/unprocessable_content_holiday" '201': "$ref": "#/components/responses/single_holiday" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Holidays summary: Get all holidays operationId: holidays-index description: List holidays. parameters: - "$ref": "#/components/parameters/filter_holiday" - "$ref": "#/components/parameters/sort_holiday" - "$ref": "#/components/parameters/include_holiday" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_holiday" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/holidays/{id}": delete: tags: - Holidays summary: Deletes a holiday operationId: holidays-destroy description: Delete a holiday. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Holidays summary: Get a holiday operationId: holidays-show description: Retrieve a single holiday. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_holiday" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Holidays summary: Update a holiday operationId: holidays-update description: Update a holiday. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/holiday_update" responses: '200': "$ref": "#/components/responses/single_holiday" '422': "$ref": "#/components/responses/unprocessable_content_holiday" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/imports": post: tags: - Imports summary: Create an import operationId: imports-create responses: '201': "$ref": "#/components/responses/single_import" '422': "$ref": "#/components/responses/unprocessable_content_import" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Imports summary: Get imports operationId: imports-index parameters: - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_import" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/imports/flatfile": post: tags: - Imports summary: Create a flatfile import operationId: imports-flatfile-flatfile responses: '200': "$ref": "#/components/responses/single_import" '422': "$ref": "#/components/responses/unprocessable_content_import" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/imports/harvest_import": post: tags: - Imports summary: Create a Harvest import operationId: imports-harvest-import responses: '200': "$ref": "#/components/responses/single_import" '422': "$ref": "#/components/responses/unprocessable_content_import" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" "/api/v2/imports/{id}/import": post: tags: - Imports summary: Process an import operationId: imports-import-import parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_import" '422': "$ref": "#/components/responses/unprocessable_content_import" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/imports/{id}/revert": patch: tags: - Imports summary: Revert an import operationId: imports-revert-revert parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_import" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/imports/{id}": get: tags: - Imports summary: Gets an import operationId: imports-show parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_import" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Imports summary: Update an import operationId: imports-update parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_import" '422': "$ref": "#/components/responses/unprocessable_content_import" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/integration_exporter_configurations": post: tags: - Integration Exporter Configuration summary: Create integration exporter configuration operationId: integration_exporter_configurations-create description: Create a new integration exporter configuration. requestBody: "$ref": "#/components/requestBodies/integration_exporter_configuration" responses: '201': "$ref": "#/components/responses/single_integration_exporter_configuration" '422': "$ref": "#/components/responses/unprocessable_content_integration_exporter_configuration" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Integration Exporter Configuration summary: Get integration exporter configurations operationId: integration_exporter_configurations-index description: List integration exporter configurations. parameters: - "$ref": "#/components/parameters/filter_integration_exporter_configuration" - "$ref": "#/components/parameters/sort_integration_exporter_configuration" - "$ref": "#/components/parameters/include_integration_exporter_configuration" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_integration_exporter_configuration" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/integration_exporter_configurations/{id}": delete: tags: - Integration Exporter Configuration summary: Delete integration exporter configuration operationId: integration_exporter_configurations-destroy description: Delete an integration exporter configuration. parameters: - in: path name: id schema: type: string required: true description: The ID of the integration exporter configuration to delete. responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Integration Exporter Configuration summary: Get integration exporter configuration operationId: integration_exporter_configurations-show description: Retrieve a single integration exporter configuration. parameters: - in: path name: id schema: type: string required: true description: The ID of the integration exporter configuration to retrieve. responses: '200': "$ref": "#/components/responses/single_integration_exporter_configuration" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Integration Exporter Configuration summary: Update integration exporter configuration operationId: integration_exporter_configurations-update description: Update an integration exporter configuration. parameters: - in: path name: id schema: type: string required: true description: The ID of the integration exporter configuration to update. requestBody: "$ref": "#/components/requestBodies/integration_exporter_configuration_update" responses: '200': "$ref": "#/components/responses/single_integration_exporter_configuration" '422': "$ref": "#/components/responses/unprocessable_content_integration_exporter_configuration" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/integrations/{id}/check": get: tags: - Integrations summary: Checks if integration is valid operationId: integrations-check-check description: Check the connection status of an integration. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_integration" '405': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Method Not Allowed '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/integrations/{id}/check_dependencies": patch: tags: - Integrations summary: Checks the NetSuite scripts an integration depends on operationId: integrations-check-dependencies parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/integration_dependencies" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/integrations/{id}/connect": patch: tags: - Integrations operationId: integrations-connect-connect description: Completes the OAuth connection flow for an integration by exchanging the authorization code for access tokens. parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the integration. requestBody: "$ref": "#/components/requestBodies/integration_connect" responses: '200': "$ref": "#/components/responses/single_integration" '422': "$ref": "#/components/responses/unprocessable_content_integration" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/integrations": post: tags: - Integrations summary: Create an integration operationId: integrations-create description: Create a new integration. requestBody: "$ref": "#/components/requestBodies/integration" responses: '422': "$ref": "#/components/responses/unprocessable_content_integration" '201': "$ref": "#/components/responses/single_integration" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Integrations summary: Get integration operationId: integrations-index description: List integrations. parameters: - "$ref": "#/components/parameters/filter_integration" - "$ref": "#/components/parameters/sort_integration" - "$ref": "#/components/parameters/include_integration" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_integration" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/integrations/{id}": delete: tags: - Integrations summary: Deletes an integration operationId: integrations-destroy description: Delete an integration. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Integrations summary: Gets an integration operationId: integrations-show description: Retrieve a single integration. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_integration" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Integrations summary: Updates an integration operationId: integrations-update parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/integration_update" responses: '200': "$ref": "#/components/responses/single_integration" '422': "$ref": "#/components/responses/unprocessable_content_integration" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/integrations/{id}/sync": get: tags: - Integrations summary: Synchronizes an integration operationId: integrations-sync-sync parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_integration" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/integration_task_management_configurations": post: tags: - Integration Task Management Configuration summary: Create integration task management configuration operationId: integration_task_management_configurations-create requestBody: "$ref": "#/components/requestBodies/integration_task_management_configuration" responses: '201': "$ref": "#/components/responses/single_integration_task_management_configuration" '422': "$ref": "#/components/responses/unprocessable_content_integration_task_management_configuration" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Integration Task Management Configuration summary: Get integration task management configurations operationId: integration_task_management_configurations-index parameters: - "$ref": "#/components/parameters/filter_integration_task_management_configuration" - "$ref": "#/components/parameters/sort_integration_task_management_configuration" - "$ref": "#/components/parameters/include_integration_task_management_configuration" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_integration_task_management_configuration" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/integration_task_management_configurations/{id}": delete: tags: - Integration Task Management Configuration summary: Delete integration task management configuration operationId: integration_task_management_configurations-destroy parameters: - in: path name: id schema: type: string required: true responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Integration Task Management Configuration summary: Get integration task management configuration operationId: integration_task_management_configurations-show parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_integration_task_management_configuration" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Integration Task Management Configuration summary: Update integration task management configuration operationId: integration_task_management_configurations-update parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/integration_task_management_configuration_update" responses: '200': "$ref": "#/components/responses/single_integration_task_management_configuration" '422': "$ref": "#/components/responses/unprocessable_content_integration_task_management_configuration" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invitations": post: tags: - Invitations summary: Create an invitation operationId: invitations-create description: Create a new invitation. requestBody: "$ref": "#/components/requestBodies/invitation" responses: '204': description: No Content '422': "$ref": "#/components/responses/unprocessable_content_invitation" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invitations/{id}": get: tags: - Invitations summary: Get an invitation operationId: invitations-show description: Retrieve a single invitation. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_invitation" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Invitations summary: Update an invitation operationId: invitations-update description: Accept an invitation. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/invitation_update" responses: '204': description: No Content '422': "$ref": "#/components/responses/unprocessable_content_invitation" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoice_attributions": post: tags: - Invoice Attributions summary: Create an invoice attribution description: Create a new invoice attribution. operationId: invoice_attributions-create requestBody: "$ref": "#/components/requestBodies/invoice_attribution" responses: '201': "$ref": "#/components/responses/single_invoice_attribution" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" delete: tags: - Invoice Attributions summary: Delete invoice attributions description: | Bulk only: requires the JSON:API bulk extension headers (`Content-Type` and `Accept`: `application/vnd.api+json; ext=bulk`). Send `data` as an array of up to 100 `{ id, type: "invoice_attributions" }` items. If any of them can't be found, nothing is deleted and the response is 404. Time entries and expenses attributed to the deleted rows are released. operationId: invoice_attributions-destroy-bulk requestBody: "$ref": "#/components/requestBodies/invoice_attribution_bulk_delete" responses: '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '204': description: No Content get: tags: - Invoice Attributions summary: Get invoice attributions operationId: invoice_attributions-index description: List invoice attributions. parameters: - "$ref": "#/components/parameters/filter_invoice_attribution" - "$ref": "#/components/parameters/sort_invoice_attribution" - "$ref": "#/components/parameters/include_invoice_attribution" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_invoice_attribution" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Invoice Attributions summary: Update invoice attributions description: | Bulk only: requires the JSON:API bulk extension headers (`Content-Type` and `Accept`: `application/vnd.api+json; ext=bulk`). Send `data` as an array of up to 100 invoice attributions, each with its `id`. All of them must belong to the same invoice. If any item is invalid, nothing is updated and the errors carry the item's position in `meta.bulk_index`. operationId: invoice_attributions-update-bulk parameters: - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/invoice_attribution_bulk_update" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_invoice_attribution" "/api/v2/invoice_attributions/{id}": delete: tags: - Invoice Attributions summary: Deletes an invoice attribution operationId: invoice_attributions-destroy description: Delete an invoice attribution. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Invoice Attributions summary: Gets an invoice attribution operationId: invoice_attributions-show description: Retrieve a single invoice attribution. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_invoice_attribution" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Invoice Attributions summary: Update an invoice attribution operationId: invoice_attributions-update description: Update an invoice attribution. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/invoice_attribution_update" responses: '200': "$ref": "#/components/responses/single_invoice_attribution" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoices/{id}/check_export_status": patch: tags: - Invoices summary: Checks the status of a pending invoice export operationId: invoices-check_export_status-check_export_status parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_invoice" '502': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Bad Gateway '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoices/copy": post: tags: - Invoices summary: Copies an invoice operationId: invoices-copy-copy requestBody: "$ref": "#/components/requestBodies/invoice_copy" responses: '201': "$ref": "#/components/responses/single_invoice" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content_invoice" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoices": post: tags: - Invoices summary: Create an invoice description: Create a new invoice. operationId: invoices-create requestBody: "$ref": "#/components/requestBodies/invoice" responses: '201': "$ref": "#/components/responses/single_invoice" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" delete: tags: - Invoices - Bulk summary: Delete invoices operationId: invoices-destroy-bulk requestBody: "$ref": "#/components/requestBodies/invoice_bulk_delete" responses: '204': description: No Content '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Invoices summary: Get invoices operationId: invoices-index description: List invoices. parameters: - "$ref": "#/components/parameters/filter_invoice" - "$ref": "#/components/parameters/sort_invoice" - "$ref": "#/components/parameters/include_invoice" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_invoice" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Invoices - Bulk summary: Update invoices operationId: invoices-update-bulk parameters: - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/invoice_bulk_update" responses: '200': "$ref": "#/components/responses/collection_invoice" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoices/credit_note": post: tags: - Invoices summary: Creates a credit note for an invoice description: | Creates a draft credit note for whatever is still uncredited on a finalized invoice. The first credit note reverses every line item of the invoice. Later ones carry one correction line per tax rate for the amount the finalized credit notes have not covered yet. Contact data, bank account, invoiced budgets and invoice attributions are carried over from the invoice in the same request. operationId: invoices-credit_note requestBody: "$ref": "#/components/requestBodies/invoice_credit_note" responses: '201': "$ref": "#/components/responses/single_invoice" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoices/{id}": delete: tags: - Invoices summary: Deletes an invoice operationId: invoices-destroy description: Delete an invoice. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" get: tags: - Invoices summary: Gets an invoice operationId: invoices-show description: Retrieve a single invoice. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_invoice" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Invoices summary: Update an invoice operationId: invoices-update description: Update an invoice. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/invoice_update" responses: '200': "$ref": "#/components/responses/single_invoice" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoices/download_datev_files": patch: tags: - Invoices - Bulk summary: Uploads DATEV files for several invoices and returns signed links to them operationId: invoices-download_datev_files-bulk requestBody: "$ref": "#/components/requestBodies/invoice_bulk_datev" responses: '200': content: application/json: schema: type: object additionalProperties: type: object properties: file_url: type: string file_name: type: string file_size: type: integer description: Uploaded files keyed by kind (csv, zip, company_csv, bundle) '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoices/{id}/download_datev_files": get: tags: - Invoices summary: Uploads an invoice's DATEV files and returns signed links to them operationId: invoices-download_datev_files-download_datev_files parameters: - in: path name: id schema: type: string required: true responses: '200': content: application/json: schema: type: array items: type: object additionalProperties: type: object properties: file_url: type: string file_name: type: string file_size: type: integer description: One entry per uploaded file (csv, zip, company_csv, bundle) '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '422': "$ref": "#/components/responses/unprocessable_content_invoice" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoices/{id}/download_xml": get: tags: - Invoices summary: Generates the XRechnung XML of an invoice and returns a signed link to it operationId: invoices-download_xml-download_xml parameters: - in: path name: id schema: type: string required: true responses: '200': content: application/json: schema: type: object properties: file_url: type: string description: Signed link to the generated XML file '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '422': "$ref": "#/components/responses/unprocessable_content_invoice" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoices/export": post: tags: - Invoices - Bulk summary: Exports several invoices to the accounting integration operationId: invoices-export-bulk parameters: - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/invoice_bulk_export" responses: '200': "$ref": "#/components/responses/collection_invoice" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoices/{id}/export": patch: tags: - Invoices summary: Exports an invoice operationId: invoices-export-export description: Export an invoice to an external accounting system. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/invoice_export" responses: '200': "$ref": "#/components/responses/single_invoice" '422': "$ref": "#/components/responses/unprocessable_content_invoice" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" "/api/v2/invoices/{id}/export_pdf": post: tags: - Invoices summary: Enqueues a PDF export of an invoice operationId: invoices-export_pdf-export_pdf parameters: - in: path name: id schema: type: string required: true responses: '202': "$ref": "#/components/responses/single_export_job" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '422': "$ref": "#/components/responses/unprocessable_content_invoice" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoices/{id}/export_update": patch: tags: - Invoices summary: Updates an exported invoice operationId: invoices-export_update-export_update description: Update the export data on an already-exported invoice. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_invoice" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoices/{id}/finalize": patch: tags: - Invoices summary: Finalizes an invoice operationId: invoices-finalize-finalize description: Finalize a draft invoice. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/invoice_finalize" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_invoice" "/api/v2/invoices/{id}/preview": get: tags: - Invoices summary: Preview invoice 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 parameters: - in: path name: id schema: type: string required: true description: ID - in: query name: budget_ids style: form schema: type: array items: "$ref": "#/components/schemas/_request_id" minItems: 1 explode: false required: true - in: query name: invoicing_method schema: enum: - uninvoiced_time_and_expenses - uninvoiced_amount - percentage type: string required: true - in: query name: display_format schema: type: string required: true - in: query name: invoicing_by schema: enum: - budget - service type: string required: false - in: query name: percentage schema: type: number maximum: 100 exclusiveMinimum: 0 required: false - in: query name: amount schema: type: number exclusiveMinimum: 0 required: false - in: query name: locale schema: type: string required: false responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': content: application/json: schema: type: object properties: data: type: array items: type: object additionalProperties: true description: Generated line item attributes, nothing is saved "/api/v2/invoices/{id}/send_einvoice": patch: tags: - Invoices summary: Sends an e-invoice operationId: invoices-send_einvoice parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/send_einvoice" responses: '200': "$ref": "#/components/responses/single_invoice" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoices/{id}/send": patch: tags: - Invoices summary: Sends an invoice operationId: invoices-send-send_mail description: Send an invoice to the client. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/invoice_send" responses: '200': "$ref": "#/components/responses/single_invoice" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoice_templates": post: tags: - Invoice Templates summary: Create an invoice template operationId: invoice_templates-create description: Create a new invoice template. requestBody: "$ref": "#/components/requestBodies/invoice_template" responses: '201': "$ref": "#/components/responses/single_invoice_template" '422': "$ref": "#/components/responses/unprocessable_content_invoice_template" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Invoice Templates summary: Get invoice templates operationId: invoice_templates-index description: List invoice templates. parameters: - "$ref": "#/components/parameters/filter_invoice_template" - "$ref": "#/components/parameters/sort_invoice_template" - "$ref": "#/components/parameters/include_invoice_template" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_invoice_template" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/invoice_templates/{id}": delete: tags: - Invoice Templates summary: Deletes an invoice template operationId: invoice_templates-destroy description: Delete an invoice template. parameters: - in: path name: id schema: type: string required: true description: The ID of the invoice template to delete. responses: '204': description: No Content '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" get: tags: - Invoice Templates summary: Gets an invoice template operationId: invoice_templates-show description: Retrieve a single invoice template. parameters: - in: path name: id schema: type: string required: true description: The ID of the invoice template to retrieve. responses: '200': "$ref": "#/components/responses/single_invoice_template" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Invoice Templates summary: Update an invoice template operationId: invoice_templates-update description: Update an invoice template. parameters: - in: path name: id schema: type: string required: true description: The ID of the invoice template to update. requestBody: "$ref": "#/components/requestBodies/invoice_template_update" responses: '200': "$ref": "#/components/responses/single_invoice_template" '422': "$ref": "#/components/responses/unprocessable_content_invoice_template" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/job_role_rate_cards/{id}/archive": patch: tags: - Job Role Rate Card summary: Archives the job role rate card operationId: job_role_rate_cards-archive-archive parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_job_role_rate_card" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_job_role_rate_card" "/api/v2/job_role_rate_cards": post: tags: - Job Role Rate Card summary: Creates the job role rate card operationId: job_role_rate_cards-create requestBody: "$ref": "#/components/requestBodies/job_role_rate_card" responses: '201': "$ref": "#/components/responses/single_job_role_rate_card" '422': "$ref": "#/components/responses/unprocessable_content_job_role_rate_card" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Job Role Rate Card summary: Get job role rate cards operationId: job_role_rate_cards-index parameters: - "$ref": "#/components/parameters/filter_job_role_rate_card" - "$ref": "#/components/parameters/sort_job_role_rate_card" - "$ref": "#/components/parameters/include_job_role_rate_card" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_job_role_rate_card" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/job_role_rate_cards/{id}": delete: tags: - Job Role Rate Card summary: Deletes the job role rate card operationId: job_role_rate_cards-destroy parameters: - in: path name: id schema: type: string required: true responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_job_role_rate_card" get: tags: - Job Role Rate Card summary: Gets the job role rate card operationId: job_role_rate_cards-show parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_job_role_rate_card" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Job Role Rate Card summary: Updates the job role rate card operationId: job_role_rate_cards-update parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/job_role_rate_card_update" responses: '200': "$ref": "#/components/responses/single_job_role_rate_card" '422': "$ref": "#/components/responses/unprocessable_content_job_role_rate_card" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/job_role_rate_cards/{id}/restore": patch: tags: - Job Role Rate Card summary: Restores the job role rate card operationId: job_role_rate_cards-restore-restore parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_job_role_rate_card" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_job_role_rate_card" "/api/v2/job_roles/{id}/archive": patch: tags: - Job Role summary: Archives the job role operationId: job_roles-archive-archive parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_job_role" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/job_roles": post: tags: - Job Role summary: Creates the job role operationId: job_roles-create requestBody: "$ref": "#/components/requestBodies/job_role" responses: '422': "$ref": "#/components/responses/unprocessable_content_job_role" '201': "$ref": "#/components/responses/single_job_role" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Job Role summary: Get job roles operationId: job_roles-index parameters: - "$ref": "#/components/parameters/filter_job_role" - "$ref": "#/components/parameters/sort_job_role" - "$ref": "#/components/parameters/include_job_role" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_job_role" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/job_roles/{id}/restore": patch: tags: - Job Role summary: Restores the job role operationId: job_roles-restore-restore parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_job_role" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/job_roles/{id}": get: tags: - Job Role summary: Gets the job role operationId: job_roles-show parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_job_role" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Job Role summary: Updates the job role operationId: job_roles-update parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/job_role_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_job_role" '200': "$ref": "#/components/responses/single_job_role" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" "/api/v2/line_items": post: tags: - Line Items - Bulk summary: Create line items description: Create a new line item. operationId: line_items-create-bulk parameters: - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/line_item" responses: '201': "$ref": "#/components/responses/collection_line_item" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" delete: tags: - Line Items - Bulk summary: Delete line items description: | Bulk only: requires the JSON:API bulk extension headers (`Content-Type` and `Accept`: `application/vnd.api+json; ext=bulk`). Send `data` as an array of line items, each with its `id`; they can belong to different invoices. Each invoice the request touches recalculates its totals. operationId: line_items-destroy-bulk requestBody: "$ref": "#/components/requestBodies/line_item_bulk_delete" responses: '204': description: No Content '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Line Items summary: Get line items operationId: line_items-index description: List line items. parameters: - "$ref": "#/components/parameters/filter_line_item" - "$ref": "#/components/parameters/sort_line_item" - "$ref": "#/components/parameters/include_line_item" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_line_item" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Line Items - Bulk summary: Update line items description: | Bulk only: requires the JSON:API bulk extension headers (`Content-Type` and `Accept`: `application/vnd.api+json; ext=bulk`). Send `data` as an array of line items, each with its `id`; they can belong to different invoices. If any item fails, nothing is updated, and validation errors carry the item's position in `meta.bulk_index`. Each invoice the request touches recalculates its totals. operationId: line_items-update-bulk parameters: - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/line_item_bulk_update" responses: '200': "$ref": "#/components/responses/collection_line_item" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/line_items/{id}": delete: tags: - Line Items summary: Deletes a line item operationId: line_items-destroy description: Delete a line item. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Line Items summary: Gets a line item operationId: line_items-show description: Retrieve a single line item. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_line_item" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Line Items summary: Update a line item operationId: line_items-update description: Update a line item. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/line_item_update" responses: '200': "$ref": "#/components/responses/single_line_item" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/line_items/generate": post: tags: - Line Items summary: Create line items 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. parameters: - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/line_item_generate" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_line_item" "/api/v2/lost_reasons/{id}/archive": patch: tags: - Lost Reasons summary: Archives a lost reason operationId: lost_reasons-archive-archive description: Archive a lost reason. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_lost_reason" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/lost_reasons": post: tags: - Lost Reasons summary: Create a lost reason operationId: lost_reasons-create description: Create a new lost reason. requestBody: "$ref": "#/components/requestBodies/lost_reason" responses: '422': "$ref": "#/components/responses/unprocessable_content_lost_reason" '201': "$ref": "#/components/responses/single_lost_reason" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Lost Reasons summary: Get lost reasons operationId: lost_reasons-index description: List lost reasons. parameters: - "$ref": "#/components/parameters/filter_lost_reason" - "$ref": "#/components/parameters/sort_lost_reason" - "$ref": "#/components/parameters/include_lost_reason" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_lost_reason" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/lost_reasons/{id}": get: tags: - Lost Reasons summary: Gets a lost reason operationId: lost_reasons-show description: Retrieve a single lost reason. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_lost_reason" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Lost Reasons summary: Update a lost reason operationId: lost_reasons-update description: Update a lost reason. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/lost_reason_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_lost_reason" '200': "$ref": "#/components/responses/single_lost_reason" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/memberships": post: tags: - Memberships summary: Create a membership operationId: memberships-create description: Create a new membership. requestBody: "$ref": "#/components/requestBodies/membership" responses: '201': "$ref": "#/components/responses/single_membership" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" get: tags: - Memberships summary: Get memberships operationId: memberships-index description: List memberships. parameters: - "$ref": "#/components/parameters/filter_membership" - "$ref": "#/components/parameters/sort_membership" - "$ref": "#/components/parameters/include_membership" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_membership" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/memberships/{id}": delete: tags: - Memberships summary: Deletes a membership operationId: memberships-destroy description: Delete a membership. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Memberships summary: Gets a membership operationId: memberships-show description: Retrieve a single membership. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_membership" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Memberships summary: Update a membership operationId: memberships-update description: Update a membership. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/membership_update" responses: '200': "$ref": "#/components/responses/single_membership" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/notifications/{id}/dismiss": patch: tags: - Notifications summary: Dismisses a notification operationId: notifications-dismiss-dismiss description: Dismiss a notification. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_notification" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/notifications": get: tags: - Notifications summary: Get notifications operationId: notifications-index description: List notifications. parameters: - "$ref": "#/components/parameters/filter_notification" - "$ref": "#/components/parameters/sort_notification" - "$ref": "#/components/parameters/include_notification" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_notification" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/notifications/{id}/read": patch: tags: - Notifications summary: Reads a notification operationId: notifications-read-read description: Mark a notification as read. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_notification" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/notifications/{id}": get: tags: - Notifications summary: Shows a notification operationId: notifications-show description: Retrieve a single notification. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_notification" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/notifications/{id}/undismiss": patch: tags: - Notifications summary: Undismisses a notification operationId: notifications-undismiss-undismiss description: Restore a dismissed notification to the inbox. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_notification" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/notifications/{id}/unread": patch: tags: - Notifications summary: Marks a notification as unread operationId: notifications-unread-unread parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_notification" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_champions": post: tags: - Organization Champions summary: Creates the organization champion operationId: organization_champions-create requestBody: "$ref": "#/components/requestBodies/organization_champion" responses: '201': "$ref": "#/components/responses/single_organization_champion" '422': "$ref": "#/components/responses/unprocessable_content_organization_champion" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" get: tags: - Organization Champions summary: Get organization champions operationId: organization_champions-index parameters: - in: query name: filter[person_id] schema: type: integer required: false description: The person whose champion roles are listed. - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_organization_champion" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_champions/{id}": delete: tags: - Organization Champions summary: Deletes the organization champion operationId: organization_champions-destroy parameters: - in: path name: id schema: type: string required: true responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Organization Champions summary: Updates the organization champion operationId: organization_champions-update parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/organization_champion_update" responses: '200': "$ref": "#/components/responses/single_organization_champion" '422': "$ref": "#/components/responses/unprocessable_content_organization_champion" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_invoices": get: tags: - Organization Invoices summary: Get organization invoices operationId: organization_invoices-index parameters: - in: query name: per_page schema: type: integer required: false - in: query name: starting_after schema: type: string required: false - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_organization_invoice" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_invoices/overdue": get: tags: - Organization Invoices summary: Get overdue organization invoices operationId: organization_invoices-overdue parameters: - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_organization_invoice" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" "/api/v2/organization_invoices/{id}": get: tags: - Organization Invoices summary: Get an organization invoice operationId: organization_invoices-show parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_organization_invoice" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_invoices/upcoming": get: tags: - Organization Invoices summary: Get the upcoming organization invoice operationId: organization_invoices-upcoming parameters: - in: query name: product_types schema: type: string required: false - in: query name: product_cycle schema: type: string required: false - in: query name: seats schema: type: string required: false responses: '200': "$ref": "#/components/responses/single_organization_invoice" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_membership_counts/{id}": get: tags: - Organization Membership Counts summary: Get the organization membership counts operationId: organization_membership_counts-show parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_organization_membership_count" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_memberships/{id}/clear_notifications": patch: tags: - Organization Memberships summary: Clear notifications for organization membership operationId: organization_memberships-clear_notifications-clear_notifications description: Clear all notifications for an organization membership. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_organization_membership" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_memberships/{id}": delete: tags: - Organization Memberships summary: Destroy organization membership operationId: organization_memberships-destroy description: Delete an organization membership. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Organization Memberships summary: Get an organization membership operationId: organization_memberships-show description: Retrieve a single organization membership. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_organization_membership" '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" patch: tags: - Organization Memberships summary: Update an organization membership operationId: organization_memberships-update description: Update an organization membership. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/organization_membership" responses: '200': "$ref": "#/components/responses/single_organization_membership" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_memberships/{id}/dismiss_notifications": patch: tags: - Organization Memberships summary: Dismiss notifications for organization membership operationId: organization_memberships-dismiss_notifications-dismiss_notifications description: Dismiss all notifications for an organization membership. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_organization_membership" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_memberships": get: tags: - Organization Memberships summary: Get organization memberships operationId: organization_memberships-index description: List organization memberships. parameters: - "$ref": "#/components/parameters/filter_organization_membership" - "$ref": "#/components/parameters/sort_organization_membership" - "$ref": "#/components/parameters/include_organization_membership" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_organization_membership" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_memberships/{id}/read_notifications": patch: tags: - Organization Memberships summary: Mark all notifications as read for organization membership operationId: organization_memberships-read_notifications-read_notifications parameters: - in: path name: id schema: type: string required: true responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_organization_membership" "/api/v2/organizations/{id}": delete: tags: - Organizations summary: Delete an organization operationId: organizations-destroy description: Delete an organization. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/organization_destroy" responses: '422': "$ref": "#/components/responses/unprocessable_content_organization" '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Organizations summary: Get an organization operationId: organizations-show description: Retrieve a single organization. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_organization" responses: '200': "$ref": "#/components/responses/single_organization" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Organizations summary: Update an organization operationId: organizations-update description: Update an organization. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/organization" responses: '422': "$ref": "#/components/responses/unprocessable_content_organization" '200': "$ref": "#/components/responses/single_organization" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organizations/{id}/disable_scim": patch: tags: - Organizations summary: Disable SCIM for an organization operationId: organizations-disable_scim-disable_scim parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_organization" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organizations/{id}/force_two_factor_login": patch: tags: - Organizations summary: Enforce two-factor login for an organization operationId: organizations-force_two_factor_login-force_two_factor_login parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/organization_force_two_factor_login" responses: '200': "$ref": "#/components/responses/single_organization" '422': "$ref": "#/components/responses/unprocessable_content_organization" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organizations/{id}/generate_scim_token": patch: tags: - Organizations summary: Generate a SCIM bearer token for an organization operationId: organizations-generate_scim_token-generate_scim_token parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_organization" '422': "$ref": "#/components/responses/unprocessable_content_organization" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organizations": get: tags: - Organizations summary: Get organizations operationId: organizations-index description: List organizations. parameters: - "$ref": "#/components/parameters/filter_organization" - "$ref": "#/components/parameters/sort_organization" - "$ref": "#/components/parameters/include_organization" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_organization" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organizations/{id}/resend_code": patch: tags: - Organizations summary: Resend verification code operationId: organizations-resend_code-resend_code description: Resend the verification code for an organization. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_organization" '204': content: any: {} headers: {} description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organizations/{id}/sample": delete: tags: - Organizations summary: Revert the sample data of an organization operationId: organizations-sample-revert_sample parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_organization" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" patch: tags: - Organizations summary: Import sample data into an organization operationId: organizations-sample-sample parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_organization" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" "/api/v2/organization_subscriptions/{id}/allocate_seats": patch: tags: - Organization Subscriptions summary: Allocates the seats of a billing group to its organization subscriptions operationId: organization_subscriptions-allocate_seats-allocate_seats parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_organization_subscription" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" "/api/v2/organization_subscriptions/{id}/cancel": patch: tags: - Organization Subscriptions summary: Cancels a organization subscription operationId: organization_subscriptions-cancel-cancel description: Cancel an organization subscription. parameters: - in: path name: id schema: type: string required: true description: ID responses: '422': "$ref": "#/components/responses/unprocessable_content_organization_subscription" '200': "$ref": "#/components/responses/single_organization_subscription" '503': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Service Unavailable '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_subscriptions/{id}/cancel_trial": patch: tags: - Organization Subscriptions summary: Cancels the trial plan of a organization subscription operationId: organization_subscriptions-cancel_trial-cancel_trial parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_organization_subscription" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_subscriptions/{id}/create_setup_intent": post: tags: - Organization Subscriptions summary: Creates a Stripe card setup intent for a organization subscription operationId: organization_subscriptions-create_setup_intent-create_setup_intent parameters: - in: path name: id schema: type: string required: true responses: '200': content: application/json: schema: type: object properties: client_secret: type: string required: - client_secret description: The client secret of the created setup intent '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_subscriptions/{id}/reactivate": patch: tags: - Organization Subscriptions summary: Reactivates a organization subscription operationId: organization_subscriptions-reactivate-reactivate description: Reactivate a cancelled organization subscription. parameters: - in: path name: id schema: type: string required: true description: ID responses: '422': "$ref": "#/components/responses/unprocessable_content_organization_subscription" '200': "$ref": "#/components/responses/single_organization_subscription" '405': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Method Not Allowed '503': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Service Unavailable '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_subscriptions/{id}/retry_last_payment": patch: tags: - Organization Subscriptions summary: Retry last payment for a organization subscription operationId: organization_subscriptions-retry_last_payment-retry_last_payment description: Retry the last failed payment for an organization subscription. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_organization_subscription" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/organization_subscriptions/{id}": get: tags: - Organization Subscriptions summary: Gets a organization subscription operationId: organization_subscriptions-show description: Retrieve a single organization subscription. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_organization_subscription" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Organization Subscriptions summary: Update a organization subscription operationId: organization_subscriptions-update description: Update an organization subscription. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/organization_subscription" responses: '422': "$ref": "#/components/responses/unprocessable_content_organization_subscription" '402': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Payment Required '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_organization_subscription" "/api/v2/overheads": get: tags: - Overheads summary: Get overheads operationId: overheads-index description: List overheads. parameters: - "$ref": "#/components/parameters/filter_overhead" - "$ref": "#/components/parameters/sort_overhead" - "$ref": "#/components/parameters/include_overhead" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_overhead" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/overheads/{id}/recalculate": patch: tags: - Overheads summary: Recalculate an overhead operationId: overheads-recalculate-recalculate description: Recalculate overhead costs for a period. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_overhead" '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" "/api/v2/overheads/{id}": get: tags: - Overheads summary: Gets an overhead operationId: overheads-show description: Retrieve a single overhead record. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_overhead" responses: '200': "$ref": "#/components/responses/single_overhead" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Overheads summary: Update an overhead operationId: overheads-update description: Update an overhead record. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/overhead" responses: '200': "$ref": "#/components/responses/single_overhead" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_overhead" "/api/v2/pages/{id}/convert_to_doc": patch: tags: - Pages summary: Converts a subpage into a doc operationId: pages-convert-to-doc-convert-to-doc description: 'Promotes a subpage into a standalone doc: it is detached from its parent, keeps the project of the doc it came from, gets its own `public_uuid`, and its subpages move with it. The caller gets full access and the original doc''s person memberships are copied over. No request body.' parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the page. responses: '200': "$ref": "#/components/responses/single_page" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pages/copy": post: tags: - Pages summary: Copies a page operationId: pages-copy-copy description: Creates a copy of a page together with its subpages. `template_id` is the ID of the source page. `title` is optional and defaults to `Copy of `. When copying a doc, pass `project_id` to place the copy in a project; a subpage copy stays next to the source and takes no `project_id`. Template docs cannot be copied this way — use [`apply_template_as_doc`](openapi:operation:pages-template-apply-template-as-doc). requestBody: "$ref": "#/components/requestBodies/page_copy" responses: '422': "$ref": "#/components/responses/unprocessable_content_page" '201': "$ref": "#/components/responses/single_page" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pages/{id}": delete: tags: - Pages summary: Deletes a page operationId: pages-destroy description: Deletes a page together with all of its subpages. Template docs cannot be deleted (`409`). parameters: - in: path name: id schema: type: string required: true description: The ID of the page to delete. responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Pages summary: Gets a page operationId: pages-show description: 'Returns a single page: its ProseMirror `body`, place in the hierarchy (`root_page`, `parent_page`), attachments and sharing state (`public_access`, `public_uuid`).' parameters: - in: path name: id schema: type: string required: true description: The ID of the page to retrieve. - "$ref": "#/components/parameters/include_page" responses: '200': "$ref": "#/components/responses/single_page" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pages": get: tags: - Pages summary: Get pages operationId: pages-index description: Returns a paginated list of pages — docs (root pages) and their subpages alike. Scope the list with `filter[project_id]` (pages of a project), `filter[root_page_id]` (every page inside one doc) or `filter[parent_page_id]` (direct children of a page). `filter[query]` matches page titles, `filter[full_query]` searches titles and body content; `filter[creator_id]`, `filter[subscriber_id]`, `filter[edited_at]` and `filter[last_activity_at]` narrow the result further. Pass `filter[template]` to list only template docs. parameters: - "$ref": "#/components/parameters/filter_page" - "$ref": "#/components/parameters/sort_page" - "$ref": "#/components/parameters/include_page" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_page" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pages/{id}/move": patch: tags: - Pages summary: Moves a page operationId: pages-move-move description: Moves a page and its subpages under another page. `target_doc_id` is the ID of the destination page; the moved page becomes its last child and joins the destination's doc. Requires write access on the destination; published docs cannot be moved. When a doc is moved it stops being a doc — its memberships and project link are dropped and access follows the destination. parameters: - in: path name: id schema: type: string required: true description: The ID of the page to move. requestBody: "$ref": "#/components/requestBodies/page_move" responses: '422': "$ref": "#/components/responses/unprocessable_content_page" '200': "$ref": "#/components/responses/single_page" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pages/{id}/append_html": patch: tags: - Pages summary: Append HTML to a page body operationId: pages-proxy-append-html 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. The request body is a plain JSON object `{"html": "…"}`, not a JSON:API document; an empty `html` returns `422`. parameters: - in: path name: id schema: type: string required: true description: The ID of the page to append HTML content to. requestBody: "$ref": "#/components/requestBodies/page_html_body" responses: '200': "$ref": "#/components/responses/single_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. '408': "$ref": "#/components/responses/request_timeout" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pages/{id}/append_markdown": patch: tags: - Pages summary: Append markdown to a page body operationId: pages-proxy-append-markdown 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. The request body is a plain JSON object `{"markdown": "…"}`, not a JSON:API document; an empty `markdown` returns `422`. parameters: - in: path name: id schema: type: string required: true description: The ID of the page to append markdown content to. requestBody: "$ref": "#/components/requestBodies/page_markdown_body" responses: '200': "$ref": "#/components/responses/single_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. '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pages/create_with_markdown": post: tags: - Pages summary: Create a page with markdown body operationId: pages-proxy-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.). requestBody: "$ref": "#/components/requestBodies/page_create_with_markdown" responses: '422': "$ref": "#/components/responses/unprocessable_content_page" '201': "$ref": "#/components/responses/single_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 while processing the markdown body. '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pages/{id}/replace_body_with_html": patch: tags: - Pages summary: Replace a page body with HTML operationId: pages-proxy-replace-body-with-html 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. The request body is a plain JSON object `{"html": "…"}`, not a JSON:API document; an empty `html` returns `422`. parameters: - in: path name: id schema: type: string required: true description: The ID of the page whose body will be replaced. requestBody: "$ref": "#/components/requestBodies/page_html_body" 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" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pages/{id}/replace_body_with_markdown": patch: tags: - Pages summary: Replace a page body with markdown operationId: pages-proxy-replace-body-with-markdown 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. The request body is a plain JSON object `{"markdown": "…"}`, not a JSON:API document; an empty `markdown` returns `422`. parameters: - in: path name: id schema: type: string required: true description: The ID of the page whose body will be replaced. requestBody: "$ref": "#/components/requestBodies/page_markdown_body" 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. '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_page" "/api/v2/pages/{id}/publish": patch: tags: - Pages summary: Publishes a page operationId: pages-publish-publish description: 'Publishes a doc: sets `public_access` to `true` so anyone with the link can read it without authentication through [`GET /public/pages/{uuid}`](openapi:operation:public-pages-show), using the doc''s `public_uuid`. Only docs can be published — subpages are covered by their doc. Template docs cannot be published. No request body.' parameters: - in: path name: id schema: type: string required: true description: The ID of the page to publish. responses: '422': "$ref": "#/components/responses/unprocessable_content_page" '200': "$ref": "#/components/responses/single_page" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pages/apply_template_as_doc": post: tags: - Pages summary: Creates a doc from a template operationId: pages-template-apply-template-as-doc description: Creates a new doc from a template doc. `template_id` is the page ID of that template doc. Pass `project_id` to create the doc inside a project, or omit it for a standalone doc under *My organization*. requestBody: "$ref": "#/components/requestBodies/page_apply_template_as_doc" responses: '422': "$ref": "#/components/responses/unprocessable_content_page" '201': "$ref": "#/components/responses/single_page" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pages/{id}/apply_template_as_target": patch: tags: - Pages summary: Applies a template onto a page operationId: pages-template-apply-template-as-target description: 'Applies a template doc onto an existing page: the page takes the template''s title and receives copies of the template''s subpages, attachments and mentions — template subpages are placed before the page''s existing ones. The page''s own body is kept. `template_id` is the page ID of the template doc.' parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the page. requestBody: "$ref": "#/components/requestBodies/page_apply_template" responses: '422': "$ref": "#/components/responses/unprocessable_content_page" '200': "$ref": "#/components/responses/single_page" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" "/api/v2/pages/{id}/apply_template_on_parent": patch: tags: - Pages summary: Creates a subpage from a template operationId: pages-template-apply-template-on-parent description: 'Creates a new subpage under page `{id}` from a template doc: the template''s title, body, subpages, attachments and mentions are copied into a new page appended as the last child. Returns the new subpage, not the parent. `template_id` is the page ID of the template doc.' parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the page. requestBody: "$ref": "#/components/requestBodies/page_apply_template" responses: '422': "$ref": "#/components/responses/unprocessable_content_page" '200': "$ref": "#/components/responses/single_page" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pages/{id}/unpublish": patch: tags: - Pages summary: Unpublishes a page operationId: pages-unpublish-unpublish description: 'Unpublishes a doc: sets `public_access` to `false`, so the public link stops resolving. Only docs can be unpublished — subpages are covered by their doc. No request body.' parameters: - in: path name: id schema: type: string required: true description: The ID of the page to unpublish. responses: '422': "$ref": "#/components/responses/unprocessable_content_page" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_page" "/api/v2/page_versions": post: tags: - PageVersions summary: Create a page_version operationId: page_versions-create description: |- Creates a page version. Pass exactly one of: - `page_id` — snapshots the page's current title and body as a new version, optionally labelled via `name`. - `restored_from_version_id` — creates a new version whose snapshot is copied from an earlier version, marking a restore point. The page's live body is **not** changed by this call. Editing a page records versions automatically (edits within two minutes merge into one); use this endpoint for named snapshots and restore points. requestBody: "$ref": "#/components/requestBodies/page_version" responses: '422': "$ref": "#/components/responses/unprocessable_content_page_version" '201': "$ref": "#/components/responses/single_page_version" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - PageVersions summary: Get page_versions operationId: page_versions-index description: Returns the version history of pages. Filter by `page_id` to list one page's versions; sort with `-created_at` for newest first. parameters: - "$ref": "#/components/parameters/filter_page_version" - "$ref": "#/components/parameters/sort_page_version" - "$ref": "#/components/parameters/include_page_version" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_page_version" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/page_versions/{id}": get: tags: - PageVersions summary: Gets a page_version operationId: page_versions-show description: Retrieve a single page version. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_page_version" responses: '200': "$ref": "#/components/responses/single_page_version" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - PageVersions summary: Update a page_version operationId: page_versions-update description: Renames a page version — `name` is the only writable attribute. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/page_version_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_page_version" '200': "$ref": "#/components/responses/single_page_version" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/passwords": post: tags: - Passwords summary: Create a password operationId: passwords-create description: Create a new password reset request. requestBody: "$ref": "#/components/requestBodies/password_create" responses: '204': content: any: {} headers: {} description: No Content '201': "$ref": "#/components/responses/single_password" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/passwords/{id}": get: tags: - Passwords summary: Gets a password operationId: passwords-show description: Retrieve a single password reset by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_password" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Passwords summary: Update a password operationId: passwords-update description: Update a password reset. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/password" responses: '422': "$ref": "#/components/responses/unprocessable_content_password" '200': "$ref": "#/components/responses/single_password" '204': content: any: {} headers: {} description: No Content '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/payment_reminders/{id}/copy": post: tags: - Payment reminders summary: Copy a payment reminder operationId: payment_reminders-copy parameters: - in: path name: id schema: type: string required: true responses: '201': "$ref": "#/components/responses/single_payment_reminder" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/payment_reminders": post: tags: - Payment reminders summary: Create a payment reminder operationId: payment_reminders-create parameters: - "$ref": "#/components/parameters/include_payment_reminder" requestBody: "$ref": "#/components/requestBodies/payment_reminder" responses: '201': "$ref": "#/components/responses/single_payment_reminder" '422': "$ref": "#/components/responses/unprocessable_content_payment_reminder" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Payment reminders summary: Get payment reminders operationId: payment_reminders-index parameters: - "$ref": "#/components/parameters/filter_payment_reminder" - "$ref": "#/components/parameters/sort_payment_reminder" - "$ref": "#/components/parameters/include_payment_reminder" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_payment_reminder" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/payment_reminders/{id}": delete: tags: - Payment reminders summary: Deletes a payment reminder operationId: payment_reminders-destroy parameters: - in: path name: id schema: type: string required: true responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Payment reminders summary: Gets a payment reminder operationId: payment_reminders-show parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_payment_reminder" responses: '200': "$ref": "#/components/responses/single_payment_reminder" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Payment reminders summary: Update a payment reminder operationId: payment_reminders-update parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_payment_reminder" requestBody: "$ref": "#/components/requestBodies/payment_reminder_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_payment_reminder" '200': "$ref": "#/components/responses/single_payment_reminder" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/payment_reminder_sequences": post: tags: - Payment reminder sequences summary: Create a payment reminder sequence operationId: payment_reminder_sequences-create description: Create a new payment reminder sequence. parameters: - "$ref": "#/components/parameters/include_payment_reminder_sequence" requestBody: "$ref": "#/components/requestBodies/payment_reminder_sequence" responses: '422': "$ref": "#/components/responses/unprocessable_content_payment_reminder_sequence" '201': "$ref": "#/components/responses/single_payment_reminder_sequence" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Payment reminder sequences summary: Get payment reminder sequences operationId: payment_reminder_sequences-index description: List all payment reminder sequences. parameters: - "$ref": "#/components/parameters/filter_payment_reminder_sequence" - "$ref": "#/components/parameters/sort_payment_reminder_sequence" - "$ref": "#/components/parameters/include_payment_reminder_sequence" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_payment_reminder_sequence" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/payment_reminder_sequences/{id}": delete: tags: - Payment reminder sequences summary: Deletes a payment reminder sequence operationId: payment_reminder_sequences-destroy description: Delete a payment reminder sequence by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Payment reminder sequences summary: Gets a payment reminder sequence operationId: payment_reminder_sequences-show description: Retrieve a single payment reminder sequence by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_payment_reminder_sequence" responses: '200': "$ref": "#/components/responses/single_payment_reminder_sequence" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Payment reminder sequences summary: Update a payment reminder sequence operationId: payment_reminder_sequences-update description: Update a payment reminder sequence. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_payment_reminder_sequence" requestBody: "$ref": "#/components/requestBodies/payment_reminder_sequence_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_payment_reminder_sequence" '200': "$ref": "#/components/responses/single_payment_reminder_sequence" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/payments": post: tags: - Payments summary: Create a payment operationId: payments-create description: Create a new payment. parameters: - "$ref": "#/components/parameters/include_payment" requestBody: "$ref": "#/components/requestBodies/payment" responses: '422': "$ref": "#/components/responses/unprocessable_content_payment" '201': "$ref": "#/components/responses/single_payment" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" delete: tags: - Payments - Bulk summary: Delete payments operationId: payments-destroy-bulk requestBody: "$ref": "#/components/requestBodies/payment_bulk_delete" responses: '204': description: No Content '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Payments summary: Get payments operationId: payments-index description: List all payments. parameters: - "$ref": "#/components/parameters/filter_payment" - "$ref": "#/components/parameters/sort_payment" - "$ref": "#/components/parameters/include_payment" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_payment" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Payments - Bulk summary: Update payments operationId: payments-update-bulk parameters: - "$ref": "#/components/parameters/include_payment" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/payment_bulk_update" responses: '200': "$ref": "#/components/responses/collection_payment" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content_payment" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/payments/{id}": delete: tags: - Payments summary: Deletes a payment operationId: payments-destroy description: Delete a payment by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Payments summary: Gets a payment operationId: payments-show description: Retrieve a single payment by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_payment" responses: '200': "$ref": "#/components/responses/single_payment" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Payments summary: Update a payment operationId: payments-update description: Update a payment. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_payment" requestBody: "$ref": "#/components/requestBodies/payment_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_payment" '200': "$ref": "#/components/responses/single_payment" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/people/{id}/activate": patch: tags: - People summary: Activate a person operationId: people-activate-activate description: Reactivate a previously deactivated person, restoring their access to the organization. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_person" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" "/api/v2/people/{id}/archive": patch: tags: - People summary: Archive a person operationId: people-archive-archive description: Archive a person record. Archived people are hidden from most views and cannot log in. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_person" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/people": post: tags: - People summary: Create a person operationId: people-create 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. parameters: - "$ref": "#/components/parameters/include_person" requestBody: "$ref": "#/components/requestBodies/person" responses: '422': "$ref": "#/components/responses/unprocessable_content_person" '201': "$ref": "#/components/responses/single_person" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - People summary: Get people operationId: people-index description: List people in the organization. Supports filtering by name, email, type, status, team, company, manager, tags, and custom fields. parameters: - "$ref": "#/components/parameters/filter_person" - "$ref": "#/components/parameters/sort_person" - "$ref": "#/components/parameters/include_person" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_person" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/people/{id}/deactivate": patch: tags: - People summary: Deactivate a person operationId: people-deactivate-deactivate description: Deactivate a person, removing their platform access. Their data is retained. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_person" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/people/{id}/invite": patch: tags: - People summary: Invite a person 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. ' parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/person_invite" responses: '200': "$ref": "#/components/responses/single_person" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/people/merge": patch: tags: - People summary: Merge a person operationId: people-merge-merge description: Merge two person records into one, transferring all associated data to the target person. requestBody: "$ref": "#/components/requestBodies/person_merge" responses: '200': "$ref": "#/components/responses/single_person" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_person" "/api/v2/people/{id}/regenerate_recovery_codes": patch: tags: - People summary: Regenerate 2FA recovery codes operationId: people-regenerate_recovery_codes-regenerate_recovery_codes description: Regenerate two-factor authentication recovery codes for the person. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/person_regenerate_recovery_codes" responses: '200': "$ref": "#/components/responses/single_person" '204': content: any: {} headers: {} description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/people/{id}/resend": patch: tags: - People summary: Resend email to a person operationId: people-resend-resend description: Resend the invitation email to a person who has not yet accepted their invite. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_person" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/people/{id}/restore": patch: tags: - People summary: Restore a person operationId: people-restore-restore description: Restore an archived person, making them active again. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_person" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/people/{id}": get: tags: - People summary: Get a person operationId: people-show description: Retrieve a single person by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_person" responses: '200': "$ref": "#/components/responses/single_person" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - People summary: Update a person operationId: people-update description: Update an existing person's attributes, relationships, or settings. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_person" requestBody: "$ref": "#/components/requestBodies/person_update" responses: '200': "$ref": "#/components/responses/single_person" '422': "$ref": "#/components/responses/unprocessable_content_person" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/people/{id}/virtualize": patch: tags: - People summary: Virtualize a person operationId: people-virtualize-virtualize description: Convert a person to a virtual (non-seat) record, used for system or integration purposes. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_person" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pipelines": post: tags: - Pipelines summary: Create a pipeline operationId: pipelines-create description: Create a new pipeline. parameters: - "$ref": "#/components/parameters/include_pipeline" requestBody: "$ref": "#/components/requestBodies/pipeline" responses: '422': "$ref": "#/components/responses/unprocessable_content_pipeline" '201': "$ref": "#/components/responses/single_pipeline" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Pipelines summary: Get pipelines operationId: pipelines-index description: List all pipelines. parameters: - "$ref": "#/components/parameters/filter_pipeline" - "$ref": "#/components/parameters/sort_pipeline" - "$ref": "#/components/parameters/include_pipeline" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_pipeline" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pipelines/{id}": delete: tags: - Pipelines summary: Deletes a pipeline operationId: pipelines-destroy description: Delete a pipeline by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Pipelines summary: Gets a pipeline operationId: pipelines-show description: Retrieve a single pipeline by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_pipeline" responses: '200': "$ref": "#/components/responses/single_pipeline" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Pipelines summary: Update a pipeline operationId: pipelines-update description: Update a pipeline. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_pipeline" requestBody: "$ref": "#/components/requestBodies/pipeline_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_pipeline" '200': "$ref": "#/components/responses/single_pipeline" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/placeholders": post: tags: - Placeholders summary: Create a placeholder operationId: placeholders-create description: |- Creates a placeholder on a template project. Requires `name`, `category`, `type`, `color`, `icon`, and `project_id` — the project must be a template. The `type` determines what the placeholder resolves to when a project is created from the template: a person or a date. ### Create a person placeholder ```json { "data": { "type": "placeholders", "attributes": { "name": "Project Manager", "category": "project", "type": "person", "color": "electric", "icon": "icon-cowboy-hat-filled", "project_id": 7388870 } } } ``` ### Create a date placeholder ```json { "data": { "type": "placeholders", "attributes": { "name": "Kickoff date", "category": "project", "type": "date", "color": "canary", "icon": "icon-calendar", "project_id": 7388870 } } } ``` parameters: - "$ref": "#/components/parameters/include_placeholder" requestBody: "$ref": "#/components/requestBodies/placeholder" responses: '422': "$ref": "#/components/responses/unprocessable_content_placeholder" '201': "$ref": "#/components/responses/single_placeholder" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Placeholders summary: Get placeholders operationId: placeholders-index description: Returns a paginated list of placeholders — named person or date slots defined on template projects. Supports filtering by name, category, type, and project, or by the project whose tasks and todos use the placeholder (`usage_project_id`). parameters: - "$ref": "#/components/parameters/filter_placeholder" - "$ref": "#/components/parameters/sort_placeholder" - "$ref": "#/components/parameters/include_placeholder" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_placeholder" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/placeholders/{id}": delete: tags: - Placeholders summary: Deletes a placeholder operationId: placeholders-destroy description: Deletes a placeholder along with all of its placeholder usages. parameters: - in: path name: id schema: type: string required: true description: The ID of the placeholder to delete. responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Placeholders summary: Gets a placeholder operationId: placeholders-show description: Returns a single placeholder by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the placeholder to retrieve. - "$ref": "#/components/parameters/include_placeholder" responses: '200': "$ref": "#/components/responses/single_placeholder" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Placeholders summary: Update a placeholder operationId: placeholders-update description: Updates a placeholder. Only the provided attributes are modified. The project can only be changed to another template project. parameters: - in: path name: id schema: type: string required: true description: The ID of the placeholder to update. - "$ref": "#/components/parameters/include_placeholder" requestBody: "$ref": "#/components/requestBodies/placeholder_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_placeholder" '200': "$ref": "#/components/responses/single_placeholder" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/placeholder_usages": post: tags: - Placeholder Usages summary: Create a placeholder usage operationId: placeholder_usages-create description: |- Creates a placeholder usage — binds a placeholder to a field on a template task or todo. Requires `field`, `placeholder_id`, and exactly one of `task_id` or `todo_id`. The placeholder's type must match the field: `start_date` and `due_date` take a date placeholder, `assignee` and `subscriber` take a person placeholder. Todos support only `assignee`. For `assignee`, `start_date`, and `due_date` only one usage can exist per target — creating one also clears the value currently set on that field, so the placeholder takes over. `subscriber` usages can be added multiple times. ### Bind a person placeholder to a task's assignee ```json { "data": { "type": "placeholder_usages", "attributes": { "field": "assignee", "placeholder_id": 88, "task_id": 7388879 } } } ``` ### Bind a date placeholder to a due date, offset by one week When the template is instantiated, the resolved date is offset by the interval — here one week after, skipping weekends. ```json { "data": { "type": "placeholder_usages", "attributes": { "field": "due_date", "placeholder_id": 92, "task_id": 7388879, "interval_value": 1, "interval_unit": "week", "interval_direction": "after", "skip_weekends": true } } } ``` parameters: - "$ref": "#/components/parameters/include_placeholder_usage" requestBody: "$ref": "#/components/requestBodies/placeholder_usage" responses: '422': "$ref": "#/components/responses/unprocessable_content_placeholder_usage" '201': "$ref": "#/components/responses/single_placeholder_usage" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Placeholder Usages summary: Get placeholder usages operationId: placeholder_usages-index description: Returns a paginated list of placeholder usages — bindings of placeholders to fields on template tasks and todos. parameters: - "$ref": "#/components/parameters/filter_placeholder_usage" - "$ref": "#/components/parameters/sort_placeholder_usage" - "$ref": "#/components/parameters/include_placeholder_usage" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_placeholder_usage" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/placeholder_usages/{id}": delete: tags: - Placeholder Usages summary: Deletes a placeholder usage operationId: placeholder_usages-destroy description: Deletes a placeholder usage. parameters: - in: path name: id schema: type: string required: true description: The ID of the placeholder usage to delete. responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Placeholder Usages summary: Gets a placeholder usage operationId: placeholder_usages-show description: Returns a single placeholder usage by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the placeholder usage to retrieve. - "$ref": "#/components/parameters/include_placeholder_usage" responses: '200': "$ref": "#/components/responses/single_placeholder_usage" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Placeholder Usages summary: Update a placeholder usage operationId: placeholder_usages-update description: Updates a placeholder usage. Only the provided attributes are modified — the target and `field` are set on create and cannot be changed. A different `placeholder_id` must still match the usage's field type. parameters: - in: path name: id schema: type: string required: true description: The ID of the placeholder usage to update. - "$ref": "#/components/parameters/include_placeholder_usage" requestBody: "$ref": "#/components/requestBodies/placeholder_usage_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_placeholder_usage" '200': "$ref": "#/components/responses/single_placeholder_usage" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/prices": post: tags: - Prices summary: Create a price operationId: prices-create description: Create a new price. parameters: - "$ref": "#/components/parameters/include_price" requestBody: "$ref": "#/components/requestBodies/price" responses: '201': "$ref": "#/components/responses/single_price" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Prices summary: Get prices operationId: prices-index description: List all prices. parameters: - "$ref": "#/components/parameters/filter_price" - "$ref": "#/components/parameters/sort_price" - "$ref": "#/components/parameters/include_price" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_price" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/prices/{id}": delete: tags: - Prices summary: Deletes a price operationId: prices-destroy description: Delete a price by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Prices summary: Gets a price operationId: prices-show description: Retrieve a single price by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_price" responses: '200': "$ref": "#/components/responses/single_price" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Prices summary: Update a price operationId: prices-update description: Update a price. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_price" requestBody: "$ref": "#/components/requestBodies/price_update" responses: '200': "$ref": "#/components/responses/single_price" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/project_milestones": post: tags: - Project Milestones summary: Create a project milestone operationId: project_milestones-create description: |- Creates a milestone on a project. Requires `title`, `date`, `icon_id` and `project_id` — the project must be visible to you and cannot be a template. When `color_id` is omitted, the milestone takes the color of its project. `assignee_id` must be an active member of the project. Requires the permission to manage project milestones. ### Create a milestone ```json { "data": { "type": "project_milestones", "attributes": { "title": "Beta launch", "date": "2026-10-15", "icon_id": "icon-rocket-launch", "note": "Release to beta customers.", "assignee_id": 1002, "project_id": 7388870 } } } ``` parameters: - "$ref": "#/components/parameters/include_project_milestone" requestBody: "$ref": "#/components/requestBodies/project_milestone" responses: '201': "$ref": "#/components/responses/single_project_milestone" '422': "$ref": "#/components/responses/unprocessable_content_project_milestone" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" get: tags: - Project Milestones summary: Get project milestones operationId: project_milestones-index description: Returns a paginated list of project milestones on projects you can view. Supports filtering by project, assignee, date or a date window (`after`/`before`), title search (`query`), and by related people, projects, tasks, deals or budgets. parameters: - "$ref": "#/components/parameters/filter_project_milestone" - "$ref": "#/components/parameters/sort_project_milestone" - "$ref": "#/components/parameters/include_project_milestone" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_project_milestone" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/project_milestones/{id}": delete: tags: - Project Milestones summary: Deletes a project milestone operationId: project_milestones-destroy description: Deletes a project milestone. The milestone is moved to the recycle bin and can be restored through the deleted items endpoint. parameters: - in: path name: id schema: type: string required: true description: The ID of the project milestone to delete. responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Project Milestones summary: Gets a project milestone operationId: project_milestones-show description: Returns a single project milestone by ID. Use `include=project,assignee,creator` to sideload related records. parameters: - in: path name: id schema: type: string required: true description: The ID of the project milestone to retrieve. - "$ref": "#/components/parameters/include_project_milestone" responses: '200': "$ref": "#/components/responses/single_project_milestone" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Project Milestones summary: Update a project milestone operationId: project_milestones-update description: Updates a project milestone. Only the provided attributes are changed. Users who can manage milestones can change every attribute, including `project_id` to move the milestone to another project; the milestone's assignee can change only `title`, `date`, `color_id`, `icon_id` and `note`. parameters: - in: path name: id schema: type: string required: true description: The ID of the project milestone to update. - "$ref": "#/components/parameters/include_project_milestone" requestBody: "$ref": "#/components/requestBodies/project_milestone_update" responses: '200': "$ref": "#/components/responses/single_project_milestone" '422': "$ref": "#/components/responses/unprocessable_content_project_milestone" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/project_preferences": post: tags: - Project Preferences summary: Create a project preference operationId: project_preferences-create description: Creates a project preference, assigning a person to a project. `project_id` and `person_id` are required and must be unique together. parameters: - "$ref": "#/components/parameters/include_project_preference" requestBody: "$ref": "#/components/requestBodies/project_preference" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_project_preference" '422': "$ref": "#/components/responses/unprocessable_content_project_preference" get: tags: - Project Preferences summary: Get project preferences operationId: project_preferences-index description: Returns a paginated list of project preferences, limited to projects the current user can see. Scope the list with `filter[project_id]` or `filter[person_id]`. parameters: - "$ref": "#/components/parameters/filter_project_preference" - "$ref": "#/components/parameters/sort_project_preference" - "$ref": "#/components/parameters/include_project_preference" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_project_preference" "/api/v2/project_preferences/{id}": delete: tags: - Project Preferences summary: Delete a project preference operationId: project_preferences-destroy description: Deletes a project preference, removing the person's assignment to the project. parameters: - in: path name: id schema: type: string required: true description: The ID of the project preference to delete. responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Project Preferences summary: Get a project preference operationId: project_preferences-show description: Returns a single project preference. parameters: - in: path name: id schema: type: string required: true description: The ID of the project preference to fetch. - "$ref": "#/components/parameters/include_project_preference" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_project_preference" patch: tags: - Project Preferences summary: Update a project preference operationId: project_preferences-update description: Updates a project preference — task layout, watch state or stored view preferences. Pass `subscribe` or `unsubscribe` to also change the person's task subscriptions in the project. parameters: - in: path name: id schema: type: string required: true description: The ID of the project preference to update. - "$ref": "#/components/parameters/include_project_preference" requestBody: "$ref": "#/components/requestBodies/project_preference_update" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_project_preference" '422': "$ref": "#/components/responses/unprocessable_content_project_preference" "/api/v2/projects/{id}/apply_navigation_tabs": patch: tags: - Projects summary: Applies navigation tabs from a template to the project operationId: projects-apply_navigation_tabs-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. ```json { "data": { "type": "projects", "attributes": { "template_id": 123456, "keep_existing_tabs": false } } } ``` parameters: - in: path name: id schema: type: string required: true description: The ID of the project to apply navigation tabs to. requestBody: "$ref": "#/components/requestBodies/project_apply_navigation_tabs" responses: '200': "$ref": "#/components/responses/single_project" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_project" "/api/v2/projects/{id}/archive": patch: tags: - Projects summary: Archives a project description: Archives a project, hiding it from active project lists. Archiving also pauses the project's recurring budgets, marks its open budgets as delivered, and removes future bookings; tasks and logged time are not affected. Reverse it with [restore](#tag/Projects/operation/projects-restore-restore). operationId: projects-archive-archive parameters: - in: path name: id schema: type: string required: true description: ID responses: '409': "$ref": "#/components/responses/conflict" '200': "$ref": "#/components/responses/single_project" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/projects/{id}/change_workflow": patch: tags: - Projects summary: Changes workflow on project operationId: projects-change_workflow-change_workflow description: |- Switches the project to a different task workflow, migrating its tasks to the new workflow's statuses according to the `map`. ```json { "data": { "type": "projects", "attributes": { "workflow_id": 75, "map": { "101": 201, "102": 202 } } } } ``` parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/project_change_workflow" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_project" '422': "$ref": "#/components/responses/unprocessable_content_project" "/api/v2/projects/copy": post: tags: - Projects summary: Copies a project operationId: projects-copy-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_folders` | — | Required by `copy_task_lists` | | `copy_task_lists` | `copy_folders` | 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_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` | — | Copies the source project's views, which are its tabs (Tasks, Docs, Budgets…), keeping the tab order. Without it, the new project shows only built-in tabs such as Time | | `copy_notes` | — | Copies the source project's docs (pages) that you can see | | `copy_surveys` | — | Copies the source project's forms that you can see, with their fields, sharing and automations, but without responses. Fields linked to custom fields are skipped unless `copy_custom_fields` is also enabled | | `copy_custom_fields`, `copy_dashboards`, `copy_budgets` | — | Independent | | `copy_automations` | — | Copies the source project's automations (multi-project automations are skipped) | | `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_folders": true, "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_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_folders": true, "copy_task_lists": true, "copy_open_tasks": true, "copy_task_comments": true, "copy_task_attachments": true, "copy_task_description": true, "copy_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 } } } ``` requestBody: "$ref": "#/components/requestBodies/project_copy" responses: '201': "$ref": "#/components/responses/single_project" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_project" "/api/v2/projects": post: tags: - Projects summary: Create a project operationId: projects-create description: |- Create a project. Creates a new project with the given attributes. Required: `name`, `project_manager_id`, `project_type_id`, and `workflow_id`. `company_id` is required for non-internal project types. ```json { "data": { "type": "projects", "attributes": { "name": "Acme website redesign", "project_type_id": 2, "project_manager_id": 42, "company_id": 999, "workflow_id": 7 } } } ``` To duplicate an existing project or create one from a template, use [`/projects/copy`](#tag/Projects/operation/projects-copy-copy) instead. parameters: - "$ref": "#/components/parameters/include_project" requestBody: "$ref": "#/components/requestBodies/project" responses: '201': "$ref": "#/components/responses/single_project" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_project" get: tags: - Projects summary: Get projects operationId: projects-index description: List projects. Returns a paginated collection of projects accessible to the authenticated user. Supports filtering, sorting, and including related resources. parameters: - "$ref": "#/components/parameters/filter_project" - "$ref": "#/components/parameters/sort_project" - "$ref": "#/components/parameters/include_project" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_project" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/projects/{id}": delete: tags: - Projects summary: Deletes a project operationId: projects-destroy description: Delete a project. Permanently deletes a project and all its associated data. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Projects summary: Gets a project operationId: projects-show description: Get a project. Returns a single project by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_project" responses: '200': "$ref": "#/components/responses/single_project" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Projects summary: Update a project operationId: projects-update description: Updates a project. Only the attributes you include are modified — everything else is left unchanged. To change the project's workflow, use [change_workflow](#tag/Projects/operation/projects-change_workflow-change_workflow) instead of this endpoint. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_project" requestBody: "$ref": "#/components/requestBodies/project_update" responses: '200': "$ref": "#/components/responses/single_project" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_project" "/api/v2/projects/{id}/export": patch: tags: - Projects summary: Exports a project to the accounting integration of its company's subsidiary operationId: projects-export-export parameters: - in: path name: id schema: type: string required: true responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_project" '422': "$ref": "#/components/responses/unprocessable_content_project" "/api/v2/projects/{id}/export_update": patch: tags: - Projects summary: Updates an exported project in the accounting integration of its company's subsidiary operationId: projects-export_update-export_update parameters: - in: path name: id schema: type: string required: true responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_project" '422': "$ref": "#/components/responses/unprocessable_content_project" "/api/v2/projects/{project_id}/preferences": patch: tags: - Projects summary: Update a project's preferences operationId: projects-preferences-update parameters: - in: path name: project_id schema: type: string required: true requestBody: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: preferences: "$ref": "#/components/schemas/resource_project/properties/preferences" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_project" '422': "$ref": "#/components/responses/unprocessable_content_project" "/api/v2/projects/{id}/restore": patch: tags: - Projects summary: Restores a project operationId: projects-restore-restore description: Restore a project. Restores an archived project back to active status. parameters: - in: path name: id schema: type: string required: true description: ID responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_project" "/api/v2/projects/{id}/subscribe": patch: tags: - Projects summary: Subscribes to project operationId: projects-subscribe-subscribe description: Subscribes the current user to the project's comment thread. parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the project. responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_project" "/api/v2/projects/{id}/unsubscribe": patch: tags: - Projects summary: Unsubscribes from project operationId: projects-unsubscribe-unsubscribe description: Unsubscribes the current user from the project's comment thread. parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the project. responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_project" "/api/v2/proposals/{id}/approve": patch: tags: - Proposals summary: Approves a proposal on behalf of an approver operationId: proposals-approve-approve parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/proposal_approve" responses: '200': "$ref": "#/components/responses/single_proposal" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '422': "$ref": "#/components/responses/unprocessable_content_proposal" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/proposals/bulk_approve": patch: tags: - Proposals summary: Bulk approves proposals on behalf of the current person operationId: proposals-bulk_approve requestBody: "$ref": "#/components/requestBodies/proposal_bulk_approve" responses: '200': "$ref": "#/components/responses/collection_proposal" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/proposals": post: tags: - Proposals summary: Create a proposal operationId: proposals-create description: Create a new proposal. parameters: - "$ref": "#/components/parameters/include_proposal" requestBody: "$ref": "#/components/requestBodies/proposal" responses: '422': "$ref": "#/components/responses/unprocessable_content_proposal" '500': "$ref": "#/components/responses/internal_server_error" '429': "$ref": "#/components/responses/too_many_requests" '201': "$ref": "#/components/responses/single_proposal" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" get: tags: - Proposals summary: Get proposals operationId: proposals-index description: List all proposals. parameters: - "$ref": "#/components/parameters/filter_proposal" - "$ref": "#/components/parameters/sort_proposal" - "$ref": "#/components/parameters/include_proposal" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_proposal" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/proposals/{id}": delete: tags: - Proposals summary: Deletes a proposal operationId: proposals-destroy description: Delete a proposal by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the proposal to delete. responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Proposals summary: Gets a proposal operationId: proposals-show description: Retrieve a single proposal by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the proposal to retrieve. - "$ref": "#/components/parameters/include_proposal" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_proposal" patch: tags: - Proposals summary: Update a proposal operationId: proposals-update description: Update a proposal. parameters: - in: path name: id schema: type: string required: true description: The ID of the proposal to update. - "$ref": "#/components/parameters/include_proposal" requestBody: "$ref": "#/components/requestBodies/proposal_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_proposal" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_proposal" "/api/v2/proposal_services": get: tags: - Proposals summary: Get proposal services operationId: proposal_services-index parameters: - "$ref": "#/components/parameters/filter_proposal_service" - "$ref": "#/components/parameters/sort_proposal_service" - "$ref": "#/components/parameters/include_proposal_service" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_proposal_service" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/proposal_sessions": get: tags: - Proposals summary: Get proposal sessions operationId: proposal_sessions-index parameters: - "$ref": "#/components/parameters/filter_proposal_session" - "$ref": "#/components/parameters/include_proposal_session" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_proposal_session" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/proposals/{id}/publish": patch: tags: - Proposals summary: Publish a proposal through its public link operationId: proposals-publish-publish parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/proposal_publish" responses: '200': "$ref": "#/components/responses/single_proposal" '422': "$ref": "#/components/responses/unprocessable_content_proposal" '403': "$ref": "#/components/responses/forbidden" '401': "$ref": "#/components/responses/unauthorized" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/proposals/{id}/reject": patch: tags: - Proposals summary: Rejects a proposal on behalf of an approver operationId: proposals-reject-reject parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/proposal_reject" responses: '200': "$ref": "#/components/responses/single_proposal" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '422': "$ref": "#/components/responses/unprocessable_content_proposal" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/proposals/{id}/send_approval_mail": post: tags: - Proposals summary: Send the proposal approval email operationId: proposals-send_approval_mail-send_approval_mail parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/proposal_send_approval_mail" responses: '200': "$ref": "#/components/responses/single_proposal" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '422': "$ref": "#/components/responses/unprocessable_content_proposal" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/proposals/{id}/send": patch: tags: - Proposals summary: Send a proposal by email operationId: proposals-send-send parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/proposal_send" responses: '200': "$ref": "#/components/responses/single_proposal" '422': "$ref": "#/components/responses/unprocessable_content_proposal" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/proposals/{id}/signed_pdf": get: tags: - Proposals summary: Get a download URL for the signed proposal PDF operationId: proposals-signed_pdf-signed_pdf parameters: - in: path name: id schema: type: string required: true responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/proposal_signed_pdf" "/api/v2/proposals/{id}/sync_status": get: tags: - Proposals summary: Get proposal's sync status operationId: proposals-sync_status-sync_status description: Retrieve the sync status of a proposal. parameters: - in: path name: id schema: type: string required: true description: The ID of the proposal to check sync status for. responses: '200': "$ref": "#/components/responses/proposal_sync_status" '422': "$ref": "#/components/responses/unprocessable_content_proposal" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/proposals/{id}/sync": patch: tags: - Proposals summary: Sync a proposal operationId: proposals-sync-sync description: Sync a proposal with the associated deal. parameters: - in: path name: id schema: type: string required: true description: The ID of the proposal to sync. responses: '422': "$ref": "#/components/responses/unprocessable_content_proposal" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_proposal" "/api/v2/proposals/{id}/unapprove": patch: tags: - Proposals summary: Unapproves a proposal on behalf of an approver operationId: proposals-unapprove-unapprove parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/proposal_approve" responses: '200': "$ref": "#/components/responses/single_proposal" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '422': "$ref": "#/components/responses/unprocessable_content_proposal" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/public/artifacts/{uuid}/attachments/{id}/auth": get: tags: - Artifacts summary: Authenticates access to a public artifact attachment security: [] operationId: public-artifacts-attachments-auth parameters: - in: path name: uuid schema: type: string required: true - in: path name: id schema: type: string required: true responses: '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': description: OK "/api/v2/public/artifacts/{uuid}": get: tags: - Artifacts summary: Gets a public artifact security: [] operationId: public-artifacts-show parameters: - in: path name: uuid schema: type: string required: true responses: '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_public_artifact" "/api/v2/public/pages/{uuid}": get: tags: - Pages summary: Gets a public doc security: [] operationId: public-pages-show description: Returns a published doc. The response carries a reduced attribute set and includes the doc's `child_pages`, ordered by position. parameters: - in: path name: uuid schema: type: string required: true description: The public UUID of the doc (`public_uuid`). responses: '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_public_page" "/api/v2/public/proposals/{uuid}/accept": patch: tags: - Proposals summary: Accept a public proposal security: - header_token: [] operationId: public-proposals-accept parameters: - in: path name: uuid schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/public_proposal_accept" responses: '422': "$ref": "#/components/responses/unprocessable_content_proposal" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_public_proposal" "/api/v2/public/proposals/{uuid}/confirm_identity": patch: tags: - Proposals summary: Confirm identity for a public proposal security: - header_token: [] operationId: public-proposals-confirm_identity parameters: - in: path name: uuid schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/proposal_identity_confirmation" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '200': "$ref": "#/components/responses/single_public_proposal" '410': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Gone '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/public/proposals/{uuid}/decline": patch: tags: - Proposals summary: Decline a public proposal security: [] operationId: public-proposals-decline parameters: - in: path name: uuid schema: type: string required: true - in: header name: X-Proposal-Token schema: type: string required: false description: Access token from unlock, required when the proposal link is password-protected requestBody: "$ref": "#/components/requestBodies/public_proposal_decline" responses: '200': "$ref": "#/components/responses/single_public_proposal" '422': "$ref": "#/components/responses/unprocessable_content_proposal" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/public/proposals/{uuid}/file_authorize": get: tags: - Proposals summary: Authorize access to a public proposal file security: [] operationId: public-proposals-file_authorize parameters: - in: path name: uuid schema: type: string required: true responses: '200': description: The proposal's files may be read '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/public/proposals/{uuid}/file_presign": post: tags: - Proposals summary: Pre-sign a signature image upload for a public proposal security: [] operationId: public-proposals-file_presign parameters: - in: path name: uuid schema: type: string required: true - in: header name: X-Proposal-Token schema: type: string required: false description: Access token from unlock, required when the proposal link is password-protected requestBody: "$ref": "#/components/requestBodies/public_proposal_file_presign" responses: '201': "$ref": "#/components/responses/public_proposal_file_presign" '422': "$ref": "#/components/responses/unprocessable_content_proposal" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/public/proposals/{uuid}": get: tags: - Proposals summary: Show a public proposal security: [] operationId: public-proposals-show parameters: - in: path name: uuid schema: type: string required: true - in: header name: X-Proposal-Token schema: type: string required: false description: Access token from unlock, required when the proposal link is password-protected responses: '200': "$ref": "#/components/responses/single_public_proposal" '404': "$ref": "#/components/responses/not_found" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/public/proposals/{uuid}/unlock": post: tags: - Proposals summary: Unlock a password-protected public proposal security: [] operationId: public-proposals-unlock parameters: - in: path name: uuid schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/public_proposal_unlock" responses: '201': "$ref": "#/components/responses/public_proposal_unlock" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pulses": post: tags: - Pulses summary: Creates a pulse operationId: pulses-create description: Create a new pulse. requestBody: "$ref": "#/components/requestBodies/pulse" responses: '422': "$ref": "#/components/responses/unprocessable_content_pulse" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_pulse" get: tags: - Pulses summary: Get pulses operationId: pulses-index description: List all pulses. parameters: - "$ref": "#/components/parameters/filter_pulse" - "$ref": "#/components/parameters/sort_pulse" - "$ref": "#/components/parameters/include_pulse" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_pulse" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pulses/{id}": delete: tags: - Pulses summary: Deletes a pulse operationId: pulses-destroy description: Delete a pulse by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Pulses summary: Gets a pulse operationId: pulses-show description: Retrieve a single pulse by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_pulse" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_pulse" patch: tags: - Pulses summary: Updates a pulse operationId: pulses-update description: Update a pulse. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/pulse_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_pulse" '200': "$ref": "#/components/responses/single_pulse" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/pulses/{id}/send": patch: tags: - Pulses summary: Send a pulse operationId: pulses-send-send_pulse description: Send a pulse to recipients. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': description: OK '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/purchase_orders/copy": post: tags: - Purchase Orders summary: Copies a purchase order operationId: purchase_orders-copy-copy description: Copy an existing purchase order. parameters: - "$ref": "#/components/parameters/include_purchase_order" requestBody: "$ref": "#/components/requestBodies/purchase_order_copy" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_purchase_order" '422': "$ref": "#/components/responses/unprocessable_content_purchase_order" "/api/v2/purchase_orders": post: tags: - Purchase Orders summary: Create a purchase order operationId: purchase_orders-create description: Create a new purchase order. parameters: - "$ref": "#/components/parameters/include_purchase_order" requestBody: "$ref": "#/components/requestBodies/purchase_order" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_purchase_order" '422': "$ref": "#/components/responses/unprocessable_content_purchase_order" delete: tags: - Purchase Orders - Bulk summary: Delete purchase orders operationId: purchase_orders-destroy-bulk description: Bulk-deletes purchase orders by ID in a single request. requestBody: "$ref": "#/components/requestBodies/purchase_order_bulk_delete" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: Purchase orders deleted successfully. No response body. get: tags: - Purchase Orders summary: Get purchase orders 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. parameters: - "$ref": "#/components/parameters/filter_purchase_order" - "$ref": "#/components/parameters/sort_purchase_order" - "$ref": "#/components/parameters/include_purchase_order" - "$ref": "#/components/parameters/fields" responses: '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '200': "$ref": "#/components/responses/collection_purchase_order" patch: tags: - Purchase Orders - Bulk summary: Update purchase orders operationId: purchase_orders-update-bulk description: Bulk-updates multiple purchase orders in a single request. Accepts a JSON:API array of partial `purchase_orders` resources keyed by ID. parameters: - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/purchase_order_bulk_update" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_purchase_order" '422': "$ref": "#/components/responses/unprocessable_content_purchase_order" "/api/v2/purchase_orders/{id}": delete: tags: - Purchase Orders summary: Deletes a purchase order operationId: purchase_orders-destroy description: Delete a purchase order by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Purchase Orders summary: Gets a purchase order operationId: purchase_orders-show description: Retrieve a single purchase order by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_purchase_order" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_purchase_order" patch: tags: - Purchase Orders summary: Update a purchase order operationId: purchase_orders-update description: Update a purchase order. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/purchase_order_update" responses: '200': "$ref": "#/components/responses/single_purchase_order" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_purchase_order" "/api/v2/purchase_orders/{id}/export": patch: tags: - Purchase Orders summary: Exports a purchase order operationId: purchase_orders-export-export description: Export a purchase order to an external format. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/purchase_order_export" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_purchase_order" "/api/v2/purchase_orders/{id}/export_update": patch: tags: - Purchase Orders summary: Updates exported purchase order operationId: purchase_orders-export_update-export_update description: Update the export status of a purchase order. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/purchase_order_export" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_purchase_order" "/api/v2/purchase_orders/{id}/send": patch: tags: - Purchase Orders summary: Sends a purchase order operationId: purchase_orders-send-send_mail description: Send a purchase order to a vendor. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/purchase_order_send" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_purchase_order" '422': "$ref": "#/components/responses/unprocessable_content_purchase_order" "/api/v2/rate_cards/{id}/archive": patch: tags: - Rate cards summary: Archives a rate card operationId: rate_cards-archive-archive description: Archive a rate card to deactivate it. parameters: - in: path name: id schema: type: string required: true description: ID responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_rate_card" "/api/v2/rate_cards/copy": post: tags: - Rate cards summary: Copy a rate card operationId: rate_cards-copy-copy description: Copy an existing rate card. parameters: - "$ref": "#/components/parameters/include_rate_card" requestBody: "$ref": "#/components/requestBodies/rate_card_copy" responses: '201': "$ref": "#/components/responses/single_rate_card" '422': "$ref": "#/components/responses/unprocessable_content_rate_card" '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '200': "$ref": "#/components/responses/single_rate_card" "/api/v2/rate_cards": post: tags: - Rate cards summary: Create a price operationId: rate_cards-create description: Create a new rate card. requestBody: "$ref": "#/components/requestBodies/rate_card" responses: '201': "$ref": "#/components/responses/single_rate_card" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_rate_card" get: tags: - Rate cards summary: Get rate cards operationId: rate_cards-index description: List all rate cards. parameters: - "$ref": "#/components/parameters/filter_rate_card" - "$ref": "#/components/parameters/sort_rate_card" - "$ref": "#/components/parameters/include_rate_card" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_rate_card" "/api/v2/rate_cards/{id}": delete: tags: - Rate cards summary: Deletes a price operationId: rate_cards-destroy description: Delete a rate card by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Rate cards summary: Gets a rate card operationId: rate_cards-show description: Retrieve a single rate card by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_rate_card" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_rate_card" patch: tags: - Rate cards summary: Update a price operationId: rate_cards-update description: Update a rate card. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/rate_card_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_rate_card" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_rate_card" "/api/v2/rate_cards/{id}/restore": patch: tags: - Rate cards summary: Restores a rate card operationId: rate_cards-restore-restore description: Restore an archived rate card. parameters: - in: path name: id schema: type: string required: true description: ID responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_rate_card" "/api/v2/report_categories": post: tags: - Report Category summary: Create a report category operationId: report_categories-create description: Create a new report category. requestBody: "$ref": "#/components/requestBodies/report_category" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_report_category" '201': "$ref": "#/components/responses/single_report_category" get: tags: - Report Category summary: Get report categories operationId: report_categories-index description: List all report categories. parameters: - "$ref": "#/components/parameters/filter_report_category" - "$ref": "#/components/parameters/sort_report_category" - "$ref": "#/components/parameters/include_report_category" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_report_category" "/api/v2/report_categories/{id}": delete: tags: - Report Category summary: Deletes a report category operationId: report_categories-destroy description: Delete a report category. parameters: - in: path name: id schema: type: string required: true description: ID responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Report Category summary: Gets a report category operationId: report_categories-show description: Retrieve a specific report category by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_report_category" patch: tags: - Report Category summary: Update a report category operationId: report_categories-update description: Update an existing report category. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/report_category_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_report_category" '200': "$ref": "#/components/responses/single_report_category" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/automation_reports": get: tags: - Reports summary: Get automation reports operationId: reports-automation_reports-index parameters: - "$ref": "#/components/parameters/filter_automation_report" - "$ref": "#/components/parameters/sort_automation_report" - "$ref": "#/components/parameters/group_automation_report" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_automation_report" "/api/v2/reports/balancing_hour_reports": get: tags: - Reports summary: Get balancing hour reports operationId: reports-balancing_hour_reports-index parameters: - "$ref": "#/components/parameters/filter_balancing_hour_report" - "$ref": "#/components/parameters/sort_balancing_hour_report" - "$ref": "#/components/parameters/group_balancing_hour_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_balancing_hour_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/bill_reports": get: tags: - Reports summary: Get bill reports operationId: reports-bill_reports-index parameters: - "$ref": "#/components/parameters/filter_bill_report" - "$ref": "#/components/parameters/sort_bill_report" - "$ref": "#/components/parameters/group_bill_report" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_bill_report" "/api/v2/reports/booking_reports": get: tags: - Reports summary: Get booking reports operationId: reports-booking_reports-index description: Retrieve aggregated booking report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_booking_report" - "$ref": "#/components/parameters/sort_booking_report" - "$ref": "#/components/parameters/group_booking_report" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_booking_report" "/api/v2/reports/budget_reports": get: tags: - Reports summary: Get budget reports 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. parameters: - "$ref": "#/components/parameters/filter_budget_report" - "$ref": "#/components/parameters/sort_budget_report" - "$ref": "#/components/parameters/group_budget_report" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_budget_report" "/api/v2/reports/company_reports": get: tags: - Reports summary: Get company reports operationId: reports-company_reports-index description: Retrieve aggregated company report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_company_report" - "$ref": "#/components/parameters/sort_company_report" - "$ref": "#/components/parameters/group_company_report" - "$ref": "#/components/parameters/include_company_report" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_company_report" "/api/v2/reports/deal_funnel_reports": get: tags: - Reports summary: Get funnel reports operationId: reports-deal_funnel_reports-index description: Retrieve aggregated deal funnel report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_deal_funnel_report" - "$ref": "#/components/parameters/sort_deal_funnel_report" - "$ref": "#/components/parameters/group_deal_funnel_report" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_deal_funnel_report" "/api/v2/reports/deal_reports": get: tags: - Reports summary: Get deal reports operationId: reports-deal_reports-index description: Retrieve aggregated deal report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_deal_report" - "$ref": "#/components/parameters/sort_deal_report" - "$ref": "#/components/parameters/group_deal_report" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_deal_report" "/api/v2/reports/entitlement_reports": get: tags: - Reports summary: Get entitlement reports operationId: reports-entitlement_reports-index description: Retrieve aggregated entitlement report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_entitlement_report" - "$ref": "#/components/parameters/sort_entitlement_report" - "$ref": "#/components/parameters/group_entitlement_report" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_entitlement_report" "/api/v2/reports/expense_reports": get: tags: - Reports summary: Get expense reports operationId: reports-expense_reports-index description: Retrieve aggregated expense report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_expense_report" - "$ref": "#/components/parameters/sort_expense_report" - "$ref": "#/components/parameters/group_expense_report" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '200': "$ref": "#/components/responses/collection_expense_report" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/financial_item_reports": get: tags: - Reports summary: Get financial item reports operationId: reports-financial_item_reports-index description: Retrieve aggregated financial item report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_financial_item_report" - "$ref": "#/components/parameters/sort_financial_item_report" - "$ref": "#/components/parameters/group_financial_item_report" - "$ref": "#/components/parameters/page_size" - "$ref": "#/components/parameters/page_number" - "$ref": "#/components/parameters/page_after" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_financial_item_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/invoice_reports": get: tags: - Reports summary: Get invoice reports operationId: reports-invoice_reports-index description: Retrieve aggregated invoice report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_invoice_report" - "$ref": "#/components/parameters/sort_invoice_report" - "$ref": "#/components/parameters/group_invoice_report" - "$ref": "#/components/parameters/include_invoice_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_invoice_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/line_item_reports": get: tags: - Reports summary: Get line item reports operationId: reports-line_item_reports-index description: Retrieve aggregated line item report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_line_item_report" - "$ref": "#/components/parameters/sort_line_item_report" - "$ref": "#/components/parameters/group_line_item_report" - "$ref": "#/components/parameters/include_line_item_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_line_item_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/page_reports": get: tags: - Reports summary: Get page reports operationId: reports-page_reports-index description: Retrieve aggregated page report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_page_report" - "$ref": "#/components/parameters/sort_page_report" - "$ref": "#/components/parameters/group_page_report" - "$ref": "#/components/parameters/include_page_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_page_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/payment_reports": get: tags: - Reports summary: Get payment reports operationId: reports-payment_reports-index description: Retrieve aggregated payment report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_payment_report" - "$ref": "#/components/parameters/sort_payment_report" - "$ref": "#/components/parameters/group_payment_report" - "$ref": "#/components/parameters/include_payment_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_payment_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/payroll_item_reports": get: tags: - Reports summary: Get payroll item reports operationId: reports-payroll_item_reports-index description: Retrieve aggregated payroll item report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_payroll_item_report" - "$ref": "#/components/parameters/sort_payroll_item_report" - "$ref": "#/components/parameters/group_payroll_item_report" - "$ref": "#/components/parameters/include_payroll_item_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_payroll_item_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/person_reports": get: tags: - Reports summary: Get person reports operationId: reports-person_reports-index description: Retrieve aggregated person report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_person_report" - "$ref": "#/components/parameters/sort_person_report" - "$ref": "#/components/parameters/group_person_report" - "$ref": "#/components/parameters/include_person_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_person_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/price_reports": get: tags: - Reports summary: Get price reports operationId: reports-price_reports-index description: Retrieve aggregated price report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_price_report" - "$ref": "#/components/parameters/sort_price_report" - "$ref": "#/components/parameters/group_price_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_price_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/project_milestone_reports": get: tags: - Reports summary: Get project milestone reports operationId: reports-project_milestone_reports-index parameters: - "$ref": "#/components/parameters/filter_project_milestone_report" - "$ref": "#/components/parameters/sort_project_milestone_report" - "$ref": "#/components/parameters/group_project_milestone_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_project_milestone_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/project_reports": get: tags: - Reports summary: Get project reports operationId: reports-project_reports-index description: Retrieve aggregated project report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_project_report" - "$ref": "#/components/parameters/sort_project_report" - "$ref": "#/components/parameters/group_project_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_project_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/proposal_reports": get: tags: - Reports summary: Get proposal reports operationId: reports-proposal_reports-index description: Returns a paginated list of proposal report records, suitable for building custom proposal analytics. parameters: - "$ref": "#/components/parameters/filter_proposal_report" - "$ref": "#/components/parameters/sort_proposal_report" - "$ref": "#/components/parameters/include_proposal_report" - "$ref": "#/components/parameters/fields" - "$ref": "#/components/parameters/group_proposal_report" responses: '200': "$ref": "#/components/responses/collection_proposal_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/purchase_order_reports": get: tags: - Reports summary: Get purchase order reports operationId: reports-purchase_order_reports-index parameters: - "$ref": "#/components/parameters/filter_purchase_order_report" - "$ref": "#/components/parameters/sort_purchase_order_report" - "$ref": "#/components/parameters/group_purchase_order_report" - "$ref": "#/components/parameters/include_purchase_order_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_purchase_order_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/resource_request_reports": get: tags: - Reports summary: Get resource request reports operationId: reports-resource_request_reports-index description: Retrieve aggregated resource request report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_resource_request_report" - "$ref": "#/components/parameters/sort_resource_request_report" - "$ref": "#/components/parameters/group_resource_request_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_resource_request_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/salary_reports": get: tags: - Reports summary: Get salary reports operationId: reports-salary_reports-index description: Retrieve aggregated salary report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_new_salary_report" - "$ref": "#/components/parameters/sort_new_salary_report" - "$ref": "#/components/parameters/group_new_salary_report" - "$ref": "#/components/parameters/include_new_salary_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_new_salary_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/service_reports": get: tags: - Reports summary: Get service reports operationId: reports-service_reports-index description: Retrieve aggregated service report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_service_report" - "$ref": "#/components/parameters/sort_service_report" - "$ref": "#/components/parameters/group_service_report" - "$ref": "#/components/parameters/fields" responses: '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_service_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" "/api/v2/reports/survey_reports": get: tags: - Reports summary: Get survey reports operationId: reports-survey_reports-index description: Retrieve aggregated survey report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_survey_report" - "$ref": "#/components/parameters/sort_survey_report" - "$ref": "#/components/parameters/group_survey_report" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_survey_report" "/api/v2/reports/task_reports": get: tags: - Reports summary: Get task reports operationId: reports-task_reports-index description: Retrieve aggregated task report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_task_report" - "$ref": "#/components/parameters/sort_task_report" - "$ref": "#/components/parameters/group_task_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_task_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/time_entry_reports": get: tags: - Reports summary: Get time entry reports operationId: reports-time_entry_reports-index description: Retrieve aggregated time entry report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_time_entry_report" - "$ref": "#/components/parameters/sort_time_entry_report" - "$ref": "#/components/parameters/group_time_entry_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_time_entry_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/time_reports": get: tags: - Reports summary: Get time reports operationId: reports-time_reports-index description: Retrieve aggregated time report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_new_time_report" - "$ref": "#/components/parameters/sort_new_time_report" - "$ref": "#/components/parameters/group_new_time_report" - "$ref": "#/components/parameters/include_new_time_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_new_time_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/reports/timesheet_reports": get: tags: - Reports summary: Get timesheet reports operationId: reports-timesheet_reports-index description: Retrieve aggregated timesheet report data grouped by configurable dimensions. parameters: - "$ref": "#/components/parameters/filter_timesheet_report" - "$ref": "#/components/parameters/sort_timesheet_report" - "$ref": "#/components/parameters/group_timesheet_report" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_timesheet_report" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/resource_requests/{id}/cancel": patch: tags: - Resource Requests summary: Cancel a resource request operationId: resource_requests-cancel-cancel description: Cancels a resource request by ID, setting its status to canceled. parameters: - in: path name: id schema: type: string required: true description: The ID of the resource request to cancel. requestBody: "$ref": "#/components/requestBodies/resource_request_cancel" responses: '422': "$ref": "#/components/responses/unprocessable_content_resource_request" '200': "$ref": "#/components/responses/single_resource_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/resource_requests": post: tags: - Resource Requests summary: Create a resource request operationId: resource_requests-create description: Creates a new resource request for a service. parameters: - "$ref": "#/components/parameters/include_resource_request" requestBody: "$ref": "#/components/requestBodies/resource_request" responses: '422': "$ref": "#/components/responses/unprocessable_content_resource_request" '201': "$ref": "#/components/responses/single_resource_request" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Resource Requests summary: Get resource requests operationId: resource_requests-index description: Returns a paginated list of resource requests, optionally filtered and sorted. parameters: - "$ref": "#/components/parameters/filter_resource_request" - "$ref": "#/components/parameters/sort_resource_request" - "$ref": "#/components/parameters/include_resource_request" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_resource_request" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/resource_requests/{id}": delete: tags: - Resource Requests summary: Deletes a resource request operationId: resource_requests-destroy description: Deletes a resource request by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the resource request to delete. responses: '204': description: The resource request was successfully deleted. '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Resource Requests summary: Gets a resource request operationId: resource_requests-show description: Returns a single resource request by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the resource request to retrieve. - "$ref": "#/components/parameters/include_resource_request" responses: '200': "$ref": "#/components/responses/single_resource_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Resource Requests summary: Update a resource request operationId: resource_requests-update description: Updates an existing resource request by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the resource request to update. - "$ref": "#/components/parameters/include_resource_request" requestBody: "$ref": "#/components/requestBodies/resource_request_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_resource_request" '200': "$ref": "#/components/responses/single_resource_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/resource_requests/{id}/reject": patch: tags: - Resource Requests summary: Reject a resource request operationId: resource_requests-reject-reject description: Rejects a resource request by ID, setting its status to rejected. parameters: - in: path name: id schema: type: string required: true description: The ID of the resource request to reject. requestBody: "$ref": "#/components/requestBodies/resource_request_reject" responses: '422': "$ref": "#/components/responses/unprocessable_content_resource_request" '200': "$ref": "#/components/responses/single_resource_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/resource_requests/{id}/resolve": post: tags: - Resource Requests summary: Resolve a resource request by creating bookings operationId: resource_requests-resolve-resolve description: Resolves a resource request by ID, setting its status to resolved. parameters: - in: path name: id schema: type: string required: true description: The ID of the resource request to resolve. requestBody: "$ref": "#/components/requestBodies/resource_request_resolve" responses: '422': "$ref": "#/components/responses/unprocessable_content_resource_request" '200': "$ref": "#/components/responses/single_resource_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/revenue_distributions": post: tags: - Revenue Distributions summary: Create a revenue distribution operationId: revenue_distributions-create description: Create a new revenue distribution. parameters: - "$ref": "#/components/parameters/include_revenue_distribution" requestBody: "$ref": "#/components/requestBodies/revenue_distribution" responses: '201': "$ref": "#/components/responses/single_revenue_distribution" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_revenue_distribution" get: tags: - Revenue Distributions summary: Get revenue distributions operationId: revenue_distributions-index description: List all revenue distributions. parameters: - "$ref": "#/components/parameters/filter_revenue_distribution" - "$ref": "#/components/parameters/sort_revenue_distribution" - "$ref": "#/components/parameters/include_revenue_distribution" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_revenue_distribution" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/revenue_distributions/{id}": delete: tags: - Revenue Distributions summary: Deletes a revenue distribution operationId: revenue_distributions-destroy description: Delete a revenue distribution by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the revenue distribution to delete. responses: '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" get: tags: - Revenue Distributions summary: Gets a revenue distribution operationId: revenue_distributions-show description: Retrieve a single revenue distribution by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the revenue distribution to retrieve. - "$ref": "#/components/parameters/include_revenue_distribution" responses: '200': "$ref": "#/components/responses/single_revenue_distribution" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Revenue Distributions summary: Update a revenue distribution operationId: revenue_distributions-update description: Update a revenue distribution. parameters: - in: path name: id schema: type: string required: true description: The ID of the revenue distribution to update. - "$ref": "#/components/parameters/include_revenue_distribution" requestBody: "$ref": "#/components/requestBodies/revenue_distribution_update" responses: '200': "$ref": "#/components/responses/single_revenue_distribution" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_revenue_distribution" "/api/v2/roles": post: tags: - Permission Sets summary: Create a permission set operationId: roles-create requestBody: "$ref": "#/components/requestBodies/role" responses: '422': "$ref": "#/components/responses/unprocessable_content_role" '201': "$ref": "#/components/responses/single_role" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Permission Sets summary: Get permission sets operationId: roles-index description: List all roles. parameters: - "$ref": "#/components/parameters/filter_role" - "$ref": "#/components/parameters/sort_role" - "$ref": "#/components/parameters/include_role" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_role" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/roles/{id}": delete: tags: - Permission Sets summary: Delete a permission set operationId: roles-destroy parameters: - in: path name: id schema: type: string required: true responses: '204': content: any: {} headers: {} description: No Content '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" get: tags: - Permission Sets summary: Get a permission set operationId: roles-show description: Retrieve a single role by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_role" responses: '200': "$ref": "#/components/responses/single_role" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '500': "$ref": "#/components/responses/internal_server_error" '429': "$ref": "#/components/responses/too_many_requests" patch: tags: - Permission Sets summary: Update a permission set operationId: roles-update parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_role" requestBody: "$ref": "#/components/requestBodies/role_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_role" '200': "$ref": "#/components/responses/single_role" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" "/api/v2/roles/{id}/transfer_people": patch: tags: - Permission Sets summary: Move the people of a permission set to another permission set operationId: roles-transfer_people parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/role_transfer_people" responses: '200': description: OK '422': "$ref": "#/components/responses/unprocessable_content_role" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" "/api/v2/salaries": post: tags: - Salaries summary: Create a salary operationId: salaries-create description: Create a new salary. requestBody: "$ref": "#/components/requestBodies/salary" responses: '422': "$ref": "#/components/responses/unprocessable_content_salary" '201': "$ref": "#/components/responses/single_salary" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Salaries summary: Get salaries operationId: salaries-index description: List all salaries. parameters: - "$ref": "#/components/parameters/filter_salary" - "$ref": "#/components/parameters/sort_salary" - "$ref": "#/components/parameters/include_salary" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_salary" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/salaries/{id}": delete: tags: - Salaries summary: Deletes a salary operationId: salaries-destroy description: Delete a salary by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Salaries summary: Gets a salary operationId: salaries-show description: Retrieve a single salary by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_salary" responses: '200': "$ref": "#/components/responses/single_salary" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Salaries summary: Update a salary operationId: salaries-update description: Update a salary. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_salary" requestBody: "$ref": "#/components/requestBodies/salary_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_salary" '200': "$ref": "#/components/responses/single_salary" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/salaries/set_default": post: tags: - Salaries summary: Create the default salary of a person operationId: salaries-set_default requestBody: "$ref": "#/components/requestBodies/salary_set_default" responses: '201': "$ref": "#/components/responses/single_salary" '422': "$ref": "#/components/responses/unprocessable_content_salary" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/scenario_bookings": post: tags: - Scenario Bookings summary: Create a scenario booking operationId: scenario_bookings-create description: Create a new scenario booking. Requires the Scenario Builder feature on the organization's plan. parameters: - "$ref": "#/components/parameters/include_scenario_booking" requestBody: "$ref": "#/components/requestBodies/scenario_booking" responses: '201': "$ref": "#/components/responses/single_scenario_booking" '422': "$ref": "#/components/responses/unprocessable_content_scenario_booking" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Scenario Bookings summary: Get scenario bookings operationId: scenario_bookings-index description: List scenario bookings with optional filters. Returns paginated scenario booking records the caller has access to. parameters: - "$ref": "#/components/parameters/filter_scenario_booking" - "$ref": "#/components/parameters/sort_scenario_booking" - "$ref": "#/components/parameters/include_scenario_booking" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_scenario_booking" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/scenario_bookings/{id}": delete: tags: - Scenario Bookings summary: Deletes a scenario booking operationId: scenario_bookings-destroy description: Delete a scenario booking. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Scenario Bookings summary: Gets a scenario booking operationId: scenario_bookings-show description: Retrieve a single scenario booking by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_scenario_booking" responses: '200': "$ref": "#/components/responses/single_scenario_booking" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Scenario Bookings summary: Update a scenario booking operationId: scenario_bookings-update description: Update a scenario booking's attributes. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_scenario_booking" requestBody: "$ref": "#/components/requestBodies/scenario_booking_update" responses: '200': "$ref": "#/components/responses/single_scenario_booking" '422': "$ref": "#/components/responses/unprocessable_content_scenario_booking" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/scenario_items": post: tags: - Scenario Items summary: Create a scenario item operationId: scenario_items-create description: Create a new scenario item. Requires the Scenario Builder feature on the organization's plan. parameters: - "$ref": "#/components/parameters/include_scenario_item" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/scenario_item" responses: '422': "$ref": "#/components/responses/unprocessable_content_scenario_item" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_or_collection_scenario_item" get: tags: - Scenario Items summary: Get scenario items operationId: scenario_items-index description: List scenario items with optional filters. Returns paginated scenario item records the caller has access to. parameters: - "$ref": "#/components/parameters/filter_scenario_item" - "$ref": "#/components/parameters/include_scenario_item" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_scenario_item" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/scenario_items/{id}": delete: tags: - Scenario Items summary: Deletes a scenario item operationId: scenario_items-destroy description: Delete a scenario item. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Scenario Items summary: Gets a scenario item operationId: scenario_items-show description: Retrieve a single scenario item by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_scenario_item" responses: '200': "$ref": "#/components/responses/single_scenario_item" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Scenario Items summary: Update a scenario item operationId: scenario_items-update description: Update a scenario item's attributes. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_scenario_item" requestBody: "$ref": "#/components/requestBodies/scenario_item_update" responses: '403': "$ref": "#/components/responses/forbidden" '200': "$ref": "#/components/responses/single_scenario_item" '422': "$ref": "#/components/responses/unprocessable_content_scenario_item" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/scenarios/copy": post: tags: - Scenarios summary: Copies a scenario operationId: scenarios-copy-copy description: Create a copy of an existing scenario. Requires the Scenario Builder feature on the organization's plan. requestBody: "$ref": "#/components/requestBodies/scenario_copy" responses: '201': "$ref": "#/components/responses/single_scenario" '403': "$ref": "#/components/responses/forbidden" '422': "$ref": "#/components/responses/unprocessable_content_scenario" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/scenarios": post: tags: - Scenarios summary: Create a scenario operationId: scenarios-create description: Create a new scenario. Requires the Scenario Builder feature on the organization's plan. parameters: - "$ref": "#/components/parameters/include_scenario" requestBody: "$ref": "#/components/requestBodies/scenario" responses: '201': "$ref": "#/components/responses/single_scenario" '422': "$ref": "#/components/responses/unprocessable_content_scenario" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Scenarios summary: Get scenarios operationId: scenarios-index description: List scenarios with optional filters. Returns paginated scenario records the caller has access to. parameters: - "$ref": "#/components/parameters/filter_scenario" - "$ref": "#/components/parameters/sort_scenario" - "$ref": "#/components/parameters/include_scenario" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_scenario" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/scenarios/{id}": delete: tags: - Scenarios summary: Deletes a scenario operationId: scenarios-destroy description: Delete a scenario. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Scenarios summary: Gets a scenario operationId: scenarios-show description: Retrieve a single scenario by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_scenario" responses: '200': "$ref": "#/components/responses/single_scenario" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Scenarios summary: Update a scenario operationId: scenarios-update description: Update a scenario's attributes. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_scenario" requestBody: "$ref": "#/components/requestBodies/scenario_update" responses: '200': "$ref": "#/components/responses/single_scenario" '422': "$ref": "#/components/responses/unprocessable_content_scenario" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/scenario_sections": post: tags: - Scenario Sections summary: Create a scenario section operationId: scenario_sections-create description: Create a new scenario section. Requires the Scenario Builder feature on the organization's plan. parameters: - "$ref": "#/components/parameters/include_scenario_section" requestBody: "$ref": "#/components/requestBodies/scenario_section" responses: '422': "$ref": "#/components/responses/unprocessable_content_scenario_section" '201': "$ref": "#/components/responses/single_scenario_section" '403': "$ref": "#/components/responses/forbidden" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Scenario Sections summary: Get scenario sections operationId: scenario_sections-index description: List scenario sections with optional filters. Returns paginated scenario section records the caller has access to. parameters: - "$ref": "#/components/parameters/filter_scenario_section" - "$ref": "#/components/parameters/include_scenario_section" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_scenario_section" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/scenario_sections/{id}": delete: tags: - Scenario Sections summary: Deletes a scenario section operationId: scenario_sections-destroy description: Delete a scenario section. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '403': "$ref": "#/components/responses/forbidden" '401': "$ref": "#/components/responses/unauthorized" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Scenario Sections summary: Gets a scenario section operationId: scenario_sections-show description: Retrieve a single scenario section by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_scenario_section" responses: '200': "$ref": "#/components/responses/single_scenario_section" '404': "$ref": "#/components/responses/not_found" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Scenario Sections summary: Update a scenario section operationId: scenario_sections-update description: Update a scenario section's attributes. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_scenario_section" requestBody: "$ref": "#/components/requestBodies/scenario_section_update" responses: '200': "$ref": "#/components/responses/single_scenario_section" '422': "$ref": "#/components/responses/unprocessable_content_scenario_section" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/scenario_services": post: tags: - Scenario Services summary: Create a scenario service operationId: scenario_services-create description: Create a new scenario service. Requires the Scenario Builder feature on the organization's plan. parameters: - "$ref": "#/components/parameters/include_scenario_service" requestBody: "$ref": "#/components/requestBodies/scenario_service" responses: '201': "$ref": "#/components/responses/single_scenario_service" '403': "$ref": "#/components/responses/forbidden" '422': "$ref": "#/components/responses/unprocessable_content_scenario_service" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Scenario Services summary: Get scenario services operationId: scenario_services-index description: List scenario services with optional filters. Returns paginated scenario service records the caller has access to. parameters: - "$ref": "#/components/parameters/filter_scenario_service" - "$ref": "#/components/parameters/sort_scenario_service" - "$ref": "#/components/parameters/include_scenario_service" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_scenario_service" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" "/api/v2/scenario_services/{id}": delete: tags: - Scenario Services summary: Deletes a scenario service operationId: scenario_services-destroy description: Delete a scenario service. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Scenario Services summary: Gets a scenario service operationId: scenario_services-show description: Retrieve a single scenario service by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_scenario_service" responses: '200': "$ref": "#/components/responses/single_scenario_service" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Scenario Services summary: Update a scenario service operationId: scenario_services-update description: Update a scenario service's attributes. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_scenario_service" requestBody: "$ref": "#/components/requestBodies/scenario_service_update" responses: '200': "$ref": "#/components/responses/single_scenario_service" '422': "$ref": "#/components/responses/unprocessable_content_scenario_service" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/scenarios/{id}/overwrite": patch: tags: - Scenarios summary: Applies a scenario by overwriting its deal operationId: scenarios-overwrite-overwrite description: Apply the scenario to its deal by replacing the deal's sections, services, and bookings. Requires the Scenario Builder feature on the organization's plan. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/scenario_apply" responses: '204': description: No Content '422': "$ref": "#/components/responses/unprocessable_content_scenario" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '403': "$ref": "#/components/responses/forbidden_scenario_apply" "/api/v2/scenarios/{id}/sync": patch: tags: - Scenarios summary: Applies a scenario by syncing it into its deal operationId: scenarios-sync-sync description: 'Apply the scenario to its deal by merging changes: new records are created, matched ones updated, removed ones deleted. Requires the Scenario Builder feature on the organization''s plan.' parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/scenario_apply" responses: '204': description: No Content '422': "$ref": "#/components/responses/unprocessable_content_scenario" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '403': "$ref": "#/components/responses/forbidden_scenario_apply" "/api/v2/sections": post: tags: - Sections summary: Create a section operationId: sections-create description: Create a new section. requestBody: "$ref": "#/components/requestBodies/section" responses: '422': "$ref": "#/components/responses/unprocessable_content_section" '201': "$ref": "#/components/responses/single_section" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Sections summary: Get sections operationId: sections-index description: List all sections. parameters: - "$ref": "#/components/parameters/filter_section" - "$ref": "#/components/parameters/sort_section" - "$ref": "#/components/parameters/include_section" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_section" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/sections/{id}": delete: tags: - Sections summary: Deletes a section operationId: sections-destroy description: Delete a section by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Sections summary: Gets a section operationId: sections-show description: Retrieve a single section by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_section" responses: '200': "$ref": "#/components/responses/single_section" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Sections summary: Update a section operationId: sections-update description: Update a section. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/section_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_section" '200': "$ref": "#/components/responses/single_section" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/service_assignments": post: tags: - Service Assignments summary: Create a service assignment operationId: service_assignments-create description: Create a new service assignment. parameters: - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/service_assignment" responses: '422': "$ref": "#/components/responses/unprocessable_content_service_assignment" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '201': "$ref": "#/components/responses/single_or_collection_service_assignment" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" delete: tags: - Service Assignments - Bulk summary: Delete service assignments operationId: service_assignments-destroy-bulk requestBody: "$ref": "#/components/requestBodies/service_assignment_bulk_delete" responses: '204': description: No Content '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Service Assignments summary: Get service assignments operationId: service_assignments-index description: List all service assignments. parameters: - "$ref": "#/components/parameters/filter_service_assignment" - "$ref": "#/components/parameters/sort_service_assignment" - "$ref": "#/components/parameters/include_service_assignment" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_service_assignment" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/service_assignments/{id}": delete: tags: - Service Assignments summary: Deletes a service assignment operationId: service_assignments-destroy description: Delete a service assignment by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Service Assignments summary: Gets a service assignment operationId: service_assignments-show description: Retrieve a single service assignment by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_service_assignment" responses: '200': "$ref": "#/components/responses/single_service_assignment" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Service Assignments summary: Update a service assignment operationId: service_assignments-update description: Update a service assignment. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/service_assignment_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_service_assignment" '200': "$ref": "#/components/responses/single_service_assignment" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/services": post: tags: - Services summary: Create a service operationId: services-create description: Create a new service on a deal. parameters: - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/service" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_or_collection_service" delete: tags: - Services - Bulk summary: Delete services operationId: services-destroy-bulk requestBody: "$ref": "#/components/requestBodies/service_bulk_delete" responses: '204': description: No Content '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Services summary: Get services operationId: services-index description: List services with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_service" - "$ref": "#/components/parameters/sort_service" - "$ref": "#/components/parameters/changed_since" - "$ref": "#/components/parameters/include_service" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '200': "$ref": "#/components/responses/collection_service" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Services - Bulk summary: Update services operationId: services-update-bulk parameters: - "$ref": "#/components/parameters/include_service" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/service_bulk_update" responses: '200': "$ref": "#/components/responses/collection_service" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content_service" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/services/{id}": delete: tags: - Services summary: Deletes a service operationId: services-destroy description: Delete a service. parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the service. responses: '204': description: No Content '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" get: tags: - Services summary: Gets a service operationId: services-show description: Retrieve a single service by ID. parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the service. - "$ref": "#/components/parameters/include_service" responses: '200': "$ref": "#/components/responses/single_service" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Services summary: Update a service operationId: services-update description: Update a service. parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the service. requestBody: "$ref": "#/components/requestBodies/service_update" responses: '200': "$ref": "#/components/responses/single_service" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" "/api/v2/services/{id}/move": patch: tags: - Services summary: Move a service description: Moves the service, with its expenses, to another deal or budget. operationId: services-move-move parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/service_move" responses: '200': "$ref": "#/components/responses/single_service" '422': "$ref": "#/components/responses/unprocessable_content_service" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/service_suggestions": get: tags: - Service Suggestions summary: Get service suggestions operationId: service_suggestions-index parameters: - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_service_suggestion" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" "/api/v2/service_type_assignments": post: tags: - Service Type Assignments summary: Create a service type assignment operationId: service_type_assignments-create description: Create a new service type assignment. parameters: - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/service_type_assignment" responses: '422': "$ref": "#/components/responses/unprocessable_content_service_type_assignment" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_or_collection_service_type_assignment" delete: tags: - Service Type Assignments - Bulk summary: Delete service type assignments operationId: service_type_assignments-destroy-bulk requestBody: "$ref": "#/components/requestBodies/service_type_assignment_bulk_delete" responses: '204': description: No Content '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Service Type Assignments summary: Get service type assignments operationId: service_type_assignments-index description: List all service type assignments. parameters: - "$ref": "#/components/parameters/filter_service_type_assignment" - "$ref": "#/components/parameters/sort_service_type_assignment" - "$ref": "#/components/parameters/include_service_type_assignment" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_service_type_assignment" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" "/api/v2/service_type_assignments/{id}": delete: tags: - Service Type Assignments summary: Deletes a service type assignment operationId: service_type_assignments-destroy description: Delete a service type assignment by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Service Type Assignments summary: Gets a service type assignment operationId: service_type_assignments-show description: Retrieve a single service type assignment by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_service_type_assignment" responses: '200': "$ref": "#/components/responses/single_service_type_assignment" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Service Type Assignments summary: Update a service type assignment operationId: service_type_assignments-update description: Update a service type assignment. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/service_type_assignment_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_service_type_assignment" '200': "$ref": "#/components/responses/single_service_type_assignment" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/service_types/{id}/archive": patch: tags: - Service Types summary: Archives a service type operationId: service_types-archive-archive description: Archive a service type to deactivate it. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_service_type" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/service_types": post: tags: - Service Types summary: Create a service type operationId: service_types-create description: Create a new service type. requestBody: "$ref": "#/components/requestBodies/service_type" responses: '422': "$ref": "#/components/responses/unprocessable_content_service_type" '201': "$ref": "#/components/responses/single_service_type" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Service Types summary: Get service types operationId: service_types-index description: List all service types. parameters: - "$ref": "#/components/parameters/filter_service_type" - "$ref": "#/components/parameters/sort_service_type" - "$ref": "#/components/parameters/include_service_type" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_service_type" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/service_types/merge": patch: tags: - Service Types summary: Merge a service type operationId: service_types-merge-merge description: Merge two or more service types into one. requestBody: "$ref": "#/components/requestBodies/service_type_merge" responses: '422': "$ref": "#/components/responses/unprocessable_content_service_type" '200': "$ref": "#/components/responses/single_service_type" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/service_types/{id}/restore": patch: tags: - Service Types summary: Restores a service type operationId: service_types-restore-restore parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_service_type" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/service_types/{id}": get: tags: - Service Types summary: Gets a service type operationId: service_types-show description: Retrieve a single service type by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_service_type" responses: '200': "$ref": "#/components/responses/single_service_type" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Service Types summary: Update a service type operationId: service_types-update description: Update a service type. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/service_type_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_service_type" '200': "$ref": "#/components/responses/single_service_type" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/sessions": post: tags: - Sessions summary: Create a session operationId: sessions-create description: Create a new session (sign in). requestBody: "$ref": "#/components/requestBodies/session" responses: '201': "$ref": "#/components/responses/single_session" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Sessions summary: Get all sessions operationId: sessions-index description: List all active sessions. parameters: - "$ref": "#/components/parameters/filter_session" - "$ref": "#/components/parameters/sort_session" - "$ref": "#/components/parameters/include_session" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_session" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/sessions/{id}": delete: tags: - Sessions summary: Deletes a session operationId: sessions-destroy description: Delete a session (sign out) by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/sessions/machine": post: tags: - Sessions summary: Create a machine session operationId: sessions-machine-machine description: Create a machine session for API access. requestBody: "$ref": "#/components/requestBodies/session_machine" responses: '200': "$ref": "#/components/responses/single_session" '201': "$ref": "#/components/responses/single_session" '422': "$ref": "#/components/responses/unprocessable_content_session" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/sessions/{id}/validate_otp": put: tags: - Sessions summary: Validate session OTP operationId: sessions-validate_otp-validate_otp description: Validate a one-time password for a session. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/session_validate_otp" responses: '200': "$ref": "#/components/responses/single_session" '422': "$ref": "#/components/responses/unprocessable_content_session" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '401': "$ref": "#/components/responses/unauthorized" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" "/api/v2/signups/{id}/authenticated_finalize": post: tags: - Signups summary: Finalize a signup for the signed-in user operationId: signups-authenticated_finalize parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/signup_finalize" responses: '204': description: No Content '422': "$ref": "#/components/responses/unprocessable_content_signup" '408': "$ref": "#/components/responses/request_timeout" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '415': "$ref": "#/components/responses/unsupported_media_type" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '423': "$ref": "#/components/responses/locked" "/api/v2/signups": post: tags: - Signups summary: Create a signup security: [] operationId: signups-create parameters: - in: query name: public_email schema: type: string required: false requestBody: "$ref": "#/components/requestBodies/signup" responses: '200': "$ref": "#/components/responses/single_signup" '422': "$ref": "#/components/responses/unprocessable_content_signup" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" "/api/v2/signups/{id}/finalize": post: tags: - Signups summary: Finalize a signup security: [] operationId: signups-finalize parameters: - in: path name: id schema: type: string required: true - in: query name: test_account schema: type: string required: false - in: query name: captcha_token schema: type: string required: false requestBody: "$ref": "#/components/requestBodies/signup_finalize" responses: '204': description: No Content '422': "$ref": "#/components/responses/unprocessable_content_signup" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/signups/unsubscribe": post: tags: - Signups summary: Unsubscribe a signup from reminder emails security: [] operationId: signups-unsubscribe parameters: - in: query name: unsubscribe_token schema: type: string required: true responses: '204': description: No Content '422': "$ref": "#/components/responses/unprocessable_content_signup" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '500': "$ref": "#/components/responses/internal_server_error" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '429': "$ref": "#/components/responses/too_many_requests" '400': "$ref": "#/components/responses/bad_request" '423': "$ref": "#/components/responses/locked" "/api/v2/signups/{id}/verify": post: tags: - Signups summary: Verify a signup's email security: [] operationId: signups-verify parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/signup_verify" responses: '422': "$ref": "#/components/responses/unprocessable_content_signup" '204': description: No Content '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/signups/xero_connect": get: tags: - Signups summary: Redirect to the Xero sign-in for a signup security: [] operationId: signups-xero_connect responses: '302': description: Redirect '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/signups/xero_finalize": get: tags: - Signups summary: Finalize a signup from the Xero callback security: [] operationId: signups-xero_finalize parameters: - in: query name: code schema: type: string required: true responses: '302': description: Redirect '422': "$ref": "#/components/responses/unprocessable_content_signup" '403': "$ref": "#/components/responses/forbidden" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/skills": post: tags: - Skills summary: Create a skill operationId: skills-create requestBody: "$ref": "#/components/requestBodies/skill" responses: '422': "$ref": "#/components/responses/unprocessable_content_skill" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_skill" get: tags: - Skills summary: Get skills operationId: skills-index parameters: - "$ref": "#/components/parameters/filter_skill" - "$ref": "#/components/parameters/sort_skill" - "$ref": "#/components/parameters/include_skill" - "$ref": "#/components/parameters/fields" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_skill" "/api/v2/skills/{id}": delete: tags: - Skills summary: Deletes a skill operationId: skills-destroy parameters: - in: path name: id schema: type: string required: true responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Skills summary: Get a skill operationId: skills-show parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/include_skill" responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_skill" patch: tags: - Skills summary: Update a skill operationId: skills-update parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/skill_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_skill" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_skill" "/api/v2/subsidiaries/{id}/archive": patch: tags: - Subsidiaries summary: Archives a subsidiary operationId: subsidiaries-archive-archive description: Archive a subsidiary to deactivate it. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_subsidiary" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/subsidiaries": post: tags: - Subsidiaries summary: Create a subsidiary operationId: subsidiaries-create description: Create a new subsidiary. requestBody: "$ref": "#/components/requestBodies/subsidiary" responses: '422': "$ref": "#/components/responses/unprocessable_content_subsidiary" '201': "$ref": "#/components/responses/single_subsidiary" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Subsidiaries summary: Gets all subsidiaries operationId: subsidiaries-index description: List all subsidiaries. parameters: - "$ref": "#/components/parameters/filter_subsidiary" - "$ref": "#/components/parameters/sort_subsidiary" - "$ref": "#/components/parameters/include_subsidiary" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_subsidiary" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/subsidiaries/{id}": get: tags: - Subsidiaries summary: Gets a subsidiary operationId: subsidiaries-show description: Retrieve a single subsidiary by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_subsidiary" responses: '200': "$ref": "#/components/responses/single_subsidiary" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Subsidiaries summary: Update a subsidiary operationId: subsidiaries-update description: Update a subsidiary. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/subsidiary_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_subsidiary" '200': "$ref": "#/components/responses/single_subsidiary" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/survey_field_options/{id}/archive": patch: tags: - Survey Field Options summary: Archives a survey field option operationId: survey_field_options-archive-archive description: Archive a survey field option to deactivate it. parameters: - in: path name: id schema: type: string required: true description: The ID of the survey field option to archive. responses: '200': "$ref": "#/components/responses/single_survey_field_option" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/survey_field_options": post: tags: - Survey Field Options summary: Creates a survey field option operationId: survey_field_options-create description: Create a new survey field option. requestBody: "$ref": "#/components/requestBodies/survey_field_option" responses: '422': "$ref": "#/components/responses/unprocessable_content_survey_field_option" '201': "$ref": "#/components/responses/single_survey_field_option" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Survey Field Options summary: Get survey field options operationId: survey_field_options-index description: List all survey field options. parameters: - "$ref": "#/components/parameters/filter_survey_field_option" - "$ref": "#/components/parameters/sort_survey_field_option" - "$ref": "#/components/parameters/include_survey_field_option" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_survey_field_option" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/survey_field_options/{id}": get: tags: - Survey Field Options summary: Gets a survey field option operationId: survey_field_options-show description: Retrieve a single survey field option by ID. parameters: - "$ref": "#/components/parameters/include_survey_field_option" - in: path name: id schema: type: string required: true description: The ID of the survey field option to retrieve. responses: '200': "$ref": "#/components/responses/single_survey_field_option" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Survey Field Options summary: Updates a survey field option operationId: survey_field_options-update description: Update a survey field option. parameters: - in: path name: id schema: type: string required: true description: The ID of the survey field option to update. requestBody: "$ref": "#/components/requestBodies/survey_field_option_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_survey_field_option" '200': "$ref": "#/components/responses/single_survey_field_option" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/survey_fields/{id}/archive": patch: tags: - Survey Fields summary: Archives a survey field operationId: survey_fields-archive-archive description: Archive a survey field to deactivate it. parameters: - in: path name: id schema: type: string required: true description: The ID of the survey field to archive. responses: '200': "$ref": "#/components/responses/single_survey_field" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/survey_fields": post: tags: - Survey Fields summary: Creates a survey field operationId: survey_fields-create description: Create a new survey field. requestBody: "$ref": "#/components/requestBodies/survey_field" responses: '422': "$ref": "#/components/responses/unprocessable_content_survey_field" '201': "$ref": "#/components/responses/single_survey_field" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Survey Fields summary: Get survey fields operationId: survey_fields-index description: List all survey fields. parameters: - "$ref": "#/components/parameters/filter_survey_field" - "$ref": "#/components/parameters/sort_survey_field" - "$ref": "#/components/parameters/include_survey_field" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_survey_field" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" "/api/v2/survey_fields/{id}": get: tags: - Survey Fields summary: Gets a survey field operationId: survey_fields-show description: Retrieve a single survey field by ID. parameters: - "$ref": "#/components/parameters/include_survey_field" - in: path name: id schema: type: string required: true description: The ID of the survey field to retrieve. responses: '200': "$ref": "#/components/responses/single_survey_field" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Survey Fields summary: Updates a survey field operationId: survey_fields-update description: Update a survey field. parameters: - in: path name: id schema: type: string required: true description: The ID of the survey field to update. requestBody: "$ref": "#/components/requestBodies/survey_field_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_survey_field" '200': "$ref": "#/components/responses/single_survey_field" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/survey_responses": post: tags: - Survey Responses summary: Create a survey response operationId: survey_responses-create description: Create a new survey response. requestBody: "$ref": "#/components/requestBodies/survey_response" responses: '422': "$ref": "#/components/responses/unprocessable_content_survey_response" '201': "$ref": "#/components/responses/single_survey_response" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Survey Responses summary: Get survey responses operationId: survey_responses-index description: List all survey responses. parameters: - "$ref": "#/components/parameters/filter_survey_response" - "$ref": "#/components/parameters/sort_survey_response" - "$ref": "#/components/parameters/include_survey_response" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_survey_response" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/survey_responses/{id}": delete: tags: - Survey Responses summary: Deletes a survey response operationId: survey_responses-destroy description: Delete a survey response by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the survey response to delete. responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Survey Responses summary: Gets a survey response operationId: survey_responses-show description: Retrieve a single survey response by ID. parameters: - "$ref": "#/components/parameters/include_survey_response" - in: path name: id schema: type: string required: true description: The ID of the survey response to retrieve. responses: '200': "$ref": "#/components/responses/single_survey_response" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/surveys/copy": post: tags: - Surveys summary: Copies a survey operationId: surveys-copy-copy description: Copy an existing survey. requestBody: "$ref": "#/components/requestBodies/survey_copy" responses: '201': "$ref": "#/components/responses/single_survey" '422': "$ref": "#/components/responses/unprocessable_content_survey" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/surveys": post: tags: - Surveys summary: Create a survey operationId: surveys-create description: Create a new survey. requestBody: "$ref": "#/components/requestBodies/survey" responses: '422': "$ref": "#/components/responses/unprocessable_content_survey" '201': "$ref": "#/components/responses/single_survey" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Surveys summary: Get surveys operationId: surveys-index description: List all surveys. parameters: - "$ref": "#/components/parameters/filter_survey" - "$ref": "#/components/parameters/sort_survey" - "$ref": "#/components/parameters/include_survey" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_survey" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/surveys/{id}": delete: tags: - Surveys summary: Deletes a survey operationId: surveys-destroy description: Delete a survey by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the survey to delete. responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Surveys summary: Gets a survey operationId: surveys-show description: Retrieve a single survey by ID. parameters: - "$ref": "#/components/parameters/include_survey" - in: path name: id schema: type: string required: true description: The ID of the survey to retrieve. responses: '200': "$ref": "#/components/responses/single_survey" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Surveys summary: Update a survey operationId: surveys-update description: Update a survey. parameters: - in: path name: id schema: type: string required: true description: The ID of the survey to update. requestBody: "$ref": "#/components/requestBodies/survey_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_survey" '200': "$ref": "#/components/responses/single_survey" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/tags": get: tags: - Tags summary: Get tags operationId: tags-index description: List all tags. parameters: - "$ref": "#/components/parameters/filter_tag" - "$ref": "#/components/parameters/sort_tag" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_tag" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/tags/{id}": get: tags: - Tags summary: Gets a tag operationId: tags-show description: Retrieve a single tag by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_tag" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/task_dependencies": post: tags: - TaskDependency summary: Create a task dependency operationId: task_dependencies-create 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 } } } ``` requestBody: "$ref": "#/components/requestBodies/task_dependency" responses: '422': "$ref": "#/components/responses/unprocessable_content_task_dependency" '201': "$ref": "#/components/responses/single_task_dependency" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - TaskDependency summary: Get task dependencies 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. parameters: - "$ref": "#/components/parameters/filter_task_dependency" - "$ref": "#/components/parameters/sort_task_dependency" - "$ref": "#/components/parameters/include_task_dependency" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_task_dependency" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/task_dependencies/{id}": delete: tags: - TaskDependency summary: Deletes a task dependency operationId: task_dependencies-destroy description: Deletes a task dependency. The paired reverse dependency is deleted as well. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - TaskDependency summary: Gets a task dependency operationId: task_dependencies-show description: Returns a single task dependency by ID. parameters: - "$ref": "#/components/parameters/include_task_dependency" - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_task_dependency" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - TaskDependency summary: Update a task dependency operationId: task_dependencies-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). parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/task_dependency_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_task_dependency" '200': "$ref": "#/components/responses/single_task_dependency" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/task_lists/{id}/archive": patch: tags: - Task Lists summary: Archives a task list 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). parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_task_list" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/task_lists/copy": post: tags: - Task Lists summary: Copies a task list operationId: task_lists-copy-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_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_date": true, "copy_repeat": true, "copy_estimate": true, "copy_custom_fields": true } } } ``` requestBody: "$ref": "#/components/requestBodies/task_list_copy" responses: '422': "$ref": "#/components/responses/unprocessable_content_task_list" '201': "$ref": "#/components/responses/single_task_list" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_task_list" "/api/v2/task_lists": post: tags: - Task Lists summary: Create a task list operationId: task_lists-create 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 } } } ``` requestBody: "$ref": "#/components/requestBodies/task_list" responses: '422': "$ref": "#/components/responses/unprocessable_content_task_list" '201': "$ref": "#/components/responses/single_task_list" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Task Lists summary: Get task lists 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. parameters: - "$ref": "#/components/parameters/filter_task_list" - "$ref": "#/components/parameters/sort_task_list" - "$ref": "#/components/parameters/include_task_list" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_task_list" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/task_lists/{id}/move": patch: tags: - Task Lists summary: Moves a task list operationId: task_lists-move-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 } } } } ``` parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/task_list_move" responses: '422': "$ref": "#/components/responses/unprocessable_content_task_list" '200': "$ref": "#/components/responses/single_task_list" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/task_lists/{id}/reposition": patch: tags: - Task Lists summary: Repositions a task list operationId: task_lists-reposition-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 } } } ``` parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/task_list_reposition" responses: '200': "$ref": "#/components/responses/single_task_list" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/task_lists/{id}/restore": patch: tags: - Task Lists summary: Restores a task list operationId: task_lists-restore-restore description: Restores an archived task list back to active status. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_task_list" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/task_lists/{id}": get: tags: - Task Lists summary: Gets a task list operationId: task_lists-show description: Returns a single task list by ID. parameters: - "$ref": "#/components/parameters/include_task_list" - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_task_list" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Task Lists summary: Update a task list operationId: task_lists-update 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. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/task_list_update" responses: '200': "$ref": "#/components/responses/single_task_list" '422': "$ref": "#/components/responses/unprocessable_content_task_list" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/tasks/copy": post: tags: - Tasks summary: Copies a task operationId: tasks-copy-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 } } } ``` parameters: - "$ref": "#/components/parameters/include_task" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/task_copy" responses: '422': "$ref": "#/components/responses/unprocessable_content_task" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_or_collection_task" "/api/v2/tasks": post: tags: - Tasks summary: Create a task operationId: tasks-create 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" } } } ``` parameters: - "$ref": "#/components/parameters/include_task" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/task" responses: '422': "$ref": "#/components/responses/unprocessable_content_task" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_or_collection_task" delete: tags: - Tasks - Bulk summary: Delete tasks operationId: tasks-destroy-bulk requestBody: "$ref": "#/components/requestBodies/task_bulk_delete" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '204': description: No Content get: tags: - Tasks summary: Get tasks 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." parameters: - "$ref": "#/components/parameters/filter_task" - "$ref": "#/components/parameters/sort_task" - "$ref": "#/components/parameters/page_size" - "$ref": "#/components/parameters/page_number" - "$ref": "#/components/parameters/page_after" - "$ref": "#/components/parameters/include_task" - "$ref": "#/components/parameters/fields" - "$ref": "#/components/parameters/header_count" - "$ref": "#/components/parameters/header_no_count" responses: '200': "$ref": "#/components/responses/collection_task" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Tasks - Bulk summary: Update tasks operationId: tasks-update-bulk parameters: - "$ref": "#/components/parameters/include_task" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/task_bulk_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_task" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_task" "/api/v2/tasks/{id}": delete: tags: - Tasks summary: Deletes a task operationId: tasks-destroy description: Permanently deletes a task by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Tasks summary: Gets a task operationId: tasks-show description: Returns a single task by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_task" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/single_task" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Tasks summary: Update a task operationId: tasks-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)." parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_task" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/task_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_task" '200': "$ref": "#/components/responses/single_task" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/tasks/{id}/move_dependent": patch: tags: - Tasks summary: Moves a task and its dependent tasks by a given number of working days operationId: tasks-move-dependent-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 } } } ``` parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/task_move_dependent" responses: '422': "$ref": "#/components/responses/unprocessable_content_task" '200': "$ref": "#/components/responses/single_task" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/tasks/{id}/reposition": patch: tags: - Tasks summary: Repositions a task operationId: tasks-reposition-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 } } } ``` parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/task_reposition" responses: '204': description: No Content '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/tax_rates/{id}/archive": patch: tags: - TaxRates summary: Archives a tax rate operationId: tax_rates-archive-archive description: Archive a tax rate to deactivate it. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_tax_rate" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/tax_rates": post: tags: - TaxRates summary: Create a tax rate operationId: tax_rates-create description: Create a new tax rate. requestBody: "$ref": "#/components/requestBodies/tax_rate" responses: '201': "$ref": "#/components/responses/single_tax_rate" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_tax_rate" get: tags: - TaxRates summary: Get tax rates operationId: tax_rates-index description: List all tax rates. parameters: - "$ref": "#/components/parameters/filter_tax_rate" - "$ref": "#/components/parameters/sort_tax_rate" - "$ref": "#/components/parameters/include_tax_rate" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_tax_rate" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/tax_rates/{id}/restore": patch: tags: - TaxRates summary: Restores an archived tax rate operationId: tax_rates-restore-restore description: Restore an archived tax rate. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_tax_rate" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" "/api/v2/tax_rates/{id}": get: tags: - TaxRates summary: Gets a tax rate operationId: tax_rates-show description: Retrieve a single tax rate by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_tax_rate" responses: '200': "$ref": "#/components/responses/single_tax_rate" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - TaxRates summary: Update a tax rate operationId: tax_rates-update description: Update a tax rate. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/tax_rate_update" responses: '200': "$ref": "#/components/responses/single_tax_rate" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_tax_rate" "/api/v2/team_memberships": post: tags: - Team Memberships summary: Create a team membership operationId: team_memberships-create description: Create a new team membership. parameters: - "$ref": "#/components/parameters/include_team_membership" requestBody: "$ref": "#/components/requestBodies/team_membership" responses: '422': "$ref": "#/components/responses/unprocessable_content_team_membership" '201': "$ref": "#/components/responses/single_team_membership" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Team Memberships summary: Get team memberships operationId: team_memberships-index description: List all team memberships. parameters: - "$ref": "#/components/parameters/filter_team_membership" - "$ref": "#/components/parameters/sort_team_membership" - "$ref": "#/components/parameters/include_team_membership" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_team_membership" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/team_memberships/{id}": delete: tags: - Team Memberships summary: Deletes a team membership operationId: team_memberships-destroy description: Delete a team membership by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Team Memberships summary: Gets a team membership operationId: team_memberships-show description: Retrieve a single team membership by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_team_membership" responses: '200': "$ref": "#/components/responses/single_team_membership" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/teams": post: tags: - Teams summary: Create a team operationId: teams-create description: Create a new team. parameters: - "$ref": "#/components/parameters/include_team" requestBody: "$ref": "#/components/requestBodies/team" responses: '201': "$ref": "#/components/responses/single_team" '422': "$ref": "#/components/responses/unprocessable_content_team" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Teams summary: Get teams operationId: teams-index description: List all teams. parameters: - "$ref": "#/components/parameters/filter_team" - "$ref": "#/components/parameters/sort_team" - "$ref": "#/components/parameters/include_team" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_team" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/teams/{id}": delete: tags: - Teams summary: Deletes a team operationId: teams-destroy description: Delete a team by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Teams summary: Gets a team operationId: teams-show description: Retrieve a single team by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_team" responses: '200': "$ref": "#/components/responses/single_team" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Teams summary: Update a team operationId: teams-update description: Update a team. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_team" requestBody: "$ref": "#/components/requestBodies/team_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_team" '200': "$ref": "#/components/responses/single_team" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/templates/copy": post: tags: - Templates summary: Copies a template into a new template target operationId: templates-copy parameters: - "$ref": "#/components/parameters/include_template" requestBody: "$ref": "#/components/requestBodies/template_copy" responses: '201': "$ref": "#/components/responses/single_template" '422': "$ref": "#/components/responses/unprocessable_content_template" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/templates": post: tags: - Templates summary: Create a template operationId: templates-create 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. parameters: - "$ref": "#/components/parameters/include_template" requestBody: "$ref": "#/components/requestBodies/template" responses: '422': "$ref": "#/components/responses/unprocessable_content_template" '201': "$ref": "#/components/responses/single_template" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Templates summary: Get templates 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. parameters: - "$ref": "#/components/parameters/filter_template" - "$ref": "#/components/parameters/sort_template" - "$ref": "#/components/parameters/include_template" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_template" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/templates/{id}": delete: tags: - Templates summary: Deletes a template operationId: templates-destroy description: Soft-delete a template and its wrapped target. The deletion is recorded in `deleted_items` and is recoverable from Trash. parameters: - in: path name: id schema: type: string required: true description: Numeric template id. responses: '204': description: Template soft-deleted successfully. '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Templates summary: Gets a template operationId: templates-show description: Fetch a single template by id. parameters: - in: path name: id schema: type: string required: true description: Numeric template id. - "$ref": "#/components/parameters/include_template" responses: '200': "$ref": "#/components/responses/single_template" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Templates summary: Update a template operationId: templates-update 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 } } } } ``` parameters: - in: path name: id schema: type: string required: true description: Numeric template id. - "$ref": "#/components/parameters/include_template" requestBody: "$ref": "#/components/requestBodies/template_update" responses: '200': "$ref": "#/components/responses/single_template" '422': "$ref": "#/components/responses/unprocessable_content_template" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/time_entries/{id}/approve": patch: tags: - Time Entries summary: Approves a time entry operationId: time_entries-approve-approve description: Approve a time entry. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/time_entry_approval" responses: '422': "$ref": "#/components/responses/unprocessable_content_time_entry" '200': "$ref": "#/components/responses/single_time_entry" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/time_entries/approve": patch: tags: - Time Entries - Bulk summary: Approves time entries description: Approve a time entry (alternate endpoint). operationId: time_entries-approve-update-bulk parameters: - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/time_entry_bulk_approve" responses: '422': "$ref": "#/components/responses/unprocessable_content_time_entry" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_time_entry" "/api/v2/time_entries": post: tags: - Time Entries summary: Create a time entry operationId: time_entries-create-bulk description: Create a new time entry. parameters: - "$ref": "#/components/parameters/include_time_entry" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/time_entry" responses: '422': "$ref": "#/components/responses/unprocessable_content_time_entry" '201': "$ref": "#/components/responses/single_time_entry" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" delete: tags: - Time Entries - Bulk summary: Deletes time entries operationId: time_entries-destroy-bulk description: Delete multiple time entries. requestBody: "$ref": "#/components/requestBodies/time_entry_bulk_delete" responses: '204': description: No Content '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Time Entries summary: Get time entries operationId: time_entries-index description: List time entries with optional filters and pagination. parameters: - "$ref": "#/components/parameters/filter_time_entry" - "$ref": "#/components/parameters/sort_time_entry" - "$ref": "#/components/parameters/include_time_entry" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_time_entry" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Time Entries - Bulk summary: Update time entries operationId: time_entries-update-bulk description: Update multiple time entries. parameters: - "$ref": "#/components/parameters/include_time_entry" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/time_entry_bulk_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_time_entry" '200': "$ref": "#/components/responses/single_time_entry" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/time_entries/{id}": delete: tags: - Time Entries summary: Deletes a time entry operationId: time_entries-destroy description: Delete a time entry. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Time Entries summary: Gets a time entry operationId: time_entries-show description: Retrieve a single time entry by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_time_entry" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/single_time_entry" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Time Entries summary: Update a time entry operationId: time_entries-update description: Update a time entry. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_time_entry" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/time_entry_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_time_entry" '200': "$ref": "#/components/responses/single_time_entry" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/time_entries/mark_as_invoiced": patch: tags: - Time Entries summary: Marks time entries as invoiced operationId: time_entries-mark_as_invoiced parameters: - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/time_entry_mark_as_invoiced" responses: '200': "$ref": "#/components/responses/collection_time_entry" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/time_entries/{id}/reject": patch: tags: - Time Entries summary: Reject a time entry operationId: time_entries-reject-reject description: Reject a time entry. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/time_entry_approval" responses: '422': "$ref": "#/components/responses/unprocessable_content_time_entry" '200': "$ref": "#/components/responses/single_time_entry" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/time_entries/{id}/start": patch: tags: - Time Entries summary: Starts the timer of a time entry operationId: time_entries-start parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_time_entry" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/time_entries/{id}/stop": patch: tags: - Time Entries summary: Stops the timer of a time entry operationId: time_entries-stop parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_time_entry" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/time_entries/{id}/unapprove": patch: tags: - Time Entries summary: Unapproves a time entry operationId: time_entries-unapprove-unapprove description: Revoke approval of a time entry. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_time_entry" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/time_entries/unapprove": patch: tags: - Time Entries - Bulk summary: Unapproves time entries operationId: time_entries-unapprove-update-bulk description: Revoke approval of a time entry (alternate endpoint). parameters: - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/time_entry_bulk_approve" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/collection_time_entry" "/api/v2/time_entries/{id}/unreject": patch: tags: - Time Entries summary: Unreject a time entry operationId: time_entries-unreject-unreject description: Revoke rejection of a time entry. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/time_entry_approval" responses: '422': "$ref": "#/components/responses/unprocessable_content_time_entry" '200': "$ref": "#/components/responses/single_time_entry" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/time_entry_versions": get: tags: - Time Entry Versions summary: Get time entry versions operationId: time_entry_versions-index description: List all time entry versions. parameters: - "$ref": "#/components/parameters/filter_time_entry_version" - "$ref": "#/components/parameters/sort_time_entry_version" - "$ref": "#/components/parameters/include_time_entry_version" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_time_entry_version" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" "/api/v2/time_entry_versions/{id}": get: tags: - Time Entry Versions summary: Gets a time entry version operationId: time_entry_versions-show description: Retrieve a single time entry version by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_time_entry_version" responses: '200': "$ref": "#/components/responses/single_time_entry_version" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/timers": post: tags: - Timers summary: Create an timer operationId: timers-create description: Create a new timer. parameters: - "$ref": "#/components/parameters/include_timer" requestBody: "$ref": "#/components/requestBodies/timer" responses: '422': "$ref": "#/components/responses/unprocessable_content_timer" '201': "$ref": "#/components/responses/single_timer" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Timers summary: Get timers operationId: timers-index description: List all timers. parameters: - "$ref": "#/components/parameters/filter_timer" - "$ref": "#/components/parameters/sort_timer" - "$ref": "#/components/parameters/include_timer" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_timer" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/timers/{id}": get: tags: - Timers summary: Gets a timer operationId: timers-show description: Retrieve a single timer by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_timer" responses: '200': "$ref": "#/components/responses/single_timer" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/timers/{id}/stop": patch: tags: - Timers summary: Stops a timer operationId: timers-stop-stop description: Stop a running timer. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_timer" responses: '422': "$ref": "#/components/responses/unprocessable_content_timer" '200': "$ref": "#/components/responses/single_timer" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/timesheets": post: tags: - Timesheets summary: Create a timesheet operationId: timesheets-create description: Create a new timesheet. parameters: - "$ref": "#/components/parameters/include_timesheet" requestBody: "$ref": "#/components/requestBodies/timesheet" responses: '422': "$ref": "#/components/responses/unprocessable_content_timesheet" '201': "$ref": "#/components/responses/single_timesheet" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Timesheets summary: Get timesheets operationId: timesheets-index description: List all timesheets. parameters: - "$ref": "#/components/parameters/filter_timesheet" - "$ref": "#/components/parameters/sort_timesheet" - "$ref": "#/components/parameters/include_timesheet" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_timesheet" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/timesheets/{id}": delete: tags: - Timesheets summary: Deletes a timesheet operationId: timesheets-destroy description: Delete a timesheet by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the timesheet to delete. responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Timesheets summary: Gets a timesheet operationId: timesheets-show description: Retrieve a single timesheet by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the timesheet to retrieve. - "$ref": "#/components/parameters/include_timesheet" responses: '200': "$ref": "#/components/responses/single_timesheet" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/time_tracking_policies/{id}/archive": patch: tags: - Time Tracking Policies summary: Archives a time tracking policy operationId: time_tracking_policies-archive-archive description: Archives a 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/include_time_tracking_policy" responses: '200': "$ref": "#/components/responses/single_time_tracking_policy" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/time_tracking_policies": post: tags: - Time Tracking Policies summary: Create a time tracking policy operationId: time_tracking_policies-create description: Create a new time tracking policy. parameters: - "$ref": "#/components/parameters/include_time_tracking_policy" requestBody: "$ref": "#/components/requestBodies/time_tracking_policy" responses: '422': "$ref": "#/components/responses/unprocessable_content_time_tracking_policy" '201': "$ref": "#/components/responses/single_time_tracking_policy" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Time Tracking Policies summary: Get time tracking policies operationId: time_tracking_policies-index description: List all time tracking policies. parameters: - "$ref": "#/components/parameters/filter_time_tracking_policy" - "$ref": "#/components/parameters/sort_time_tracking_policy" - "$ref": "#/components/parameters/include_time_tracking_policy" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_time_tracking_policy" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/time_tracking_policies/{id}": delete: tags: - Time Tracking Policies summary: Deletes a time tracking policy operationId: time_tracking_policies-destroy description: Delete a time tracking policy by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the time tracking policy to delete. responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Time Tracking Policies summary: Gets a time tracking policy operationId: time_tracking_policies-show description: Retrieve a single time tracking policy by ID. parameters: - in: path name: id schema: type: string required: true description: The ID of the time tracking policy to retrieve. - "$ref": "#/components/parameters/include_time_tracking_policy" responses: '200': "$ref": "#/components/responses/single_time_tracking_policy" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Time Tracking Policies summary: Update a time tracking policy operationId: time_tracking_policies-update description: Update a 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/include_time_tracking_policy" requestBody: "$ref": "#/components/requestBodies/time_tracking_policy_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_time_tracking_policy" '200': "$ref": "#/components/responses/single_time_tracking_policy" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/time_tracking_policies/{id}/restore": patch: tags: - Time Tracking Policies summary: Restores an archived time tracking policy operationId: time_tracking_policies-restore-restore description: Restores a previously archived 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/include_time_tracking_policy" responses: '200': "$ref": "#/components/responses/single_time_tracking_policy" '404': "$ref": "#/components/responses/not_found" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" "/api/v2/todos": post: tags: - Todos summary: Create a todo operationId: todos-create 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" } } } ``` parameters: - "$ref": "#/components/parameters/include_todo" requestBody: "$ref": "#/components/requestBodies/todo" responses: '201': "$ref": "#/components/responses/single_todo" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Todos summary: Get todos 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). parameters: - "$ref": "#/components/parameters/filter_todo" - "$ref": "#/components/parameters/sort_todo" - "$ref": "#/components/parameters/include_todo" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_todo" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/todos/{id}": delete: tags: - Todos summary: Deletes a todo operationId: todos-destroy description: Deletes a todo. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Todos summary: Gets a todo operationId: todos-show description: Returns a single todo by ID. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_todo" responses: '200': "$ref": "#/components/responses/single_todo" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Todos summary: Update a todo operationId: todos-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`. parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/include_todo" requestBody: "$ref": "#/components/requestBodies/todo_update" responses: '200': "$ref": "#/components/responses/single_todo" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/two_factor_authentications": post: tags: - Two Factor Authentications summary: Create a two factor authentication operationId: two_factor_authentications-create responses: '200': "$ref": "#/components/responses/single_two_factor_authentication" '422': "$ref": "#/components/responses/unprocessable_content_two_factor_authentication" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/two_factor_authentications/{id}": delete: tags: - Two Factor Authentications summary: Deletes a two factor authentication operationId: two_factor_authentications-destroy parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/two_factor_authentication_disable" responses: '200': "$ref": "#/components/responses/single_two_factor_authentication" '422': "$ref": "#/components/responses/unprocessable_content_two_factor_authentication" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Two Factor Authentications summary: Gets a two factor authentication operationId: two_factor_authentications-show parameters: - in: path name: id schema: type: string required: true responses: '200': "$ref": "#/components/responses/single_two_factor_authentication" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Two Factor Authentications summary: Update a two factor authentication operationId: two_factor_authentications-update parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/two_factor_authentication" responses: '200': "$ref": "#/components/responses/single_two_factor_authentication" '422': "$ref": "#/components/responses/unprocessable_content_two_factor_authentication" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/users/{id}": delete: tags: - Users summary: Delete a user operationId: users-destroy parameters: - in: path name: id schema: type: string required: true responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Users summary: Gets a user operationId: users-show description: Retrieve a single user by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_user" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Users summary: Update a user operationId: users-update description: Update a user. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/user" responses: '422': "$ref": "#/components/responses/unprocessable_content_user" '200': "$ref": "#/components/responses/single_user" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/users": get: tags: - Users summary: Gets users operationId: users-index description: List all users. parameters: - "$ref": "#/components/parameters/filter_user" - "$ref": "#/components/parameters/sort_user" - "$ref": "#/components/parameters/fields" responses: '200': "$ref": "#/components/responses/collection_user" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/users/{id}/update_password": patch: tags: - Users summary: Update password for a user operationId: users-update_password-update_password description: Update the password for a user. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/user_update_password" responses: '422': "$ref": "#/components/responses/unprocessable_content_user" '200': "$ref": "#/components/responses/single_user" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/webhook_logs": get: tags: - Webhook Logs summary: Get webhook logs operationId: webhook_logs-index description: List all webhook logs. parameters: - "$ref": "#/components/parameters/include_webhook_log" - "$ref": "#/components/parameters/fields" - "$ref": "#/components/parameters/filter_webhook_log" - "$ref": "#/components/parameters/sort_webhook_log" responses: '200': "$ref": "#/components/responses/collection_webhook_log" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/webhooks/{id}/activate": patch: tags: - Webhooks summary: Activates a webhook operationId: webhooks-activate-activate parameters: - in: path name: id schema: type: string required: true responses: '401': "$ref": "#/components/responses/unauthorized" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '403': "$ref": "#/components/responses/forbidden" '409': "$ref": "#/components/responses/conflict" '200': "$ref": "#/components/responses/single_webhook" "/api/v2/webhooks": post: tags: - Webhooks summary: Create a webhook operationId: webhooks-create description: Create a new webhook. parameters: - "$ref": "#/components/parameters/include_webhook" requestBody: "$ref": "#/components/requestBodies/webhook" responses: '201': "$ref": "#/components/responses/single_webhook" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '422': "$ref": "#/components/responses/unprocessable_content_webhook" get: tags: - Webhooks summary: Get webhooks operationId: webhooks-index description: List all webhooks. parameters: - "$ref": "#/components/parameters/include_webhook" - "$ref": "#/components/parameters/fields" - "$ref": "#/components/parameters/filter_webhook" - "$ref": "#/components/parameters/sort_webhook" responses: '200': "$ref": "#/components/responses/collection_webhook" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/webhooks/{id}/deactivate": patch: tags: - Webhooks summary: Deactivates a webhook operationId: webhooks-deactivate-deactivate parameters: - in: path name: id schema: type: string required: true responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '409': "$ref": "#/components/responses/conflict" '200': "$ref": "#/components/responses/single_webhook" "/api/v2/webhooks/{id}": delete: tags: - Webhooks summary: Deletes a webhook operationId: webhooks-destroy description: Delete a webhook by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Webhooks summary: Gets a webhook operationId: webhooks-show description: Retrieve a single webhook by ID. parameters: - "$ref": "#/components/parameters/include_webhook" - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_webhook" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Webhooks summary: Update a webhook operationId: webhooks-update parameters: - "$ref": "#/components/parameters/include_webhook" - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/webhook_update" responses: '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_webhook" '422': "$ref": "#/components/responses/unprocessable_content_webhook" "/api/v2/webhooks/{id}/regenerate_signing_secret": get: tags: - Webhooks summary: Regenerates a webhook's signing secret operationId: webhooks-regenerate_signing_secret-regenerate_signing_secret parameters: - in: path name: id schema: type: string required: true responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_webhook" '409': "$ref": "#/components/responses/conflict" "/api/v2/webhooks/{id}/test_payload": patch: tags: - Webhooks summary: Sends a test payload to a webhook operationId: webhooks-test_payload-test_payload parameters: - in: path name: id schema: type: string required: true responses: '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '200': "$ref": "#/components/responses/single_webhook" "/api/v2/widgets": post: tags: - Widgets summary: Create a widget operationId: widgets-create description: Create a new widget. parameters: - "$ref": "#/components/parameters/include_widget" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/widget" responses: '422': "$ref": "#/components/responses/unprocessable_content_widget" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" '201': "$ref": "#/components/responses/single_or_collection_widget" get: tags: - Widgets summary: Get all widgets operationId: widgets-index description: List all widgets. parameters: - "$ref": "#/components/parameters/include_widget" - "$ref": "#/components/parameters/fields" - "$ref": "#/components/parameters/filter_widget" - "$ref": "#/components/parameters/sort_widget" responses: '200': "$ref": "#/components/responses/collection_widget" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Widgets - Bulk summary: Update widgets operationId: widgets-update-bulk parameters: - "$ref": "#/components/parameters/include_widget" - "$ref": "#/components/parameters/fields" requestBody: "$ref": "#/components/requestBodies/widget_bulk_update" responses: '200': "$ref": "#/components/responses/collection_widget" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '422': "$ref": "#/components/responses/unprocessable_content_widget" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/widgets/{id}": delete: tags: - Widgets summary: Deletes a widget operationId: widgets-destroy description: Delete a widget by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Widgets summary: Get a widget operationId: widgets-show description: Retrieve a single widget by ID. parameters: - "$ref": "#/components/parameters/include_widget" - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_widget" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Widgets summary: Update a widget operationId: widgets-update description: Update a widget. parameters: - "$ref": "#/components/parameters/include_widget" - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/widget_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_widget" '200': "$ref": "#/components/responses/single_widget" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/widgets/{id}/move": patch: tags: - Widgets summary: Move a widget to another dashboard operationId: widgets-move parameters: - in: path name: id schema: type: string required: true requestBody: "$ref": "#/components/requestBodies/widget_move" responses: '200': "$ref": "#/components/responses/single_widget" '422': "$ref": "#/components/responses/unprocessable_content_widget" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/workflows/{id}/archive": patch: tags: - Workflows summary: Archives a workflow operationId: workflows-archive-archive description: Archive a workflow to deactivate it. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_workflow" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '409': "$ref": "#/components/responses/conflict" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/workflows/{id}/copy": post: tags: - Workflows summary: Copies a workflow operationId: workflows-copy-copy parameters: - in: path name: id schema: type: string required: true responses: '201': "$ref": "#/components/responses/single_workflow" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/workflows": post: tags: - Workflows summary: Create an workflow operationId: workflows-create description: Create a new workflow. parameters: - "$ref": "#/components/parameters/include_workflow" requestBody: "$ref": "#/components/requestBodies/workflow" responses: '422': "$ref": "#/components/responses/unprocessable_content_workflow" '201': "$ref": "#/components/responses/single_workflow" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Workflows summary: Get workflows operationId: workflows-index description: List all workflows. parameters: - "$ref": "#/components/parameters/include_workflow" - "$ref": "#/components/parameters/fields" - "$ref": "#/components/parameters/filter_workflow" - "$ref": "#/components/parameters/sort_workflow" responses: '200': "$ref": "#/components/responses/collection_workflow" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/workflows/{id}": delete: tags: - Workflows summary: Deletes a workflow operationId: workflows-destroy description: Delete a workflow by ID. parameters: - in: path name: id schema: type: string required: true description: ID responses: '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Workflows summary: Gets a workflow operationId: workflows-show description: Retrieve a single workflow by ID. parameters: - "$ref": "#/components/parameters/include_workflow" - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_workflow" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Workflows summary: Update an workflow operationId: workflows-update description: Update a workflow. parameters: - "$ref": "#/components/parameters/include_workflow" - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/workflow_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_workflow" '200': "$ref": "#/components/responses/single_workflow" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/workflows/{id}/restore": patch: tags: - Workflows summary: Restores a workflow operationId: workflows-restore-restore description: Restore an archived workflow. parameters: - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_workflow" '201': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Created '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/workflow_statuses": post: tags: - Workflow Statuses summary: Create an workflow status operationId: workflow_statuses-create description: Create a new workflow status. parameters: - "$ref": "#/components/parameters/include_workflow_status" requestBody: "$ref": "#/components/requestBodies/workflow_status" responses: '422': "$ref": "#/components/responses/unprocessable_content_workflow_status" '201': "$ref": "#/components/responses/single_workflow_status" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Workflow Statuses summary: Get workflow statuses operationId: workflow_statuses-index description: List all workflow statuses. parameters: - "$ref": "#/components/parameters/include_workflow_status" - "$ref": "#/components/parameters/fields" - "$ref": "#/components/parameters/filter_workflow_status" - "$ref": "#/components/parameters/sort_workflow_status" responses: '200': "$ref": "#/components/responses/collection_workflow_status" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" "/api/v2/workflow_statuses/{id}": delete: tags: - Workflow Statuses summary: Deletes a workflow status and moves tasks to other workflow status operationId: workflow_statuses-destroy description: Delete a workflow status by ID. parameters: - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/workflow_status_delete" responses: '422': "$ref": "#/components/responses/unprocessable_content_workflow_status" '204': description: No Content '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" get: tags: - Workflow Statuses summary: Gets a workflow status operationId: workflow_statuses-show description: Retrieve a single workflow status by ID. parameters: - "$ref": "#/components/parameters/include_workflow_status" - in: path name: id schema: type: string required: true description: ID responses: '200': "$ref": "#/components/responses/single_workflow_status" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '408': "$ref": "#/components/responses/request_timeout" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" patch: tags: - Workflow Statuses summary: Update an workflow status operationId: workflow_statuses-update description: Update a workflow status. parameters: - "$ref": "#/components/parameters/include_workflow_status" - in: path name: id schema: type: string required: true description: ID requestBody: "$ref": "#/components/requestBodies/workflow_status_update" responses: '422': "$ref": "#/components/responses/unprocessable_content_workflow_status" '200': "$ref": "#/components/responses/single_workflow_status" '400': "$ref": "#/components/responses/bad_request" '401': "$ref": "#/components/responses/unauthorized" '403': "$ref": "#/components/responses/forbidden" '404': "$ref": "#/components/responses/not_found" '406': "$ref": "#/components/responses/not_acceptable" '408': "$ref": "#/components/responses/request_timeout" '415': "$ref": "#/components/responses/unsupported_media_type" '423': "$ref": "#/components/responses/locked" '429': "$ref": "#/components/responses/too_many_requests" '500': "$ref": "#/components/responses/internal_server_error" components: schemas: _filter_person_id_eq_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 title: Filter id (eq and not_eq only, blank allowed) _filter_root_custom_domain: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_custom_domain" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_custom_domain" description: Filter schema for `custom_domain` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_custom_field: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_custom_field" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_root_custom_field_option: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_custom_field_option" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_custom_field_option" description: Filter schema for `custom_field_option` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_custom_field_section: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_custom_field_section" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_custom_field_section" description: Filter schema for `custom_field_section` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_dashboard: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_dashboard" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_deal: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_deal" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_deal" description: Filter schema for `deal` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_deal_contact: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_deal_contact" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_deal_contact" _filter_root_deal_cost_rate: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_deal_cost_rate" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_root_deal_funnel_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_deal_funnel_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_root_deal_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_deal_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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' _filter_root_deal_status: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_deal_status" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_deal_status" description: Filter schema for `deal_status` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_deleted_item: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_deleted_item" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_deleted_item" description: Filter schema for `deleted_item` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_document_style: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_document_style" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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' _filter_root_document_type: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_document_type" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_root_einvoice_configuration: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_einvoice_configuration" properties: "$op": enum: - or - and type: string example: and required: - "$op" example: '0': subsidiary_id: '42' "$op": and - "$ref": "#/components/schemas/filter_einvoice_configuration" example: subsidiary_id: '42' _filter_root_einvoice_identity: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_einvoice_identity" properties: "$op": enum: - or - and type: string example: and required: - "$op" example: '0': subsidiary_id: '42' "$op": and - "$ref": "#/components/schemas/filter_einvoice_identity" example: company_id: '89' _filter_root_einvoice_transaction: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_einvoice_transaction" properties: "$op": enum: - or - and type: string example: and required: - "$op" example: '0': subsidiary_id: '42' "$op": and - "$ref": "#/components/schemas/filter_einvoice_transaction" example: invoice_id: '3456' _filter_root_email: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_email" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_email" description: Filter schema for `email` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_entitlement: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_entitlement" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_entitlement" description: Filter schema for `entitlement` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_entitlement_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_entitlement_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_entitlement_report" description: Filter schema for `entitlement_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_event: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_event" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_event" description: Filter schema for `event` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_exchange_rate: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_exchange_rate" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_root_expense: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_expense" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_expense" description: Filter schema for `expense` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_expense_line_item: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_expense_line_item" properties: "$op": enum: - or - and type: string example: and required: - "$op" example: '0': expense_id: eq: 17 '1': expense_id: eq: 18 "$op": or - "$ref": "#/components/schemas/filter_expense_line_item" example: expense_id: eq: 17 _filter_root_expense_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_expense_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_filter: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_filter" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_filter" description: Filter schema for `filter` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_financial_item_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_financial_item_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_financial_item_report" description: Filter schema for `financial_item_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_folder: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_folder" description: A grouped filter object that combines multiple folder filter conditions using a logical operator. properties: "$op": enum: - or - and type: string description: The logical operator used to combine filter conditions. Accepted values are 'and' and 'or'. example: and required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_folder" 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' _filter_root_holiday: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_holiday" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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' _filter_root_holiday_calendar: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_holiday_calendar" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_holiday_calendar" description: Filter schema for `holiday_calendar` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_integration: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_integration" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_root_membership: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_membership" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_membership" description: Filter schema for `membership` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_new_salary_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_new_salary_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_new_salary_report" description: Filter schema for `new_salary_report` 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 patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_integration_exporter_configuration" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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' _filter_root_new_time_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_new_time_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_new_time_report" description: Filter schema for `new_time_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_notification: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_notification" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_notification" description: Filter schema for `notification` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_integration_task_management_configuration: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_integration_task_management_configuration" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_integration_task_management_configuration" _filter_root_invoice: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_invoice" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_invoice" description: Filter schema for `invoice` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_invoice_attribution: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_invoice_attribution" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_invoice_attribution" description: Filter schema for `invoice_attribution` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_invoice_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_invoice_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_invoice_report" description: Filter schema for `invoice_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_invoice_template: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_invoice_template" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_job_role: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_job_role" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_job_role" _filter_root_kpd_code: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_kpd_code" properties: "$op": enum: - or - and type: string example: and required: - "$op" example: '0': subsidiary_id: '42' "$op": and - "$ref": "#/components/schemas/filter_kpd_code" example: is_kpd: true resource_activity: type: object title: Activity Resource 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. properties: 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 before: type: string title: Before format: date-time description: Cursor for pagination — return activities before this timestamp. example: eq: value booking_id: type: integer title: Booking description: ID of the related booking, if applicable. example: - 123 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 comment: title: Comment description: The comment associated with this activity, if it was a comment event. example: eq: value company_id: type: integer title: Company description: ID of the related company, if applicable. example: - 123 created_at: type: string title: Created At format: date-time description: When this activity occurred. example: gt: '2026-01-01' creator: title: Creator description: The person who made this change. example: eq: value creator_id: type: integer title: Creator description: ID of the person who made this change. example: - 123 deal_id: type: integer title: Deal description: ID of the related deal/budget, 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 discussion_id: type: integer title: Discussion description: ID of the related doc discussion, if applicable. example: - 123 email: title: Email description: The email associated with this activity, if it was an email event. example: eq: value engagement_id: type: integer title: Engagement description: ID of the related salary record, if applicable. example: - 123 event: type: string title: Event description: The type of change event (e.g. create, update, destroy). example: eq: value expense_id: type: integer title: Expense description: ID of the related expense, if this activity is about an expense. example: - 123 has_attachments: type: boolean title: Has Attachments description: Whether this activity entry has file attachments. example: gt: '2026-01-01' id: type: integer title: Id description: Unique identifier for this activity. example: - 123 invoice_id: type: integer title: Invoice description: ID of the related invoice, if applicable. example: - 123 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' item_id: type: integer title: Item description: ID of the entity that was changed. example: - 123 item_name: title: Item Name description: Human-readable name of the changed entity. 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 made_by_automation: title: Made By Automation description: Whether this change was triggered by an automation rule rather than a person. 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 organization: title: Organization description: The organization this activity belongs to. example: eq: value page_id: type: integer title: Page description: ID of the related doc page, 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' parent_id: type: integer title: Parent description: ID of the parent entity (e.g. the project a task belongs to). example: - 123 parent_name: title: Parent Name description: Human-readable name of the parent entity. example: eq: value parent_type: type: string title: Parent Type description: Resource type of the parent entity. example: eq: active participant_id: type: integer title: Participant description: ID of a person who participated in the activity (as creator, email recipient, or subject). example: - 123 person_id: type: integer title: Person description: ID of the related person, if applicable. example: - 123 pinned: type: boolean title: Pinned description: Whether this activity has a pinned comment. example: eq: value project_id: type: integer title: Project description: ID of the related project, if applicable. example: - 123 proposal_id: type: integer title: Proposal description: ID of the related proposal, if applicable. example: - 123 purchase_order_id: type: integer title: Purchase Order description: ID of the related purchase order, if applicable. example: 1234567 resource_request_id: type: integer title: Resource Request description: ID of the related resource request, if applicable. example: - 123 role: title: Role description: The role associated with this activity, if it was a role change. example: eq: value 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' root_id: type: integer title: Root description: ID of the root-level entity in the hierarchy. example: - 123 root_name: title: Root Name description: Human-readable name of the root-level entity. example: eq: value root_type: type: string title: Root Type description: Resource type of the root-level entity. example: eq: active task_id: type: integer title: Task description: ID of the related task, if this activity is about a task or its children. example: - 123 type: type: string title: Type description: 'Activity type: 1=Comment, 2=Changeset (field change), 3=Email.' example: eq: active external_author_name: type: string title: External Author Name 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' resource_person: type: object title: Person Resource description: A person represents an employee, contractor, contact, or placeholder within the organization. properties: import: title: Import description: The data import that created this person, if they were added through an import rather than manually. example: data: type: imports id: '1842' tags: type: string title: Tags description: Tags applied to this person. example: eq: value accessible_deal_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Accessible Deal description: Filter by accessible deal ID — returns people who have access to the specified deal. example: - 123 accessible_doc_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Accessible Doc description: Filter by accessible doc ID — returns people who have access to the specified document. 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 accessible_project_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Accessible Project description: Filter by accessible project ID — returns people who have access to the specified project. example: - 123 account_id: title: Account description: The organization (account) ID. example: - 123 approval_policy_assignment: title: Approval Policy Assignment description: The approval policy assignment for this person. example: eq: value approval_policy_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Approval Policy description: ID of the approval policy assigned to this person for time-off and booking approvals. example: - 123 approval_workflow_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Approval Workflow description: Filter by approval workflow ID — returns people who have approvals in the specified workflow. 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' autotracking: type: boolean title: Autotracking description: Whether automatic time tracking is enabled for this person. example: eq: value availabilities: type: string title: Availabilities description: The person's work availability windows. example: eq: value avatar_url: type: string title: Avatar Url description: URL of the person's avatar thumbnail. example: eq: value 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 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 champion: type: boolean title: Champion description: Whether this person is a champion contact. example: eq: value color_id: type: string title: Color description: Color identifier used to visually distinguish this person in the UI. example: - 123 company: title: Company description: The company (client) this person belongs to. example: eq: value company_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Company description: Filter by company (client) ID. example: - 123 company_name: title: Company Name description: The name of the company this person belongs to. example: eq: value contact: type: object title: Contact description: Additional contact data for the person, such as phone numbers and addresses. example: eq: value created_at: type: string title: Created At format: date-time description: Timestamp when this person was created. example: gt: '2026-01-01' custom_field_attachments: title: Custom Field Attachments description: File attachments associated with this person via custom fields. example: gt: '2026-01-01' custom_field_people: title: Custom Field People description: People referenced in custom field values for this person. example: eq: value custom_fields: type: object title: Custom Fields description: Custom field values for this person. example: eq: value custom_role: title: Custom Role description: The custom role (permission set) assigned to this person. example: eq: value custom_role_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Custom Role description: ID of the custom role assigned to this person, if any. example: - 123 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' eligible_replacement_managers: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Eligible Replacement Managers description: Filter for people eligible to be replacement managers for the specified person ID. example: eq: value email: type: string title: Email description: The person's email address. example: eq: value external_id: type: string title: External description: External identifier for syncing this person with an external system. example: - 123 external_sync: type: boolean title: External Sync description: Whether this person is managed by an external sync integration. example: eq: value first_name: type: string title: First Name description: The person's first name. 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 fuzzy_dates: type: string title: Fuzzy Dates description: Fuzzy date filter for approximate date matching. example: gt: '2026-01-01' fuzzy_people: type: string title: Fuzzy People description: Fuzzy people filter for approximate person name matching. example: eq: value granular_notification_preferences: type: object title: Granular Notification Preferences description: Granular notification preferences for this person. example: eq: value holiday_calendar_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Holiday Calendar description: ID of the holiday calendar assigned to this person for scheduling and time-off calculations. example: - 123 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 id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Id description: The unique identifier of the person. 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' is_user: type: boolean title: Is User description: Whether this person has an associated user account and can log in. example: eq: value joined_at: type: string title: Joined At format: date-time description: Date when this person joined the organization. example: gt: '2026-01-01' jump_query: type: string title: Jump Query description: Quick jump search filter — matches against name for navigation shortcuts. example: eq: value 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' last_name: type: string title: Last Name description: The person's last name. example: eq: value 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' manager: title: Manager description: The person's manager. example: eq: value manager_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Manager description: ID of the person who is this person's direct manager. example: - 123 name: title: Name description: The person's full name (first and last combined). example: eq: value nickname: type: string title: Nickname description: The person's nickname or preferred display name. example: eq: value offboarding_id: type: integer title: Offboarding description: ID of the offboarding process associated with this person's deactivation. 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 organization: title: Organization description: The organization this person belongs to. example: eq: value original_avatar_url: type: string title: Original Avatar Url description: URL of the person's original full-size avatar image. example: eq: value permissions: type: string title: Permissions description: Filter by permission set — returns people with the specified permission slugs. example: eq: value person_type: enum: - 1 - 2 - 3 - 4 type: integer title: Person Type description: 'Filter by person type — values: user (can log in), contact (external), placeholder (resource planning), agent.' example: eq: active placeholder: type: boolean title: Placeholder description: Whether this person is a placeholder used for resource planning, without a real user account. example: eq: value project_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Project description: Filter by project ID — returns people who are members of the specified project. example: - 123 project_watching: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Project Watching description: Filter by project_watching — returns people who are auto-subscribed to the specified project. example: eq: value query: type: string title: Query description: Text search filter — matches by full name (exact) or contains partial name. example: eq: value role_id: type: integer title: Role description: Filter by built-in role type ID. example: - 123 sample_data: type: boolean title: Sample Data description: Whether this person was created as part of sample/demo data. 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 service_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Service description: Filter by service ID — returns people who can track time on the specified service. example: - 123 service_type_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Service Type description: Filter by service type ID — returns people assigned to the specified service types. example: - 123 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 status_emoji: type: string title: Status Emoji description: Emoji shown as the person's current status indicator. example: eq: active 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' status_text: type: string title: Status Text description: Short text message shown as the person's current status. example: eq: active subscribable_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Subscribable description: Filter by subscribable ID — returns subscribers of the specified resource. example: - 123 subscribable_type: type: string title: Subscribable Type description: Filter by subscribable type — the resource type to match subscribers against. example: eq: active subscriber_ids: title: Subscriber Ids description: IDs of people subscribed to follow this person. example: - 123 - 456 subsidiary: title: Subsidiary description: The subsidiary (workplace) this person is associated with. example: eq: value subsidiary_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Subsidiary description: ID of the subsidiary company this person belongs to, if any. example: - 123 tag_list: type: array items: type: string title: Tag List description: Comma-separated list of tags applied to this person. example: eq: value team: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Team description: Filter by team ID — returns people who belong to the specified team(s). example: eq: value teams: title: Teams description: The teams this person belongs to. 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 time_tracking_policy: title: Time Tracking Policy description: The time tracking policy assigned to this person. example: gt: 0 time_tracking_policy_id: type: integer title: Time Tracking Policy description: ID of the time tracking policy applied to this person. example: - 123 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 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' time_unlocked_interval: type: integer title: Time Unlocked Interval description: Number of days in the time unlock interval. example: gt: 0 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 time_unlocked_period_id: type: integer title: Time Unlocked Period description: Period identifier for the time unlock. example: - 123 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' timesheet_submission_disabled: type: boolean title: Timesheet Submission Disabled description: Whether timesheet submission is disabled for this person. example: gt: 0 title: type: string title: Title description: The person's job title (e.g. CEO, Manager, Developer). example: eq: value 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 user_id: type: integer title: User description: The ID of the user account linked to this person, if any. example: - 123 virtual: type: boolean title: Virtual description: Whether this is a virtual person record. example: eq: value is_subordinate_to_current_person: type: boolean title: Is Subordinate To Current Person description: Whether this person reports, directly or indirectly, to the person making the request. Only included when the request sends the `X-Subordinate-Info` header and the requester's permissions are limited to their subordinates rather than to everyone. example: true agent: type: boolean title: Agent description: The AI agent account linked to this person, if this person represents an AI agent. example: eq: value ai_assistant_avatar_url: type: string title: Ai Assistant Avatar Url ai_assistant_name: type: string title: Ai Assistant Name person_session: title: Person Session shared_seat: type: boolean title: Shared Seat description: Whether the person holds a shared seat in the billing group. example: true job_role: title: Job Role description: The job role assigned to this person. Job roles describe what a person does, for example a designer or a project manager, and are managed separately from permission roles. example: data: type: job_roles id: '10' job_role_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Job Role description: ID of the job role assigned to this person, or `null` if none is set. example: 10 ai_assistant_instructions: type: string title: Ai Assistant Instructions maxLength: 10000 description: Custom instructions the person's AI assistant follows when acting on their behalf. Only returned to the person themselves. example: Keep answers short and refer to budgets by their internal codes. 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' _membership_create_attributes: type: object properties: whiteboard_id: "$ref": "#/components/schemas/_request_id" access_type_id: anyOf: - "$ref": "#/components/schemas/resource_membership/properties/access_type_id" - type: string title: String pattern: "^[0-9]+$" artifact_id: "$ref": "#/components/schemas/_request_id" dynamic_group_id: anyOf: - "$ref": "#/components/schemas/resource_membership/properties/dynamic_group_id" - type: string title: String pattern: "^[0-9]+$" - type: 'null' title: 'Null' meeting_id: "$ref": "#/components/schemas/_request_id" options: "$ref": "#/components/schemas/resource_membership/properties/options" pulse_id: "$ref": "#/components/schemas/_request_id" skill_id: "$ref": "#/components/schemas/_request_id" type_id: anyOf: - "$ref": "#/components/schemas/resource_membership/properties/type_id" - type: string title: String pattern: "^[0-9]+$" required: - type_id - access_type_id resource_comment: type: object title: Comment Resource description: A message in the activity feed of a task, deal, company, or other entity. Comments support rich text, @mentions, and file attachments. properties: attachment_ids: title: Attachment Ids description: IDs of attachments to add to this comment when creating or updating. example: - 123 - 456 attachments: title: Attachments description: File attachments included in this comment. example: eq: value body: type: string title: Body description: The HTML body of the comment including rich text formatting and @mention markup. example: eq: value budget_status: type: integer title: Budget Status description: The budget status context when this comment was posted (for deal-related comments). example: gt: 0 commentable_type: type: string title: Commentable Type description: The type of the parent entity this comment is posted on (e.g. task, deal, company). example: eq: active company: title: Company description: The company this comment is associated with, if posted on a company's activity feed. example: eq: value company_id: type: integer title: Company description: The ID of the company this comment is associated with. example: - 123 created_at: type: string title: Created At format: date-time description: Timestamp when this comment was created. example: gt: '2026-01-01' creator: title: Creator description: The person who created this comment. example: eq: value deal: title: Deal description: The deal this comment is associated with, if posted on a deal's activity feed. example: eq: value deal_id: type: integer title: Deal description: The ID of the deal this comment is associated with. example: - 123 deleted_at: type: string title: Deleted At format: date-time description: Timestamp when this comment was soft-deleted. Null if not deleted. example: gt: '2026-01-01' discussion: title: Discussion description: The discussion thread this comment belongs to, if posted in a doc discussion. example: eq: value discussion_id: type: integer title: Discussion description: The ID of the discussion thread this comment belongs to. example: - 123 draft: type: boolean title: Draft description: Whether this comment is a draft (not yet published and not visible to others). example: eq: value edited_at: type: string title: Edited At format: date-time description: Timestamp when this comment was last edited. example: gt: '2026-01-01' full_query: type: string title: Full Query description: Full-text search query context for this comment. example: eq: value fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy date tokens extracted from this comment for search purposes. example: gt: '2026-01-01' fuzzy_people: type: integer title: Fuzzy People description: Fuzzy person references extracted from this comment for search purposes. example: eq: value hidden: type: boolean title: Hidden description: Whether this comment is hidden from the activity feed (moderated or removed). example: eq: value invoice: title: Invoice description: The invoice associated with this comment, if the comment is on an invoice. example: eq: value invoice_id: type: integer title: Invoice description: The ID of the invoice this comment belongs to, if applicable. example: - 123 jump_query: type: string title: Jump Query description: A query string used to deep-link to the specific comment location in the UI. example: eq: value organization: title: Organization description: The organization this comment belongs to. example: eq: value page_id: type: integer title: Page description: The ID of the page this comment belongs to, if applicable. example: - 123 person: title: Person description: The person who authored this comment. example: eq: value person_id: type: integer title: Person description: The ID of the person who authored this comment. example: - 123 person_type: type: integer title: Person Type description: The type of person who authored this comment (e.g. member, client). example: eq: active pinned_at: type: string title: Pinned At format: date-time description: Timestamp when this comment was pinned, or null if not pinned. example: gt: '2026-01-01' pinned_by: title: Pinned By description: The person who pinned this comment. example: eq: value project_id: type: integer title: Project description: The ID of the project this comment belongs to, if applicable. example: - 123 proposal_id: type: integer title: Proposal description: The ID of the proposal this comment belongs to, if applicable. example: - 123 public_access: type: boolean title: Public Access description: Indicates whether this comment is publicly accessible without authentication. example: eq: value purchase_order: title: Purchase Order description: The purchase order this comment belongs to, if applicable. example: data: type: purchase_orders id: '1234567' purchase_order_id: type: integer title: Purchase Order description: The ID of the purchase order this comment belongs to, if applicable. example: 1234567 reactions: type: object title: Reactions description: Emoji reactions on this comment, keyed by emoji with people and timestamps. example: eq: value resource_request_id: type: integer title: Resource Request description: The ID of the resource request this comment belongs to, if applicable. example: - 123 responsible_id: type: integer title: Responsible description: The ID of the project manager (responsible person) in an activity comment context. example: - 123 role_id: type: integer title: Role description: The ID of the role referenced in this comment's activity context. example: - 123 sales_status_id: type: integer title: Sales Status description: The ID of the sales status referenced in this comment's activity context. example: - 123 status: type: integer title: Status description: The status label referenced in this comment's activity context. example: eq: active status_id: type: integer title: Status description: The ID of the workflow status referenced in this comment's activity context. example: - 123 task: title: Task description: The task this comment belongs to, if applicable. example: eq: value task_id: type: integer title: Task description: The ID of the task this comment belongs to, if applicable. example: - 123 updated_at: type: string title: Updated At format: date-time description: Timestamp when this comment was last updated. example: gt: '2026-01-01' version_number: type: integer title: Version Number description: The version number of this comment, incremented on each edit. example: eq: value workflow_status_category_id: type: string title: Workflow Status Category description: The ID of the workflow status category referenced in this comment's activity context. example: - 123 commentable_project_id: type: integer title: Commentable Project description: ID of the project this comment belongs to, derived from the commentable resource. example: - 123 project: title: Project description: The project this comment belongs to, derived from the commentable resource. example: eq: value artifact_id: type: integer title: Artifact example: id: '456' type: comments attributes: note: Looks good! I added a few edge cases to handle. Let me know if you need help with the OAuth token refresh flow. created_at: '2026-03-10T11:30:00.000+00:00' updated_at: '2026-03-10T11:30:00.000+00:00' commentable_type: task commentable_id: 120501 relationships: author: data: type: people id: '12' task: data: type: tasks id: '120501' _filter_root_approval_workflow: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_approval_workflow" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': approval_policy_id: eq: '7' '1': event_id: eq: '12' "$op": and - "$ref": "#/components/schemas/filter_approval_workflow" description: Filter schema for `approval_workflow` list endpoints — pass a single condition or a logical group. example: approval_policy_id: eq: '7' _filter_root_line_item: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_line_item" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_line_item" description: Filter schema for `line_item` list endpoints — pass a single condition or a logical group. example: id: eq: '123' error_code_scenario: enum: - bad_decimal_format - deal_change_not_allowed - feature_unavailable - invalid_attribute_value - non_finite_number - null_bytes_in_params - percentage_scenario_apply_on_custom_rev_rec_budget_not_allowed - role_bill_rate_setting_disabled - role_billed_scenario_apply_on_limited_service_not_allowed - scenario_apply_on_internal_budget_not_allowed - scenario_apply_restricted_bookings type: string title: Error Code description: Every error `code` the scenarios endpoints can return. resource_overhead: type: object title: Overhead Resource description: An overhead record representing the internal cost breakdown for a subsidiary over a billing period. properties: 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 capacity: type: number title: Capacity description: The total available work capacity in hours for the period, based on employee schedules. 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 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 currency: type: string title: Currency description: The currency of monetary values in this overhead record. 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 currency_normalized: title: Currency Normalized description: The monetary values in this overhead record in the normalized (display) currency. 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 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 facility_cost_per_hour: title: Facility Cost Per Hour description: The facility cost per hour. example: eq: value facility_cost_per_hour_default: title: Facility Cost Per Hour Default description: The facility cost per hour default. example: eq: value facility_cost_per_hour_normalized: title: Facility Cost Per Hour Normalized description: The facility cost per hour normalized. 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 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 facility_costs_default: title: Facility Costs Default description: The facility costs converted to the organization's default currency. example: eq: value facility_costs_normalized: title: Facility Costs Normalized description: The facility costs in the normalized (display) currency. 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 internal_componentized_costs_default: title: Internal Componentized Costs Default description: The internal componentized costs default. example: eq: value internal_componentized_costs_normalized: title: Internal Componentized Costs Normalized description: The internal componentized costs normalized. 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 internal_expense_costs_default: title: Internal Expense Costs Default description: The internal expense costs default. example: eq: value internal_expense_costs_normalized: title: Internal Expense Costs Normalized description: The internal expense costs normalized. 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 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_work_costs: title: Internal Work Costs description: The total cost of time tracked on internal projects during this overhead period. example: eq: value internal_work_costs_default: title: Internal Work Costs Default description: The internal work costs default. example: eq: value internal_work_costs_normalized: title: Internal Work Costs Normalized description: The internal work costs normalized. example: eq: value new_internal_cost_per_hour: title: New Internal Cost Per Hour description: The new internal cost per hour. 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 new_internal_cost_per_hour_normalized: title: New Internal Cost Per Hour Normalized description: The new internal cost per hour normalized. example: eq: value organization: title: Organization description: The organization this overhead record belongs to. example: eq: value 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 overhead_hours: type: number title: Overhead Hours description: Total hours marked as overhead across all project types during this 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 overtracked_costs_default: title: Overtracked Costs Default description: The overtracked costs converted to the organization's default currency. example: eq: value overtracked_costs_normalized: title: Overtracked Costs Normalized description: The overtracked costs in the normalized (display) currency. 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 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' 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 started_on: type: string title: Started On format: date description: Date when this overhead period starts. example: eq: value subsidiary: title: Subsidiary description: The subsidiary this overhead record is associated with (null for global overheads). 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 time_off_costs: title: Time Off Costs description: The total cost of paid time-off hours during this overhead period. example: gt: 0 time_off_costs_default: title: Time Off Costs Default description: The time off costs default. example: gt: 0 time_off_costs_normalized: title: Time Off Costs Normalized description: The time off costs normalized. example: gt: 0 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 time_off_overhead_hours: type: number title: Time Off Overhead Hours description: The time off overhead hours. example: gt: 0 total_hours: type: number title: Total Hours description: Total hours tracked across all project types during this overhead period. 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 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 undertracked_hours: type: number title: Undertracked Hours description: Hours not tracked by employees relative to their scheduled capacity during this period. example: eq: value updated_at: type: string title: Updated At format: date-time description: Timestamp when this overhead record was last updated. example: gt: '2026-01-01' updater: title: Updater description: The person who last updated this overhead record. 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 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 overhead_type_id: enum: - 1 - 2 - 3 type: integer title: Overhead Type intercompany_hours: type: number title: Intercompany Hours example: id: '23' type: overheads attributes: name: Team Building & Offsites archived_at: relationships: {} _response_object_mcp_connector: type: object title: Mcp Connector properties: attributes: type: object properties: disconnect_reason: "$ref": "#/components/schemas/resource_mcp_connector/properties/disconnect_reason" disconnected_at: "$ref": "#/components/schemas/resource_mcp_connector/properties/disconnected_at" agent_id: "$ref": "#/components/schemas/resource_mcp_connector/properties/agent_id" authorize_url: "$ref": "#/components/schemas/resource_mcp_connector/properties/authorize_url" connected_at: "$ref": "#/components/schemas/resource_mcp_connector/properties/connected_at" created_at: "$ref": "#/components/schemas/resource_mcp_connector/properties/created_at" token_expires_at: "$ref": "#/components/schemas/resource_mcp_connector/properties/token_expires_at" updated_at: "$ref": "#/components/schemas/resource_mcp_connector/properties/updated_at" id: type: string relationships: type: object properties: mcp_server: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" type: enum: - mcp_connectors type: string required: - id - type _response_object_mcp_connector_credentials: type: object title: Mcp connector credentials properties: attributes: type: object properties: disconnect_reason: "$ref": "#/components/schemas/resource_mcp_connector/properties/disconnect_reason" disconnected_at: "$ref": "#/components/schemas/resource_mcp_connector/properties/disconnected_at" access_token: "$ref": "#/components/schemas/resource_mcp_connector/properties/access_token" agent_id: "$ref": "#/components/schemas/resource_mcp_connector/properties/agent_id" api_key: "$ref": "#/components/schemas/resource_mcp_connector/properties/api_key" authorize_url: "$ref": "#/components/schemas/resource_mcp_connector/properties/authorize_url" connected_at: "$ref": "#/components/schemas/resource_mcp_connector/properties/connected_at" created_at: "$ref": "#/components/schemas/resource_mcp_connector/properties/created_at" token_expires_at: "$ref": "#/components/schemas/resource_mcp_connector/properties/token_expires_at" updated_at: "$ref": "#/components/schemas/resource_mcp_connector/properties/updated_at" id: type: string relationships: type: object properties: mcp_server: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" type: enum: - mcp_connectors type: string required: - id - type resource_mcp_connector: type: object title: Mcp Connector Resource properties: disconnect_reason: enum: - access_revoked - refresh_failed - type: - string - 'null' title: Disconnect Reason description: Why the connector was disconnected, null unless it is disconnected disconnected_at: type: - string - 'null' title: Disconnected At format: date-time description: When a terminal token refresh failure disconnected the connector, null while it is pending or connected access_token: type: - string - 'null' title: Access Token description: Current OAuth access token, returned only by the credentials and refresh endpoints agent_id: type: - integer - 'null' title: Agent Id description: Id of the managed agent the connector belongs to, null when it belongs to a person api_key: type: - string - 'null' title: Api Key description: Secret of an API key connector, returned only by the credentials endpoint authorize_url: type: - string - 'null' title: Authorize Url description: Provider authorization URL an OAuth 2.0 connector sends the browser to code: type: string title: Code description: Authorization code returned by the provider to the redirect URI connected_at: type: - string - 'null' title: Connected At format: date-time created_at: type: string title: Created At format: date-time id: type: integer title: Id mcp_server: title: Mcp Server mcp_server_id: type: integer title: Mcp Server Id person: title: Person person_id: type: integer title: Person Id state: type: string title: State description: State returned by the provider, it must match the one stored on the connector token_expires_at: type: - string - 'null' title: Token Expires At format: date-time updated_at: type: string title: Updated At format: date-time _filter_root_line_item_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_line_item_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_line_item_report" description: Filter schema for `line_item_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_survey_field: type: object title: Survey field Resource description: Form field on a survey with a data type (text, number, date, dropdown, checkbox, file), label, required flag, position, and optional description. Dropdown fields have selectable options via survey_field_options. properties: aggregation_type_id: enum: - 1 - 2 type: integer title: Aggregation Type description: ID of the aggregation type used when summarizing responses to this field. example: - 123 archived: title: Archived description: Whether this survey field has been archived. example: true archived_at: type: string title: Archived At format: date-time description: Timestamp when this survey field was archived, or null if not archived. example: gt: '2026-01-01' created_at: type: string title: Created At format: date-time description: Timestamp when this survey field was created. example: gt: '2026-01-01' custom_field_people: title: Custom Field People description: People associated with this survey field via custom field lookups. example: eq: value customizable_type: type: string title: Customizable Type description: The resource type this survey field can be attached to (e.g. tasks, deals, contacts). example: eq: active data_type_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 type: integer title: Data Type description: ID of the data type that determines what kind of value this field stores (text, number, date, etc.). example: - 123 formatting_type_id: type: integer title: Formatting Type description: ID of the formatting type that controls how this field's value is displayed. example: - 123 global: type: boolean title: Global description: When true, this field is shared across all projects in the organization. example: eq: value id: title: Id description: The unique identifier of this survey field. example: - 123 name: type: string title: Name description: The name (label) of this survey field. example: eq: value options: title: Options description: The answer options available for this survey field (for multiple-choice fields). example: eq: value organization: title: Organization description: The organization this survey field belongs to. example: eq: value origin_field: title: Origin Field description: The original custom field this survey field was created from, if applicable. example: eq: value origin_field_id: type: integer title: Origin Field description: ID of the original custom field this survey field was created from, if applicable. example: - 123 position: type: integer title: Position description: The display order position of this field within the survey. example: eq: value project_id: type: integer title: Project description: ID of the project this survey field belongs to. example: - 123 quick_add_enabled: type: boolean title: Quick Add Enabled description: When true, this field can be quickly added to a resource without opening the full edit form. example: eq: value required: type: boolean title: Required description: Whether a response to this field is required when submitting the survey. example: eq: value sensitive: type: boolean title: Sensitive description: When true, the value of this field is treated as sensitive and hidden from unauthorized users. example: eq: value show_in_add_edit_views: type: boolean title: Show In Add Edit Views description: The show in add edit views. example: eq: value survey: title: Survey description: The survey this field belongs to. example: eq: value survey_id: type: integer title: Survey description: ID of the survey this field belongs to. example: - 123 updated_at: type: string title: Updated At format: date-time description: Timestamp when this survey field was last updated. example: gt: '2026-01-01' example: id: '123' type: survey_fields attributes: label: How satisfied are you? field_type: rating required: true position: 1 relationships: {} _discussion_create_attributes: type: object properties: anchor: "$ref": "#/components/schemas/resource_discussion/properties/anchor" excerpt: "$ref": "#/components/schemas/resource_discussion/properties/excerpt" error_code_discussion: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - discussion_target_invalid - discussion_anchor_invalid - create_only_attribute type: string title: Error Code description: Every error `code` the discussion endpoints can return. filter_discussion: type: object title: Filter discussion description: Filter parameters for discussions. properties: id: "$ref": "#/components/schemas/_filter_deal_ids" page_id: "$ref": "#/components/schemas/_filter_deal_ids" status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_discussion/properties/status" not_eq: "$ref": "#/components/schemas/resource_discussion/properties/status" - "$ref": "#/components/schemas/resource_discussion/properties/status" description: Filter by discussion status (active or resolved). example: eq: active artifact_id: "$ref": "#/components/schemas/_filter_deal_ids" example: id: eq: '123' resource_discussion: type: object title: Discussion Resource description: A threaded discussion attached to a page, task, or other resource, allowing team members to comment and resolve topics. properties: created_at: title: Created At description: Timestamp when this discussion was created. example: gt: '2026-01-01' excerpt: type: string title: Excerpt description: A short text preview of the first comment or content in this discussion. example: eq: value id: type: integer title: Id description: The unique identifier of this discussion. example: - 123 organization: title: Organization description: The organization this discussion belongs to. example: eq: value page: title: Page description: The page this discussion is attached to. example: eq: value page_id: type: integer title: Page description: ID of the page this discussion is attached to. example: - 123 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' status: enum: - 1 - 2 type: integer title: Status description: The status of this discussion, either active (1) or resolved (2). example: eq: active subscriber_ids: title: Subscriber Ids description: An array of IDs of people who are subscribed to notifications for this discussion. example: - 123 - 456 updated_at: title: Updated At description: Timestamp when this discussion was last updated. example: gt: '2026-01-01' anchor: type: object title: Anchor properties: end: type: integer minimum: 1 exact: type: string maxLength: 10000 minLength: 1 prefix: type: string maxLength: 32 start: type: integer minimum: 0 suffix: type: string maxLength: 32 required: - exact - prefix - suffix - start - end artifact: title: Artifact artifact_id: type: integer title: Artifact creator: title: Creator 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_task_list: type: object title: Filter task list patternProperties: "^folder..*$": title: Folder relationship "^project..*$": title: Project relationship description: Filter parameters for listing task lists. Supports filtering by project, folder, archived status, and position. Standard ID operators apply. properties: folder_id: "$ref": "#/components/schemas/_filter_ids_array" id: "$ref": "#/components/schemas/_filter_ids_array" project_id: "$ref": "#/components/schemas/_filter_id_eq" query: "$ref": "#/components/schemas/_filter_query" restorable: type: string description: Filter to task lists that are archived but whose parent folder is still active (can be restored). example: eq: value status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_list/properties/status" not_eq: "$ref": "#/components/schemas/resource_task_list/properties/status" - "$ref": "#/components/schemas/resource_task_list/properties/status" description: Filter by task list status (active or archived). example: eq: active example: project_id: - 123 resource_task_list: type: object title: Task list Resource 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 folder. properties: 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 email_key: type: string title: Email Key description: A unique key used to create tasks in this task list via email. example: eq: value folder: title: Folder description: The folder this task list belongs to. example: eq: value folder_id: type: integer title: Folder description: ID of the folder this task list belongs to. example: - 123 folder_name: type: string title: Folder Name description: The name of the folder this task list belongs to. example: eq: value id: type: integer title: Id description: The unique identifier of this task list. example: - 123 name: type: string title: Name description: The name of this task list. example: eq: value organization: title: Organization description: The organization 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 position: type: integer title: Position description: The sort position of this task list within its project. example: eq: value project: title: Project description: The project this task list belongs to. example: eq: value project_id: type: integer title: Project description: ID of the project this task list belongs to. example: - 123 project_name: type: string title: Project Name description: The name of the project this task list belongs to. example: eq: value 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 status: enum: - 1 - 2 type: integer title: Status description: 'The archival status of this task list: active or archived.' example: eq: active 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' folder: data: type: folders id: '5522' resource_project_relevancy_report: type: object title: Project relevancy report Resource properties: activity_period_end: type: string title: Activity Period End format: date activity_period_start: type: string title: Activity Period Start format: date domain: type: array items: type: string title: Domain activity_score: type: integer title: Activity Score description: 0-100 normalization of how recently and how often the project saw activity, ceilinged at `activity_cap`. Meaningful only when the report is grouped by project, which is the grain the cap is calibrated for; at coarser groupings the raw values of every project in the group are summed before normalizing, so the score saturates. 0 when the `activity` heuristic is not in the requested `heuristic_type` set. booked_score: type: integer title: Booked Score description: 0-100 normalization of whether the subject is booked on the project, ceilinged at `booked_cap`. Meaningful only when the report is grouped by project, which is the grain the cap is calibrated for; at coarser groupings the raw values of every project in the group are summed before normalizing, so the score saturates. 0 when the `booked` heuristic is not in the requested `heuristic_type` set. count: type: integer title: Count domain_score: type: integer title: Domain Score description: 0-100 normalization of how closely the project’s client domain matches the requested domain, ceilinged at `domain_cap`. Meaningful only when the report is grouped by project, which is the grain the cap is calibrated for; at coarser groupings the raw values of every project in the group are summed before normalizing, so the score saturates. 0 when the `domain` heuristic is not in the requested `heuristic_type` set. formula_fields: title: Formula Fields group: type: string title: Group heuristic_type: type: array items: enum: - domain - time_tracked - booked - pinned_services - activity - meeting_history - title type: string title: Heuristic Type pinned_services_score: type: integer title: Pinned Services Score description: 0-100 normalization of how many of the subject’s pinned services resolve to the project, ceilinged at `pinned_services_cap`. Meaningful only when the report is grouped by project, which is the grain the cap is calibrated for; at coarser groupings the raw values of every project in the group are summed before normalizing, so the score saturates. 0 when the `pinned_services` heuristic is not in the requested `heuristic_type` set. project: title: Project report: title: Report score: type: integer title: Score description: 'Weighted sum of the seven normalized heuristic scores, used to rank projects by relevance to the subject. It is a ranking key within one response, not a portable measure: excluded heuristics contribute 0, so the attainable maximum depends on the requested `heuristic_type` set and the supplied weights. Do not compare or cache scores across requests made with different filters, and, as with the per-heuristic scores, read it only when the report is grouped by project. Ordering is fixed — the report is always returned by `score` descending, then `project_id` ascending — so this resource accepts no `sort` parameter and any `sort` is answered with 400.' time_tracked_score: type: integer title: Time Tracked Score description: 0-100 normalization of how recently and how often the subject tracked time on the project, ceilinged at `time_tracked_cap`. Meaningful only when the report is grouped by project, which is the grain the cap is calibrated for; at coarser groupings the raw values of every project in the group are summed before normalizing, so the score saturates. 0 when the `time_tracked` heuristic is not in the requested `heuristic_type` set. person_id: type: integer title: Person time_trackable_on_date: type: string title: Time Trackable On Date format: date time_tracked_period_end: type: string title: Time Tracked Period End format: date time_tracked_period_start: type: string title: Time Tracked Period Start format: date booked_period_end: type: string title: Booked Period End format: date booked_period_start: type: string title: Booked Period Start format: date attendee_email: type: array items: type: string title: Attendee Email meeting_history_period_end: type: string title: Meeting History Period End format: date meeting_history_period_start: type: string title: Meeting History Period Start format: date meeting_history_score: type: integer title: Meeting History Score description: 0-100 normalization of how recently and how often the subject (counted double) and their colleagues tracked calendar meetings to the project that shared an external guest from `attendee_email` or the exact `title`, ceilinged at `meeting_history_cap`. Private and confidential calendar events are never matched. Colleagues' entries count whether or not the requester can see them, so a score above 0 can tell the requester that someone tracked a matching meeting to a project they can see or track on; the meetings and entries themselves are never returned. Meaningful only when the report is grouped by project, which is the grain the cap is calibrated for; at coarser groupings the raw values of every project in the group are summed before normalizing, so the score saturates. 0 when the `meeting_history` heuristic is not in the requested `heuristic_type` set. project_visible: type: boolean title: Project Visible description: Whether the requesting person can open the row's project. False when the project is returned only because the requesting person can reach one of its deals or budgets, for example by tracking time on its services without being a project member; such a project answers 403 on its own endpoint and is included with its basic attributes only. title: type: string title: Title title_score: type: integer title: Title Score description: 0-100 normalization of how many distinctive words of `title` the project or its client is named with; a word that names more than 10 active projects is ignored, ceilinged at `title_cap`. Meaningful only when the report is grouped by project, which is the grain the cap is calibrated for; at coarser groupings the raw values of every project in the group are summed before normalizing, so the score saturates. 0 when the `title` heuristic is not in the requested `heuristic_type` set. resource_einvoice_transaction: type: object title: E-invoice Transaction Resource properties: created_at: type: string title: Created At format: date-time example: '2025-03-15T10:30:00.000Z' delivered_at: type: string title: Delivered At format: date-time example: '2025-05-20T12:00:00.000Z' failed_at: type: string title: Failed At format: date-time example: failed_reason: type: string title: Failed Reason example: fiscalization_failed_at: type: string title: Fiscalization Failed At format: date-time example: fiscalization_failed_reason: type: string title: Fiscalization Failed Reason example: format_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 type: integer title: Format example: 1 invoice: title: Invoice example: data: type: invoices id: '3456' invoice_id: type: integer title: Invoice example: '3456' receiver_routing_id: type: string title: Receiver Routing Id example: '0088:1234567890123' sender: title: Sender example: data: type: people id: '78' sender_routing_id: type: string title: Sender Routing Id example: '0088:9876543210123' 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' attachments: title: Attachments 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' _response_object_meeting_participant: type: object title: Meeting participant properties: attributes: type: object properties: calendar_event_id: anyOf: - "$ref": "#/components/schemas/resource_meeting_participant/properties/calendar_event_id" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_meeting_participant/properties/created_at" email: anyOf: - "$ref": "#/components/schemas/resource_meeting_participant/properties/email" - type: 'null' title: 'Null' name: anyOf: - "$ref": "#/components/schemas/resource_meeting_participant/properties/name" - type: 'null' title: 'Null' participation: "$ref": "#/components/schemas/resource_meeting_participant/properties/participation" role: anyOf: - "$ref": "#/components/schemas/resource_meeting_participant/properties/role" - type: 'null' title: 'Null' updated_at: "$ref": "#/components/schemas/resource_meeting_participant/properties/updated_at" id: type: string relationships: type: object properties: meeting: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" type: enum: - meeting_participants type: string required: - id - type resource_meeting_participant: type: object title: Meeting participant Resource properties: participation: enum: - invited - attended - invited_and_attended type: string title: Participation created_at: type: string title: Created At format: date-time email: type: string title: Email meeting: title: Meeting name: type: string title: Name organization: title: Organization person: title: Person role: enum: - organizer - attendee - type: string title: Role nullable: true updated_at: type: string title: Updated At format: date-time calendar_event_id: type: string title: Calendar Event nullable: true description: The calendar event id, set only on the row of the person whose calendar the call's event was read from. Null on every other participant, including invited attendees and guests added by hand. The id is shared between calendars only for Google; on Outlook it is that person's own mailbox id. added_as_person: type: boolean title: Added As Person description: The guest was added as a person and is named after them, so it has no call name to unlink back to. _filter_root_whiteboard: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_whiteboard" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_whiteboard" _filter_root_activity: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_activity" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_activity" description: Filter schema for `activity` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _response_object_whiteboard: type: object title: Whiteboard properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_whiteboard/properties/created_at" name: "$ref": "#/components/schemas/resource_whiteboard/properties/name" snapshot: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/snapshot" - type: 'null' title: 'Null' updated_at: "$ref": "#/components/schemas/resource_whiteboard/properties/updated_at" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" type: enum: - whiteboards type: string required: - id - type _whiteboard_create_attributes: type: object properties: name: allOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/name" - maxLength: 255 project_id: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" - type: 'null' title: 'Null' snapshot: "$ref": "#/components/schemas/resource_whiteboard/properties/snapshot" required: - name error_code_whiteboard: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - whiteboard_snapshot_too_large type: string title: Error Code description: Every error `code` the whiteboards endpoints can return. filter_whiteboard: type: object title: Filter whiteboard properties: creator_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" title: List gt: "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" lt: "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" gt_eq: "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" lt_eq: "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" contains: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/creator_id" title: List id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/id" title: List gt: "$ref": "#/components/schemas/resource_whiteboard/properties/id" lt: "$ref": "#/components/schemas/resource_whiteboard/properties/id" gt_eq: "$ref": "#/components/schemas/resource_whiteboard/properties/id" lt_eq: "$ref": "#/components/schemas/resource_whiteboard/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_whiteboard/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/id" title: List project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" title: List gt: "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" lt: "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" gt_eq: "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" lt_eq: "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" contains: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" title: List resource_whiteboard: type: object title: Whiteboard Resource properties: created_at: type: string title: Created At format: date-time creator: title: Creator creator_id: type: integer id: type: integer name: type: string title: Name project: title: Project project_id: type: integer title: Project Id snapshot: type: object title: Snapshot updated_at: type: string title: Updated At format: date-time _filter_root_memory: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_memory" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_memory" _response_object_membership: type: object title: Membership properties: attributes: type: object properties: access_type_id: "$ref": "#/components/schemas/resource_membership/properties/access_type_id" dynamic_group_id: anyOf: - "$ref": "#/components/schemas/resource_membership/properties/dynamic_group_id" - type: 'null' title: 'Null' options: anyOf: - "$ref": "#/components/schemas/resource_membership/properties/options" - type: 'null' title: 'Null' target_type: "$ref": "#/components/schemas/resource_membership/properties/target_type" type_id: "$ref": "#/components/schemas/resource_membership/properties/type_id" id: type: string relationships: type: object properties: whiteboard: "$ref": "#/components/schemas/_single_relationship" agent: "$ref": "#/components/schemas/_single_relationship" dashboard: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" filter: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" page: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" survey: "$ref": "#/components/schemas/_single_relationship" team: "$ref": "#/components/schemas/_single_relationship" type: enum: - memberships type: string required: - id - type _whiteboard_update_attributes: type: object properties: name: allOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/name" - maxLength: 255 snapshot: "$ref": "#/components/schemas/resource_whiteboard/properties/snapshot" project_id: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" - type: 'null' title: 'Null' filter_membership: type: object title: Filter membership description: Filter parameters for listing memberships. Supports filtering by target resource type (project, deal, page, dashboard, filter, survey), person, team, access type, and dynamic group. Standard ID and string operators apply. properties: access_type_id: "$ref": "#/components/schemas/_filter_id" dashboard_id: "$ref": "#/components/schemas/_filter_id" deal_id: "$ref": "#/components/schemas/_filter_id" dynamic_group_id: "$ref": "#/components/schemas/_filter_id" filter_id: "$ref": "#/components/schemas/_filter_id" id: "$ref": "#/components/schemas/_filter_id" page_id: "$ref": "#/components/schemas/_filter_id" person_id: "$ref": "#/components/schemas/_filter_id" project_id: "$ref": "#/components/schemas/_filter_id" survey_id: "$ref": "#/components/schemas/_filter_id_eq" target_id: "$ref": "#/components/schemas/_filter_id" target_type: "$ref": "#/components/schemas/_filter_string" type_id: "$ref": "#/components/schemas/_filter_id" agent_id: "$ref": "#/components/schemas/_filter_id_eq" meeting_id: "$ref": "#/components/schemas/_filter_id" artifact_id: "$ref": "#/components/schemas/_filter_id_eq" skill_id: "$ref": "#/components/schemas/_filter_id_eq" whiteboard_id: "$ref": "#/components/schemas/_filter_id_eq" example: id: eq: '123' _filter_root_agent: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_agent" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_agent" description: Root filter schema for the agents list endpoint — supports filtering by id, status, manager, custom role, name, title, and timestamps. resource_placeholder: type: object title: Placeholder Resource description: A named person or date slot defined on a template project. Carries a name, category, type (person or date), and a color and icon for display. Resolved to a concrete person or date when a project is created from the template. properties: 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 color: type: string title: Color description: The color identifier used to visually represent the placeholder. The API accepts any string — the Productive UI uses tokens from its color palette (e.g. `electric`). 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 the placeholder. The API accepts any string — the Productive UI uses identifiers from its icon set (e.g. `icon-cowboy-hat-filled`). example: eq: value id: type: integer title: Id description: The unique identifier of this placeholder. example: - 123 name: type: string title: Name description: The display name of this placeholder (e.g. Frontend Developer). example: eq: value organization: title: Organization description: The organization this placeholder belongs to. example: eq: value project: title: Project description: The template project this placeholder belongs to. example: eq: value project_id: type: integer title: Project description: ID of the template project this placeholder belongs to. example: - 123 type: enum: - person - date type: string title: Type description: The type of placeholder, either person or date. example: eq: active updated_at: type: string title: Updated At format: date-time description: Timestamp when this placeholder was last updated. example: gt: '2026-01-01' query: type: string title: Query description: A text search query to filter placeholders by name. example: eq: value usage_project_id: type: integer title: Usage Project description: Filter placeholders to those used in tasks or todos within the specified project. example: - 123 example: id: '88' type: placeholders attributes: name: Employee category: project color: electric icon: icon-cowboy-hat-filled type: person created_at: '2026-09-02T11:48:32.010+02:00' updated_at: '2026-09-02T11:48:42.251+02:00' relationships: organization: data: type: organizations id: '109' project: data: type: projects id: '7388870' _response_object_backoffice_organization_subscription: type: object title: Backoffice organization subscription properties: attributes: type: object properties: billing_group_owner_id: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/billing_group_owner_id" discounts: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/discounts" balance: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/balance" billing_address: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/billing_address" billing_email: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/billing_email" billing_group_admin: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/billing_group_admin" billing_group_member: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/billing_group_member" billing_group_seats: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/billing_group_seats" card_brand: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/card_brand" card_last4: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/card_last4" card_month: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/card_month" card_year: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/card_year" collection_method_id: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/collection_method_id" contract_date: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/contract_date" contract_end_date: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/contract_end_date" contract_min_seats: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/contract_min_seats" contract_seats: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/contract_seats" currency: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/currency" currency_default: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/currency_normalized" current_products: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/current_products" discount: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/discount" discount_expires_on: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/discount_expires_on" grace_period_ends_at: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/grace_period_ends_at" mrr: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/mrr" mrr_default: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/mrr_default" mrr_normalized: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/mrr_normalized" next_billing_cycle_at: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/next_billing_cycle_at" payment_method_id: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/payment_method_id" plan_cycle: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/plan_cycle" product_types: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/product_types" seats: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/seats" seats_max: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/seats_max" seats_pending: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/seats_pending" seats_used: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/seats_used" shared_seats_capacity: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/shared_seats_capacity" shared_seats_used: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/shared_seats_used" stripe_customer_id: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/stripe_customer_id" subscription_ended_at: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/subscription_ended_at" subscription_started_at: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/subscription_started_at" subscription_state_id: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/subscription_state_id" trial_ends_at: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/trial_ends_at" trial_ends_on: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/trial_ends_on" trial_plan_active: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/trial_plan_active" trial_plan_ends_at: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/trial_plan_ends_at" trial_plan_ends_on: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/trial_plan_ends_on" trial_product_ids: "$ref": "#/components/schemas/resource_backoffice_organization_subscription/properties/trial_product_ids" id: type: string relationships: type: object properties: billing_group_members: "$ref": "#/components/schemas/_collection_relationship" billing_group_owner: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - organization_subscriptions type: string required: - id - type _response_object_backoffice_product: type: object title: Backoffice product properties: attributes: type: object properties: discount_scope: "$ref": "#/components/schemas/resource_backoffice_product/properties/discount_scope" active: "$ref": "#/components/schemas/resource_backoffice_product/properties/active" discontinued: "$ref": "#/components/schemas/resource_backoffice_product/properties/discontinued" gated: "$ref": "#/components/schemas/resource_backoffice_product/properties/gated" name: anyOf: - "$ref": "#/components/schemas/resource_backoffice_product/properties/name" - type: 'null' title: 'Null' pricing_type: anyOf: - "$ref": "#/components/schemas/resource_backoffice_product/properties/pricing_type" - type: 'null' title: 'Null' product_groups: "$ref": "#/components/schemas/resource_backoffice_product/properties/product_groups" product_track: anyOf: - "$ref": "#/components/schemas/resource_backoffice_product/properties/product_track" - type: 'null' title: 'Null' standalone: "$ref": "#/components/schemas/resource_backoffice_product/properties/standalone" required: - product_groups - standalone - active - discontinued - gated id: type: string type: enum: - products type: string required: - id - type _response_object_organization_subscription: type: object title: Organization subscription properties: attributes: type: object properties: billing_group_owner_id: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/billing_group_owner_id" - type: 'null' title: 'Null' discounts: "$ref": "#/components/schemas/resource_organization_subscription/properties/discounts" balance: "$ref": "#/components/schemas/resource_organization_subscription/properties/balance" billing_address: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/billing_address" - type: 'null' title: 'Null' billing_email: anyOf: - type: string title: String - type: 'null' title: 'Null' billing_group_admin: "$ref": "#/components/schemas/resource_organization_subscription/properties/billing_group_admin" billing_group_member: "$ref": "#/components/schemas/resource_organization_subscription/properties/billing_group_member" billing_group_seats: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/billing_group_seats" - type: 'null' title: 'Null' card_brand: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/card_brand" - type: 'null' title: 'Null' card_last4: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/card_last4" - type: 'null' title: 'Null' card_month: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/card_month" - type: 'null' title: 'Null' card_year: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/card_year" - type: 'null' title: 'Null' collection_method_id: "$ref": "#/components/schemas/resource_organization_subscription/properties/collection_method_id" contract_date: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/contract_date" - type: 'null' title: 'Null' contract_min_seats: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/contract_min_seats" - type: 'null' title: 'Null' contract_seats: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/contract_seats" - type: 'null' title: 'Null' current_plan: "$ref": "#/components/schemas/resource_organization_subscription/properties/current_plan" current_products: "$ref": "#/components/schemas/resource_organization_subscription/properties/current_products" discount: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/discount" - type: 'null' title: 'Null' discount_expires_on: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/discount_expires_on" - type: 'null' title: 'Null' grace_period_ends_at: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/grace_period_ends_at" - type: 'null' title: 'Null' next_billing_cycle_at: anyOf: - type: string title: String - type: 'null' title: 'Null' payment_method_id: "$ref": "#/components/schemas/resource_organization_subscription/properties/payment_method_id" plan_cycle: "$ref": "#/components/schemas/resource_organization_subscription/properties/plan_cycle" plan_price: "$ref": "#/components/schemas/resource_organization_subscription/properties/plan_price" plan_type: "$ref": "#/components/schemas/resource_organization_subscription/properties/plan_type" product_types: "$ref": "#/components/schemas/resource_organization_subscription/properties/product_types" seats: "$ref": "#/components/schemas/resource_organization_subscription/properties/seats" seats_pending: "$ref": "#/components/schemas/resource_organization_subscription/properties/seats_pending" seats_used: "$ref": "#/components/schemas/resource_organization_subscription/properties/seats_used" stripe_customer_id: anyOf: - type: string title: String - type: 'null' title: 'Null' subscription_ended_at: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/subscription_ended_at" - type: 'null' title: 'Null' subscription_started_at: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/subscription_started_at" - type: 'null' title: 'Null' subscription_state_id: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/subscription_state_id" - type: 'null' title: 'Null' trial_ends_at: anyOf: - type: string title: String - type: 'null' title: 'Null' trial_ends_on: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/trial_ends_on" - type: 'null' title: 'Null' trial_plan_active: "$ref": "#/components/schemas/resource_organization_subscription/properties/trial_plan_active" trial_plan_ends_at: anyOf: - type: string title: String - type: 'null' title: 'Null' trial_plan_ends_on: anyOf: - "$ref": "#/components/schemas/resource_organization_subscription/properties/trial_plan_ends_on" - type: 'null' title: 'Null' trial_plan_type: "$ref": "#/components/schemas/resource_organization_subscription/properties/trial_plan_type" trial_product_ids: type: array items: type: string id: type: string relationships: type: object properties: billing_group_members: "$ref": "#/components/schemas/_collection_relationship" billing_group_owner: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - organization_subscriptions type: string required: - id - type resource_backoffice_product: type: object title: Backoffice product Resource properties: discount_scope: type: - string - 'null' title: Discount Scope description: The coupon catalog scope of the product's track, null for an add-on. active: type: boolean title: Active discontinued: type: boolean title: Discontinued gated: type: boolean title: Gated name: type: string title: Name pricing_type: type: string title: Pricing Type product_groups: type: array items: type: string title: Product Groups product_track: type: string title: Product Track standalone: type: boolean title: Standalone filter_meeting: type: object title: Filter meeting properties: after: "$ref": "#/components/schemas/_filter_date" before: "$ref": "#/components/schemas/_filter_date" deal_id: "$ref": "#/components/schemas/_filter_integer" id: "$ref": "#/components/schemas/_filter_id" meeting_url: "$ref": "#/components/schemas/_filter_string" platform: "$ref": "#/components/schemas/_filter_string" project_id: "$ref": "#/components/schemas/_filter_id" query: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String started_at: "$ref": "#/components/schemas/_filter_date" status: "$ref": "#/components/schemas/_filter_string" guest_id: "$ref": "#/components/schemas/_filter_id_no_range" joined_id: "$ref": "#/components/schemas/_filter_id_no_range" organizer_id: "$ref": "#/components/schemas/_filter_id_no_range" _filter_root_agent_config: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_agent_config" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_agent_config" filter_service: type: object title: Filter service 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. properties: after: type: string format: date description: 'Filter by a date range: return services bookable after this date.' example: eq: value before: type: string format: date description: 'Filter by a date range: return services bookable before this date.' example: eq: value billable: "$ref": "#/components/schemas/_filter_boolean" billable_time: "$ref": "#/components/schemas/_filter_service_integer" billing_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_service/properties/billing_type" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_service/properties/billing_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_service/properties/billing_type" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_service/properties/billing_type" title: List - "$ref": "#/components/schemas/resource_service/properties/billing_type" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_service/properties/billing_type" title: List description: Filter by billing type (hourly, fixed, non-billable, etc.). example: eq: active bookable_after: type: string format: date description: Filter services with a bookable start date after this value. example: eq: value bookable_before: type: string format: date description: Filter services with a bookable end date before this value. example: eq: value bookable_date: type: string format: date description: Filters services to those bookable on the specified date, based on the budget's active period. Services on deals are always included. example: gt: '2026-01-01' booked_time: "$ref": "#/components/schemas/_filter_service_integer" booking_tracking_enabled: "$ref": "#/components/schemas/resource_service/properties/booking_tracking_enabled" budget_cap_enabled: "$ref": "#/components/schemas/_filter_boolean" budget_date: "$ref": "#/components/schemas/_filter_date" budget_id: "$ref": "#/components/schemas/_filter_id" budget_remaining: "$ref": "#/components/schemas/_filter_service_integer" budget_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/budget_status" not_eq: "$ref": "#/components/schemas/resource_service/properties/budget_status" - "$ref": "#/components/schemas/resource_service/properties/budget_status" description: Filter by budget status (open or delivered). example: gt: 0 budget_total: "$ref": "#/components/schemas/_filter_service_number" budget_used: "$ref": "#/components/schemas/_filter_service_number" budgeted_time: "$ref": "#/components/schemas/_filter_service_integer" budgets_and_deals: type: boolean description: Filter services linked to a specific set of budgets and deals. example: gt: 0 company_id: "$ref": "#/components/schemas/_filter_service_ids_eq" contract_id: "$ref": "#/components/schemas/_filter_service_ids_eq_nullable" cost: "$ref": "#/components/schemas/_filter_service_number" custom_fields: "$ref": "#/components/schemas/_filter_service_custom_fields" deal_id: "$ref": "#/components/schemas/_filter_id" deal_stage_id: "$ref": "#/components/schemas/_filter_service_ids_eq_nullable" deal_status_id: "$ref": "#/components/schemas/_filter_service_ids_eq_nullable" discount: "$ref": "#/components/schemas/_filter_service_number" discount_amount: "$ref": "#/components/schemas/_filter_service_number" estimated_cost: "$ref": "#/components/schemas/_filter_service_number" estimated_time: "$ref": "#/components/schemas/_filter_service_integer_nullable" expense_cost: "$ref": "#/components/schemas/_filter_service_number" expense_tracking_enabled: "$ref": "#/components/schemas/resource_service/properties/expense_tracking_enabled" for_tracking: type: boolean description: Filter to services that the current person is allowed to track time against. example: eq: value future_booked_time: "$ref": "#/components/schemas/_filter_service_integer" future_budget_used: "$ref": "#/components/schemas/_filter_service_number" id: "$ref": "#/components/schemas/_filter_id" initial_service_id: "$ref": "#/components/schemas/_filter_service_ids_eq_nullable" left_to_schedule_time: "$ref": "#/components/schemas/_filter_service_integer" limitation_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_service/properties/limitation_type" - type: array items: "$ref": "#/components/schemas/resource_service/properties/limitation_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_service/properties/limitation_type" - type: array items: "$ref": "#/components/schemas/resource_service/properties/limitation_type" title: List - "$ref": "#/components/schemas/resource_service/properties/limitation_type" - type: array items: "$ref": "#/components/schemas/resource_service/properties/limitation_type" title: List description: Filter by limitation type (none, time, budget, etc.) applied to the service. example: eq: active markup: "$ref": "#/components/schemas/_filter_service_number" markup_amount: "$ref": "#/components/schemas/_filter_service_number" name: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - "$ref": "#/components/schemas/_filter_service_blank" not_eq: anyOf: - type: string title: String - "$ref": "#/components/schemas/_filter_service_blank" gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: type: string not_contain: type: string - type: string title: String - "$ref": "#/components/schemas/_filter_service_blank" description: Filter by service name (text search). example: eq: value origin_deal_id: "$ref": "#/components/schemas/_filter_service_ids_eq_nullable" origin_service_id: "$ref": "#/components/schemas/_filter_service_ids_nullable" person_id: anyOf: - "$ref": "#/components/schemas/_filter_service_id_operand" - "$ref": "#/components/schemas/_filter_service_blank" description: Filter to services accessible to the specified person for time tracking. example: - 123 pipeline_id: "$ref": "#/components/schemas/_filter_service_ids_eq_nullable" price: "$ref": "#/components/schemas/_filter_service_number" probability: "$ref": "#/components/schemas/_filter_service_integer_nullable" profit: "$ref": "#/components/schemas/_filter_service_integer" profit_margin: "$ref": "#/components/schemas/_filter_service_number" project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_filter_service_id_operand" - "$ref": "#/components/schemas/_filter_service_blank" contains: anyOf: - "$ref": "#/components/schemas/_filter_service_id_operand" - "$ref": "#/components/schemas/_filter_service_blank" not_eq: anyOf: - "$ref": "#/components/schemas/_filter_service_id_operand" - "$ref": "#/components/schemas/_filter_service_blank" not_contain: anyOf: - "$ref": "#/components/schemas/_filter_service_id_operand" - "$ref": "#/components/schemas/_filter_service_blank" - "$ref": "#/components/schemas/_filter_service_id_operand" - "$ref": "#/components/schemas/_filter_service_blank" description: Filter by the associated project. example: - 123 project_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/project_type" not_eq: "$ref": "#/components/schemas/resource_service/properties/project_type" - "$ref": "#/components/schemas/resource_service/properties/project_type" description: Filter by project type (deal or budget). example: eq: active projected_revenue: "$ref": "#/components/schemas/_filter_service_number" projectless_budgets: type: boolean description: When true, includes services from budgets not linked to any project. example: gt: 0 quantity: "$ref": "#/components/schemas/_filter_service_number" query: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - "$ref": "#/components/schemas/_filter_service_blank" not_eq: anyOf: - type: string title: String - "$ref": "#/components/schemas/_filter_service_blank" contains: type: string not_contain: type: string - type: string title: String - "$ref": "#/components/schemas/_filter_service_blank" description: Full-text search across service names and descriptions. example: eq: value remaining_scheduled_time: "$ref": "#/components/schemas/_filter_service_integer_nullable" responsible_id: "$ref": "#/components/schemas/_filter_service_ids_eq" revamped_unit: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_service/properties/revamped_unit" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_service/properties/revamped_unit" title: List - "$ref": "#/components/schemas/resource_service/properties/revamped_unit" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_service/properties/revamped_unit" title: List description: Filter by unit type (revamped unit dimension) for the service. example: eq: value revenue: "$ref": "#/components/schemas/_filter_service_number" rolled_over_time: "$ref": "#/components/schemas/_filter_service_integer" sales_status_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_service/properties/sales_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_service/properties/sales_status_id" title: List - "$ref": "#/components/schemas/_filter_service_blank" not_eq: anyOf: - "$ref": "#/components/schemas/resource_service/properties/sales_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_service/properties/sales_status_id" title: List - "$ref": "#/components/schemas/_filter_service_blank" - "$ref": "#/components/schemas/resource_service/properties/sales_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_service/properties/sales_status_id" title: List - "$ref": "#/components/schemas/_filter_service_blank" description: Filter by sales pipeline stage status. example: - 123 section_id: "$ref": "#/components/schemas/_filter_service_ids_nullable" service_type_id: "$ref": "#/components/schemas/_filter_service_ids_nullable" stage_status_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_service/properties/stage_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_service/properties/stage_status_id" title: List - "$ref": "#/components/schemas/_filter_service_blank" not_eq: anyOf: - "$ref": "#/components/schemas/resource_service/properties/stage_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_service/properties/stage_status_id" title: List - "$ref": "#/components/schemas/_filter_service_blank" - "$ref": "#/components/schemas/resource_service/properties/stage_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_service/properties/stage_status_id" title: List - "$ref": "#/components/schemas/_filter_service_blank" description: Filter by budget pipeline stage status. example: - 123 stage_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/stage_type" not_eq: "$ref": "#/components/schemas/resource_service/properties/stage_type" - "$ref": "#/components/schemas/resource_service/properties/stage_type" description: Filter by deal stage type (e.g. open, won, lost). example: eq: active subsidiary_id: "$ref": "#/components/schemas/_filter_service_ids_eq" task_id: "$ref": "#/components/schemas/_filter_service_ids_eq_nullable" template: anyOf: - type: boolean title: Boolean - "$ref": "#/components/schemas/_filter_service_blank" description: Filter template services. example: eq: value time_tracking_enabled: "$ref": "#/components/schemas/resource_service/properties/time_tracking_enabled" trackable_by_person_id: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_filter_service_blank" description: Filter to services that the specified person has permission to track time on. example: - 123 type: anyOf: - type: object title: Operation properties: eq: enum: - 1 - 2 type: integer not_eq: enum: - 1 - 2 type: integer - enum: - 1 - 2 type: integer title: Integer description: Filter by service parent type (deal or budget). example: eq: active unapproved_time: "$ref": "#/components/schemas/_filter_service_integer" unit: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_service/properties/unit" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_service/properties/unit" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_service/properties/unit" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_service/properties/unit" title: List - "$ref": "#/components/schemas/resource_service/properties/unit" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_service/properties/unit" title: List description: Filter by service unit type (e.g. hours, days, items). example: eq: value updated_at: "$ref": "#/components/schemas/_filter_date" with_memberships: "$ref": "#/components/schemas/resource_service/properties/with_memberships" worked_cost: "$ref": "#/components/schemas/_filter_service_number" worked_time: "$ref": "#/components/schemas/_filter_service_integer" bookable_date_for_period: type: string format: date description: "**Deprecated — use `bookable_date` instead**, which now returns identical results. Filters services to those bookable on the specified date, based on the budget's active period. This filter will be removed in a future API version." example: gt: '2026-01-01' explicit_access: anyOf: - type: boolean title: Boolean - "$ref": "#/components/schemas/_filter_service_blank" description: Filter services to only those the current user has explicit (non-implicit) access permissions on. example: eq: value billing_method: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/billing_method" not_eq: "$ref": "#/components/schemas/resource_service/properties/billing_method" - "$ref": "#/components/schemas/resource_service/properties/billing_method" overtime_time: "$ref": "#/components/schemas/_filter_service_integer" future_tentative_booked_time: "$ref": "#/components/schemas/_filter_service_integer" net_unplanned_time: "$ref": "#/components/schemas/_filter_service_integer" tentative_booked_time: "$ref": "#/components/schemas/_filter_service_integer" example: id: eq: '123' _filter_root_jira_worklog_import: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_jira_worklog_import" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_jira_worklog_import" error_code_jira_worklog_import: enum: - integration_unavailable type: string title: Error Code description: Every error `code` the Jira worklog imports endpoints can return. filter_jira_worklog_import: type: object title: Filter Jira worklog import patternProperties: {} properties: configuration_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_jira_worklog_import/properties/configuration_id" - "$ref": "#/components/schemas/resource_jira_worklog_import/properties/configuration_id" id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_jira_worklog_import/properties/id" not_eq: "$ref": "#/components/schemas/resource_jira_worklog_import/properties/id" - "$ref": "#/components/schemas/resource_jira_worklog_import/properties/id" query: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_jira_worklog_import/properties/query" - "$ref": "#/components/schemas/resource_jira_worklog_import/properties/query" status: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_jira_worklog_import/properties/status" - "$ref": "#/components/schemas/resource_jira_worklog_import/properties/status" resource_event: type: object title: Event Resource description: An absence event type (e.g. vacation, sick leave) used to categorize time-off bookings in the resource planner. properties: absence_type: enum: - time_off - remote_work type: string title: Absence Type description: The absence category of this event, either time_off (standard time-off) or remote_work. example: eq: active archived_at: type: string title: Archived At format: date-time description: Timestamp when this event was archived, or null if it is still active. example: gt: '2026-01-01' color_id: type: string title: Color description: ID of the color associated with this event for display purposes. example: - 123 event_type_id: enum: - 1 - 2 type: integer title: Event Type description: ID of the event type indicating whether this absence is paid (1) or unpaid (2). example: - 123 half_day_bookings: type: boolean title: Half Day Bookings description: When true, bookings for this event can be created in half-day increments. example: eq: value icon_id: type: string title: Icon description: The icon identifier used to visually represent this event in the UI. example: - 123 id: type: integer title: Id description: The unique identifier of this event. example: - 123 limitation_type: enum: - 2 - 3 - 4 type: integer title: Limitation Type description: The limitation type of this event used for filtering (limited by days, limited by hours, or unlimited by hours). example: eq: active limitation_type_id: enum: - 2 - 3 - 4 type: integer title: Limitation Type description: 'ID of the limitation type controlling how time-off for this event is tracked: limited by days (2), limited by hours (3), or unlimited by hours (4).' example: - 123 limited: type: boolean title: Limited description: When true, this event has a limit on the amount of time-off that can be booked. example: eq: value name: type: string title: Name description: The display name of this event. example: eq: value organization: title: Organization description: The organization this event belongs to. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: The archival status of this event, either active (1) or archived (2). example: eq: active sync_personal_integrations: type: boolean title: Sync Personal Integrations description: When true, bookings for this event are automatically synced to personal calendar integrations. example: eq: value description: type: string title: Description description: Free-text note about this absence category, shown in a tooltip to people requesting an absence under it or viewing a booked one. example: eq: value external_id: type: string title: External nullable: true description: The id of the time-off type in the HR integration (Personio, BambooHR, Rippling, …) this absence category was synced from; null for one created in Productive. example: id: '123' type: events attributes: name: Vacation event_type_id: 1 icon_id: icon-airplane color_id: '4' archived_at: description: Paid annual leave. Submit requests at least two weeks in advance. limitation_type_id: 2 sync_personal_integrations: true half_day_bookings: true absence_type: time_off relationships: organization: data: type: organizations id: '1' resource_integration: type: object title: Integration Resource description: A third-party integration connection (e.g. Jira, Slack, QuickBooks) with sync configuration, field mappings, and authentication settings. properties: account_code: type: string title: Account Code description: Default account code used when exporting financial data to the integrated system. example: gt: 0 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 bamboo_custom_field_mapping: title: Bamboo Custom Field Mapping description: Mapping of BambooHR custom fields to Productive person attributes. example: eq: value bamboo_default_subsidiary_id: type: integer title: Bamboo Default Subsidiary description: Default subsidiary ID to assign to people imported from BambooHR. example: - 123 bamboo_enable_cost_rates: title: Bamboo Enable Cost Rates description: Whether to import cost rates from BambooHR. example: gt: 0 bamboo_enable_time_offs: title: Bamboo Enable Time Offs description: Whether to sync time-off records from BambooHR. example: gt: 0 bamboo_enable_user_provisioning: title: Bamboo Enable User Provisioning description: The bamboo enable user provisioning. example: eq: value 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 bamboo_workplace_mapping: title: Bamboo Workplace Mapping description: A mapping of BambooHR workplace field values to Productive subsidiaries. example: eq: value calendar_write_options: title: Calendar Write Options description: Additional write options for calendar event sync. example: eq: value 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 calendars: title: Calendars description: List of Google Calendar IDs synced with this integration. example: eq: value 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' creator: title: Creator description: The person who created this integration. example: eq: value customer_memo_cf_id: type: integer title: Customer Memo Cf description: The customer memo cf id. example: - 123 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' deal: title: Deal description: The deal this integration is scoped to, if the integration is linked to a specific deal. example: eq: value deal_id: type: integer title: Deal description: ID of the deal this integration is scoped to. example: - 123 default_item: title: Default Item description: The default account code used when no specific item mapping matches during invoice export. 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 economic_export_subject: title: Economic Export Subject description: Subject line template for invoices exported to e-conomic. example: eq: value economic_product_mapping: title: Economic Product Mapping description: Mapping of Productive products to e-conomic products. example: eq: value exact_country: title: Exact Country description: Country code for the Exact Online entity. example: gt: 0 exact_default_journal: title: Exact Default Journal description: Default journal code used for Exact Online exports. example: eq: value exact_default_ledger: title: Exact Default Ledger description: Default ledger account code for Exact Online exports. example: eq: value exact_division: title: Exact Division description: Exact division ID (deprecated, use exact_division_id). example: eq: value exact_division_id: type: integer title: Exact Division description: Exact division ID this integration is connected to. example: - 123 exact_divisions: title: Exact Divisions description: List of available Exact divisions for the authenticated user. 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 exact_ledger_mapping: title: Exact Ledger Mapping description: Mapping of Productive accounts to Exact ledger codes. 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 export_attachment: title: Export Attachment description: Whether to attach PDF files when exporting invoices. example: gt: '2026-01-01' export_expense_attachment: title: Export Expense Attachment description: Whether to attach PDF files when exporting expense receipts. example: gt: '2026-01-01' export_number: title: Export Number description: Whether to export sequential invoice numbers to the integrated accounting system. example: eq: value export_purchase_order_number: title: Export Purchase Order Number description: Whether to export purchase order numbers to Xero. example: PO-2024-017 folders: title: Folders description: List of Productive folders synced with the integrated storage or project tool. example: eq: value fortnox_account_mapping: title: Fortnox Account Mapping description: Mapping of Productive account types to Fortnox account codes. example: gt: 0 fortnox_article_mapping: title: Fortnox Article Mapping description: Mapping of Productive services to Fortnox article numbers. example: eq: value fortnox_default_account: title: Fortnox Default Account description: Default account code used when exporting invoices to Fortnox. example: gt: 0 fortnox_default_article: title: Fortnox Default Article description: Default article number used in Fortnox invoice lines. example: eq: value google_events_write_scope: title: Google Events Write Scope description: OAuth scope for writing events to Google Calendar. example: eq: value hubspot_default_company_id: type: integer title: Hubspot Default Company description: The hubspot default company id. example: - 123 hubspot_default_deal_owner_id: type: integer title: Hubspot Default Deal Owner description: The hubspot default deal owner id. example: - 123 hubspot_default_subsidiary_id: type: integer title: Hubspot Default Subsidiary description: Default subsidiary ID to assign to deals imported from HubSpot. 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 hubspot_pipelines: title: Hubspot Pipelines description: List of HubSpot pipeline IDs to sync with Productive. example: eq: value hubspot_stages_mapping: title: Hubspot Stages Mapping description: Mapping of HubSpot pipeline stages to Productive deal statuses. example: eq: value hubspot_sync_deals: title: Hubspot Sync Deals description: Whether to sync HubSpot deals to Productive. example: eq: value id: title: Id description: Unique identifier of the integration. example: - 123 import_attachment: title: Import Attachment description: When true, invoice PDF attachments are imported from the integration. example: gt: '2026-01-01' import_number: title: Import Number description: When true, invoice numbers from the external integration are imported into Productive. 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 - 32 - 33 type: integer title: Integration Type description: ID of the integration type (e.g. Jira, Slack, QuickBooks, Xero). example: - 123 item_mapping: title: Item Mapping description: A mapping of Productive service types to integration item codes used when exporting invoices. example: eq: value jira_organization: type: string title: Jira Organization description: Jira organization name or key this integration is connected to. example: eq: value jira_project: type: string title: Jira Project description: Jira project key this integration syncs tasks with. 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' name: type: string title: Name description: Display name of the integration. example: eq: value netsuite_customer_field_mapping: title: Netsuite Customer Field Mapping description: The netsuite customer field mapping. example: eq: value netsuite_customer_form_id: type: integer title: Netsuite Customer Form description: The netsuite customer form id. example: - 123 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 netsuite_default_subsidiary_id: type: integer title: Netsuite Default Subsidiary description: The netsuite default subsidiary id. example: - 123 netsuite_invoice_field_mapping: title: Netsuite Invoice Field Mapping description: The netsuite invoice field mapping. example: eq: value netsuite_invoice_form_id: type: integer title: Netsuite Invoice Form description: The netsuite invoice form id. example: - 123 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 netsuite_line_item_field_mapping: title: Netsuite Line Item Field Mapping description: The netsuite line item field mapping. example: eq: value netsuite_project_field_mapping: title: Netsuite Project Field Mapping description: The netsuite project field mapping. example: eq: value netsuite_project_form_id: type: integer title: Netsuite Project Form description: The netsuite project form id. example: - 123 netsuite_relationship_mapping: title: Netsuite Relationship Mapping description: A mapping of Productive company relationships to NetSuite record types or fields. example: eq: value netsuite_sales_order_field_mapping: title: Netsuite Sales Order Field Mapping description: The netsuite sales order field mapping. example: eq: value netsuite_sales_order_form_id: type: integer title: Netsuite Sales Order Form description: The netsuite sales order form id. example: - 123 options: type: string title: Options description: Raw options hash containing integration-specific configuration settings. example: eq: value organization: title: Organization description: The organization this integration belongs to. example: eq: value payments_import: title: Payments Import description: When true, payments are imported from the integration into Productive. example: eq: value project: title: Project description: The project this integration is scoped to, if the integration is linked to a specific project. example: eq: value project_id: type: integer title: Project description: ID of the project this integration is linked to. example: - 123 project_status: type: integer title: Project Status description: Status filter for the linked project. example: eq: active purchase_order_account_code_mapping: title: Purchase Order Account Code Mapping description: The purchase order account code mapping. example: '200': '47890' '300': '47891' quickbooks_default_expense_account_code: title: Quickbooks Default Expense Account Code description: The quickbooks default expense account code. example: gt: 0 quickbooks_default_expense_bank_account_code: title: Quickbooks Default Expense Bank Account Code description: The quickbooks default expense bank account code. example: gt: 0 quickbooks_default_expense_payment_type: title: Quickbooks Default Expense Payment Type description: The quickbooks default expense payment type. example: eq: active quickbooks_memo: title: Quickbooks Memo description: The QuickBooks memo field value added to exported invoices. example: eq: value realm_id: type: string title: Realm description: Realm or tenant identifier used by some integrations (e.g. Xero organization ID, Exact division). example: - 123 redirect_uri: title: Redirect Uri description: The OAuth redirect URI used during the authorization flow for this integration. example: eq: value request_token: type: string title: Request Token description: OAuth request token used during the authorization flow (non-SSO integrations). 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 requested_at: type: string title: Requested At format: date-time description: Timestamp when OAuth authorization was requested. example: gt: '2026-01-01' sage_business_name: title: Sage Business Name description: Legal business name registered in Sage. example: eq: value sage_country: title: Sage Country description: Country code of the Sage organization. example: gt: 0 sage_default_ledger: title: Sage Default Ledger description: Default ledger account code for Sage 50/Business Cloud exports. example: eq: value sage_intacct_account_code: title: Sage Intacct Account Code description: Default revenue account code for Sage Intacct exports. example: gt: 0 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 sage_intacct_entities: title: Sage Intacct Entities description: List of Sage Intacct entities (subsidiaries) available for this integration. example: eq: value sage_intacct_export_project: title: Sage Intacct Export Project description: Whether to export project records to Sage Intacct. example: eq: value sage_intacct_project_category: title: Sage Intacct Project Category description: Project category used for Sage Intacct time entry exports. example: eq: active sage_ledger_mapping: title: Sage Ledger Mapping description: Mapping of Productive account types to Sage ledger codes. example: eq: value slack_options: title: Slack Options description: Configuration options for the Slack integration, including notification settings, status sync, and event subscriptions. 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 subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary this integration is associated with. 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 twinfield_cost_center_mapping: title: Twinfield Cost Center Mapping description: The twinfield cost center mapping. example: eq: value twinfield_default_cost_center: title: Twinfield Default Cost Center description: The twinfield default cost center. 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 twinfield_default_project: title: Twinfield Default Project description: The default Twinfield project used when no specific project mapping matches during export. example: eq: value 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 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 twinfield_offices: title: Twinfield Offices description: The list of Twinfield offices (companies) available under this integration. 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 update_invoice_sent_status: title: Update Invoice Sent Status description: The update invoice sent status. example: eq: active use_companies_export: title: Use Companies Export description: Whether to export company records to the integrated accounting system. example: eq: value use_expense_sync: title: Use Expense Sync description: Whether to sync expense records to the connected invoicing system. example: eq: value use_expenses_in_xero: title: Use Expenses In Xero description: Whether to sync expense records to Xero. example: eq: value use_invoices_export: title: Use Invoices Export description: Whether to export invoices to Xero. example: eq: value use_purchase_orders_export: title: Use Purchase Orders Export description: Whether to export purchase orders to Xero. example: true xero_default_expense_account_code: title: Xero Default Expense Account Code description: Default account code for expenses exported to Xero. example: gt: 0 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' xero_expense_status_id: type: integer title: Xero Expense Status description: The xero expense status id. example: - 123 xero_internal_note_cf_id: type: integer title: Xero Internal Note Cf description: The xero internal note cf id. example: - 123 xero_invoice_status_id: type: integer title: Xero Invoice Status description: The xero invoice status id. example: - 123 xero_organization_id: type: integer title: Xero Organization description: Xero organization ID (tenant ID) this integration is connected to. example: - 123 xero_organizations: title: Xero Organizations description: List of available Xero organizations for the authenticated user. example: eq: value xero_purchase_order_status_id: type: integer title: Xero Purchase Order Status description: The xero purchase order status id. example: 1 xero_reference: title: Xero Reference description: The Xero reference field value added to exported invoices. example: eq: value all_folders: title: All Folders description: When true, the integration syncs all folders rather than a selected subset. 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 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' 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 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 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 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 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 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 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 salesforce_product_family_mapping: title: Salesforce Product Family Mapping description: Mapping of Salesforce product families to Productive service types. 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 salesforce_stage_id: type: integer title: Salesforce Stage description: The Salesforce stage ID used to identify deals when syncing opportunities. example: 123 salesforce_subsidiary_field: title: Salesforce Subsidiary Field description: The Salesforce field used to determine the subsidiary for synced records. example: value salesforce_subsidiary_mapping: title: Salesforce Subsidiary Mapping description: Mapping of Salesforce subsidiary values to Productive subsidiaries. example: value netsuite_invoice_entity_type: title: Netsuite Invoice Entity Type netsuite_create_customers_on_export: type: boolean title: Netsuite Create Customers On Export netsuite_sync_customer_addresses: type: boolean title: Netsuite Sync Customer Addresses netsuite_time_bill_form_id: type: string title: Netsuite Time Bill Form netsuite_time_entry_field_mapping: title: Netsuite Time Entry Field Mapping netsuite_time_entry_fixed_value_mapping: title: Netsuite Time Entry Fixed Value Mapping use_time_entries_export: type: boolean title: Use Time Entries Export configured_deals_count: type: integer title: Configured Deals Count configured_projects_count: type: integer title: Configured Projects Count netsuite_vendor_bill_form_id: type: integer title: Netsuite Vendor Bill Form hubspot_deal_sync_mode: title: Hubspot Deal Sync Mode expenses_import: title: Expenses Import netsuite_import_vendor_bill_expense_line_field_mapping: title: Netsuite Vendor Bill Expense Line Field Mapping netsuite_import_vendor_bill_field_mapping: title: Netsuite Vendor Bill Field Mapping netsuite_import_vendor_bill_item_line_field_mapping: title: Netsuite Vendor Bill Item Line Field Mapping hubspot_write_scope: title: Hubspot Write Scope quickbooks_ach_payment: title: Quickbooks Ach Payment quickbooks_credit_card_payment: title: Quickbooks Credit Card Payment example: id: '123' type: integrations attributes: provider: jira status: active synced_at: '2026-01-15T08:00:00Z' settings: {} relationships: {} resource_scenario_item: type: object title: Scenario Item Resource description: A person or placeholder assignment on a scenario service, carrying its rates and allocated quantity. properties: cost: type: number title: Cost nullable: true description: Unit cost for this item. example: 9000 cost_default: type: number title: Cost Default nullable: true description: Unit cost for this item in the organization's default currency. example: 9000 cost_normalized: type: number title: Cost Normalized nullable: true description: Unit cost for this item in the organization's normalized currency. example: 9000 currency: type: string title: Currency nullable: true description: Currency code for this item's financial values. example: EUR currency_default: type: string title: Currency Default description: Currency code in the organization's default currency. example: EUR currency_normalized: type: string title: Currency Normalized nullable: true description: Currency code in the organization's normalized currency. example: EUR end_date: type: string title: End Date format: date nullable: true description: The end date of the assignment. example: '2026-04-24' markup: type: string title: Markup nullable: true description: Markup percentage for this item. example: '20.0' name: type: string title: Name nullable: true description: Name of a placeholder item, required unless `person_id` is set. example: Senior designer price: type: number title: Price nullable: true description: Unit price for this item. example: 12000 price_default: type: number title: Price Default nullable: true description: Unit price for this item in the organization's default currency. example: 12000 price_normalized: type: number title: Price Normalized nullable: true description: Unit price for this item in the organization's normalized currency. example: 12000 start_date: type: string title: Start Date format: date nullable: true description: The start date of the assignment. example: '2026-03-02' used_quantity: type: string title: Used Quantity nullable: true description: Number of units allocated to this item. example: '40.0' booking: title: Booking description: The deal booking this item was created from, if any. example: data: type: bookings id: '9912' expense: title: Expense description: The deal expense this item was created from, if any. example: data: type: expenses id: '771' id: type: integer title: Id description: Unique identifier of the scenario item. example: 301 organization: title: Organization description: The organization this scenario item belongs to. example: data: type: organizations id: '1' person: title: Person description: The person assigned to this item. example: data: type: people id: '7' person_id: type: integer title: Person nullable: true description: ID of the person assigned to this item. example: 7 scenario_bookings: title: Scenario Bookings description: Bookings scheduled for this item. example: data: - type: scenario_bookings id: '401' scenario_service: title: Scenario Service description: The scenario service this item belongs to. example: data: type: scenario_services id: '201' scenario_service_id: type: integer title: Scenario Service description: ID of the scenario service this item belongs to. example: 201 service_id: type: integer title: Scenario Service description: ID of the scenario service this item belongs to. example: 201 example: scenario_service_id: 201 person_id: 7 used_quantity: '40.0' start_date: '2026-03-02' end_date: '2026-04-24' markup: '20.0' discount: '10.0' cost: 9000 price: 12000 resource_filter: type: object title: Filter Resource description: A saved view configuration containing filters, sorters, column layout, and optional report aggregation settings. properties: chart_type_id: type: integer title: Chart Type description: ID of the chart visualization type used when displaying this filter as a report chart. example: - 123 column_settings: type: string title: Column Settings description: A JSON object containing per-column display settings such as width and visibility. example: eq: value columns: type: string title: Columns description: An ordered list of column identifiers defining which columns are visible in this filter's list view. example: eq: value created_at: type: string title: Created At format: date-time description: Timestamp when this filter was created. example: gt: '2026-01-01' creator: title: Creator description: The person who created this filter. example: eq: value default: title: Default description: Whether this filter is the default view loaded when navigating to the associated resource list. example: eq: value exchange_currency: type: string title: Exchange Currency description: The currency used for exchange rate conversions when this filter displays monetary values. example: eq: value exchange_date: type: object title: Exchange Date description: A JSON object defining the date or date range used for currency exchange rate lookups in this filter. example: gt: '2026-01-01' filterable_collection: type: string title: Filterable Collection description: The collection of resources (e.g. tasks, bookings) that this filter applies to. example: eq: value filterable_id: type: integer title: Filterable description: ID of the specific resource (e.g. a project) this filter is scoped to, or null for organization-wide filters. example: - 123 filterable_type: type: string title: Filterable Type description: The type of resource this filter is scoped to (e.g. projects), or null for organization-wide filters. example: eq: active formulas: type: string title: Formulas description: Custom formula definitions used to compute derived values in report-type filters. example: eq: value group_by: type: string title: Group By description: The field identifier used to group results in this filter's view. example: eq: value hidden: type: boolean title: Hidden description: Whether this filter is hidden from the navigation sidebar. example: eq: value id: type: string title: Id description: The unique identifier of this filter, expressed as a slug combining the numeric ID, filterable type, and collection. example: - 123 layout_id: type: integer title: Layout description: ID of the layout mode used to display this filter (e.g. list, board, timeline). example: - 123 memberships: title: Memberships description: People or teams who have been granted access to this shared filter. example: eq: value name: type: string title: Name description: The display name of this filter. example: eq: value organization: title: Organization description: The organization this filter belongs to. example: eq: value original_id: type: integer title: Original description: The internal numeric ID of this filter, as opposed to the slug-based id field. example: - 123 params: type: string title: Params description: A hash of filter criteria (field/value pairs) that define what records this filter matches. example: eq: value predefined_id: type: string title: Predefined description: The identifier of the predefined system filter this was created from, if applicable. example: - 123 project_id: type: integer title: Project description: ID of the project this filter is scoped to, when filterable_type is projects. example: - 123 public: type: boolean title: Public description: Whether this filter is visible to all members of the organization. example: eq: value pulse_count: title: Pulse Count description: The number of unread pulse notifications for the current user on this report filter. example: gt: 0 query: type: string title: Query description: A text search query applied as an additional keyword filter when loading results. example: eq: value report: type: boolean title: Report description: Indicates whether this saved filter is of report type. example: eq: value report_category: title: Report Category description: The report category this filter belongs to. example: eq: active report_category_id: type: integer title: Report Category description: ID of the report category this filter belongs to. example: - 123 report_layout_id: type: integer title: Report Layout description: ID of the report layout used by this filter. example: - 123 settings: type: string title: Settings description: A JSON object containing miscellaneous UI settings for this filter, such as collapsed state or display preferences. example: eq: value shared: type: boolean title: Shared description: Whether this filter has been shared with specific people or teams via memberships. example: eq: value sort_by: type: string title: Sort By description: The field identifier used to sort results in this filter's view. example: eq: value transpose_by: type: string title: Transpose By description: The field identifier used to pivot or transpose data in report-type filters. example: eq: value type_id: enum: - 1 - 2 - 3 type: integer title: Type description: ID of the filter type, indicating whether this is a saved view, a report, or a widget. example: - 123 updated_at: type: string title: Updated At format: date-time description: Timestamp when this filter was last updated. example: gt: '2026-01-01' creator_id: type: integer title: Creator description: ID of the person who created this filter. example: - 123 last_accessed_at: type: string title: Last Accessed At format: date description: Timestamp when this filter was last accessed by any user. example: gt: '2026-01-01' last_pulse_sent_at: type: string title: Last Pulse Sent At format: date-time description: Timestamp when the last pulse notification was sent for this filter. example: gt: '2026-01-01' last_viewed_at: type: string title: Last Viewed At format: date-time description: Timestamp when this filter was last viewed by the current user. example: gt: '2026-01-01' pulse: type: boolean title: Pulse description: The pulse notification associated with this filter, if any. example: eq: value template_object: title: Template Object example: id: '89' type: filters attributes: name: My Open Tasks item_type: task filter_data: assignee_id: - 12 closed: eq: false created_at: '2026-01-15T10:00:00.000+00:00' relationships: person: data: type: people id: '12' resource_attachment: type: object title: Attachment Resource description: An uploaded file attached to a task, comment, expense, or other entity. properties: 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 attachment_type: enum: - attachment - inline type: string title: Attachment Type description: The attachment category type (e.g. file, image, document). 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 bill: title: Bill description: The bill this attachment is associated with. example: eq: value comment: title: Comment description: The comment this attachment belongs to. example: eq: value comment_id: type: integer title: Comment description: The ID of the comment this attachment belongs to. example: - 123 company_id: type: integer title: Company description: The ID of the company this attachment is associated with. example: - 123 content_type: title: Content Type description: The MIME content type of this file (e.g. image/png, application/pdf). example: eq: active created_at: type: string title: Created At format: date-time description: Timestamp when this attachment was uploaded. example: gt: '2026-01-01' creator: title: Creator description: The person who uploaded this attachment. example: eq: value creator_id: type: integer title: Creator description: The ID of the person who uploaded this attachment. example: - 123 deal: title: Deal description: The deal this attachment is associated with. example: eq: value 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' document_style: title: Document Style description: The document layout style applied when rendering this attachment as a PDF. 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 email: title: Email description: The email this attachment was received from or sent with. example: eq: value expense: title: Expense description: The expense this attachment is associated with (e.g. receipt or supporting document). example: eq: value external_id: type: integer title: External description: The external system ID for this attachment, used when synced from an integration. example: - 123 file_updated_at: title: File Updated At description: Timestamp when the file content was last updated in storage. example: gt: '2026-01-01' full_query: type: string title: Full Query description: Full-text search query context for this attachment. 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' fuzzy_people: type: integer title: Fuzzy People description: Fuzzy person references extracted from this attachment for search purposes. example: eq: value id: type: integer title: Id description: The unique identifier of this attachment. example: - 123 invoice: title: Invoice description: The invoice this attachment is associated with. example: eq: value jump_query: type: string title: Jump Query description: Jump-to search query context for navigating to this attachment. example: eq: value message_id: type: integer title: Message description: The email thread message ID this attachment belongs to. example: - 123 name: title: Name description: The filename of the uploaded file. example: eq: value 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' organization: title: Organization description: The organization this attachment belongs to. example: eq: value page: title: Page description: The doc page this attachment is associated with. example: eq: value page_id: type: integer title: Page description: The ID of the doc page 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 purchase_order: title: Purchase Order description: The purchase order this attachment is associated with. example: data: type: purchase_orders id: '1234567' resized: type: boolean title: Resized description: Whether resized image variants are available for this attachment. example: eq: value size: title: Size description: The file size in bytes. example: eq: value task: title: Task description: The task 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 temp_url: title: Temp Url description: A temporary pre-signed URL for accessing the file, valid for a limited time. example: eq: value thumb: title: Thumb description: URL of a thumbnail image for previewing this attachment (for image files). example: eq: value type: type: integer title: Type description: The attachment type identifier (e.g. file vs embedded image). example: eq: active url: title: Url description: The download URL for this attachment. example: eq: value bill_id: type: integer title: Bill description: ID of the bill (vendor invoice) this attachment is associated with. example: - 123 booking_id: type: integer title: Booking description: ID of the booking this attachment is associated with. example: - 123 document_style_id: type: integer title: Document Style description: ID of the document style this attachment is associated with. example: - 123 document_type_id: type: integer title: Document Type description: ID of the document type 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 invoice_id: type: integer title: Invoice description: ID of the invoice this attachment is associated with. example: - 123 purchase_order_id: type: integer title: Purchase Order description: ID of the purchase order this attachment is associated with. example: 1234567 widget_id: type: integer title: Widget description: ID of the widget this attachment is associated with. example: - 123 meeting_id: type: integer title: Meeting whiteboard_id: type: integer title: Whiteboard 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' resource_feature_usage: type: object title: Feature usage Resource properties: actions: type: number title: Actions credits: type: number title: Credits hours: type: number title: Hours key: enum: - notetaker - ai_credits type: string title: Feature percentage_of_total: type: number title: Percentage of total maximum: 100 minimum: 0 person: title: Person _filter_root_approval_policy: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_approval_policy" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_approval_policy" description: Filter schema for `approval_policy` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_project_milestone_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_project_milestone_report" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_project_milestone_report" _filter_root_job_role_rate_card: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_job_role_rate_card" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_job_role_rate_card" resource_project_report: type: object title: Project report Resource description: An aggregated project report row grouping projects by configurable dimensions with utilization, financial, and delivery metrics. properties: average_profit_margin: type: number title: Average Profit Margin description: Average profit margin for this project 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 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 budget_id: type: integer title: Budget description: Budget id for this project report group. example: - 123 company: title: Company description: Company for this project report group. example: eq: value company_id: type: integer title: Company description: Company id for this project report group. example: - 123 company_report: title: Company Report description: Company report for this project report group. example: eq: value cost: title: Cost description: Cost for this project report group. example: eq: value count: type: integer title: Count description: Number of projects in this report group. example: gt: 0 created_at: type: string title: Created At format: date description: Created at for this project report group. 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' currency: type: string title: Currency description: Currency for this project report group. example: eq: value currency_default: title: Currency Default description: Currency in the organization's default currency for 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 custom_fields: type: string title: Custom Fields description: Custom fields 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 for_tracking: type: boolean title: For Tracking description: For tracking for this project report group. example: eq: value formula_fields: title: Formula Fields description: Formula fields for this project report group. example: eq: value formulas: type: integer title: Formulas description: Formulas 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 fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy dates for this project report group. example: gt: '2026-01-01' fuzzy_people: type: integer title: Fuzzy People description: Fuzzy people 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 id: type: integer title: Id description: Unique identifier for this project report row. example: - 123 jump_query: type: string title: Jump Query description: Jump query for 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' 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' month: type: string title: Month description: Month grouping for this project report row. example: eq: value name: type: string title: Name description: Name for this project report group. example: eq: value number: type: string title: Number description: Number for this project report group. example: eq: value organization: title: Organization description: Organization for this project report group. example: eq: value pending_invoicing: title: Pending Invoicing description: Pending invoicing for this project report group. example: eq: value person_id: type: integer title: Person description: Person id for this project report group. example: - 123 profit: title: Profit description: Profit for this project report group. example: eq: value profit_margin: type: integer title: Profit Margin description: Profit margin for this project report group. example: eq: value project: title: Project description: Project 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_created_at: title: Project Created At description: Project created at for this project report group. example: gt: '2026-01-01' project_custom_fields: title: Project Custom Fields description: Project custom fields 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' project_manager: title: Project Manager description: Project manager for this project report group. example: eq: value project_manager_report: title: Project Manager Report description: Project manager report for this project report group. example: eq: value project_name: title: Project Name description: Project name for 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 project_status: type: integer title: Project Status description: Project status for this project report group. example: eq: active project_type: enum: - 1 - 2 type: integer title: Project Type description: Project type for this project report group. example: eq: active projected_revenue: title: Projected Revenue description: Projected revenue for this project report group. example: eq: value quarter: type: string title: Quarter description: Quarter grouping for this project report row. example: eq: value query: type: string title: Query description: Query for this project report group. example: eq: value report: title: Report description: Report for this project report group. example: eq: value responsible_id: type: integer title: Responsible description: Responsible id for this project report group. example: - 123 revenue: title: Revenue description: Revenue 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 template: type: string title: Template description: Template for this project report group. example: eq: value total_cost: title: Total Cost description: Sum of cost across all records in 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_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_estimated_time: type: number title: Total Estimated Time description: Sum of estimated time across all records in this project report group. example: gt: 0 total_needs_invoicing: title: Total Needs Invoicing description: Sum of needs invoicing across all records in this project report group. example: eq: value 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 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 total_pending_invoicing: title: Total Pending Invoicing description: Sum of pending invoicing 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 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_profit: title: Total Profit description: Sum of profit across all records in this project 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 project report group. 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 total_projected_revenue: title: Total Projected Revenue description: Sum of projected revenue across all records in 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 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 total_revenue: title: Total Revenue description: Sum of revenue across all records in this project report group. example: eq: value 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 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 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 week: type: string title: Week description: Week grouping for this project report row. example: eq: value worked_time: type: integer title: Worked Time description: Worked time for this project report group. example: gt: 0 workflow_id: type: integer title: Workflow description: Workflow id for this project report group. example: - 123 year: type: string title: Year description: Year grouping for this project report row. 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 with_templates: type: boolean title: With Templates description: When true, includes project templates in the report results. example: eq: value example: id: '123' type: project_reports attributes: budget_used: 60000 budget_total: 100000 profit: 25000 margin: 0.35 project_id: 45 relationships: {} resource_import: type: object title: Import Resource properties: creator: title: Creator creator_id: type: integer title: Creator Id failed_at: type: string title: Failed At format: date-time import_model_id: type: integer title: Import Model Id import_models: type: string title: Import Models import_type_id: type: integer title: Import Type Id processed_at: type: string title: Processed At format: date-time reverted_at: type: string title: Reverted At format: date-time sample: type: boolean title: Sample started_at: type: string title: Started At format: date-time file_names: type: string title: File Names resource_expense_report: type: object title: Expense report Resource description: An aggregated expense report row grouping expenses by configurable dimensions with cost totals, billing metrics, and approval status. properties: amount: title: Amount description: Amount for this expense report group. example: gt: 0 amount_with_tax: title: Amount With Tax description: Amount with tax for this expense report group. example: gt: 0 approval_status: enum: - 1 - 2 - 3 - 4 type: integer title: Approval Status description: Approval status for this expense report group. example: eq: active approver: title: Approver description: Approver for this expense report group. example: eq: value approver_id: type: integer title: Approver description: Approver 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 average_profit_margin: type: number title: Average Profit Margin description: Average profit margin 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 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 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 billable_amount: title: Billable Amount description: Billable amount for this expense report group. example: gt: 0 company: title: Company description: Company for this expense report group. example: eq: value company_id: type: integer title: Company description: Company id for this expense report group. example: - 123 company_report: title: Company Report description: Company report for this expense report group. example: eq: value count: type: integer title: Count description: Number of expenses in this report group. example: gt: 0 created_at: type: string title: Created At format: date description: Created at for this expense report group. 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' creator: title: Creator description: Creator for this expense report group. example: eq: value creator_id: type: integer title: Creator description: Creator id for this expense report group. example: - 123 currency: type: string title: Currency description: Currency for this expense report group. example: eq: value currency_default: title: Currency Default description: Currency in the organization's default currency 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 custom_fields: type: string title: Custom Fields description: Custom fields for this expense report group. example: eq: value date: type: string title: Date format: date description: Date for this expense report group. example: gt: '2026-01-01' date_after: type: string title: Date After format: date description: Date after for this expense report group. example: eq: value date_before: type: string title: Date Before format: date description: Date before for this expense report group. example: eq: value date_period: title: Date Period description: Time period grouping for date (e.g. week, month, quarter). example: eq: value deal: title: Deal description: Deal for this expense report group. example: eq: value deal_id: type: integer title: Deal description: Deal id for this expense report group. example: - 123 draft: type: boolean title: Draft description: Draft for this expense report group. example: eq: value expense: title: Expense description: Expense 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' expense_date: title: Expense Date description: Expense date for this expense report group. example: gt: '2026-01-01' expense_name: title: Expense Name description: Expense name for this expense report group. example: eq: value expense_paid_on: title: Expense Paid On description: Expense paid on for this expense report group. example: eq: value expense_pay_on: title: Expense Pay On description: Expense pay on for this expense report group. example: eq: value expense_reimbursed_on: title: Expense Reimbursed On description: Expense reimbursed on 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 formula_fields: title: Formula Fields description: Formula fields for this expense report group. example: eq: value formulas: type: integer title: Formulas description: Formulas for this expense report group. example: eq: value full_query: type: string title: Full Query description: Full query for this expense report group. example: eq: value fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy dates for this expense report group. example: gt: '2026-01-01' fuzzy_people: type: integer title: Fuzzy People description: Fuzzy people 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 id: type: integer title: Id description: Unique identifier for this expense report row. example: - 123 invoice: title: Invoice description: Invoice for this expense report group. example: eq: value invoice_id: type: integer title: Invoice description: Invoice id for this expense report group. example: - 123 invoiced: type: integer title: Invoiced description: Invoiced 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 jump_query: type: string title: Jump Query description: Jump query for this expense report group. example: eq: value month: type: string title: Month description: Month grouping for this expense report row. example: eq: value name: type: string title: Name description: Name for this expense report group. example: eq: value organization: title: Organization description: Organization 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 paid_on_after: type: string title: Paid On After format: date description: Paid on 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 paid_on_period: title: Paid On Period description: Time period grouping for paid on (e.g. week, month, quarter). example: eq: value pay_on: type: string title: Pay On format: date description: Pay on for this expense report group. example: eq: value pay_on_after: type: string title: Pay On After format: date description: Pay on after for this expense report group. example: eq: value pay_on_before: type: string title: Pay On Before format: date description: Pay on before 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 person: title: Person description: Person for this expense report group. example: eq: value person_id: type: integer title: Person description: Person id for this expense report group. example: - 123 person_report: title: Person Report description: The person associated with this expense report row. example: eq: value profit: title: Profit description: Profit for this expense report group. example: eq: value project: title: Project description: Project for this expense report group. example: eq: value project_id: type: integer title: Project description: Project id for this expense report group. example: - 123 project_report: title: Project Report description: Project report for 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' purchase_order_id: type: integer title: Purchase Order description: Purchase order id for this expense report group. example: 1234567 quantity: type: integer title: Quantity description: Quantity for this expense report group. example: eq: value quarter: type: string title: Quarter description: Quarter grouping for this expense report row. example: eq: value query: type: string title: Query description: Query for this expense report group. example: eq: value quote_type: title: Quote Type description: Quote type for this expense report group. example: eq: active recognized_revenue: title: Recognized Revenue description: Recognized revenue for this expense report group. example: eq: value reimbursable: type: boolean title: Reimbursable description: Reimbursable 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 reimbursed_on_period: title: Reimbursed On Period description: Time period grouping for reimbursed on (e.g. week, month, quarter). example: eq: value reimbursement: enum: - 1 - 2 - 3 type: integer title: Reimbursement description: Reimbursement for this expense report group. example: eq: value report: title: Report description: Report for this expense report group. example: eq: value responsible: title: Responsible description: Responsible for this expense report group. example: eq: value responsible_id: type: integer title: Responsible description: Responsible id for this expense report group. example: - 123 section_name: type: string title: Section Name description: Section name for this expense report group. example: eq: value service: title: Service description: Service for this expense report group. example: eq: value service_id: type: integer title: Service description: Service id for this expense report group. example: - 123 service_type: title: Service Type description: Service type for this expense report group. example: eq: active service_type_id: type: integer title: Service Type description: Service type id for this expense report group. example: - 123 stage_type: enum: - 1 - 2 type: integer title: Stage Type description: Stage type for this expense report group. example: eq: active status: enum: - 1 - 2 type: integer title: Status description: Status for this expense report group. example: eq: active tax_rate: title: Tax Rate description: Tax rate for this expense report group. example: gt: 0 tax_rate_id: type: integer title: Tax Rate description: Tax rate id for this expense report group. example: - 123 total_amount: title: Total Amount description: Sum of amount 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 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: title: Total Amount With Tax description: Sum of amount with tax across all records in this expense report group. example: gt: 0 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_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 total_billable_amount: title: Total Billable Amount description: Sum of billable amount across all records in this expense report group. example: gt: 0 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 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_profit: title: Total Profit description: Sum of profit 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_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 total_recognized_revenue: title: Total Recognized Revenue description: Sum of recognized revenue across all records in 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_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 total_tax_amount: title: Total Tax Amount description: Sum of tax amount 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 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 vendor: title: Vendor description: Vendor for this expense report group. example: eq: value vendor_id: type: integer title: Vendor description: Vendor id for this expense report group. example: - 123 vendor_report: title: Vendor Report description: Vendor report for this expense report group. example: eq: value week: type: string title: Week description: Week grouping for this expense report row. example: eq: value with_draft: type: boolean title: With Draft description: With draft for this expense report group. example: eq: value year: type: string title: Year description: Year grouping for this expense report row. example: eq: value allocation_status: enum: - 1 - 2 type: integer title: Allocation Status description: Whether this expense report entry has been allocated to a service, or is unallocated. example: eq: active 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' 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' 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 designated_approver: title: Designated Approver description: The person designated as the approver for the budget linked to this expense entry. example: eq: value 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 updated_at: type: string title: Updated At format: date updated_at_period: title: Updated At Period updater: title: Updater updater_id: type: integer title: Updater approved_by_actual_approver_id: type: integer title: Approved By Actual Approver approved_for_assigned_approver_id: type: integer title: Approved For Assigned Approver example: id: '123' type: expense_reports attributes: total_amount: 5000 approved_amount: 4500 pending_amount: 500 project_id: 45 relationships: {} _response_object_integration: type: object title: Integration properties: attributes: type: object properties: netsuite_time_bill_form_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/netsuite_time_bill_form_id" - type: 'null' title: 'Null' netsuite_time_entry_field_mapping: "$ref": "#/components/schemas/resource_integration/properties/netsuite_time_entry_field_mapping" netsuite_time_entry_fixed_value_mapping: "$ref": "#/components/schemas/resource_integration/properties/netsuite_time_entry_fixed_value_mapping" use_time_entries_export: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/use_time_entries_export" - type: 'null' title: 'Null' account_code: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/account_code" - type: 'null' title: 'Null' account_code_mapping: "$ref": "#/components/schemas/resource_integration/properties/account_code_mapping" all_folders: "$ref": "#/components/schemas/resource_integration/properties/all_folders" bamboo_custom_field_mapping: "$ref": "#/components/schemas/resource_integration/properties/bamboo_custom_field_mapping" bamboo_default_subsidiary_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/bamboo_default_subsidiary_id" - type: 'null' title: 'Null' bamboo_enable_cost_rates: "$ref": "#/components/schemas/resource_integration/properties/bamboo_enable_cost_rates" bamboo_enable_time_offs: "$ref": "#/components/schemas/resource_integration/properties/bamboo_enable_time_offs" bamboo_enable_user_provisioning: "$ref": "#/components/schemas/resource_integration/properties/bamboo_enable_user_provisioning" bamboo_workplace_field: "$ref": "#/components/schemas/resource_integration/properties/bamboo_workplace_field" bamboo_workplace_mapping: "$ref": "#/components/schemas/resource_integration/properties/bamboo_workplace_mapping" calendar_write_options: "$ref": "#/components/schemas/resource_integration/properties/calendar_write_options" calendar_write_status: "$ref": "#/components/schemas/resource_integration/properties/calendar_write_status" calendars: "$ref": "#/components/schemas/resource_integration/properties/calendars" client_id: anyOf: - type: string title: String - type: 'null' title: 'Null' connected_at: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/connected_at" - type: 'null' title: 'Null' customer_memo_cf_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/customer_memo_cf_id" - type: 'null' title: 'Null' deactivated_at: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/deactivated_at" - type: 'null' title: 'Null' default_item: "$ref": "#/components/schemas/resource_integration/properties/default_item" default_product: "$ref": "#/components/schemas/resource_integration/properties/default_product" economic_export_subject: "$ref": "#/components/schemas/resource_integration/properties/economic_export_subject" economic_product_mapping: "$ref": "#/components/schemas/resource_integration/properties/economic_product_mapping" exact_country: "$ref": "#/components/schemas/resource_integration/properties/exact_country" exact_default_journal: "$ref": "#/components/schemas/resource_integration/properties/exact_default_journal" exact_default_ledger: "$ref": "#/components/schemas/resource_integration/properties/exact_default_ledger" exact_division: "$ref": "#/components/schemas/resource_integration/properties/exact_division" exact_division_id: type: - string - 'null' exact_divisions: "$ref": "#/components/schemas/resource_integration/properties/exact_divisions" exact_ledger_manually: "$ref": "#/components/schemas/resource_integration/properties/exact_ledger_manually" exact_ledger_mapping: "$ref": "#/components/schemas/resource_integration/properties/exact_ledger_mapping" expense_account_code_mapping: "$ref": "#/components/schemas/resource_integration/properties/expense_account_code_mapping" export_attachment: "$ref": "#/components/schemas/resource_integration/properties/export_attachment" export_expense_attachment: "$ref": "#/components/schemas/resource_integration/properties/export_expense_attachment" export_number: "$ref": "#/components/schemas/resource_integration/properties/export_number" export_purchase_order_number: "$ref": "#/components/schemas/resource_integration/properties/export_purchase_order_number" folders: "$ref": "#/components/schemas/resource_integration/properties/folders" fortnox_account_mapping: "$ref": "#/components/schemas/resource_integration/properties/fortnox_account_mapping" fortnox_article_mapping: "$ref": "#/components/schemas/resource_integration/properties/fortnox_article_mapping" fortnox_default_account: "$ref": "#/components/schemas/resource_integration/properties/fortnox_default_account" fortnox_default_article: "$ref": "#/components/schemas/resource_integration/properties/fortnox_default_article" google_events_write_scope: "$ref": "#/components/schemas/resource_integration/properties/google_events_write_scope" hubspot_default_company_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/hubspot_default_company_id" - type: 'null' title: 'Null' hubspot_default_deal_owner_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/hubspot_default_deal_owner_id" - type: 'null' title: 'Null' hubspot_default_subsidiary_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/hubspot_default_subsidiary_id" - type: 'null' title: 'Null' hubspot_default_template_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/hubspot_default_template_id" - type: 'null' title: 'Null' hubspot_pipelines: "$ref": "#/components/schemas/resource_integration/properties/hubspot_pipelines" hubspot_stages_mapping: "$ref": "#/components/schemas/resource_integration/properties/hubspot_stages_mapping" hubspot_sync_deals: "$ref": "#/components/schemas/resource_integration/properties/hubspot_sync_deals" import_attachment: "$ref": "#/components/schemas/resource_integration/properties/import_attachment" import_number: "$ref": "#/components/schemas/resource_integration/properties/import_number" integration_type_id: "$ref": "#/components/schemas/resource_integration/properties/integration_type_id" item_mapping: "$ref": "#/components/schemas/resource_integration/properties/item_mapping" jira_organization: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/jira_organization" - type: 'null' title: 'Null' jira_project: "$ref": "#/components/schemas/resource_integration/properties/jira_project" last_synced_at: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/last_synced_at" - type: 'null' title: 'Null' name: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/name" - type: 'null' title: 'Null' netsuite_attach_timesheet: "$ref": "#/components/schemas/resource_integration/properties/netsuite_attach_timesheet" netsuite_create_customers_on_export: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/netsuite_create_customers_on_export" - type: 'null' title: 'Null' netsuite_credit_note_form_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/netsuite_credit_note_form_id" - type: 'null' title: 'Null' netsuite_customer_field_mapping: "$ref": "#/components/schemas/resource_integration/properties/netsuite_customer_field_mapping" netsuite_customer_fixed_value_mapping: "$ref": "#/components/schemas/resource_integration/properties/netsuite_customer_fixed_value_mapping" netsuite_customer_form_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/netsuite_customer_form_id" - type: 'null' title: 'Null' netsuite_default_item: "$ref": "#/components/schemas/resource_integration/properties/netsuite_default_item" netsuite_default_subsidiary_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/netsuite_default_subsidiary_id" - type: 'null' title: 'Null' netsuite_invoice_entity_type: "$ref": "#/components/schemas/resource_integration/properties/netsuite_invoice_entity_type" netsuite_invoice_field_mapping: "$ref": "#/components/schemas/resource_integration/properties/netsuite_invoice_field_mapping" netsuite_invoice_fixed_value_mapping: "$ref": "#/components/schemas/resource_integration/properties/netsuite_invoice_fixed_value_mapping" netsuite_invoice_form_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/netsuite_invoice_form_id" - type: 'null' title: 'Null' netsuite_invoice_pdf_source: "$ref": "#/components/schemas/resource_integration/properties/netsuite_invoice_pdf_source" netsuite_item_mapping: "$ref": "#/components/schemas/resource_integration/properties/netsuite_item_mapping" netsuite_line_item_field_mapping: "$ref": "#/components/schemas/resource_integration/properties/netsuite_line_item_field_mapping" netsuite_line_item_fixed_value_mapping: "$ref": "#/components/schemas/resource_integration/properties/netsuite_line_item_fixed_value_mapping" netsuite_project_field_mapping: "$ref": "#/components/schemas/resource_integration/properties/netsuite_project_field_mapping" netsuite_project_form_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/netsuite_project_form_id" - type: 'null' title: 'Null' netsuite_relationship_mapping: "$ref": "#/components/schemas/resource_integration/properties/netsuite_relationship_mapping" netsuite_sales_order_field_mapping: "$ref": "#/components/schemas/resource_integration/properties/netsuite_sales_order_field_mapping" netsuite_sales_order_form_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/netsuite_sales_order_form_id" - type: 'null' title: 'Null' netsuite_sync_customer_addresses: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/netsuite_sync_customer_addresses" - type: 'null' title: 'Null' options: type: object payments_import: "$ref": "#/components/schemas/resource_integration/properties/payments_import" purchase_order_account_code_mapping: "$ref": "#/components/schemas/resource_integration/properties/purchase_order_account_code_mapping" quickbooks_default_expense_account_code: "$ref": "#/components/schemas/resource_integration/properties/quickbooks_default_expense_account_code" quickbooks_default_expense_bank_account_code: "$ref": "#/components/schemas/resource_integration/properties/quickbooks_default_expense_bank_account_code" quickbooks_default_expense_payment_type: "$ref": "#/components/schemas/resource_integration/properties/quickbooks_default_expense_payment_type" quickbooks_memo: "$ref": "#/components/schemas/resource_integration/properties/quickbooks_memo" realm_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/realm_id" - type: 'null' title: 'Null' redirect_uri: "$ref": "#/components/schemas/resource_integration/properties/redirect_uri" request_token: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/request_token" - type: 'null' title: 'Null' request_uri: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/request_uri" - type: 'null' title: 'Null' requested_at: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/requested_at" - type: 'null' title: 'Null' sage_business_name: "$ref": "#/components/schemas/resource_integration/properties/sage_business_name" sage_country: "$ref": "#/components/schemas/resource_integration/properties/sage_country" sage_default_ledger: "$ref": "#/components/schemas/resource_integration/properties/sage_default_ledger" sage_intacct_account_code: "$ref": "#/components/schemas/resource_integration/properties/sage_intacct_account_code" sage_intacct_account_code_mapping: "$ref": "#/components/schemas/resource_integration/properties/sage_intacct_account_code_mapping" sage_intacct_entities: "$ref": "#/components/schemas/resource_integration/properties/sage_intacct_entities" sage_intacct_export_project: "$ref": "#/components/schemas/resource_integration/properties/sage_intacct_export_project" sage_intacct_project_category: "$ref": "#/components/schemas/resource_integration/properties/sage_intacct_project_category" sage_ledger_mapping: "$ref": "#/components/schemas/resource_integration/properties/sage_ledger_mapping" salesforce_default_service_type_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/salesforce_default_service_type_id" - type: 'null' title: 'Null' salesforce_default_subsidiary_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/salesforce_default_subsidiary_id" - type: 'null' title: 'Null' salesforce_product_family_mapping: "$ref": "#/components/schemas/resource_integration/properties/salesforce_product_family_mapping" salesforce_project_template_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/salesforce_project_template_id" - type: 'null' title: 'Null' salesforce_stage_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/salesforce_stage_id" - type: 'null' title: 'Null' salesforce_subsidiary_field: "$ref": "#/components/schemas/resource_integration/properties/salesforce_subsidiary_field" salesforce_subsidiary_mapping: "$ref": "#/components/schemas/resource_integration/properties/salesforce_subsidiary_mapping" slack_options: "$ref": "#/components/schemas/resource_integration/properties/slack_options" tax_rate_mapping: "$ref": "#/components/schemas/resource_integration/properties/tax_rate_mapping" twinfield_cost_center_mapping: "$ref": "#/components/schemas/resource_integration/properties/twinfield_cost_center_mapping" twinfield_default_cost_center: "$ref": "#/components/schemas/resource_integration/properties/twinfield_default_cost_center" twinfield_default_ledger: "$ref": "#/components/schemas/resource_integration/properties/twinfield_default_ledger" twinfield_default_project: "$ref": "#/components/schemas/resource_integration/properties/twinfield_default_project" twinfield_invoice_destiny: "$ref": "#/components/schemas/resource_integration/properties/twinfield_invoice_destiny" twinfield_ledger_mapping: "$ref": "#/components/schemas/resource_integration/properties/twinfield_ledger_mapping" twinfield_offices: "$ref": "#/components/schemas/resource_integration/properties/twinfield_offices" twinfield_project_mapping: "$ref": "#/components/schemas/resource_integration/properties/twinfield_project_mapping" update_invoice_sent_status: "$ref": "#/components/schemas/resource_integration/properties/update_invoice_sent_status" use_companies_export: "$ref": "#/components/schemas/resource_integration/properties/use_companies_export" use_expense_sync: "$ref": "#/components/schemas/resource_integration/properties/use_expense_sync" use_expenses_in_xero: "$ref": "#/components/schemas/resource_integration/properties/use_expenses_in_xero" use_invoices_export: "$ref": "#/components/schemas/resource_integration/properties/use_invoices_export" use_purchase_orders_export: "$ref": "#/components/schemas/resource_integration/properties/use_purchase_orders_export" xero_default_expense_account_code: "$ref": "#/components/schemas/resource_integration/properties/xero_default_expense_account_code" xero_default_purchase_order_account_code: "$ref": "#/components/schemas/resource_integration/properties/xero_default_purchase_order_account_code" xero_expense_status_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/xero_expense_status_id" - type: 'null' title: 'Null' xero_internal_note_cf_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/xero_internal_note_cf_id" - type: 'null' title: 'Null' xero_invoice_status_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/xero_invoice_status_id" - type: 'null' title: 'Null' xero_organization_id: type: - string - 'null' xero_organizations: "$ref": "#/components/schemas/resource_integration/properties/xero_organizations" xero_purchase_order_status_id: anyOf: - "$ref": "#/components/schemas/resource_integration/properties/xero_purchase_order_status_id" - type: 'null' title: 'Null' xero_reference: "$ref": "#/components/schemas/resource_integration/properties/xero_reference" quickbooks_ach_payment: "$ref": "#/components/schemas/resource_integration/properties/quickbooks_ach_payment" quickbooks_credit_card_payment: "$ref": "#/components/schemas/resource_integration/properties/quickbooks_credit_card_payment" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - integrations type: string required: - id - type error_code_forbidden: enum: - access_denied - account_inactive - agent_role_impersonation_denied - automatic_invoicing_not_manageable - billing_catalog_list_unavailable - booking_conflict_resolver_unavailable - budget_inaccessible - budgets_not_manageable - cascade_deletion_blocked - custom_roles_unavailable - deactivated_organization - deal_proposal_analytics_unavailable - deal_proposal_public_link_unavailable - document_styler_unavailable - document_templates_unavailable - email_inbox_unavailable - entry_not_editable - expense_not_editable - feature_unavailable - finalized_invoice_permission - financials_unavailable - impersonation_on_account_not_allowed - insufficient_automation_permission - insufficient_project_access - insufficient_seats - invalid_impersonate_role_id_header - invoices_unavailable - login_unavailable - mcp_access_disabled - mcp_connectors_disabled - mcp_provider_unavailable - missing_slack_integration - no_client_access - no_organization_id - no_person - no_sandbox_access - organization_red_flagged - other_timer_running - outgoing_emails_limit_exceeded - payment_reminders_unavailable - personal_access_token_limit_exceeded - pipelines_limit_exceeded - placeholders_limit_exceeded - plan_limit_exceeded - plan_unavailable - private_channel_forbidden - recipients_limit_exceeded - record_not_owned - restricted_email_in_trialing - role_impersonate_denied - select_organization - service_inaccessible - service_type_inaccessible - single_sign_on_invalid - single_sign_on_login_only - single_sign_on_provision_failed - single_sign_on_unavailable - subscription_expired - subsidiaries_unavailable - subsidiary_out_of_scope - teams_limit_exceeded - two_factor_login - unallocated_expense_inaccessible - webooks_limit_exceeded type: string title: Error Code description: Every error `code` an endpoint can return with a 403. resource_template: type: object title: Template Resource 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. properties: filter: title: Filter 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 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' creator: title: Creator description: Person who created the template. example: data: type: people id: '13' deal: title: Deal description: Deal target when `target_type` is `deal`. example: data: 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: 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' 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 name: type: string title: Name nullable: true maxLength: 255 description: Display name of the template. Required on create. Updates also rename the wrapped target. example: 'Offboarding: General' page: title: Page description: Page target when `target_type` is `page`. example: data: project: title: Project description: Project this template was scoped under (denormalized via the wrapped target). example: data: type: projects id: '258974' project_id: type: integer title: Project description: Project identifier — filterable to scope templates to a specific project context. example: 271026 query: type: string title: Query description: Free-text query — matches against the wrapped target name. example: offboarding target_id: type: integer title: Target description: Id of the wrapped target. example: '258974' target_type: enum: - budget - deal - project - page - task - report 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 task: title: Task description: Task target when `target_type` is `task`. example: data: 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 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' 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: scoring_project_relevancy_report: type: object title: Scoring project relevancy report description: 'Scoring configuration for the relevancy report -- one weight and one cap per heuristic. An option states a setting rather than a predicate, so it is not a filter: send it in the `scoring` parameter (`scoring[domain_cap]=3&scoring[domain_weight]=30`). A name that is not a scoring option and a value that is not a decimal integer are each rejected with 422, naming the option and the reason; a value outside an option''s range is clamped silently.' additionalProperties: false properties: activity_cap: type: integer title: Activity Cap default: 900 maximum: 1000000 minimum: 1 description: 'The raw recent activity total that normalizes `activity_score` to 100; everything above it is ceilinged. Lower the cap to saturate sooner, raise it to spread the range. Supply one integer in the `scoring` parameter (`scoring[activity_cap]=4`). A name that is not a scoring option, or a value that is not a decimal integer, is rejected with 422. Values outside 1-1000000 are clamped silently. Raising the cap far above the raw totals this heuristic actually produces normalizes it to 0 for every project: `LEAST(100, 100 * SUM(raw) DIV cap)` is 0 once `cap` exceeds `100 * raw`. Recalibrate against the heuristic''s observed range rather than by large round numbers -- a cap of 1000 is already past that floor for some heuristics.' activity_weight: type: integer title: Activity Weight default: 1 maximum: 100 minimum: 0 description: How much the normalized activity score contributes to `score`. Supply one integer in the `scoring` parameter (`scoring[activity_weight]=10`). A name that is not a scoring option, or a value that is not a decimal integer, is rejected with 422. Values outside 0-100 are clamped silently; 0 switches the heuristic out of the aggregate without removing its own `activity_score`. booked_cap: type: integer title: Booked Cap default: 2 maximum: 1000000 minimum: 1 description: 'The raw current bookings total that normalizes `booked_score` to 100; everything above it is ceilinged. Lower the cap to saturate sooner, raise it to spread the range. Supply one integer in the `scoring` parameter (`scoring[booked_cap]=4`). A name that is not a scoring option, or a value that is not a decimal integer, is rejected with 422. Values outside 1-1000000 are clamped silently. Raising the cap far above the raw totals this heuristic actually produces normalizes it to 0 for every project: `LEAST(100, 100 * SUM(raw) DIV cap)` is 0 once `cap` exceeds `100 * raw`. Recalibrate against the heuristic''s observed range rather than by large round numbers -- a cap of 1000 is already past that floor for some heuristics.' booked_weight: type: integer title: Booked Weight default: 1 maximum: 100 minimum: 0 description: How much the normalized booked score contributes to `score`. Supply one integer in the `scoring` parameter (`scoring[booked_weight]=10`). A name that is not a scoring option, or a value that is not a decimal integer, is rejected with 422. Values outside 0-100 are clamped silently; 0 switches the heuristic out of the aggregate without removing its own `booked_score`. domain_cap: type: integer title: Domain Cap default: 3 maximum: 1000000 minimum: 1 description: 'The raw domain-match total that normalizes `domain_score` to 100; everything above it is ceilinged. Lower the cap to saturate sooner, raise it to spread the range. Supply one integer in the `scoring` parameter (`scoring[domain_cap]=4`). A name that is not a scoring option, or a value that is not a decimal integer, is rejected with 422. Values outside 1-1000000 are clamped silently. Raising the cap far above the raw totals this heuristic actually produces normalizes it to 0 for every project: `LEAST(100, 100 * SUM(raw) DIV cap)` is 0 once `cap` exceeds `100 * raw`. Recalibrate against the heuristic''s observed range rather than by large round numbers -- a cap of 1000 is already past that floor for some heuristics.' domain_weight: type: integer title: Domain Weight default: 1 maximum: 100 minimum: 0 description: How much the normalized domain score contributes to `score`. Supply one integer in the `scoring` parameter (`scoring[domain_weight]=10`). A name that is not a scoring option, or a value that is not a decimal integer, is rejected with 422. Values outside 0-100 are clamped silently; 0 switches the heuristic out of the aggregate without removing its own `domain_score`. pinned_services_cap: type: integer title: Pinned Services Cap default: 2 maximum: 1000000 minimum: 1 description: 'The raw pinned services total that normalizes `pinned_services_score` to 100; everything above it is ceilinged. Lower the cap to saturate sooner, raise it to spread the range. Supply one integer in the `scoring` parameter (`scoring[pinned_services_cap]=4`). A name that is not a scoring option, or a value that is not a decimal integer, is rejected with 422. Values outside 1-1000000 are clamped silently. Raising the cap far above the raw totals this heuristic actually produces normalizes it to 0 for every project: `LEAST(100, 100 * SUM(raw) DIV cap)` is 0 once `cap` exceeds `100 * raw`. Recalibrate against the heuristic''s observed range rather than by large round numbers -- a cap of 1000 is already past that floor for some heuristics.' pinned_services_weight: type: integer title: Pinned Services Weight default: 1 maximum: 100 minimum: 0 description: How much the normalized pinned_services score contributes to `score`. Supply one integer in the `scoring` parameter (`scoring[pinned_services_weight]=10`). A name that is not a scoring option, or a value that is not a decimal integer, is rejected with 422. Values outside 0-100 are clamped silently; 0 switches the heuristic out of the aggregate without removing its own `pinned_services_score`. time_tracked_cap: type: integer title: Time Tracked Cap default: 400 maximum: 1000000 minimum: 1 description: 'The raw recent tracked time total that normalizes `time_tracked_score` to 100; everything above it is ceilinged. Lower the cap to saturate sooner, raise it to spread the range. Supply one integer in the `scoring` parameter (`scoring[time_tracked_cap]=4`). A name that is not a scoring option, or a value that is not a decimal integer, is rejected with 422. Values outside 1-1000000 are clamped silently. Raising the cap far above the raw totals this heuristic actually produces normalizes it to 0 for every project: `LEAST(100, 100 * SUM(raw) DIV cap)` is 0 once `cap` exceeds `100 * raw`. Recalibrate against the heuristic''s observed range rather than by large round numbers -- a cap of 1000 is already past that floor for some heuristics.' time_tracked_weight: type: integer title: Time Tracked Weight default: 60 maximum: 100 minimum: 0 description: How much the normalized time_tracked score contributes to `score`. Supply one integer in the `scoring` parameter (`scoring[time_tracked_weight]=10`). A name that is not a scoring option, or a value that is not a decimal integer, is rejected with 422. Values outside 0-100 are clamped silently; 0 switches the heuristic out of the aggregate without removing its own `time_tracked_score`. meeting_history_cap: type: integer title: Meeting History Cap default: 400 maximum: 1000000 minimum: 1 description: The raw meeting history total that normalizes `meeting_history_score` to 100; everything above it is ceilinged. Supply one integer in the `scoring` parameter (`scoring[meeting_history_cap]=400`). Values outside 1-1000000 are clamped silently. meeting_history_weight: type: integer title: Meeting History Weight default: 30 maximum: 100 minimum: 0 description: How much the normalized meeting history score contributes to `score`. Supply one integer in the `scoring` parameter (`scoring[meeting_history_weight]=10`). Values outside 0-100 are clamped silently. title_cap: type: integer title: Title Cap default: 2 maximum: 1000000 minimum: 1 description: The raw title total that normalizes `title_score` to 100; everything above it is ceilinged. Supply one integer in the `scoring` parameter (`scoring[title_cap]=2`). Values outside 1-1000000 are clamped silently. title_weight: type: integer title: Title Weight default: 10 maximum: 100 minimum: 0 description: How much the normalized title score contributes to `score`. Supply one integer in the `scoring` parameter (`scoring[title_weight]=10`). Values outside 0-100 are clamped silently. resource_einvoice_configuration: type: object title: E-invoice Configuration Resource properties: created_at: type: string title: Created At format: date-time example: '2025-03-15T10:30:00.000Z' face_enabled: type: boolean title: Face Enabled example: false include_pdf_attachment: type: boolean title: Include Pdf Attachment example: true include_timesheet_attachment: type: boolean title: Include Timesheet Attachment example: false kpd_code_mapping: type: object title: Kpd Code Mapping example: '72105': '3806' '72106': '3459' '72110': '55' ksef_enabled: type: boolean title: Ksef Enabled example: false mer_enabled: type: boolean title: Mer Enabled example: false mer_username: type: string title: Mer Username example: mer_user@example.com payment_means_type_id: enum: - 1 - 2 type: integer title: Payment Means Type example: 1 subsidiary: title: Subsidiary example: data: type: subsidiaries id: '42' subsidiary_id: type: integer title: Subsidiary example: '42' 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 updated_at: type: string title: Updated At format: date-time example: '2025-06-01T14:22:00.000Z' xrechnung_enabled: type: boolean title: Xrechnung Enabled example: true responsible_person_email: type: string title: Responsible Person Email verification_status_id: enum: - 1 - 2 - 3 - 4 type: integer title: Verification Status 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' resource_invoice_report: type: object title: Invoice report Resource 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. properties: 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: title: Amount description: Total invoice amount excluding tax, in the invoice's own currency. example: gt: 0 amount_credited: title: Amount Credited description: Amount credited (excluding tax) on this invoice, in the invoice's own currency. example: gt: 0 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 amount_paid: title: Amount Paid description: Amount paid by the client on this invoice, in the invoice's own currency. example: gt: 0 amount_tax: title: Amount Tax description: Tax amount 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 amount_with_tax: title: Amount With Tax description: Total invoice amount including tax, in the invoice's own currency. example: gt: 0 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 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 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 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 budget: title: Budget description: The associated budget (deal) for this invoice report row. example: gt: 0 company: title: Company description: The client company this invoice is billed to. example: eq: value company_billing_name: title: Company Billing Name description: The billing name of the client company as it appears on this invoice. example: eq: value company_id: type: integer title: Company description: ID of the client company this invoice is billed to. example: - 123 company_report: title: Company Report description: Related company report data for the client in this report group. example: eq: value count: type: integer title: Count description: Number of invoices in this report group. example: gt: 0 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' 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' creator: title: Creator description: The person who created this invoice. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created this invoice. example: - 123 creator_report: title: Creator Report description: Related person report data for the invoice creator 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 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 currency_id: type: string title: Currency description: ID of the currency used on this invoice. example: - 123 currency_normalized: title: Currency Normalized description: Currency code of the organization's common normalized currency used for cross-currency reporting. example: eq: value 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 deal_id: type: integer title: Deal description: ID of the associated budget (deal) whose services are included in this invoice. example: - 123 delivery_on: type: string title: Delivery On format: date description: Date when the goods or services on this invoice were delivered. example: eq: value delivery_on_period: title: Delivery On Period description: Time period grouping for the delivery date (e.g. week, month, quarter). example: eq: value 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 formula_fields: title: Formula Fields description: User-defined formula field values computed for this report row. example: eq: value formulas: type: integer title: Formulas description: Formula definitions used to compute custom calculated columns in this report. example: eq: value 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 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' 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 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 id: type: integer title: Id description: Unique identifier for this invoice report row. example: - 123 invoice: title: Invoice description: The invoice associated with this report row (present when grouped by individual invoice). 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 invoice_created_at: title: Invoice Created At description: The invoice's creation timestamp, surfaced as a report column. example: gt: '2026-01-01' invoice_custom_fields: title: Invoice Custom Fields description: The invoice's custom field values, surfaced as a report column. example: eq: value invoice_delivery_on: title: Invoice Delivery On description: The invoice's delivery date, surfaced as a report column. example: eq: value invoice_discount: title: Invoice Discount description: The discount applied to this invoice, surfaced as a report column. example: gt: 0 invoice_invoiced_on: title: Invoice Invoiced On description: The date this invoice was issued, surfaced as a report column. example: eq: value 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' invoice_number: title: Invoice Number description: The invoice's unique number identifier, surfaced as a report column. example: eq: value invoice_paid_on: title: Invoice Paid On description: Date when this invoice was paid, surfaced as a report column. example: eq: value invoice_pay_on: title: Invoice Pay On description: The invoice's due date, surfaced as a report column. 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 invoice_sent_on: title: Invoice Sent On description: Invoice sent on for this invoice report group. example: eq: value invoice_state: enum: - 1 - 2 type: integer title: Invoice State description: Invoice state for this invoice report group. example: eq: active invoice_status: enum: - 0 - 1 - 2 - 3 - 4 type: integer title: Invoice Status description: Invoice status for this invoice report group. example: eq: active invoice_subject: title: Invoice Subject description: Invoice subject 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 invoiced_on: type: string title: Invoiced On format: date description: Date this invoice was issued (the official invoice date). example: eq: value invoiced_on_period: title: Invoiced On Period description: Time period grouping for the invoice issued date (e.g. week, month, quarter). example: eq: value 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 issuer: title: Issuer description: The person (subsidiary contact) who issued this invoice on behalf of the organization. example: eq: value issuer_id: type: integer title: Issuer description: ID of the person who issued this invoice. example: - 123 issuer_report: title: Issuer Report description: Related person report data for the invoice issuer in this report group. example: eq: value 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 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' 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' month: type: string title: Month description: Month dimension for time-based report grouping (deprecated — use invoiced_on_period instead). example: eq: value number: type: string title: Number description: The unique invoice number identifying this invoice. example: eq: value organization: title: Organization description: The organization that owns this invoice report. example: eq: value overdue_status: enum: - 1 - 2 type: integer title: Overdue Status description: Overdue status for this invoice report group. example: eq: active paid_on: type: string title: Paid On format: date description: Paid on for this invoice 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 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 pay_on: type: string title: Pay On format: date description: Due date by which this invoice must be paid. 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 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 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 project: title: Project description: The project associated with this invoice row. example: eq: value project_id: type: integer title: Project description: ID of the project associated with this invoice. example: - 123 purchase_order_number: type: string title: Purchase Order Number description: The client's purchase order number associated with this invoice. example: PO-2024-017 quarter: type: string title: Quarter description: Quarter dimension for time-based report grouping (deprecated — use invoiced_on_period instead). example: eq: value 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 report: title: Report description: The saved report (filter view) this invoice report row belongs to. example: eq: value responsible_id: type: integer title: Responsible description: Responsible id for this invoice report group. example: - 123 sent_on: type: string title: Sent On format: date description: Sent on for this invoice report group. example: eq: value sent_on_period: title: Sent On Period description: Time period grouping for sent on (e.g. week, month, quarter). 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 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 subscriber_id: type: integer title: Subscriber description: ID of the person subscribed to this invoice (receives notifications for recurring invoices). example: - 123 subsidiary: title: Subsidiary description: The subsidiary (legal entity) this invoice payment is directed to. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary this invoice is issued from. example: - 123 tax_rates: type: string title: Tax Rates description: Tax rates applied to line items on this invoice. example: gt: 0 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 total_amount_credited: title: Total Amount Credited description: Sum of all credited amounts (excluding tax) across invoices in this report group. example: gt: 0 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 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 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 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_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 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 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 total_amount_paid: title: Total Amount Paid description: Sum of amount paid across all records in this invoice report group. example: gt: 0 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 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_tax: title: Total Amount Tax description: Sum of amount tax across all records in this invoice report group. example: gt: 0 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 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_unpaid: title: Total Amount Unpaid description: Sum of amount unpaid across all records in this invoice report group. 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_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 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 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 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_written_off: title: Total Amount Written Off description: Sum of amount written off across all records in this invoice report group. example: gt: 0 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 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 week: type: string title: Week description: Week grouping for this invoice report row. example: eq: value year: type: string title: Year description: Year grouping for this invoice report row. 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 fiscalization_status: type: integer title: Fiscalization Status description: The fiscalization status of this invoice for tax compliance purposes. example: eq: active 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 payment_terms_type: type: integer title: Payment Terms Type delivery_method: type: integer title: Delivery Method example: id: '123' type: invoice_reports attributes: total_invoiced: 50000 paid: 35000 overdue: 5000 draft: 10000 project_id: 45 relationships: {} _filter_root_discussion: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_discussion" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_resource_request: type: object title: Filter resource request patternProperties: "^deal..*$": title: Deal relationship "^budget..*$": title: Budget relationship "^creator..*$": title: Creator relationship "^service..*$": title: Service relationship "^resolver..*$": title: Resolver relationship description: Filter parameters for listing resource requests. properties: tags: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/tags" - type: array items: "$ref": "#/components/schemas/resource_resource_request/properties/tags" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/tags" - type: array items: "$ref": "#/components/schemas/resource_resource_request/properties/tags" title: List contains: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/tags" - type: array items: "$ref": "#/components/schemas/resource_resource_request/properties/tags" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/tags" - type: array items: "$ref": "#/components/schemas/resource_resource_request/properties/tags" title: List any_of: type: array items: "$ref": "#/components/schemas/resource_resource_request/properties/tags" none_of: type: array items: "$ref": "#/components/schemas/resource_resource_request/properties/tags" - "$ref": "#/components/schemas/resource_resource_request/properties/tags" - type: array items: "$ref": "#/components/schemas/resource_resource_request/properties/tags" title: List description: Filter by tag values stored in the resource request fields. example: eq: value created_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by created_at date range. example: gt: '2026-01-01' creator_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the ID of the person who created the resource request. example: - 123 custom_fields: type: object additionalProperties: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string any_of: type: array items: type: string not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings none_of: type: array items: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String description: Filter by custom field values on the resource request. example: eq: value deleted_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by deleted_at date range. example: gt: '2026-01-01' ended_on: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by end date range. example: eq: value id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by resource request ID. example: - 123 job_title: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_resource_request/properties/job_title" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/job_title" gt: "$ref": "#/components/schemas/resource_resource_request/properties/job_title" lt: "$ref": "#/components/schemas/resource_resource_request/properties/job_title" gt_eq: "$ref": "#/components/schemas/resource_resource_request/properties/job_title" lt_eq: "$ref": "#/components/schemas/resource_resource_request/properties/job_title" contains: "$ref": "#/components/schemas/resource_resource_request/properties/job_title" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/job_title" - "$ref": "#/components/schemas/resource_resource_request/properties/job_title" description: Filter by the requested job title stored in the resource request fields. example: eq: value query: anyOf: - type: object title: Operation properties: 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" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/query" - "$ref": "#/components/schemas/resource_resource_request/properties/query" description: Full-text search filter across resource request titles. example: eq: value resolved_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by resolved_at date range. example: gt: '2026-01-01' resolver_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the ID of the person who resolved the resource request. example: - 123 service_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the ID of the service (billing point) the resource request belongs to. example: - 123 service_type_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (no values) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (no values) maxLength: 0 description: Filter by service type IDs stored in the resource request fields. example: - 123 started_on: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by start date range. example: eq: value status: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/status" - type: array items: "$ref": "#/components/schemas/resource_resource_request/properties/status" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/status" - type: array items: "$ref": "#/components/schemas/resource_resource_request/properties/status" title: List - "$ref": "#/components/schemas/resource_resource_request/properties/status" - type: array items: "$ref": "#/components/schemas/resource_resource_request/properties/status" title: List description: Filter by the status of the resource request. example: eq: active subsidiary_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by subsidiary ID stored in the resource request fields. example: - 123 team_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (no values) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (no values) maxLength: 0 description: Filter by team IDs stored in the resource request fields. example: - 123 time: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_resource_request/properties/time" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/time" gt: "$ref": "#/components/schemas/resource_resource_request/properties/time" lt: "$ref": "#/components/schemas/resource_resource_request/properties/time" gt_eq: "$ref": "#/components/schemas/resource_resource_request/properties/time" lt_eq: "$ref": "#/components/schemas/resource_resource_request/properties/time" - "$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 time_to_close: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_resource_request/properties/time_to_close" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/time_to_close" gt: "$ref": "#/components/schemas/resource_resource_request/properties/time_to_close" lt: "$ref": "#/components/schemas/resource_resource_request/properties/time_to_close" gt_eq: "$ref": "#/components/schemas/resource_resource_request/properties/time_to_close" lt_eq: "$ref": "#/components/schemas/resource_resource_request/properties/time_to_close" - "$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 title: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/title" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/title" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_resource_request/properties/title" lt: "$ref": "#/components/schemas/resource_resource_request/properties/title" gt_eq: "$ref": "#/components/schemas/resource_resource_request/properties/title" lt_eq: "$ref": "#/components/schemas/resource_resource_request/properties/title" contains: "$ref": "#/components/schemas/resource_resource_request/properties/title" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/title" - "$ref": "#/components/schemas/resource_resource_request/properties/title" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the title of the resource request. example: eq: value workplace_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by workplace ID stored in the resource request fields. example: - 123 job_role_id: anyOf: - type: object title: Operation properties: not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List example: id: eq: '123' _response_object_pipeline: type: object title: Pipeline properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_pipeline/properties/created_at" icon_id: anyOf: - "$ref": "#/components/schemas/resource_pipeline/properties/icon_id" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_pipeline/properties/name" pipeline_type_id: "$ref": "#/components/schemas/resource_pipeline/properties/pipeline_type_id" position: "$ref": "#/components/schemas/resource_pipeline/properties/position" updated_at: "$ref": "#/components/schemas/resource_pipeline/properties/updated_at" id: type: string relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" updater: "$ref": "#/components/schemas/_single_relationship" type: enum: - pipelines type: string required: - id - type _response_object_service_type: type: object title: Service type properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_service_type/properties/archived_at" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_service_type/properties/name" id: type: string relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_relationship" assignees: "$ref": "#/components/schemas/_collection_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - service_types type: string required: - id - type resource_pipeline: type: object title: Pipeline Resource description: A sales or production pipeline defining the stages that deals progress through. properties: created_at: type: string title: Created At format: date-time description: Timestamp when the pipeline was created. example: gt: '2026-01-01' creator: title: Creator description: Person who created this pipeline. example: eq: value icon_id: type: string title: Icon description: Icon ID used to visually identify this pipeline. example: - 123 name: type: string title: Name description: Display name of the pipeline. example: eq: value organization: title: Organization description: The organization this pipeline belongs to. example: eq: value pipeline_type_id: enum: - 1 - 2 type: integer title: Pipeline Type description: 'Pipeline type: 1 = sales (opportunities), 2 = production (budgets).' example: - 123 position: type: integer title: Position description: Display order of this pipeline relative to other pipelines. example: eq: value updated_at: type: string title: Updated At format: date-time description: Timestamp of the last modification to this pipeline. example: gt: '2026-01-01' updater: title: Updater description: Person who last updated this pipeline. example: eq: value 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' _filter_person_id_list_ignored: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List title: Filter id list (operation ignored) resource_service_type: type: object title: Service type Resource description: Represents a category of work an organization delivers, used to classify services on deals and budgets. properties: 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' assignees: title: Assignees description: Array of people assigned to this service type. example: eq: value id: type: integer title: Id description: The unique identifier of this service type. example: - 123 name: type: string title: Name description: The name of this service type. example: eq: value organization: title: Organization description: The organization this service type belongs to. example: eq: value person_id: type: integer title: Person description: ID of the person used to filter service types by assignee. example: - 123 query: type: string title: Query description: A search query string used to filter service types by name. 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 example: id: '123' type: service_types attributes: name: Design billing_type: hourly relationships: {} _response_object_lost_reason: type: object title: Lost reason properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_lost_reason/properties/archived_at" - type: 'null' title: 'Null' name: anyOf: - "$ref": "#/components/schemas/resource_lost_reason/properties/name" - type: 'null' title: 'Null' position: "$ref": "#/components/schemas/resource_lost_reason/properties/position" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - lost_reasons type: string required: - id - type error_code_agent_session: enum: - agent_not_found - automation_agent_mismatch - automation_run_not_found - automation_step_not_found - bad_decimal_format - invalid_attribute_value - invalid_outcome_status - non_finite_number - null_bytes_in_params - person_not_found type: string title: Error Code description: Every error `code` the agent sessions endpoints can return. error_code_approval_policy: enum: - approval_policy_feature_unavailable - bad_decimal_format - invalid_attribute_value - name_not_unique - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the approval policies endpoints can return. error_code_approval_policy_assignment: enum: - approval_policy_already_assigned - approval_policy_assignment_busy - approval_policy_feature_unavailable - approval_policy_requires_designated_approver - approval_policy_requires_project - bad_decimal_format - invalid_attribute_value - manager_not_set - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the approval policy assignments endpoints can return. error_code_approval_workflow: enum: - approver_custom_field_ids_invalid - approver_custom_field_ids_not_required - approver_ids_invalid_permissions - approver_ids_not_required - approver_ids_required - bad_decimal_format - dynamic_approver_ids_missing_designated_approver - dynamic_approver_ids_missing_manager - dynamic_approver_ids_missing_project - dynamic_approver_ids_not_required - invalid_attribute_value - non_finite_number - null_bytes_in_params - subscriber_ids_invalid_permissions - target_type_id_not_unique type: string title: Error Code description: Every error `code` the approval workflows endpoints can return. error_code_automatic_invoicing_rule: enum: - bad_decimal_format - invalid_attribute_value - next_invoice_date_before_budget_start - next_invoice_date_in_past - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the automatic invoicing rules endpoints can return in a 422 response. error_code_automation: enum: - action_not_authorized - agent_not_found - agent_not_managed - automation_not_authorized - bad_decimal_format - email_action_invalid - filter_attribute_not_supported - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params - personal_cannot_be_changed - personal_with_agent - relative_value_not_supported - resolve_on_all_projects_not_authorized - slack_channels_required - start_ai_agent_user_prompt_required - steps_action_step_required - steps_object_uuid_invalid - steps_schema_invalid - steps_trigger_count_invalid - survey_not_found - target_not_authorized - target_not_available_for_personal - target_not_found - target_not_supported_for_type - template_not_found - trigger_not_supported - update_employee_manager_not_allowed type: string title: Error Code description: Every error `code` the automations endpoints can return. error_code_automation_project_assignment: enum: - automation_not_found - bad_decimal_format - creator_is_not_owner - non_finite_number - null_bytes_in_params - project_not_found - project_on_template_automation - template_project_on_existing_automation type: string title: Error Code description: Every error `code` the automation project assignments endpoints can return. error_code_aws_policy: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the AWS policy endpoint can return. error_code_backoffice_ai_dev_session_token: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the backoffice AI dev session tokens endpoint can return. error_code_backoffice_einvoice_configuration: enum: - bad_decimal_format - invalid_status_transition - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the backoffice e-invoice configuration endpoints can return. error_code_backoffice_feature: enum: - bad_decimal_format - feature_has_account_overrides - feature_key_immutable - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the backoffice features endpoints can return. error_code_backoffice_flag: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the backoffice flags endpoints can return. error_code_backoffice_organization: enum: - bad_decimal_format - billing_group_owner_not_found - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the backoffice organizations endpoints can return. error_code_backoffice_organization_contract: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - organization_contract_overlap - phases_schema_invalid type: string title: Error Code description: Every error `code` the backoffice organization contracts endpoints can return. error_code_backoffice_organization_subscription: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the backoffice organization subscriptions endpoints can return. error_code_backoffice_user: enum: - bad_decimal_format - email_already_exists - email_invalid - invalid_attribute_value - non_finite_number - null_bytes_in_params - user_time_zone_invalid type: string title: Error Code description: Every error `code` the backoffice users endpoints can return. error_code_backoffice_user_segment: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the backoffice user segments endpoints can return. error_code_bad_request: enum: - account_owner_missing - authorization_failure - bad_filter_request - bad_request - bad_sort_request - budget_report_failed - bulk_export_failed - calendar_reauthorization_required - changed_since_conflict - changed_since_invalid - changed_since_unsupported - company_export_match_changed - company_not_exported - cross_invoice_bulk - data_not_array - datev_request_failed - datev_token_refresh_failed - datev_token_refresh_locked - einvoice_export_failed - empty_body - exchange_currency_invalid - exchange_date_invalid - export_error - export_failed - export_status_unavailable - fields_request_invalid - formulas_request_invalid - group_custom_field_unsupported - group_param_relationship_unsupported - group_request_invalid - include_request_invalid - integration_error - invalid_request_parameters - invalid_seats_allocations - json_format_invalid - keyset_conflict - keyset_invalid_cursor - keyset_unsupported_sort - missing_date_period - missing_relationship_field - multipart_body_invalid - netsuite_credit_note_form_missing - netsuite_discount_amount_missing - netsuite_discount_item_missing - parameter_missing - peppol_transaction_failed - query_parameters_invalid - relationship_depth_unsupported - report_keyset_requires_single_type - report_keyset_restricted_access - report_keyset_unsupported_filter - report_keyset_unsupported_group - sort_custom_field_unsupported - sort_param_relationship_unsupported - sort_param_unsupported - tax_id_unsupported - unsupported_currency - unsupported_date_period - unsupported_filter - unsupported_filter_level - unsupported_filter_operation - unsupported_filter_value - unsupported_filter_value_type - unsupported_formula - unsupported_formula_component - unsupported_formula_operator - unsupported_group - unsupported_group_param - unsupported_include - unsupported_number_of_group_params - unsupported_sort type: string title: Error Code description: Every error `code` an endpoint can return with a 400. error_code_bank_account: enum: - bad_decimal_format - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the bank accounts endpoints can return. error_code_bill: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the bills endpoints can return in a 422 response. error_code_bill_item: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the bill items endpoints can return in a 422 response. error_code_contact_entry: enum: - bad_decimal_format - billing_address_already_exists - billing_address_type_invalid - contactable_placeholder_not_allowed - country_invalid - email_already_exists - email_invalid - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the contact entries endpoints can return in a 422 response. error_code_custom_domain: enum: - bad_decimal_format - custom_sender_email_feature_unavailable - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the custom domain endpoints can return. error_code_custom_field: enum: - bad_decimal_format - invalid_attribute - invalid_attribute_value - maximum_value_not_greater_than_minimum - name_not_unique - non_finite_number - null_bytes_in_params - required_unsupported_for_type - service_custom_fields_feature_unavailable type: string title: Error Code description: Every error `code` the custom fields endpoints can return in a 422 response. error_code_custom_field_option: enum: - bad_decimal_format - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the custom field options endpoints can return in a 422 response. error_code_custom_field_section: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the custom field sections endpoints can return in a 422 response. error_code_dashboard: enum: - bad_decimal_format - dashboard_filters_schema_invalid - dashboard_outside_project_subsidiary - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the dashboards endpoints can return. error_code_deal_contact: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the deal contacts endpoints can return. error_code_deal_cost_rate: enum: - bad_decimal_format - deal_change_not_allowed - deal_cost_rate_feature_unavailable - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the deal cost rates endpoints can return. error_code_deal_status: enum: - bad_decimal_format - deal_status_last_stage_not_allowed - deal_status_mismatch - deal_status_status_change_not_allowed - invalid_attribute_value - non_finite_number - null_bytes_in_params - probability_feature_unavailable type: string title: Error Code description: Every error `code` the deal statuses endpoints can return. error_code_deleted_item: enum: - bad_decimal_format - booking_closed_financial_period - budget_closed - budget_expenses_closed_financial_period - budget_project_deleted - budget_time_entries_closed_financial_period - dashboard_deleted_item_id_required - event_deleted - expense_closed_financial_period - filter_deleted_item_id_required - filter_project_not_found - non_finite_number - null_bytes_in_params - page_parent_deleted - page_project_deleted - person_inactive - project_milestone_project_deleted - proposal_deal_deleted - purchase_order_deal_deleted - purchase_order_line_items_closed_financial_period - purchase_order_line_items_moved - resource_request_service_deleted - service_budget_deleted - service_budget_does_not_allow_overtime - service_deleted - service_expenses_closed_financial_period - service_inactive - service_not_found - service_percentage_not_allowed_on_internal_budget - service_time_entries_closed_financial_period - service_time_tracking_disabled - survey_project_deleted - survey_project_limit_reached - task_project_deleted - time_entry_budget_does_not_allow_overtime - time_entry_closed_financial_period - time_entry_locked_period - time_entry_outside_budget_period type: string title: Error Code description: Every error `code` the restore of a deleted item can return. error_code_document_style: enum: - bad_decimal_format - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the document styles endpoints can return. error_code_einvoice_identity: enum: - bad_decimal_format - company_or_subsidiary_required - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the e-invoice identity endpoints can return. _filter_root_approval_policy_assignment: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_approval_policy_assignment" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_approval_policy_assignment" description: Filter schema for `approval_policy_assignment` list endpoints — pass a single condition or a logical group. example: id: eq: '123' error_code_email: enum: - bad_decimal_format - body_invalid - body_missing - from_email_unsupported - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params - recipient_address_invalid - recipients_limit_exceeded - recipients_missing - restricted_email_in_trialing - subject_invalid - subject_missing type: string title: Error Code description: Every error `code` the email endpoints can return. error_code_email_link: enum: - bad_decimal_format - invalid_attribute - invalid_attribute_value - invalid_link_target - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the email link endpoints can return. error_code_entitlement: enum: - bad_decimal_format - entitlement_allocated_below_used - entitlement_allocated_invalid_increment - entitlement_allocated_not_a_number - entitlement_allocated_too_large - entitlement_bookings_after_end_date - entitlement_bookings_before_start_date - entitlement_event_move_with_bookings - entitlement_person_move_with_bookings - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the entitlements endpoints can return in a 422 response. _filter_root_approval_status: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_approval_status" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_approval_status" error_code_event: enum: - absence_type_feature_unavailable - bad_decimal_format - event_type_requires_unpaid - half_day_bookings_invalid - invalid_attribute_value - limitation_type_immutable - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the events endpoints can return in a 422 response. _filter_root_artifact: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_artifact" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_artifact" error_code_expense: enum: - bad_decimal_format - expense_already_copied - expense_export_pending - expense_not_approved - expenses_integration_feature_unavailable - integration_not_found - invalid_attribute_value - non_finite_number - null_bytes_in_params - payment_due_date_required - service_budget_closed - subsidiary_not_found type: string title: Error Code description: Every error `code` the expenses endpoints can return. error_code_expense_line_item: enum: - bad_decimal_format - expense_line_item_approved_expense - expense_line_item_expense_inaccessible - expense_line_item_quantity_immutable - expense_line_item_tax_rate_subsidiary_mismatch - expense_line_item_unit_price_immutable - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the expense line item endpoints can return. error_code_filter_preference: enum: - bad_decimal_format - field_id_taken - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the filter preference endpoints can return in a 422 response. error_code_financial_month: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the financial month endpoints can return. error_code_holiday: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the holidays endpoints can return in a 422 response. error_code_holiday_calendar: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the holiday calendars endpoints can return in a 422 response. error_code_import: enum: - account_not_verified - bad_decimal_format - feature_unavailable - harvest_import_feature_unavailable - import_data_empty - import_data_invalid - import_models_unsupported - invalid_attribute_value - non_finite_number - null_bytes_in_params - project_not_accessible - task_list_not_accessible type: string title: Error Code description: Every error `code` the imports endpoints can return in a 422 response. error_code_integration_exporter_configuration: enum: - bad_decimal_format - company_not_accessible - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the integration exporter configurations endpoints can return. error_code_integration_task_management_configuration: enum: - bad_decimal_format - configuration_already_exists - configuration_anchor_invalid - deal_id_immutable - deal_not_accessible - default_person_invalid - default_service_invalid - integration_id_immutable - integration_not_accessible - invalid_attribute_value - jira_board_not_found - jira_board_not_in_project - jira_project_not_found - jira_task_management_integration_not_enabled - non_finite_number - null_bytes_in_params - project_id_immutable - project_not_accessible type: string title: Error Code description: Every error `code` the integration task management configurations endpoints can return. error_code_invoice_attribution: enum: - bad_decimal_format - budget_currency_mismatch - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the invoice attributions endpoints can return in a 422 response. error_code_invoice_template: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the invoice templates endpoints can return in a 422 response. error_code_invoiced_budget: enum: - bad_decimal_format - budget_currency_mismatch - invalid - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the invoiced budgets endpoints can return in a 422 response. error_code_job_role: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the job roles endpoints can return in a 422 response. error_code_line_item: enum: - bad_decimal_format - invalid_attribute_value - invoice_finalized_locked - line_item_credited_locked - non_finite_number - null_bytes_in_params - percentage_quantity_invariant - percentage_unit_invariant type: string title: Error Code description: Every error `code` the line item endpoints can return. error_code_locked: enum: - locked type: string title: Error Code description: Every error `code` an endpoint can return with a 423. error_code_lost_reason: enum: - bad_decimal_format - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the lost reasons endpoints can return. error_code_mcp_server: enum: - already_verified - bad_decimal_format - credentials_not_allowed - credentials_not_updatable - credentials_pair_required - invalid_attribute - invalid_attribute_value - missing_credentials - non_finite_number - not_in_catalog - null_bytes_in_params type: string title: Error Code description: Every error `code` the MCP servers endpoints can return. error_code_memory: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - project_not_found type: string title: Error Code description: Every error `code` the memories endpoints can return. error_code_not_acceptable: enum: - bulk_extensions_headers_invalid - not_acceptable - read_only_mode_violation type: string title: Error Code description: Every error `code` an endpoint can return with a 406. error_code_not_found: enum: - not_found - record_not_found - route_not_found type: string title: Error Code description: Every error `code` an endpoint can return with a 404. error_code_offboarding: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - offboarding_already_completed - offboarding_already_in_progress - offboarding_new_owner_invalid - offboarding_new_owner_required - offboarding_new_owner_same_as_old - offboarding_owner_not_allowed - offboarding_person_invalid - offboarding_person_no_user - offboarding_tasks_owner_invalid type: string title: Error Code description: Every error `code` the offboarding endpoints can return. error_code_organization_subscription: enum: - address_invalid - bad_decimal_format - billing_address_country_required - billing_address_eu_vat_invalid_format - billing_address_name_required - billing_address_state_invalid - billing_address_tax_id_code_invalid - billing_address_tax_id_code_required - billing_address_tax_id_code_unsupported - billing_address_tax_id_required - billing_group_seats_below_allocated - discontinued_products_not_allowed - email_invalid - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params - plan_cycle_change_not_allowed - plan_cycle_change_not_allowed_discontinued_product - product_type_attribute_invalid - product_types_addon_unverified - product_types_change_not_allowed - product_types_invalid_gated - product_types_required_track_missing - product_types_same_track - seats_below_contract_minimum - seats_below_minimum - seats_below_used - seats_change_not_allowed_in_billing_group - standalone_product_required - trial_products_already_trialed - trial_products_in_free_trial_not_allowed - trial_products_not_trialable type: string title: Error Code description: Every error `code` the organization subscriptions endpoints can return. error_code_page: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - page_cover_image_url_invalid - page_custom_fields_require_project - page_custom_fields_root_page_only - page_only_docs_publishable - page_only_docs_unpublishable - page_parent_page_invalid - page_parent_root_page_mutual_presence - page_project_root_page_only - page_root_page_invalid - page_subpage_copy_to_project_not_allowed - page_template_doc_copy_not_allowed - page_template_project_not_allowed - page_version_number_invalid type: string title: Error Code description: Every error `code` the page endpoints can return. error_code_page_version: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the page version endpoints can return. error_code_password: enum: - bad_decimal_format - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the passwords endpoints can return. error_code_payment: enum: - bad_decimal_format - invalid_attribute_value - invoice_not_sent - non_finite_number - null_bytes_in_params - payment_paid_on_and_written_off_on_conflict type: string title: Error Code description: Every error `code` the payments endpoints can return in a 422 response. error_code_payment_reminder: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - reminder_from_email_unsupported - reminder_invoice_and_sequence_conflict - reminder_invoice_due_date_required - reminder_invoice_not_sent - reminder_recipients_limit_exceeded - reminder_trial_recipients_restricted type: string title: Error Code description: Every error `code` the payment reminders endpoints can return in a 422 response. error_code_payment_reminder_sequence: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the payment reminder sequences endpoints can return in a 422 response. error_code_pipeline: enum: - bad_decimal_format - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the pipelines endpoints can return. error_code_placeholder: enum: - bad_decimal_format - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the placeholders endpoints can return. error_code_placeholder_usage: enum: - bad_decimal_format - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params - placeholder_usage_already_exists type: string title: Error Code description: Every error `code` the placeholder usages endpoints can return. error_code_price: enum: - bad_decimal_format - custom_field_invalid_option - custom_field_invalid_person - custom_field_not_found - custom_field_value_not_date - custom_field_value_not_number - custom_field_value_out_of_range - discount_amount_exceeds_line_total - discount_amount_not_allowed_on_non_fixed - discount_mode_ambiguous - invalid_attribute_value - non_finite_number - null_bytes_in_params - percentage_billing_type_not_allowed type: string title: Error Code description: Every error `code` the prices endpoints can return in a 422 response. error_code_project_relevancy_report: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the project relevancy reports endpoint can return in a 422 response. error_code_public_survey_response: enum: - bad_decimal_format - custom_field_invalid_option - custom_field_invalid_person - custom_field_not_found - custom_field_value_not_date - custom_field_value_not_number - custom_field_value_not_string - custom_field_value_out_of_range - custom_field_value_too_long - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the public survey submit endpoint can return. error_code_pulse: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the pulses endpoints can return in a 422 response. error_code_report_category: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the report categories endpoints can return in a 422 response. error_code_request_timeout: enum: - db_max_execution_time type: string title: Error Code description: Every error `code` an endpoint can return with a 408. error_code_resource_request: enum: - bad_decimal_format - bookings_must_be_array - currency_invalid - custom_field_invalid_option - custom_field_invalid_person - custom_field_not_found - custom_field_value_not_date - custom_field_value_not_number - custom_field_value_not_string - custom_field_value_out_of_range - custom_field_value_too_long - invalid_attribute_value - job_role_id_invalid - non_finite_number - null_bytes_in_params - preferred_person_ids_invalid - required_custom_field type: string title: Error Code description: Every error `code` the resource requests endpoints can return. error_code_salary: enum: - already_has_salaries - bad_decimal_format - currency_invalid - invalid_attribute_value - non_finite_number - not_accessible_for_salary_assignment - null_bytes_in_params - period_overlap - working_hours_count_invalid - working_hours_weeks_mismatch type: string title: Error Code description: Every error `code` the salaries endpoints can return in a 422 response. error_code_scenario_booking: enum: - bad_decimal_format - custom_field_invalid_option - custom_field_invalid_person - custom_field_not_found - custom_field_value_not_date - custom_field_value_not_number - custom_field_value_not_string - custom_field_value_out_of_range - custom_field_value_too_long - feature_unavailable - integer_limit_exceeded - invalid_attribute_value - non_finite_number - null_bytes_in_params - required_custom_field type: string title: Error Code description: Every error `code` the scenario bookings endpoints can return. error_code_scenario_item: enum: - bad_decimal_format - feature_unavailable - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the scenario items endpoints can return. error_code_scenario_section: enum: - bad_decimal_format - feature_unavailable - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the scenario sections endpoints can return. error_code_scenario_service: enum: - bad_decimal_format - discount_amount_exceeds_line_total - discount_amount_not_allowed_on_non_fixed - discount_mode_ambiguous - feature_unavailable - invalid_attribute_value - non_finite_number - null_bytes_in_params - percentage_billing_type_feature_unavailable type: string title: Error Code description: Every error `code` the scenario services endpoints can return. error_code_section: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - section_has_services type: string title: Error Code description: Every error `code` the sections endpoints can return. error_code_server_error: enum: - bad_decimal_format - non_finite_number - null_bytes_in_params - recaptcha_browser_error - server_error type: string title: Error Code description: Every error `code` an endpoint can return with a 500. error_code_service_assignment: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - service_percentage_billing_type_not_allowed type: string title: Error Code description: Every error `code` the service assignments endpoints can return in a 422 response. error_code_service_type: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the service types endpoints can return in a 422 response. error_code_service_type_assignment: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the service type assignments endpoints can return in a 422 response. error_code_session: enum: - bad_decimal_format - expired_jwt_token - invalid_attribute - invalid_attribute_value - invalid_jwt_token - non_finite_number - null_bytes_in_params - organization_id_invalid - organization_membership_id_invalid - person_id_invalid - session_otp_invalid - session_otp_too_many_attempts - user_email_invalid - user_not_found type: string title: Error Code description: Every error `code` the sessions endpoints can return. error_code_shortened_link: enum: - bad_decimal_format - invalid_attribute_value - invalid_url - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the shortened links endpoints can return. error_code_signup: enum: - bad_decimal_format - email_already_verified - email_domain_invalid - email_invalid - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params - verification_code_invalid type: string title: Error Code description: Every error `code` the signups endpoints can return. error_code_sso_configuration: enum: - admin_sso_session_required - bad_decimal_format - feature_unavailable - invalid_attribute_value - invalid_xml_metadata - non_finite_number - null_bytes_in_params - single_sign_on_already_enabled - single_sign_on_not_enabled - single_sign_on_restricted_in_trialing type: string title: Error Code description: Every error `code` the SSO configuration endpoints can return. error_code_survey: enum: - bad_decimal_format - feature_unavailable - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the surveys create, update and copy endpoints can return. error_code_survey_field: enum: - bad_decimal_format - data_type_not_compatible_with_origin_field - invalid_attribute_value - non_finite_number - null_bytes_in_params - origin_field_not_in_project - origin_field_used_in_other_survey_fields type: string title: Error Code description: Every error `code` the survey fields endpoints can return. error_code_survey_field_option: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - survey_field_has_origin_field type: string title: Error Code description: Every error `code` the survey field options endpoints can return. error_code_task: enum: - bad_decimal_format - booking_date_range - booking_outside_budget_dates - custom_field_invalid_option - custom_field_invalid_person - custom_field_not_found - custom_field_value_not_date - custom_field_value_not_number - custom_field_value_not_string - custom_field_value_out_of_range - custom_field_value_too_long - financially_locked_bookings - invalid_attribute_value - invalid_level_of_subtasks - no_project_membership - non_finite_number - null_bytes_in_params - percentage_service_not_allowed_on_task - repeat_on_weekday_invalid - repeating_tasks_feature_unavailable - service_not_allowed_on_template_task - task_dates_missing - task_dependencies_not_allowed_on_template - task_list_archived - task_private_not_allowed - task_private_not_found - task_required_by_time_entries - task_tag_name_too_long - timesheet_locked_bookings - workflow_archived type: string title: Error Code description: Every error `code` the task create, update, copy and move_dependent endpoints can return with a 422. error_code_task_list: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - tasks_required - workflow_statuses_invalid - workflow_statuses_required type: string title: Error Code description: Every error `code` the task list endpoints can return. error_code_time_tracking_policy: enum: - bad_decimal_format - invalid_attribute_value - name_not_unique - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the time tracking policies endpoints can return in a 422 response. error_code_timesheet: enum: - bad_decimal_format - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params - timesheet_already_submitted - timesheet_date_locked - timesheet_submission_disabled type: string title: Error Code description: Every error `code` the timesheets endpoints can return. error_code_two_factor_authentication: enum: - bad_decimal_format - invalid_attribute - non_finite_number - null_bytes_in_params - otp_invalid - two_factor_auth_already_enabled - two_factor_auth_invalid_session - two_factor_auth_not_enabled type: string title: Error Code description: Every error `code` the two factor authentication endpoints can return. error_code_unauthorized: enum: - invalid_auth_token - invalid_password - invalid_proposal_token - invalid_token_signature - token_expired type: string title: Error Code description: Every error `code` an endpoint can return with a 401. error_code_unprocessable_content: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` an endpoint without its own resource codes can return with a 422. error_code_unsupported_media_type: enum: - unsupported_content_type type: string title: Error Code description: Every error `code` an endpoint can return with a 415. error_code_user: enum: - bad_decimal_format - current_password_invalid - email_already_exists - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params - password_contains_null_bytes - user_time_zone_invalid type: string title: Error Code description: Every error `code` the users endpoints can return. error_code_widget: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - project_scoped_filter_on_global_dashboard - widget_already_on_dashboard type: string title: Error Code description: Every error `code` the widget endpoints can return. error_code_workflow_status: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - workflow_closed_status_required type: string title: Error Code description: Every error `code` the workflow status endpoints can return. resource_holiday_calendar: type: object title: Holiday calendar Resource description: A set of holidays for a country or region that affects person availability and capacity calculations. 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: true country: type: string title: Country description: The country code used to determine which national holidays to include in this calendar. example: US id: type: integer title: Id description: The unique identifier of this holiday calendar. example: - 123 name: type: string title: Name description: The display name of this holiday calendar. example: United States organization: title: Organization description: The organization this holiday calendar belongs to. example: data: type: organizations id: '1' state: type: string title: State description: The state or region code used to narrow holidays to a specific sub-national region. example: US-CA example: id: '3' type: holiday_calendars attributes: name: United States country: US state: US-CA autogenerate_holidays: true relationships: organization: data: type: organizations id: '1' resource_search_quick_result: type: object title: Search Quick Result Resource properties: ai_search: type: boolean title: Ai Search example: false debug_info: type: object title: Debug Info example: ranking_score: 0.97 ranking_score_details: deep_search: type: boolean title: Deep Search example: false icon_url: type: string title: Icon Url nullable: true example: https://cdn.productive.io/avatars/567.jpg meta: type: object title: Meta example: board_name: Development task_list_name: In Progress project_name: API Improvements workflow_status: name: In Progress color_id: 3 query: type: string title: Query example: quick search record_id: type: string title: Record Id example: task-1234 record_type: enum: - task - task_list - folder - person - agent - page - project - company - deal - budget - action - invoice - artifact type: string title: Record Type example: task status: enum: - active - closed type: string title: Status example: active subtitle: type: string title: Subtitle nullable: true example: Matching content from task description... title: type: string title: Title example: "#42 Implement quick search endpoint" type: type: string title: Type example: task,project,person updated_at: type: number title: Updated At nullable: true example: 1744176000 variance: enum: - normal - extended - event - navigation - switch_organization type: string title: Variance example: normal root_page_id: type: string title: Root Page Id matches_position: type: object title: Matches Position nullable: true example: record_id: task-1234 record_type: task variance: normal title: "#42 Implement quick search endpoint" subtitle: icon_url: status: active meta: board_name: Development task_list_name: In Progress project_name: API Improvements updated_at: 1744176000 debug_info: ranking_score: 0.97 ranking_score_details: resource_task_report: type: object title: Task report Resource description: An aggregated task report row grouping tasks by configurable dimensions with work metrics, time tracking totals, and status breakdowns. properties: tags: type: string title: Tags description: Tags for this task report group. example: eq: value after: type: string title: After format: date description: After for this task report group. example: eq: value assignee: title: Assignee description: Name of the assigned person. example: eq: value assignee_id: type: integer title: Assignee description: ID of the assigned person. example: - 123 assignee_report: title: Assignee Report description: Person report dimension record for the assignee. example: eq: value before: type: string title: Before format: date description: The bookable-before date used to scope this report. example: eq: value billable_time: type: integer title: Billable Time description: Total billable time (in minutes) tracked on tasks in this group. example: gt: 0 closed_after: type: string title: Closed After format: date description: 'Lower bound date filter: tasks closed after this date.' example: eq: value closed_at: type: string title: Closed At format: date description: Date when the task was closed. 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' closed_before: type: string title: Closed Before format: date description: Closed before for this task report group. example: eq: value company: title: Company description: Company for this task report group. example: eq: value company_id: type: integer title: Company description: Company id for this task report group. example: - 123 company_report: title: Company Report description: Company report dimension record for the company. example: eq: value count: type: integer title: Count description: Number of tasks in this report group. example: gt: 0 created_at: type: string title: Created At format: date description: Timestamp when the task was created. example: gt: '2026-01-01' created_at_period: title: Created At Period description: Period label for the created_at date grouping dimension. example: gt: '2026-01-01' creator: title: Creator description: Name of the person who created the task. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created the task. example: - 123 creator_report: title: Creator Report description: Person report dimension record for the creator. example: eq: value currency: title: Currency description: Currency code used for monetary values in this row. example: eq: value currency_default: title: Currency Default description: Whether this row uses the organization default currency. example: eq: value currency_normalized: title: Currency Normalized description: Whether monetary values are normalized to the default currency. example: eq: value custom_fields: type: string title: Custom Fields description: Custom field values for tasks in this report group. 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 dependency_type: enum: - 1 - 2 - 3 type: integer title: Dependency Type description: Dependency type 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' 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' 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' 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' due_date_on: type: string title: Due Date On format: date description: Exact due date match for filtering. 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' folder: title: Folder description: Name of the project folder containing the tasks. example: eq: value folder_id: type: integer title: Folder description: ID of the project folder containing the tasks. example: - 123 folder_name: type: string title: Folder Name description: Display name of the project folder. example: eq: value folder_status: enum: - 1 - 2 type: integer title: Folder Status description: Folder status for this task report group. example: eq: active formula_fields: title: Formula Fields description: Formula fields for this task report group. example: eq: value formulas: type: integer title: Formulas description: Formulas for this task report group. example: eq: value full_query: type: string title: Full Query description: Full query for this task report group. example: eq: value fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy dates for this task report group. example: gt: '2026-01-01' fuzzy_people: type: integer title: Fuzzy People description: Fuzzy people 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 id: type: integer title: Id description: Unique identifier for this task report row. example: - 123 initial_estimate: type: integer title: Initial Estimate description: Initial estimate for this task report group. example: gt: 0 jump_query: type: string title: Jump Query description: Jump query for this task report group. example: eq: value 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 last_activity_at: title: Last Activity At description: Timestamp of the most recent activity on this task. example: gt: '2026-01-01' 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' last_activity_before: type: string title: Last Activity Before format: date description: Return tasks with last activity before this date. example: eq: value last_actor: title: Last Actor description: Last actor for this task report group. example: eq: value last_actor_id: type: integer title: Last Actor description: Last actor id for this task report group. example: - 123 last_actor_report: title: Last Actor Report description: Last actor report for this task report group. example: eq: value month: type: string title: Month description: Month grouping for this task report row. example: eq: value organization: title: Organization description: Organization for this task report group. example: eq: value overdue_status: enum: - 1 - 2 type: integer title: Overdue Status description: Overdue status for this task report group. example: eq: active parent_task: title: Parent Task description: Parent task for this task report group. example: eq: value parent_task_id: type: integer title: Parent Task description: Parent task id for this task report group. example: - 123 person_type: type: integer title: Person Type description: Person type for this task report group. example: eq: active placement: title: Placement description: Placement for this task report group. example: eq: value project: title: Project description: Project for this task report group. example: eq: value project_id: type: integer title: Project description: Project id for this task report group. example: - 123 project_manager_id: type: integer title: Project Manager description: Project manager id for this task report group. example: - 123 project_report: title: Project Report description: Project report for this task report group. example: eq: value project_type: enum: - 1 - 2 type: integer title: Project Type description: Project type for this task report group. example: eq: active public_access: type: boolean title: Public Access description: Public access for this task report group. example: eq: value quarter: type: string title: Quarter description: Quarter grouping for this task report row. example: eq: value query: type: string title: Query description: Query for this task report group. example: eq: value query_extended: type: string title: Query Extended description: Query extended for this task report group. example: eq: value remaining_time: type: integer title: Remaining Time description: Remaining time for this task report group. example: gt: 0 repeating: type: integer title: Repeating description: Repeating for this task report group. example: eq: value report: title: Report description: Report for this task report group. example: eq: value service: title: Service description: Service for this task report group. example: eq: value service_id: type: integer title: Service description: Service id for this task report group. example: - 123 service_report: title: Service Report description: Service report 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' 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' 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' start_date_period: title: Start Date Period description: Time period grouping for start date (e.g. week, month, quarter). example: gt: '2026-01-01' status: enum: - 1 - 2 type: integer title: Status description: Status for this task report group. example: eq: active subscriber_id: type: integer title: Subscriber description: Subscriber id for this task report group. example: - 123 subtask: type: boolean title: Subtask description: Subtask for this task report group. example: eq: value task: title: Task description: Task 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' task_created_at: title: Task Created At description: Task created at for this task report group. example: gt: '2026-01-01' task_custom_fields: title: Task Custom Fields description: Task custom fields 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' 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' task_list: title: Task List description: Task list for this task report group. example: eq: value task_list_id: type: integer title: Task List description: Task list id for this task report group. example: - 123 task_list_name: type: string title: Task List Name description: Task list name for this task report group. example: eq: value task_list_status: enum: - 1 - 2 type: integer title: Task List Status description: Task list status for this task report group. example: eq: active task_number: type: string title: Task Number description: Task number for this task 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' task_type: enum: - 1 - 2 type: integer title: Task Type description: Task type for this task report group. example: eq: active template: type: string title: Template description: Template for this task report group. example: eq: value title: type: string title: Title description: Title for this task report group. example: eq: value 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 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' 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 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 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 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 type_id: enum: - 1 - 3 type: integer title: Type description: Type id for this task report group. example: - 123 updated_at: type: string title: Updated At format: date description: Updated at for this task report group. example: gt: '2026-01-01' week: type: string title: Week description: Week grouping for this task report row. example: eq: value worked_time: type: integer title: Worked Time description: Worked time for this task report group. example: gt: 0 workflow: title: Workflow description: Workflow for this task report group. example: eq: value workflow_id: type: integer title: Workflow description: Workflow id for this task report group. example: - 123 workflow_status: title: Workflow Status description: Workflow status for this task report group. example: eq: active 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 workflow_status_id: type: integer title: Workflow Status description: Workflow status id for this task report group. example: - 123 year: type: string title: Year description: Year grouping 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 bookable_before: type: string title: Bookable Before format: date description: Filter task report entries to those bookable before this date. 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 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 booked_time: type: integer title: Booked Time description: Total time, in minutes, already booked against this task through scheduled bookings. example: 480 future_booked_time: type: integer title: Future Booked Time description: Booked time, in minutes, scheduled on this task for future dates. example: 240 left_to_schedule_time: type: integer title: Left To Schedule Time description: Estimated time, in minutes, not yet scheduled — the task's initial estimate minus its booked time. example: 120 net_unplanned_time: type: integer title: Net Unplanned Time description: Estimated time, in minutes, that is neither worked nor scheduled ahead — the initial estimate minus worked time and future booked time. example: 60 total_booked_time: type: number title: Total Booked Time description: Sum of `booked_time` across all tasks in the report, in minutes. example: 4800 total_future_booked_time: type: number title: Total Future Booked Time description: Sum of `future_booked_time` across all tasks in the report, in minutes. example: 2400 total_left_to_schedule_time: type: number title: Total Left To Schedule Time description: Sum of `left_to_schedule_time` across all tasks in the report, in minutes. example: 1200 total_net_unplanned_time: type: number title: Total Net Unplanned Time description: Sum of `net_unplanned_time` across all tasks in the report, in minutes. example: 600 example: id: '123' type: task_reports attributes: total_tasks: 150 completed_tasks: 120 overdue_tasks: 5 project_id: 45 relationships: {} _filter_root_booking: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_booking" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_booking" description: Filter schema for `booking` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_company: type: object title: Company Resource description: A client company linked to deals, budgets, projects, and invoices, with invoicing settings and rate card configuration. properties: import: title: Import tags: type: string title: Tags description: Tags applied to this company. example: eq: value archived_at: type: string title: Archived At format: date-time description: Timestamp when the company was archived. example: gt: '2026-01-01' avatar_url: type: string title: Avatar Url description: URL of the company avatar image. example: eq: value billing_name: type: string title: Billing Name description: The billing name used on invoices, if different from the company's display name. example: eq: value company_code: type: string title: Company Code description: An internal or external company code used for integrations or accounting references. example: eq: value company_id: type: integer title: Company description: The parent company ID if this company is a subsidiary of another company. example: - 123 contact: type: object title: Contact description: Primary contact details for the company (name, email, phone). example: eq: value created_at: type: string title: Created At format: date-time description: Date when the company was created. example: gt: '2026-01-01' custom_field_attachments: title: Custom Field Attachments description: Files in file-type custom fields. example: gt: '2026-01-01' custom_field_people: title: Custom Field People description: People in person-type custom fields. example: eq: value custom_fields: type: object title: Custom Fields description: Custom field values for this company. example: eq: value default_currency: type: string title: Default Currency description: Default currency for this company's deals and invoices. example: eq: value default_document_type_id: type: integer title: Default Document Type description: ID of the default document type template used for PDF generation. example: - 123 default_subsidiary: title: Default Subsidiary description: Default subsidiary for this company's invoices. example: eq: value default_subsidiary_id: type: integer title: Default Subsidiary description: ID of the default subsidiary used for this company's invoices. example: - 123 default_tax_rate: title: Default Tax Rate description: Default tax rate for this company. example: gt: 0 default_tax_rate_id: type: integer title: Default Tax Rate description: ID of the default tax rate applied to this company's invoices. example: - 123 due_days: type: integer title: Due Days description: 'Default day offset paired with `payment_terms_type` (company level): `days_after_invoice_date` — > 0, after the invoice date; `end_of_month` — >= 0, after the invoice month''s end; `due_upon_receipt` — ignored.' example: eq: value einvoice_identity: title: Einvoice Identity description: E-invoicing identity configuration for this company. example: data: type: einvoice_identities id: '567' external_id: type: string title: External description: External ID from an integrated third-party system. example: - 123 external_sync: type: boolean title: External Sync description: Indicates whether this company is synced with an external integration (e.g. accounting software). example: eq: value full_query: type: string title: Full Query description: A concatenated string used for full-text search across company fields. example: eq: value fuzzy_dates: type: string title: Fuzzy Dates description: Company-level settings for displaying approximate or fuzzy dates on documents. example: gt: '2026-01-01' fuzzy_people: type: string title: Fuzzy People description: Fuzzy person search value. example: eq: value id: type: integer title: Id description: Unique identifier for this company. example: - 123 integration_exporter_configuration: title: Integration Exporter Configuration description: Integration exporter configuration linked to this company. example: eq: value invoice_email_recipients: type: string title: Invoice Email Recipients description: Email addresses to receive invoices for this company. example: eq: value jump_query: type: string title: Jump Query description: Quick jump search query used to navigate to this company. example: eq: value last_activity_at: type: string title: Last Activity At format: date-time description: Timestamp of the most recent activity on this company. example: gt: '2026-01-01' name: type: string title: Name description: The name of this company. example: eq: value organization: title: Organization description: The organization this company belongs to. example: eq: value payment_terms: type: integer title: Payment Terms description: Payment terms label (e.g. Net 30). example: eq: value project_id: type: integer title: Project description: ID of the project associated with this company. example: - 123 projectless_budgets: type: boolean title: Projectless Budgets description: Whether this company allows budgets without an associated project. example: gt: 0 query: type: string title: Query description: Keyword query used for searching this company. example: eq: value sample_data: type: boolean title: Sample Data description: Whether this record is demo/sample data. example: eq: value settings: type: object title: Settings description: Company-level settings controlling notification preferences and other configuration options. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: The current status of this company (e.g. active or archived). example: eq: active subscriber_id: type: integer title: Subscriber description: ID of a person subscribed to follow updates on this company. example: - 123 subscriber_ids: title: Subscriber Ids description: IDs of people subscribed to follow updates on this company. example: - 123 - 456 subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary associated with this company. example: - 123 tag_list: type: string title: Tag List description: Tags applied to this company. example: eq: value vat: type: string title: Vat description: Tax ID / VAT number. example: eq: value default_document_type: title: Default Document Type description: The default document type applied to invoices and proposals for this company. example: eq: active 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 has_parent_company: type: boolean title: Has Parent Company description: When true, this company has a parent company in the hierarchy. example: eq: value original_avatar_url: title: Original Avatar Url description: URL of the original full-size avatar image for this company before resizing. example: eq: value parent_company: title: Parent Company description: The parent company of this company in the hierarchy. 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: enum: - days_after_invoice_date - end_of_month - due_upon_receipt type: string title: Payment Terms Type nullable: true description: Default payment terms for this company's invoices; used in preference to the organization default. domains: type: array items: type: string title: Domains description: Email domains associated with this company. default_payment_reminder_sequence: title: Default Payment Reminder Sequence default_payment_reminder_sequence_id: type: integer title: Default Payment Reminder Sequence example: id: '65111' type: companies attributes: name: Acme Corp billing_name: Acme Corporation Ltd vat: DE123456789 default_currency: USD created_at: '2026-01-01T00:00:00.000+00:00' last_activity_at: '2026-03-10T14:00:00.000+00:00' archived_at: avatar_url: original_avatar_url: invoice_email_recipients: {} custom_fields: company_code: ACME1 domain: acme.com domains: - acme.com projectless_budgets: false default_subsidiary_id: default_tax_rate_id: default_document_type_id: due_days: 30 tag_list: - enterprise contact: {} sample_data: false settings: {} external_id: external_sync: false parent_company_id: relationships: default_subsidiary: data: default_document_type: data: parent_company: data: resource_payment_report: type: object title: Payment report Resource description: An aggregated payment report row grouping invoices and payments by configurable dimensions with payment amount metrics. properties: amount: title: Amount description: Amount for this payment report group. example: gt: 0 budget_id: type: integer title: Budget description: Budget id for this payment report group. example: - 123 company: title: Company description: Company for this payment report group. example: eq: value company_id: type: integer title: Company description: Company id for this payment report group. example: - 123 company_report: title: Company Report description: Company report for this payment report group. example: eq: value count: type: integer title: Count description: Number of payments in this report group. example: gt: 0 currency: type: string title: Currency description: Currency for this payment report group. example: eq: value currency_default: title: Currency Default description: Currency in the organization's default currency 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 date: title: Date description: Date for this payment report group. example: gt: '2026-01-01' date_period: title: Date Period description: Time period grouping for date (e.g. week, month, quarter). example: eq: value deal: title: Deal description: Deal for this payment report group. example: eq: value external_id: type: string title: External description: External id for this payment report group. example: - 123 formula_fields: title: Formula Fields description: Formula fields for this payment report group. example: eq: value formulas: type: integer title: Formulas description: Formulas for this payment report group. example: eq: value group: type: string title: Group description: The grouping dimension for this payment report row. example: eq: value id: type: integer title: Id description: Unique identifier for this payment report row. example: - 123 invoice: title: Invoice description: Invoice for this payment report group. example: eq: value invoice_id: type: integer title: Invoice description: Invoice id for this payment report group. example: - 123 invoice_report: title: Invoice Report description: Invoice report for this payment report group. example: eq: value month: type: string title: Month description: Month grouping for this payment report row. example: eq: value number: type: string title: Number description: Number for this payment report group. example: eq: value organization: title: Organization description: Organization 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 paid_before: type: string title: Paid Before format: date description: Paid before 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 payment: title: Payment description: Payment 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' payment_external_id: title: Payment External description: Payment external id for this payment report group. example: - 123 payment_note: title: Payment Note description: Payment note 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 payment_written_off_on: title: Payment Written Off On description: Payment written off on for this payment report group. example: eq: value project: title: Project description: Project for this payment report group. example: eq: value project_id: type: integer title: Project description: Project id for this payment report group. example: - 123 quarter: type: string title: Quarter description: Quarter grouping for this payment report row. example: eq: value query: type: string title: Query description: Query for this payment report group. example: eq: value report: title: Report description: Report for this payment report group. example: eq: value subsidiary: title: Subsidiary description: Subsidiary for this payment report group. example: eq: value subsidiary_id: type: integer title: Subsidiary description: Subsidiary id for this payment report group. example: - 123 total_amount: title: Total Amount description: Sum of amount across all records in this payment 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 payment report group. example: gt: 0 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 week: type: string title: Week description: Week grouping for this payment report row. example: eq: value written_off_on: type: string title: Written Off On format: date description: Written off on for this payment report group. example: eq: value year: type: string title: Year description: Year grouping for this payment report row. example: eq: value example: id: '123' type: payment_reports attributes: amount: 5000 paid_on: '2026-01-15' invoice_id: 234 relationships: {} resource_deal_report: type: object title: Deal report Resource description: An aggregated deal report row. Deal reports group deals by configurable dimensions and calculate financial totals, pipeline metrics, and conversion rates. properties: tags: type: string title: Tags description: List of tags applied to the deal. example: eq: value accessible_by_person: type: integer title: Accessible By Person description: Person who has access to the deal in this report row. example: eq: value actual_rate: title: Actual Rate description: Actual billing rate achieved on the deal. example: gt: 0 approval_policy_id: type: integer title: Approval Policy description: ID of the approval policy associated with the deal. example: - 123 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 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 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 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 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 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 average_rate: title: Average Rate description: Average billing rate on the deal, in the deal's budget currency. example: gt: 0 average_rate_default: title: Average Rate Default description: Average billing rate on the deal, in the organization's default currency. example: gt: 0 average_rate_normalized: title: Average Rate Normalized description: Average billing rate on the deal, in the normalized common currency. example: gt: 0 billable_time: type: integer title: Billable Time description: Total billable hours tracked on the deal. example: gt: 0 budget_remaining: title: Budget Remaining description: Remaining budget on the deal (budget total minus budget used). example: gt: 0 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 budget_total: title: Budget Total description: Total budget amount on the deal. example: gt: 0 budget_usage: type: number title: Budget Usage description: Budget usage percentage — ratio of budget used to total budget. example: gt: 0 budget_used: title: Budget Used description: Amount of budget already consumed on the deal. example: gt: 0 budget_warning: type: integer title: Budget Warning description: Budget warning flag — indicates whether the deal is approaching or exceeding budget limits. example: gt: 0 budgeted_time: type: integer title: Budgeted Time description: Total estimated time budgeted on the deal. 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' color_id: type: integer title: Color description: Color label ID assigned to the deal. example: - 123 company: title: Company description: Client company associated with the deal. example: eq: value company_id: type: integer title: Company description: ID of the client company associated with the deal. example: - 123 company_report: title: Company Report description: Related company report for the deal's client. example: eq: value contact: title: Contact description: Contact person associated with the deal. example: eq: value contact_id: type: integer title: Contact description: ID of the contact person associated with the deal. example: - 123 contact_report: title: Contact Report description: Related report for the deal's contact person. example: eq: value contract_id: type: integer title: Contract description: ID of the contract this deal is linked to. example: - 123 cost: title: Cost description: Total cost on the deal including labor and expenses, in the deal's budget currency. example: eq: value count: type: integer title: Count description: Number of deals grouped into this report row. example: gt: 0 created_at: type: string title: Created At format: date description: Date and time the deal record was created. example: gt: '2026-01-01' created_at_period: title: Created At Period description: Time period grouping for the deal creation date. example: gt: '2026-01-01' creator: title: Creator description: Person who created the deal. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created the deal. example: - 123 creator_report: title: Creator Report description: Related report for the deal creator. example: eq: value credited: title: Credited description: Whether the deal revenue is credited to the responsible person. example: eq: value currency: type: string title: Currency description: Currency code of the deal's budget currency. example: eq: value currency_default: title: Currency Default description: Currency code in the organization's default currency. example: eq: value currency_normalized: title: Currency Normalized description: Currency code in the normalized common currency. example: eq: value custom_fields: type: string title: Custom Fields description: Custom field values associated with the deal. example: eq: value date: type: string title: Date format: date description: Report grouping date for time-period dimensions. example: gt: '2026-01-01' date_period: title: Date Period description: Time period grouping label for the report date dimension. example: eq: value deal: title: Deal description: The deal associated with this report row. example: eq: value 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 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 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 deal_budget_warning: title: Deal Budget Warning description: Budget warning status of the deal. example: gt: 0 deal_client_access: title: Deal Client Access description: Whether the deal is accessible by a specific client user. example: eq: value deal_closed_at: title: Deal Closed At description: Date and time when the deal was closed. example: gt: '2026-01-01' deal_created_at: title: Deal Created At description: Date and time the deal record was created. example: gt: '2026-01-01' deal_custom_fields: title: Deal Custom Fields description: Custom field values on the deal. example: eq: value deal_date: title: Deal Date description: Report grouping date for the deal. example: gt: '2026-01-01' deal_end_date: title: Deal End Date description: End date of the deal. example: gt: '2026-01-01' 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' deal_lost_date: title: Deal Lost Date description: Date when the deal was marked as lost. example: gt: '2026-01-01' deal_number: title: Deal Number description: Unique deal number identifier. 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_probability: title: Deal Probability description: Current probability of winning the deal (0–100). example: eq: value deal_purchase_order_number: title: Deal Purchase Order Number description: Purchase order number provided by the client for this deal. example: PO-2024-017 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' deal_sales_closed_on: title: Deal Sales Closed On description: Date the deal was closed for sales (won or lost). example: eq: value 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' deal_status: title: Deal Status description: Current pipeline stage of the deal. example: eq: active deal_status_id: type: integer title: Deal Status description: ID of the current deal status (pipeline stage). example: - 123 deal_suffix: title: Deal Suffix description: Deal name suffix used for display. example: eq: value deal_time_approval: title: Deal Time Approval description: Time entry approval status on the deal. example: gt: 0 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_type_id: type: integer title: Deal Type description: ID of the deal type (retainer or one-off). example: - 123 deal_won_date: title: Deal Won Date description: Date when the deal was marked as won. example: gt: '2026-01-01' delivered_on: type: string title: Delivered On format: date description: Date the deal was delivered to the client. example: eq: value discount: type: number title: Discount description: Discount amount or percentage applied to the deal. example: gt: 0 draft_invoiced: title: Draft Invoiced description: Total amount invoiced in draft status on the deal. example: eq: value end_date: type: string title: End Date format: date description: End date of the deal. example: gt: '2026-01-01' estimated_cost: title: Estimated Cost description: Estimated cost to complete the deal. example: gt: 0 estimated_remaining_time: type: integer title: Estimated Remaining Time description: Estimated remaining time to complete the deal. example: gt: 0 estimated_time: type: integer title: Estimated Time description: Total estimated time required to complete the deal's scope. example: gt: 0 expense: title: Expense description: Total expense cost on the deal. example: eq: value expenses_billable: title: Expenses Billable description: Total billable expense amount 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 forecasted_budget_usage: type: number title: Forecasted Budget Usage description: Forecasted budget usage as a percentage. example: gt: 0 forecasted_budget_used: title: Forecasted Budget Used description: 'Forecasted total budget used: current budget used plus future budget used.' example: gt: 0 forecasted_cost: title: Forecasted Cost description: 'Forecasted cost: current cost plus future cost.' example: eq: value forecasted_margin: type: number title: Forecasted Margin description: Forecasted profit margin as a percentage. example: eq: value forecasted_profit: title: Forecasted Profit description: Forecasted profit amount. example: eq: value forecasted_revenue: title: Forecasted Revenue description: Forecasted revenue amount. 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 formula_fields: title: Formula Fields description: Computed values for custom formula fields defined on the report. example: eq: value formulas: type: integer title: Formulas description: Custom formula definitions applied to this report row. example: eq: value full_query: type: string title: Full Query description: Full API query object used to generate this report row. 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 future_budget_used: title: Future Budget Used description: Total future budget used, calculated from resourcing data. example: gt: 0 future_cost: title: Future Cost description: Total future cost including service and expense costs, calculated from resourcing data. example: eq: value future_revenue: title: Future Revenue description: Projected future revenue based on 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' fuzzy_people: type: integer title: Fuzzy People description: Relative person references (e.g. current_user) used in people-based filters. 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 id: type: integer title: Id description: Unique identifier for this deal report row. example: - 123 invoiced: title: Invoiced description: Amount of money invoiced to the client from this deal. example: eq: value invoiced_percentage: type: integer title: Invoiced Percentage description: Percentage of the budget total that has been invoiced. example: eq: value invoiced_rate: title: Invoiced Rate description: Invoiced amount divided by worked hours. 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 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' 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' lost_at: type: string title: Lost At format: date description: Timestamp when the deal was marked as lost. example: gt: '2026-01-01' lost_date: type: string title: Lost Date format: date description: Date when the deal was marked as lost. example: gt: '2026-01-01' lost_reason: title: Lost Reason description: The reason why the deal was lost. example: eq: value lost_reason_id: type: integer title: Lost Reason description: ID of the reason why the deal was lost. 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 manually_invoiced: enum: - 1 - 2 type: integer title: Manually Invoiced description: Amount manually marked as invoiced on this deal. example: eq: value month: type: string title: Month description: Month grouping label for this report row (e.g. March 2026). example: eq: value name: type: string title: Name description: Name of the deal. example: eq: value needs_closing: type: boolean title: Needs Closing description: Indicates whether the deal requires closing action. example: eq: value needs_invoicing: type: boolean title: Needs Invoicing description: Indicates whether the deal has outstanding amounts pending invoicing. example: eq: value 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 number: type: string title: Number description: Unique number identifying this deal. example: eq: value organization: title: Organization description: The organization this deal belongs to. example: eq: value origin_deal_id: type: integer title: Origin Deal description: ID of the origin deal for this record. example: - 123 owner_report: title: Owner Report description: Related person report data for the deal owner. example: eq: value pending_invoicing: title: Pending Invoicing description: Amount of money pending invoicing for this deal. example: eq: value pipeline: title: Pipeline description: The pipeline this deal belongs to. example: eq: value pipeline_id: type: integer title: Pipeline description: ID of the pipeline this deal belongs to. example: - 123 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 previous_deal_status_id: type: integer title: Previous Deal Status description: ID of the previous deal status. example: - 123 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 previous_probability: type: string title: Previous Probability description: Probability percentage of the deal before the last status change. example: eq: value 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 profit: title: Profit description: 'Profit after all costs: revenue minus service costs and expense costs.' example: eq: value profit_margin: type: number title: Profit Margin description: 'Profit margin as a percentage: profit divided by revenue.' example: eq: value project: title: Project description: The project associated with this deal. example: eq: value project_id: type: integer title: Project description: ID of the project associated with this deal. example: - 123 project_report: title: Project Report description: Related project report data for this deal. example: eq: value project_type: enum: - 1 - 2 type: integer title: Project Type description: Project type label (e.g. Internal or Client). example: eq: active projected_revenue: title: Projected Revenue description: 'Projected revenue: budget total multiplied by deal probability.' 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 quarter: type: string title: Quarter description: Quarter grouping label for this report row (e.g. Q1 2026). example: eq: value query: type: string title: Query description: The query parameters applied when generating this report row. example: eq: value recurring: type: boolean title: Recurring description: Indicates whether this deal is a recurring retainer. example: eq: value recurring_ends_on: type: string title: Recurring Ends On format: date description: Date when the deal recurrence ends. 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 recurring_starts_on: type: string title: Recurring Starts On format: date description: Date when the deal recurrence starts. example: eq: value report: title: Report description: Related deal report data for this group (self-referential for drill-down). example: eq: value responsible: title: Responsible description: The person responsible for managing this deal. example: eq: value responsible_id: type: integer title: Responsible description: ID of the person responsible for managing this deal. example: - 123 revenue: title: Revenue description: Total revenue amount for this deal. example: eq: value revenue_distribution_type: enum: - default - even - custom type: string title: Revenue Distribution Type description: Revenue recognition method used for this deal. example: eq: active 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' 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' sales_closed_on: type: string title: Sales Closed On format: date description: Date when the deal was closed (won or lost). example: eq: value 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 sales_status_id: enum: - 1 - 2 - 3 type: integer title: Sales Status description: ID of the current deal sales status (open, won, lost). example: - 123 services_revenue: title: Services Revenue description: Revenue from services only, excluding revenue from billable expenses. example: eq: value stage_status_id: enum: - 1 - 2 - 3 type: integer title: Stage Status description: ID of the current pipeline stage status. 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' 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' status: enum: - 1 - 2 type: integer title: Status description: Current status of the deal (e.g. open, won, lost). example: eq: active status_id: type: integer title: Status description: ID of the current deal status. example: - 123 subscriber_id: type: integer title: Subscriber description: ID of the subscriber (person following this deal for notifications). example: - 123 subsidiary: title: Subsidiary description: The subsidiary (legal entity) this deal is attributed to. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary this deal is attributed to. example: - 123 template: type: string title: Template description: Indicates whether this deal was created from a template. example: eq: value time_approval: type: boolean title: Time Approval description: Indicates whether time entries on this deal require approval. 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_billable_time: type: number title: Total Billable Time description: Sum of billable hours tracked across all deals in this report group. example: gt: 0 total_budget_total: title: Total Budget Total description: Sum of total approved budget amounts across all deals in this report group. example: gt: 0 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_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 total_budget_used: title: Total Budget Used description: Sum of budget used amounts across all deals 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 deals in this report group. 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 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 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 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 total_estimated_cost: title: Total Estimated Cost description: Sum of estimated costs across all deals in this report group. 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 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 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 total_estimated_time: type: number title: Total Estimated Time description: Sum of estimated hours across all deals in this report group. example: gt: 0 total_expense: title: Total Expense description: Sum of expense costs across all deals in this report group. 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 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 total_profit: title: Total Profit description: Sum of profit amounts across all deals in this report group. example: eq: value 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 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 total_projected_revenue: title: Total Projected Revenue description: Sum of projected revenue amounts across all deals in this report group. 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 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 total_revenue: title: Total Revenue description: Sum of revenue amounts across all deals in this report group. 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 total_services_revenue: title: Total Services Revenue description: Sum of services revenue 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 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 total_work_cost: title: Total Work Cost description: Sum of labor (work) costs across all deals in this report group. 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 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_worked_time: type: number title: Total Worked Time description: Sum of worked (tracked) hours across all deals in this report group. 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 type: enum: - 1 - 2 type: integer title: Type description: Type of the deal (e.g. sales, production). example: eq: active unapproved_time: type: integer title: Unapproved Time description: Amount of unapproved time tracked on deals in this report group. example: gt: 0 week: type: string title: Week description: Week grouping for this deal report row (e.g. week, month, quarter). example: eq: value won_at: type: string title: Won At format: date description: Timestamp when the deal was marked as won. example: gt: '2026-01-01' 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' work_cost: title: Work Cost description: Labor (work) cost for deals in this report group. example: eq: value worked_time: type: integer title: Worked Time description: Total worked (tracked) hours for deals in this report group. example: gt: 0 year: type: string title: Year description: Year grouping for this deal report row. 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 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 days_since_created: type: integer title: Days Since Created description: Average number of days since deals in this group were created. example: eq: value 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 deal_retainer: title: Deal Retainer description: When true, this deal group represents retainer deals. example: eq: value deal_retainer_interval: title: Deal Retainer Interval description: The retainer billing interval for deals in this group. example: eq: value designated_approver: title: Designated Approver description: The person designated as the approver for deals in this group. 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 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 primary_contact: title: Primary Contact description: The primary contact person for the company linked to deals in this 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 retainer: type: integer title: Retainer description: When true, deals in this group are retainer deals. example: eq: value 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 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 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 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 revenue_distribution_base: enum: - weighted - deal_value type: string title: Forecasted Revenue Source deal_value_source: enum: - from_services - manual type: string title: Deal Value Source deal_revenue_distribution_end_on: title: Deal Revenue Distribution End On deal_revenue_distribution_start_on: title: Deal Revenue Distribution Start On revenue_distribution_end_on: type: string title: Revenue Distribution End On format: date revenue_distribution_end_on_period: title: Revenue Distribution End On Period revenue_distribution_start_on: type: string title: Revenue Distribution Start On format: date revenue_distribution_start_on_period: title: Revenue Distribution Start On Period applied_scenario_margin: type: string title: Applied Scenario Margin description: Margin (%) of the last scenario applied to the deal or budget. Averaged across the deals or budgets in a group. Null when no scenario was applied. overtime_time: type: integer title: Overtime Time description: Total tracked overtime time in minutes (approved and unapproved, without rejected entries). Subset of worked_time. total_overtime_time: type: number title: Total Overtime Time description: Total tracked overtime time in minutes (approved and unapproved, without rejected entries). Subset of total_worked_time. example: id: '123' type: deal_reports attributes: total_value: 500000 won_value: 200000 lost_value: 50000 deal_id: 89 relationships: {} resource_expense: type: object title: Expense Resource 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. properties: amount: type: integer title: Amount description: Unit cost of the expense in the expense currency. example: gt: 0 amount_default: title: Amount Default description: Unit cost of the expense in the organization default currency. example: gt: 0 amount_normalized: title: Amount Normalized description: Unit cost of the expense in the budget currency. example: gt: 0 amount_with_tax: title: Amount With Tax description: Unit amount including tax in the expense 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 amount_with_tax_normalized: title: Amount With Tax Normalized description: Unit amount including tax in the budget currency. example: gt: 0 approval_status: enum: - 1 - 2 - 3 - 4 type: integer title: Approval Status description: Overall approval status across all approvers. example: eq: active approval_statuses: title: Approval Statuses description: Per-approver decisions on this expense. example: eq: active approved: title: Approved description: Whether this expense has been approved. 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' approver: title: Approver description: The person who approved this expense. example: eq: value approver_id: type: integer title: Approver description: ID of the person who approved this expense. example: - 123 assigned_approver_id: type: integer title: Assigned Approver description: ID of the person assigned as approver for this expense. example: - 123 attachment: title: Attachment description: Receipt or document attached to this expense. example: eq: value attachment_id: type: integer title: Attachment description: ID of the receipt or document attached to this expense. example: - 123 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 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 billable_amount_default: title: Billable Amount Default description: Amount to be billed to the client in the organization default 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 company_id: type: integer title: Company description: ID of the client company associated with the budget of this expense. example: - 123 company_reference_id: type: integer title: Company Reference description: Company reference ID in the external accounting system. example: - 123 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' creator: title: Creator description: The person who created this expense record. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created this expense record. example: - 123 currency: type: string title: Currency description: Currency code of the expense. example: eq: value currency_default: title: Currency Default description: Organization default currency code. example: eq: value currency_normalized: title: Currency Normalized description: Budget currency code. example: eq: value custom_field_attachments: title: Custom Field Attachments description: Files in file-type custom fields. example: gt: '2026-01-01' custom_field_people: title: Custom Field People description: People in person-type custom fields. example: eq: value custom_fields: type: object title: Custom Fields description: Custom field values. example: eq: value date: type: string title: Date format: date description: Date when the expense was incurred. example: gt: '2026-01-01' date_after: type: string title: Date After format: date description: Earliest date (exclusive) for querying expenses by date. example: eq: value date_before: type: string title: Date Before format: date description: Latest date (exclusive) for querying expenses by date. example: eq: value deal: title: Deal description: The budget or deal this expense is charged to. example: eq: value deal_company_name: title: Deal Company Name description: Name of the client company associated with the expense's budget. example: eq: value deal_id: type: integer title: Deal description: ID of the budget or deal this expense is charged to. example: - 123 deal_name: title: Deal Name description: Name of the budget this expense is charged to. example: eq: value deal_project_name: title: Deal Project Name description: Name of the project associated with the expense's budget. example: eq: value deleted_at: type: string title: Deleted At format: date-time description: Soft-deletion timestamp. example: gt: '2026-01-01' draft: type: boolean title: Draft description: Whether this expense is still in draft status on the purchase order. example: eq: value exchange_date: type: string title: Exchange Date format: date description: Date used for exchange rate calculation. example: gt: '2026-01-01' exchange_rate: type: number title: Exchange Rate description: Exchange rate from expense currency to organization default currency. example: gt: 0 exchange_rate_normalized: type: number title: Exchange Rate Normalized description: Exchange rate from expense currency to budget currency. example: gt: 0 expense_line_items: title: Expense Line Items description: Individual line items if the expense has multiple items. example: eq: value export_id: type: string title: Export description: ID in the external accounting system. example: - 123 export_integration_type_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 type: integer title: Export Integration Type description: Type of accounting integration used for export. example: - 123 export_status: enum: - 1 - 2 - 3 - 4 type: integer title: Export Status description: Export status in the external accounting system. example: eq: active export_url: type: string title: Export Url description: URL to view this expense in the external accounting system. example: eq: value exported: title: Exported description: Whether the expense has been exported to external accounting software. 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' external_payment_id: type: string title: External Payment description: Payment ID in external payment system. example: - 123 full_query: type: string title: Full Query description: Full-text search query matching across expense fields. example: eq: value fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy date range filter for querying expenses. example: gt: '2026-01-01' fuzzy_people: type: integer title: Fuzzy People description: Fuzzy people filter for querying expenses. example: eq: value id: type: integer title: Id description: Unique identifier of the expense. example: - 123 invoice_attribution: title: Invoice Attribution description: The invoice attribution linking this expense to an invoice. example: gt: '2026-01-01' invoice_id: type: integer title: Invoice description: ID of the invoice this expense is attributed to. example: - 123 invoiced: type: boolean title: Invoiced description: Whether this expense has been invoiced to the client. example: eq: value invoicing_status: enum: - 1 - 2 - 3 type: integer title: Invoicing Status description: Invoicing status of this expense. example: eq: active jump_query: type: string title: Jump Query description: Jump/quick search query for this expense. 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 name: type: string title: Name description: What the expense was for (travel, software, external costs, etc.). example: eq: value organization: title: Organization description: The organization this expense belongs to. example: eq: value paid_on: type: string title: Paid On format: date description: Date when the expense was actually paid. 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 paid_on_before: type: string title: Paid On Before format: date description: Latest date (exclusive) for querying expenses by paid_on. example: eq: value pay_on: type: string title: Pay On format: date description: Due date for payment. example: eq: value pay_on_after: type: string title: Pay On After format: date description: Earliest date (exclusive) for querying expenses by pay_on. example: eq: value pay_on_before: type: string title: Pay On Before format: date description: Latest date (exclusive) for querying expenses by pay_on. example: eq: value person: title: Person description: The person the expense was incurred for. example: eq: value person_id: type: integer title: Person description: ID of the person the expense was incurred for. example: - 123 position: type: integer title: Position description: Position of this expense. example: eq: value profit: title: Profit description: Difference between billable amount and total cost in the expense currency. example: eq: value profit_default: title: Profit Default description: Difference between billable amount and total cost in the organization default currency. example: eq: value profit_normalized: title: Profit Normalized description: Difference between billable amount and total cost in the budget currency. example: eq: value project_id: type: integer title: Project description: ID of the project associated with the expense's budget. example: - 123 purchase_order: title: Purchase Order description: The purchase order this expense belongs to, if any. example: data: type: purchase_orders id: '1234567' purchase_order_id: type: integer title: Purchase Order description: ID of the purchase order this expense belongs to. example: 1234567 quantity: type: number title: Quantity description: Number of units on the expense. example: eq: value quantity_received: type: number title: Quantity Received description: Number of units received (for purchase order expenses). example: eq: value query: type: string title: Query description: Text search query matching expense names and descriptions. example: eq: value quote_type: title: Quote Type description: Quote type identifier for this expense. example: eq: active recognized_revenue: title: Recognized Revenue description: Expected revenue based on the service's billing type in the expense currency. example: eq: value 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 recognized_revenue_normalized: title: Recognized Revenue Normalized description: Expected revenue based on the service's billing type in the budget currency. example: eq: value reimbursable: type: boolean title: Reimbursable description: Whether this expense is eligible for reimbursement to the person. example: eq: value reimbursed_on: type: string title: Reimbursed On format: date description: Date when the expense was reimbursed. example: eq: value reimbursement: enum: - 1 - 2 - 3 type: integer title: Reimbursement description: Reimbursement details for this expense. example: eq: value rejected: title: Rejected description: Whether this expense was rejected during approval. 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' rejected_reason: type: string title: Rejected Reason description: Reason why the expense was rejected. example: eq: value rejecter: title: Rejecter description: The person who rejected this expense. example: eq: value responsible_id: type: integer title: Responsible description: ID of the person responsible for this expense. example: - 123 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 service: title: Service description: The budget service this expense is allocated to. example: eq: value service_id: type: integer title: Service description: ID of the budget service this expense is allocated to. example: - 123 service_name: title: Service Name description: Name of the budget service this expense is allocated to. example: eq: value service_type: title: Service Type description: The work category for this expense. example: eq: active service_type_id: type: integer title: Service Type description: ID of the work category for this expense. example: - 123 service_type_name: title: Service Type Name description: Name of the work category for this expense. example: eq: active stage_type: enum: - 1 - 2 type: integer title: Stage Type description: Stage type of the budget this expense belongs to. example: eq: active status: enum: - 1 - 2 type: integer title: Status description: Approval status of this expense. example: eq: active tax_inclusion: type: boolean title: Tax Inclusion description: Whether the amount includes tax or is tax-exclusive. example: eq: value tax_rate: title: Tax Rate description: The tax rate applied to this expense. example: gt: 0 tax_rate_id: type: integer title: Tax Rate description: ID of the tax rate applied to this expense. example: - 123 total_amount: title: Total Amount description: Total cost (quantity × unit amount) before tax in the expense currency. example: gt: 0 total_amount_default: title: Total Amount Default description: Total cost (quantity × unit amount) before tax in the organization default currency. example: gt: 0 total_amount_normalized: title: Total Amount Normalized description: Total cost (quantity × unit amount) before tax in the budget currency. example: gt: 0 total_amount_with_tax: title: Total Amount With Tax description: Total amount including tax in the expense currency. example: gt: 0 total_amount_with_tax_default: title: Total Amount With Tax Default description: Total amount including tax in the organization default currency. example: gt: 0 total_amount_with_tax_normalized: title: Total Amount With Tax Normalized description: Total amount including tax in the budget currency. example: gt: 0 vendor: title: Vendor description: The vendor company this expense was paid to. example: eq: value vendor_id: type: integer title: Vendor description: ID of the vendor company this expense was paid to. example: - 123 with_draft: type: boolean title: With Draft description: Whether to include draft expenses in results. example: eq: value allocation_status: enum: - 1 - 2 type: integer 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 designated_approver_id: type: integer title: Designated Approver description: ID of the person designated as the approver for this expense's budget. example: - 123 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 description: type: string title: Description updated_at: type: string title: Updated At format: date-time updater: title: Updater updater_id: type: integer title: Updater export_error: type: object title: Export Error nullable: true properties: affected_elements: type: array items: type: object properties: name: type: string reason: type: string code: type: string nullable: true detail: type: string nullable: true help_url: type: string nullable: true title: type: string nullable: true markup_amount: type: integer title: Markup Amount markup_amount_default: title: Markup Amount Default markup_amount_normalized: title: Markup Amount Normalized approved_by_actual_approver_id: type: integer title: Approved By Actual Approver approved_for_assigned_approver_id: type: integer title: Approved For Assigned Approver 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' resource_organization_subscription: type: object title: Organization subscription Resource description: The subscription details for an organization's Productive plan, including billing, seats, and plan information. properties: balance: title: Balance description: The account's current Stripe balance in cents (negative means credit). example: eq: value billing_address: type: object title: Billing Address description: The billing address on file for this organization's subscription. example: eq: value billing_email: type: object title: Billing Email description: The email address used for billing communications and invoices. example: eq: value billing_group_admin: type: boolean title: Billing Group Admin description: Whether this organization is the admin of a billing group (manages billing for member organizations). example: eq: value billing_group_member: title: Billing Group Member description: Whether this organization is a member of a billing group managed by another organization. example: eq: value billing_group_members: title: Billing Group Members description: Organizations in the billing group managed by this organization, if it is a billing group admin. example: eq: value billing_group_owner: title: Billing Group Owner description: The billing group owner organization, if this organization is a billing group member. example: eq: value billing_group_seats: type: integer title: Billing Group Seats description: Total number of seats across all organizations in this billing group. example: eq: value card_brand: type: string title: Card Brand description: The brand of the credit or debit card on file (e.g. Visa, Mastercard). example: eq: value card_last4: type: string title: Card Last4 description: The last four digits of the credit or debit card on file. example: eq: value card_month: type: string title: Card Month description: The expiry month of the card on file. example: eq: value card_year: type: string title: Card Year description: The expiry year of the card on file. example: eq: value contract_date: type: string title: Contract Date format: date description: The date the contract with this organization started. example: gt: '2026-01-01' contract_min_seats: type: integer title: Contract Min Seats description: The minimum number of seats specified in the organization's contract. example: eq: value contract_seats: type: integer title: Contract Seats description: The number of seats specified in the organization's current contract. example: eq: value current_plan: title: Current Plan description: The organization's current billing plan details. example: eq: value current_products: title: Current Products description: The list of product modules currently active on the subscription. example: eq: value discount: type: integer title: Discount description: The discount percentage applied to the subscription price. example: gt: 0 discount_expires_on: type: string title: Discount Expires On format: date description: Date when the current discount expires, or null if it does not expire. example: gt: 0 grace_period_ends_at: type: string title: Grace Period Ends At format: date-time description: The grace period ends at. example: gt: '2026-01-01' next_billing_cycle_at: type: string title: Next Billing Cycle At format: date-time description: The next billing cycle at. example: gt: '2026-01-01' organization: title: Organization description: The organization this subscription belongs to. example: eq: value payment_method_id: enum: - 1 - 2 type: integer title: Payment Method description: ID of the payment method on file for this subscription. example: - 123 plan_cycle: title: Plan Cycle description: The billing cycle of the plan (monthly or annual). example: eq: value plan_price: title: Plan Price description: The price per seat per billing cycle for the current plan, after discount. example: gt: 0 plan_type: title: Plan Type description: The type identifier of the current plan (e.g. essential, professional, ultimate). example: eq: active product_types: type: array items: description: A product type entry within the subscription's product_types list. example: eq: active title: Product Types description: The list of product module types included in the subscription. example: eq: active seats: type: integer title: Seats description: The total number of seats purchased for this subscription. example: eq: value seats_pending: title: Seats Pending description: The number of seats with a pending change (e.g. scheduled to be added or removed). example: eq: value seats_used: type: integer title: Seats Used description: The number of seats currently occupied by active members. example: eq: value stripe_customer_id: type: integer title: Stripe Customer description: The Stripe customer ID associated with this organization's billing account. example: - 123 stripe_token: title: Stripe Token description: The Stripe payment token used to update the payment method on file. example: eq: value subscription_ended_at: type: string title: Subscription Ended At format: date-time description: Timestamp when the subscription ended, or null if still active. example: gt: '2026-01-01' subscription_started_at: type: string title: Subscription Started At format: date-time description: Timestamp when the subscription started. example: gt: '2026-01-01' subscription_state_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 8 - 9 type: integer title: Subscription State description: ID of the current subscription state (e.g. active, trialing, past_due, canceled). example: - 123 trial_ends_at: type: string title: Trial Ends At format: date-time description: Timestamp when the free trial ends, or null if not on a trial. example: gt: '2026-01-01' trial_plan_active: title: Trial Plan Active description: Whether a trial plan upgrade is currently active for this organization. example: eq: value trial_plan_ends_at: type: string title: Trial Plan Ends At format: date-time description: The trial plan ends at. example: gt: '2026-01-01' trial_plan_type: title: Trial Plan Type description: The type of plan being trialed, if a trial plan upgrade is active. example: eq: active collection_method_id: enum: - 1 - 2 type: integer title: Collection Method description: ID of the collection method used to charge this subscription (e.g., charge automatically or send invoice). example: - 123 trial_product_ids: type: object title: Trial Product Ids description: List of product IDs included in the trial subscription for this organization. example: - 123 - 456 billing_group_owner_id: type: string title: Billing Group Owner Id discounts: type: array items: type: object properties: applied: type: array items: type: object properties: applies_to: type: - array - 'null' items: type: string coupon_deleted: type: boolean coupon_id: type: string coupon_name: type: - string - 'null' ends_at: type: - string - 'null' format: date-time percent_off: type: number scope: type: - string - 'null' description: 'The coupon''s scope: all for a coupon without limits, the catalog scope for a catalog coupon (aio_2023, crm), else null.' stripe_discount_id: type: string effective_percent: type: number product_id: type: - string - 'null' title: Discounts description: The discount on each product, as last read from Stripe. A product costs price × (1 − effective_percent / 100). trial_ends_on: type: string title: Trial Ends On format: date trial_plan_ends_on: type: string title: Trial Plan Ends On format: date example: id: '123' type: organization_subscriptions attributes: plan: business status: active seats: 25 billing_cycle: annual relationships: {} resource_team: type: object title: Team Resource description: Named group of people. Includes the team name and a list of member people (via has_many members). Teams are used for access control (memberships) and reporting groupings. properties: color_id: type: integer title: Color description: The identifier of the color associated with this team. example: - 123 icon_id: type: string title: Icon description: The identifier of the icon associated with this team. example: - 123 id: type: integer title: Id description: The unique identifier of this team. example: - 123 members: title: Members description: The people who are members of this team. example: eq: value name: type: string title: Name description: The name of this team. example: eq: value organization: title: Organization description: The organization this team belongs to. example: eq: value query: type: string title: Query description: A search query used to filter teams by name. example: eq: value example: id: '123' type: teams attributes: name: Development Team member_count: 8 relationships: {} _filter_root_attachment: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_attachment" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_attachment" description: Filter schema for `attachment` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_skill: type: object title: Skill Resource properties: memberships: title: Memberships auto_load: type: boolean title: Auto Load created_at: type: string title: Created At format: date-time creator: title: Creator creator_id: type: integer title: Creator description: type: string title: Description id: type: integer title: Id instructions: type: string title: Instructions name: type: string title: Name query: type: string title: Query shared_with_agent_id: type: integer title: Shared With Agent smart_action_locations: type: array items: enum: - task - project - doc - meeting - meetings - company - companies - contact - contacts - email - emails - deal - deals - budget - budgets - expense - expenses - invoice - invoices - timetracking - company_time - approvals - resourcing - resource_requests type: string title: Smart Action Locations updated_at: type: string title: Updated At format: date-time filter_comment: type: object title: Filter comment description: Filter parameters for listing comments. Supports filtering by parent resource (task, deal, company, person, page, project, purchase order), author, discussion thread, draft status, and full-text search. Standard string operators apply. properties: discussion_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/discussion_id" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/discussion_id" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_comment/properties/discussion_id" lt: "$ref": "#/components/schemas/resource_comment/properties/discussion_id" gt_eq: "$ref": "#/components/schemas/resource_comment/properties/discussion_id" lt_eq: "$ref": "#/components/schemas/resource_comment/properties/discussion_id" contains: "$ref": "#/components/schemas/resource_comment/properties/discussion_id" not_contain: "$ref": "#/components/schemas/resource_comment/properties/discussion_id" - "$ref": "#/components/schemas/resource_comment/properties/discussion_id" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the associated discussion. example: - 123 draft: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_comment/properties/draft" not_eq: "$ref": "#/components/schemas/resource_comment/properties/draft" - "$ref": "#/components/schemas/resource_comment/properties/draft" description: Filter to include only draft comments. example: eq: value full_query: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/full_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Full-text search across comment content. example: eq: value fuzzy_dates: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_comment/properties/fuzzy_dates" not_eq: "$ref": "#/components/schemas/resource_comment/properties/fuzzy_dates" gt: "$ref": "#/components/schemas/resource_comment/properties/fuzzy_dates" lt: "$ref": "#/components/schemas/resource_comment/properties/fuzzy_dates" gt_eq: "$ref": "#/components/schemas/resource_comment/properties/fuzzy_dates" lt_eq: "$ref": "#/components/schemas/resource_comment/properties/fuzzy_dates" - "$ref": "#/components/schemas/resource_comment/properties/fuzzy_dates" description: Filter by fuzzy date range (relative date expression). example: gt: '2026-01-01' fuzzy_people: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/fuzzy_people" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/fuzzy_people" title: List description: Filter by person using fuzzy matching. example: eq: value jump_query: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/jump_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Jump (prefix) full-text search across comment content. example: eq: value page_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/page_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/page_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/page_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/page_id" title: List - "$ref": "#/components/schemas/resource_comment/properties/page_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/page_id" title: List description: Filter by the associated document page. example: - 123 project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/project_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/project_id" title: List - "$ref": "#/components/schemas/resource_comment/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/project_id" title: List description: Filter by the associated project (via task). example: - 123 task_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/task_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/task_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/task_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/task_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_comment/properties/task_id" lt: "$ref": "#/components/schemas/resource_comment/properties/task_id" gt_eq: "$ref": "#/components/schemas/resource_comment/properties/task_id" lt_eq: "$ref": "#/components/schemas/resource_comment/properties/task_id" contains: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/task_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/task_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/task_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/task_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_comment/properties/task_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_comment/properties/task_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_comment/properties/task_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/task_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the associated task. example: - 123 workflow_status_category_id: anyOf: - type: object title: Operation properties: eq: anyOf: - enum: - '1' - '2' - '3' type: string title: Value - type: array items: enum: - '1' - '2' - '3' type: string title: List of strings not_eq: anyOf: - enum: - '1' - '2' - '3' type: string title: Value - type: array items: enum: - '1' - '2' - '3' type: string title: List of strings - enum: - '1' - '2' - '3' type: string title: Value - type: array items: enum: - '1' - '2' - '3' type: string title: List of strings description: Filter by workflow status category. example: - 123 commentable_project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" lt: "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" gt_eq: "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" lt_eq: "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" contains: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/commentable_project_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the project containing the commented-on resource. example: - 123 deal_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/deal_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/deal_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/deal_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/deal_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_comment/properties/deal_id" lt: "$ref": "#/components/schemas/resource_comment/properties/deal_id" gt_eq: "$ref": "#/components/schemas/resource_comment/properties/deal_id" lt_eq: "$ref": "#/components/schemas/resource_comment/properties/deal_id" contains: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/deal_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/deal_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/deal_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/deal_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_comment/properties/deal_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_comment/properties/deal_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_comment/properties/deal_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/deal_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 artifact_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/artifact_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/artifact_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/artifact_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/artifact_id" title: List - "$ref": "#/components/schemas/resource_comment/properties/artifact_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_comment/properties/artifact_id" title: List id: anyOf: - type: object title: Operation properties: eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers not_eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers gt: type: integer lt: type: integer gt_eq: type: integer lt_eq: type: integer contains: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers not_contain: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers any_of: anyOf: - type: array items: type: integer title: List of integers - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: type: integer title: List of integers - "$ref": "#/components/schemas/_id_list" - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers example: task_id: - 54321 resource_financial_item_report: type: object title: Financial item report Resource description: An aggregated financial item report row combining budget, invoice, and time entry data for line-level profitability analysis. properties: approval_status: type: integer title: Approval Status description: Approval status for this financial item report group. example: eq: active average_blended_rate: title: Average Blended Rate description: Average blended rate for 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 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 average_margin: type: number title: Average Margin description: Average margin for this financial item report group. 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 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 average_recognized_margin: type: number title: Average Recognized Margin description: Average recognized margin for this financial item report group. 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 billing_type_id: type: integer title: Billing Type description: Billing type id for this financial item report group. example: - 123 blended_rate: title: Blended Rate description: Blended rate for this financial item report group. example: gt: 0 booking_item: title: Booking Item description: Booking item for this financial item report group. example: eq: value budget: title: Budget description: Budget for this financial item report group. example: gt: 0 budget_id: type: integer title: Budget description: Budget id for this financial item report group. example: - 123 budget_status: enum: - 1 - 2 type: integer title: Budget Status description: Budget status for this financial item report group. example: gt: 0 budget_total: title: Budget Total description: Budget total for this financial item report group. example: gt: 0 budget_used: title: Budget Used description: Budget used for this financial item report group. example: gt: 0 company: title: Company description: Company for this financial item report group. example: eq: value company_billing_name: title: Company Billing Name description: Company billing name for 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 company_report: title: Company Report description: Company report for this financial item report group. example: eq: value cost: title: Cost description: Cost 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 credited: title: Credited description: Credited for this financial item report group. example: eq: value currency: type: string title: Currency description: Currency for this financial item report group. example: eq: value currency_default: title: Currency Default description: Currency in the organization's default currency for this financial item report group. example: eq: value currency_normalized: type: string title: Currency Normalized description: Currency in the normalized currency 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 date: type: string title: Date format: date description: Date for this financial item report group. example: gt: '2026-01-01' date_period: title: Date Period description: Time period grouping for date (e.g. week, month, quarter). example: eq: value deal_status: title: Deal Status description: Deal status for this financial item report group. example: eq: active deal_status_id: type: integer title: Deal Status description: Deal status id for this financial item report group. example: - 123 estimated_cost: title: Estimated Cost description: Estimated cost for this financial item report group. example: gt: 0 expense: title: Expense description: Expense for this financial item report group. example: eq: value financial_item: title: Financial Item description: Financial item 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' financial_item_description: type: string title: Financial Item Description description: Financial item description for this financial item report group. example: eq: value financial_item_id: type: string title: Financial Item description: Financial item id for this financial item report group. example: - 123 financial_item_type: enum: - booking_item - draft_booking_item - expense - invoice_attribution - revenue_item - service - time_entry type: string title: Financial Item Type description: Financial item type for this financial item report group. example: eq: active formula_fields: title: Formula Fields description: Formula fields for this financial item report group. example: eq: value formulas: type: integer title: Formulas description: Formulas for this financial item report group. example: eq: value future: type: integer title: Future description: Future 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 invoice_attribution: title: Invoice Attribution description: Invoice attribution for this financial item report group. example: gt: '2026-01-01' invoiced: title: Invoiced description: Invoiced for this financial item report group. example: eq: value locked: type: boolean title: Locked description: Locked for this financial item report group. example: eq: value organization: title: Organization description: Organization for this financial item report group. example: eq: value origin_deal: title: Origin Deal description: Origin deal for this financial item report group. example: eq: value origin_deal_id: type: integer title: Origin Deal description: Origin deal id for this financial item report group. example: - 123 origin_deal_report: title: Origin Deal Report description: Related origin deal report data for this financial item report group. example: eq: value overhead_cost: title: Overhead Cost description: Overhead cost 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 person: title: Person description: Person for this financial item report group. example: eq: value person_id: type: integer title: Person description: Person id for this financial item report group. example: - 123 person_report: title: Person Report description: The person associated with this financial item report row. example: eq: value pipeline_id: type: integer title: Pipeline description: Pipeline id for this financial item report group. example: - 123 probability: type: integer title: Probability description: Probability for this financial item report group. example: eq: value profit: title: Profit description: Profit for this financial item report group. example: eq: value project: title: Project description: Project for this financial item report group. example: eq: value project_id: type: integer title: Project description: Project id for this financial item report group. example: - 123 project_report: title: Project Report description: Project report for 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 project_type_id: enum: - 1 - 2 type: integer title: Project Type description: Project type id for this financial item report group. example: - 123 report: title: Report description: Report for this financial item report group. example: eq: value responsible: title: Responsible description: Responsible 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 revenue: title: Revenue description: Revenue for this financial item report group. example: eq: value revenue_item: title: Revenue Item description: Revenue item for this financial item report group. example: eq: value scheduled_cost: title: Scheduled Cost description: Scheduled cost for this financial item report group. example: eq: value scheduled_revenue: title: Scheduled Revenue description: Scheduled revenue for this financial item report group. example: eq: value section: title: Section description: Section for this financial item report group. example: eq: value 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 service_id: type: integer title: Service description: Service id for this financial item report group. example: - 123 service_report: title: Service Report description: Service report for 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 service_type_id: type: integer title: Service Type description: Service type id for this financial item report group. example: - 123 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 stage_type: enum: - 1 - 2 type: integer title: Stage Type description: Stage type for this financial item report group. example: eq: active subsidiary: title: Subsidiary description: Subsidiary 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 time_entry: title: Time Entry description: Time entry for this financial item report group. example: gt: 0 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 total_budget_total: title: Total Budget Total description: Sum of budget total across all records in this financial item report group. example: gt: 0 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_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 total_budget_used: title: Total Budget Used description: Sum of budget used across all records in this financial item report group. example: gt: 0 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 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_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_cost: title: Total Cost description: Sum of cost across all records in 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 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 total_credited: title: Total Credited description: Sum of credited 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_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 total_estimated_cost: title: Total Estimated Cost description: Sum of estimated cost across all records in this financial item report group. example: gt: 0 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_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 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 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_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_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_invoiced: title: Total Invoiced description: Sum of invoiced across all records in this financial item report group. example: eq: value 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_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 total_overhead_cost: title: Total Overhead Cost description: Sum of overhead cost across all records in 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_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_projected_revenue: title: Total Projected Revenue description: Sum of projected revenue across all records in this financial item 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 financial item 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 financial item report group. 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 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 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_recognized_revenue: title: Total Recognized Revenue description: Sum of recognized revenue across all records in this financial item 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 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 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 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_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 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_scheduled_revenue: title: Total Scheduled Revenue description: Sum of scheduled revenue across all records in 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 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_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_time: type: number title: Total Time description: Sum of time across all records in 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 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 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 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_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 draft_invoiced: title: Draft Invoiced description: Whether this financial item entry has been draft invoiced. 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 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 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 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 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_billable_worked_time: type: number title: Total Billable Worked Time total_billable_scheduled_time: type: number title: Total Billable Scheduled Time total_overtime_time: type: number title: Total Overtime Time description: Total tracked overtime time in minutes (approved and unapproved, without rejected entries). Subset of total_worked_time. example: id: '123' type: financial_item_reports attributes: revenue: 50000 cost: 30000 profit: 20000 margin: 0.4 project_id: 45 relationships: {} resource_page: type: object title: Page Resource description: A rich text document page. Root pages are standalone Docs with sharing settings; child pages form a hierarchy within a Doc. properties: attachment_ids: title: Attachment Ids description: IDs of attachments associated with this page. example: - 123 - 456 attachments: title: Attachments description: Attachments linked to this page. example: eq: value body: title: Body description: Rich text body of the page in ProseMirror JSON format. example: eq: value cover_image_meta: type: string title: Cover Image Meta description: Metadata for the cover image, such as dimensions and focal point. example: eq: value 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 created_at: type: string title: Created At format: date-time description: Timestamp when the page was created. example: gt: '2026-01-01' creator: title: Creator description: The person who created this page. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created this page. example: - 123 creator_name: title: Creator Name description: Display name of the page creator. 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 edited_at: type: string title: Edited At format: date-time description: Timestamp when the page content was last edited. example: gt: '2026-01-01' full_query: type: string title: Full Query description: Full-text search query matching across all page fields including title and body. example: eq: value 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' fuzzy_people: type: integer title: Fuzzy People description: Person IDs associated with the page for fuzzy search matching. example: eq: value icon_id: type: string title: Icon description: Emoji or icon identifier displayed next to the page title. example: - 123 id: type: integer title: Id description: Unique identifier of the page. example: - 123 jump_query: type: string title: Jump Query description: Short query used for jump-to search navigation across pages. 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' organization: title: Organization description: The organization this page belongs to. example: eq: value parent_page: title: Parent Page description: The parent page of this page in the hierarchy, if any. 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 person_type: type: integer title: Person Type description: Indicates the membership context of the current user (e.g. member or guest). example: eq: active position: type: integer title: Position description: The display order position of this page among its siblings. example: eq: value preferences: type: object title: Preferences description: Page-level display preferences such as layout width, font size and default edit access. example: eq: value project: title: Project description: The project this page is associated with, if any. example: eq: value project_id: type: integer title: Project description: ID of the project this page belongs to. example: - 123 project_name: title: Project Name description: Name of the project this page belongs to. 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 public: title: Public description: Whether this page is publicly accessible via a shared link. example: eq: value public_access: type: boolean title: Public Access description: Controls whether the page can be viewed publicly without authentication. example: eq: value public_uuid: type: string title: Public Uuid description: UUID used in the public sharing URL for this page. example: eq: value query: type: string title: Query description: Search query matched against page title only. example: eq: value 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 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 status: type: integer title: Status description: The status filter value used when querying pages (active or archived). example: eq: active 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 subscriber_id: type: integer title: Subscriber description: ID of the subscriber (person) watching this page for updates. example: - 123 template: type: string title: Template description: Filter only — pass `filter[template]` to return only template docs, i.e. docs on template projects. example: eq: value template_object: title: Template Object description: The template this page was created from, if any. example: eq: value title: type: string title: Title description: Title of the page. 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' 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 target_doc_id: type: integer title: Target Doc description: ID of the destination page for `PATCH /pages/{id}/move`; the moved page becomes its last child. example: 48901 template_id: type: integer title: Template description: 'ID of the source page: the page being copied on `POST /pages/copy`, or the template doc on the `apply_template_*` actions.' example: 48213 updater: title: Updater description: The person who last edited this page. memberships: title: Memberships 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' error: type: object title: Error description: One JSON:API error object. `code` is the stable, machine-readable identifier a client branches on; `title` and `detail` are human-facing and may be reworded without notice. Each resource publishes the codes its own endpoints can return as an `error_code_` schema. properties: code: type: string title: Code description: The stable identifier for this kind of error. detail: type: string title: Detail description: A human-readable explanation specific to this occurrence of the problem. source: type: object title: Source description: What in the request caused the error. properties: pointer: type: string title: Pointer description: The path to the member of the request document that caused the error, as `data/attributes/`. Note that it carries no leading slash, so it is not an RFC 6901 JSON Pointer. status: type: string title: Status description: The HTTP status code for this error, as a string. title: type: string title: Title description: A short, human-readable summary of the problem. resource_holiday: type: object title: Holiday Resource description: A non-working day within a holiday calendar that affects person availability calculations. properties: after: type: string title: After format: date description: Filter to return holidays on or after this date. example: '2026-01-01' before: type: string title: Before format: date description: Filter to return holidays on or before this date. example: '2026-12-31' creator: title: Creator description: The person who created this holiday entry. example: data: type: people id: '12' date: type: string title: Date format: date description: The date of this holiday. example: '2026-01-01' holiday_calendar: title: Holiday Calendar description: The holiday calendar this holiday belongs to. example: data: type: holiday_calendars id: '3' holiday_calendar_id: type: integer title: Holiday Calendar description: ID of the holiday calendar this holiday belongs to. example: - 123 name: type: string title: Name description: The name of this holiday (e.g. Christmas Day). example: New Year's Day organization: title: Organization description: The organization this holiday belongs to. example: data: type: organizations id: '1' example: id: '45' type: holidays attributes: name: New Year's Day date: '2026-01-01' relationships: organization: data: type: organizations id: '1' holiday_calendar: data: type: holiday_calendars id: '3' creator: data: type: people id: '12' _filter_root_automation_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_automation_report" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_automation_report" error_code_ai_sandbox: enum: - invalid_config - invalid_metadata - sandbox_owner_inactive - sandbox_owner_invalid - sandbox_unavailable_for_session type: string title: Error Code description: Every 422 error `code` the AI sandboxes endpoints can return. _filter_root_backoffice_organization_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_backoffice_organization_report" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_backoffice_organization_report" _filter_root_bank_account: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_bank_account" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_bank_account" description: Filter schema for `bank_account` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_booking_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_booking_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_ai_sandbox: type: object title: AI Sandbox Resource properties: config: type: - object - 'null' title: Config created_at: type: string title: Created At format: date-time daytona_id: type: - string - 'null' title: Daytona Id last_accessed_at: type: - string - 'null' title: Last Accessed At format: date-time metadata: type: - object - 'null' title: Metadata owner_id: type: string title: Owner Id owner_type: enum: - Person - Agents::Agent type: string title: Owner Type state: type: string title: State updated_at: type: string title: Updated At format: date-time _filter_root_budget_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_budget_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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' _filter_root_company_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_company_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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' _filter_root_meeting: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_meeting" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_meeting" _filter_root_contact_entry: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_contact_entry" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_contact_entry" description: Filter schema for `contact_entry` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_contract: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_contract" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_contract" description: Filter schema for `contract` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_organization: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_organization" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_organization" description: Filter schema for `organization` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_organization_membership: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_organization_membership" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_organization_membership" description: Filter schema for `organization_membership` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_overhead: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_overhead" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_overhead" description: Filter schema for `overhead` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_page: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_page" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_page" description: Filter schema for `page` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_page_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_page_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_page_report" description: Filter schema for `page_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_page_version: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_page_version" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_root_payment: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_payment" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: - 345678 '1': paid_on: eq: '2026-03-15' "$op": and - "$ref": "#/components/schemas/filter_payment" description: Filter schema for `payment` list endpoints — pass a single condition or a logical group. example: id: eq: - 345678 _filter_root_payment_reminder_sequence: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_payment_reminder_sequence" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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' _filter_root_payment_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_payment_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_payment_report" description: Filter schema for `payment_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_payroll_item_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_payroll_item_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_payroll_item_report" description: Filter schema for `payroll_item_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_person: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_person" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_person_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_person_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_person_report" description: Filter schema for `person_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_pipeline: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_pipeline" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_pipeline" description: Filter schema for `pipeline` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_placeholder: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_placeholder" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_placeholder_usage: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_placeholder_usage" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_placeholder_usage" description: Filter schema for `placeholder_usage` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_price: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_price" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_price" description: Filter schema for `price` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_price_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_price_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_price_report" description: Filter schema for `price_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_project: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_project" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_project" description: Filter schema for `project` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_project_relevancy_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_project_relevancy_report" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_project_relevancy_report" _filter_root_project_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_project_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_root_proposal: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_proposal" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_proposal" description: Filter schema for `proposal` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_proposal_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_proposal_report" description: A single filter condition object for proposal report queries, using named operators. properties: "$op": enum: - or - and type: string description: Logical operator combining multiple filter conditions (e.g. `AND`, `OR`). example: and required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_proposal_report" description: Filter parameters for listing proposal report entries. example: id: eq: '123' _filter_root_pulse: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_pulse" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_pulse" description: Filter schema for `pulse` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_purchase_order: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_purchase_order" description: Grouped form — combine multiple filter slots with a boolean operator. properties: "$op": enum: - or - and type: string description: Boolean operator joining the numbered filter slots. One of `and` or `or`. example: and required: - "$op" example: '0': id: eq: - 1234567 '1': status_id: eq: - 1 "$op": and - "$ref": "#/components/schemas/filter_purchase_order" description: 'Root shape of the `filter` parameter: either per-field filters or an indexed `AND`/`OR` group.' example: id: eq: - 1234567 _filter_root_rate_card: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_rate_card" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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' _filter_root_report_category: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_report_category" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_report_category" description: Filter schema for `report_category` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_resource_request: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_resource_request" description: Filter parameters for listing resource requests using a logical operator. properties: "$op": enum: - or - and type: string description: The logical operator to combine multiple filter conditions (e.g. `and`, `or`). example: and 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_revenue_distribution: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_revenue_distribution" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_revenue_distribution" description: Filter schema for `revenue_distribution` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_role: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_role" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_role" description: Filter schema for `role` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_salary: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_salary" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_salary" description: Filter schema for `salary` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_section: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_section" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_section" description: Filter schema for `section` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_service_assignment: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_service_assignment" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_root_service_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_service_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_service_report" description: Filter schema for `service_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_service_type: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_service_type" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_service_type" description: Filter schema for `service_type` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_service_type_assignment: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_service_type_assignment" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_service_type_assignment" description: Filter schema for `service_type_assignment` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_session: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_session" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_session" description: Filter schema for `session` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_subsidiary: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_subsidiary" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_root_survey: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_survey" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_survey" description: Filter schema for `survey` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_survey_field: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_survey_field" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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' _filter_root_survey_field_option: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_survey_field_option" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_survey_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_survey_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_survey_response: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_survey_response" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_survey_response" description: Filter schema for `survey_response` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_tag: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_tag" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_task: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_task" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_task" description: Filter schema for `task` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_task_dependency: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_task_dependency" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_task_dependency" description: Filter schema for `task_dependency` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_task_list: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_task_list" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_task_list" description: Filter schema for `task_list` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_task_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_task_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_task_report" description: Filter schema for `task_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_tax_rate: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_tax_rate" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: - 456789 '1': status: eq: - 1 "$op": and - "$ref": "#/components/schemas/filter_tax_rate" description: Filter schema for `tax_rate` list endpoints — pass a single condition or a logical group. example: id: eq: - 456789 _filter_root_team: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_team" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_team" description: Filter schema for `team` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_team_membership: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_team_membership" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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_template: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_template" description: Advanced grouped filter — combine sub-filters with `$op` (`and`/`or`). properties: "$op": enum: - or - and type: string description: Boolean connective applied to the grouped sub-filters under this filter root. example: 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_root_time_entry: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_time_entry" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_time_entry" description: Filter schema for `time_entry` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_time_entry_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_time_entry_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_time_entry_report" description: Filter schema for `time_entry_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_time_entry_version: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_time_entry_version" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_time_entry_version" description: Filter schema for `time_entry_version` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_time_tracking_policy: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_time_tracking_policy" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_time_tracking_policy" description: Filter schema for `time_tracking_policy` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_timer: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_timer" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_timer" description: Filter schema for `timer` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_timesheet: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_timesheet" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_timesheet" description: Filter schema for `timesheet` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_timesheet_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_timesheet_report" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_timesheet_report" description: Filter schema for `timesheet_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_todo: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_todo" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 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' _filter_root_user: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_user" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_user" description: Filter schema for `user` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_webhook: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_webhook" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_webhook" description: Filter schema for `webhook` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_webhook_log: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_webhook_log" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_webhook_log" description: Filter schema for `webhook_log` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_widget: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_widget" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_widget" description: Filter schema for `widget` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_workflow: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_workflow" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_workflow" description: Filter schema for `workflow` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_workflow_status: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_workflow_status" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_workflow_status" description: Filter schema for `workflow_status` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_budget_report: type: object title: Filter budget report 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. properties: tags: "$ref": "#/components/schemas/_filter_booking_tags" accessible_by_person: "$ref": "#/components/schemas/_filter_booking_id_eq_blank" actual_rate: "$ref": "#/components/schemas/_filter_number" approval_policy_id: "$ref": "#/components/schemas/_filter_booking_id_eq_blank" billable_time: "$ref": "#/components/schemas/_filter_number" budget_remaining: "$ref": "#/components/schemas/_filter_number" budget_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/budget_status" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/budget_status" - "$ref": "#/components/schemas/resource_budget_report/properties/budget_status" description: Filter by the budget status (e.g. active, closed). example: gt: 0 budget_total: "$ref": "#/components/schemas/_filter_number" budget_usage: "$ref": "#/components/schemas/_filter_number" budget_used: "$ref": "#/components/schemas/_filter_number" budget_warning: "$ref": "#/components/schemas/_filter_number" budgeted_time: "$ref": "#/components/schemas/_filter_number" closed_at: "$ref": "#/components/schemas/_filter_booking_date_blank" color_id: "$ref": "#/components/schemas/_filter_booking_id_blank" company_id: "$ref": "#/components/schemas/_filter_id" contact_id: "$ref": "#/components/schemas/_filter_booking_id_blank" contract_id: "$ref": "#/components/schemas/_filter_booking_id_blank" cost: "$ref": "#/components/schemas/_filter_number" created_at: "$ref": "#/components/schemas/_filter_date" creator_id: "$ref": "#/components/schemas/_filter_id" credited: "$ref": "#/components/schemas/_filter_number" currency: "$ref": "#/components/schemas/_filter_string" custom_fields: "$ref": "#/components/schemas/_filter_custom_fields" date: "$ref": "#/components/schemas/_filter_date" deal_status_id: "$ref": "#/components/schemas/_filter_id" deal_type_id: "$ref": "#/components/schemas/_filter_number" delivered_on: "$ref": "#/components/schemas/_filter_booking_date_blank" discount: "$ref": "#/components/schemas/_filter_number" draft_invoiced: "$ref": "#/components/schemas/_filter_number" end_date: "$ref": "#/components/schemas/_filter_booking_date_blank" estimated_cost: "$ref": "#/components/schemas/_filter_number" estimated_remaining_time: "$ref": "#/components/schemas/_filter_number" estimated_time: "$ref": "#/components/schemas/_filter_number" expense: "$ref": "#/components/schemas/_filter_number" expenses_billable: "$ref": "#/components/schemas/_filter_number" forecasted_billable_time: "$ref": "#/components/schemas/_filter_number" forecasted_budget_usage: "$ref": "#/components/schemas/_filter_number" forecasted_budget_used: "$ref": "#/components/schemas/_filter_number" forecasted_cost: "$ref": "#/components/schemas/_filter_number" forecasted_margin: "$ref": "#/components/schemas/_filter_number" forecasted_profit: "$ref": "#/components/schemas/_filter_number" forecasted_revenue: "$ref": "#/components/schemas/_filter_number" forecasted_time_usage: "$ref": "#/components/schemas/_filter_number" formulas: "$ref": "#/components/schemas/_filter_booking_formulas" full_query: "$ref": "#/components/schemas/_filter_booking_text" future_booked_time: "$ref": "#/components/schemas/_filter_number" future_budget_used: "$ref": "#/components/schemas/_filter_number" future_cost: "$ref": "#/components/schemas/_filter_number" future_revenue: "$ref": "#/components/schemas/_filter_number" fuzzy_dates: "$ref": "#/components/schemas/_filter_booking_date_blank" fuzzy_people: "$ref": "#/components/schemas/_filter_id_eq" id: "$ref": "#/components/schemas/_filter_id" invoiced: "$ref": "#/components/schemas/_filter_number" invoiced_percentage: "$ref": "#/components/schemas/_filter_number" invoiced_rate: "$ref": "#/components/schemas/_filter_number" jump_query: "$ref": "#/components/schemas/_filter_booking_text" last_activity_at: "$ref": "#/components/schemas/_filter_booking_date_blank" lost_at: "$ref": "#/components/schemas/_filter_booking_date_blank" lost_date: "$ref": "#/components/schemas/_filter_booking_date_blank" lost_reason_id: "$ref": "#/components/schemas/_filter_booking_id_blank" manual_invoicing_status: "$ref": "#/components/schemas/_filter_boolean" manually_invoiced: "$ref": "#/components/schemas/_filter_number" name: "$ref": "#/components/schemas/_filter_booking_text" needs_closing: "$ref": "#/components/schemas/_filter_boolean" needs_invoicing: "$ref": "#/components/schemas/_filter_boolean" next_occurrence_on: "$ref": "#/components/schemas/_filter_date" number: "$ref": "#/components/schemas/_filter_string" origin_deal_id: "$ref": "#/components/schemas/_filter_booking_id_blank" pending_invoicing: "$ref": "#/components/schemas/_filter_number" pipeline_id: "$ref": "#/components/schemas/_filter_booking_id_blank" previous_deal_status_id: "$ref": "#/components/schemas/_filter_id" previous_or_current_deal_status_id: "$ref": "#/components/schemas/_filter_id_eq" previous_probability: "$ref": "#/components/schemas/_filter_number" probability: "$ref": "#/components/schemas/_filter_number" profit: "$ref": "#/components/schemas/_filter_number" profit_margin: "$ref": "#/components/schemas/_filter_number" project_id: "$ref": "#/components/schemas/_filter_booking_id_blank" project_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/project_type" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/project_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/project_type" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/project_type" title: List - "$ref": "#/components/schemas/resource_budget_report/properties/project_type" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/project_type" title: List description: Filter by project type (billable or overhead). example: eq: active projected_revenue: "$ref": "#/components/schemas/_filter_number" purchase_order_number: "$ref": "#/components/schemas/_filter_booking_text" query: "$ref": "#/components/schemas/_filter_booking_text" recurring: "$ref": "#/components/schemas/_filter_boolean" recurring_ends_on: "$ref": "#/components/schemas/_filter_booking_date_blank" recurring_interval_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/recurring_interval_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_interval_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/recurring_interval_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_interval_id" title: List - "$ref": "#/components/schemas/resource_budget_report/properties/recurring_interval_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_interval_id" title: List description: Filter by the recurrence interval (e.g. monthly, quarterly). example: - 123 recurring_starts_on: "$ref": "#/components/schemas/_filter_date" responsible_id: "$ref": "#/components/schemas/_filter_id" revenue: "$ref": "#/components/schemas/_filter_number" revenue_distribution_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/revenue_distribution_type" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/revenue_distribution_type" gt: "$ref": "#/components/schemas/resource_budget_report/properties/revenue_distribution_type" lt: "$ref": "#/components/schemas/resource_budget_report/properties/revenue_distribution_type" gt_eq: "$ref": "#/components/schemas/resource_budget_report/properties/revenue_distribution_type" lt_eq: "$ref": "#/components/schemas/resource_budget_report/properties/revenue_distribution_type" contains: "$ref": "#/components/schemas/resource_budget_report/properties/revenue_distribution_type" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/revenue_distribution_type" - "$ref": "#/components/schemas/resource_budget_report/properties/revenue_distribution_type" description: Filter by revenue distribution type (e.g. time_and_materials, fixed_price, as_invoiced). example: eq: active sales_closed_at: "$ref": "#/components/schemas/_filter_booking_date_blank" sales_closed_on: "$ref": "#/components/schemas/_filter_booking_date_blank" sales_status_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" title: List gt: "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" lt: "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" gt_eq: "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" lt_eq: "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" contains: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" title: List description: Filter by the sales deal status (opportunity pipeline stage). example: - 123 services_revenue: "$ref": "#/components/schemas/_filter_number" stage_status_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" title: List gt: "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" lt: "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" gt_eq: "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" lt_eq: "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" contains: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" title: List description: Filter by the current pipeline stage (stage status). example: - 123 stage_updated_at: "$ref": "#/components/schemas/_filter_booking_date_blank" status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/status" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/status" - "$ref": "#/components/schemas/resource_budget_report/properties/status" description: Filter by the budget status label (e.g. active, closed, lost). example: eq: active status_id: "$ref": "#/components/schemas/_filter_id" subscriber_id: "$ref": "#/components/schemas/_filter_id_eq" subsidiary_id: "$ref": "#/components/schemas/_filter_booking_id_eq_blank" template: "$ref": "#/components/schemas/_filter_booking_text" time_approval: "$ref": "#/components/schemas/_filter_boolean" todo_due_date: "$ref": "#/components/schemas/_filter_booking_date_blank" tracking_type_id: "$ref": "#/components/schemas/_filter_id" type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/type" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/type" - "$ref": "#/components/schemas/resource_budget_report/properties/type" description: Filter by the resource type of the report row (e.g. budget_report). example: eq: active unapproved_time: "$ref": "#/components/schemas/_filter_number" won_at: "$ref": "#/components/schemas/_filter_booking_date_blank" won_date: "$ref": "#/components/schemas/_filter_booking_date_blank" work_cost: "$ref": "#/components/schemas/_filter_number" worked_time: "$ref": "#/components/schemas/_filter_number" days_in_current_stage: "$ref": "#/components/schemas/_filter_number" days_since_created: "$ref": "#/components/schemas/_filter_number" days_since_last_activity: "$ref": "#/components/schemas/_filter_number" designated_approver_id: "$ref": "#/components/schemas/_filter_booking_id_blank" parent_company_id: "$ref": "#/components/schemas/_filter_booking_id_eq_blank" retainer_interval: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/retainer_interval" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/retainer_interval" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/retainer_interval" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/retainer_interval" title: List - "$ref": "#/components/schemas/resource_budget_report/properties/retainer_interval" - type: array items: "$ref": "#/components/schemas/resource_budget_report/properties/retainer_interval" title: List description: Filter by the budget retainer billing interval (week, two_weeks, month, quarter, half_year, or year). example: eq: value overtime_time: "$ref": "#/components/schemas/_filter_number" budgeted_time_usage: "$ref": "#/components/schemas/_filter_number" current_occurrence: "$ref": "#/components/schemas/_filter_boolean" deal_value_source: anyOf: - type: object title: Operation properties: eq: anyOf: - enum: - from_services - manual type: string title: Value - type: array items: enum: - from_services - manual type: string title: List of strings not_eq: anyOf: - enum: - from_services - manual type: string title: Value - type: array items: enum: - from_services - manual type: string title: List of strings contains: anyOf: - enum: - from_services - manual type: string title: Value - type: array items: enum: - from_services - manual type: string title: List of strings - enum: - from_services - manual type: string title: Value - type: array items: enum: - from_services - manual type: string title: List of strings estimated_time_usage: "$ref": "#/components/schemas/_filter_number" retainer: "$ref": "#/components/schemas/_filter_boolean" revenue_distribution_base: anyOf: - type: object title: Operation properties: eq: anyOf: - enum: - weighted - deal_value type: string title: Value - type: array items: enum: - weighted - deal_value type: string title: List of strings not_eq: anyOf: - enum: - weighted - deal_value type: string title: Value - type: array items: enum: - weighted - deal_value type: string title: List of strings contains: anyOf: - enum: - weighted - deal_value type: string title: Value - type: array items: enum: - weighted - deal_value type: string title: List of strings - enum: - weighted - deal_value type: string title: Value - type: array items: enum: - weighted - deal_value type: string title: List of strings revenue_distribution_end_on: "$ref": "#/components/schemas/_filter_booking_date_blank" revenue_distribution_start_on: "$ref": "#/components/schemas/_filter_booking_date_blank" stage_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/stage_type" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/stage_type" - "$ref": "#/components/schemas/resource_booking_report/properties/stage_type" time_entry_mandatory_note: "$ref": "#/components/schemas/_filter_boolean" time_entry_mandatory_task: "$ref": "#/components/schemas/_filter_boolean" time_entry_requirements: "$ref": "#/components/schemas/_filter_booking_tags" time_to_close: "$ref": "#/components/schemas/_filter_number" example: id: eq: '123' _collection_linkage: type: object title: Collection linkage properties: data: type: array items: "$ref": "#/components/schemas/_resource" required: - data _collection_relationship: anyOf: - "$ref": "#/components/schemas/_collection_linkage" - "$ref": "#/components/schemas/_not_included" description: A JSON:API collection relationship — links to zero or more related resources. example: data: - type: tasks id: '42' _id_list: type: string title: Comma-separated ids pattern: "^[0-9]+(,[0-9]+)+$" _links: type: object title: Links properties: first: type: string format: uri last: type: string format: uri next: type: string format: uri prev: type: string format: uri required: - first _meta: type: object title: Meta description: Pagination and response metadata returned with every collection endpoint. properties: current_page: type: integer description: The current page number in this paginated response (1-based). example: 1 max_page_size: type: integer description: Maximum number of records allowed per page for this endpoint. example: 200 organization_features: type: object description: Feature flags and capabilities enabled for the current organization, used for UI rendering. example: [] page_size: type: integer description: Number of records returned per page in this response. example: 30 settings: type: object description: Organization or user settings relevant to this resource's display. example: feature_x: true notifications: email: true total_count: type: integer description: Total number of records matching the current query across all pages. example: 42 total_pages: type: integer description: Total number of pages available for the current query and page size. example: 5 example: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 _not_included: type: object title: Not included description: Placeholder for a relationship that was not sideloaded in this response. properties: meta: type: object description: Metadata indicating the sideload status of this relationship. properties: included: enum: - false type: boolean description: Whether the related resource was included in the sideloaded data. Always `false` for this variant. example: false required: - included example: included: false required: - meta example: meta: included: false _resource: type: object title: Resource Identifier description: A JSON:API resource identifier object containing the resource type and ID. properties: id: type: string description: The unique identifier of the resource. example: 42 type: type: string description: The resource type name (e.g. `tasks`, `people`, `deals`). example: tasks required: - id - type example: type: tasks id: '42' _response_object_person: type: object title: Person properties: attributes: type: object properties: ai_assistant_avatar_url: anyOf: - "$ref": "#/components/schemas/resource_person/properties/ai_assistant_avatar_url" - type: 'null' title: 'Null' agent: "$ref": "#/components/schemas/resource_person/properties/agent" ai_assistant_instructions: anyOf: - "$ref": "#/components/schemas/resource_person/properties/ai_assistant_instructions" - type: 'null' title: 'Null' ai_assistant_name: anyOf: - "$ref": "#/components/schemas/resource_person/properties/ai_assistant_name" - type: 'null' title: 'Null' archived_at: anyOf: - "$ref": "#/components/schemas/resource_person/properties/archived_at" - type: 'null' title: 'Null' autotracking: "$ref": "#/components/schemas/resource_person/properties/autotracking" availabilities: "$ref": "#/components/schemas/resource_person/properties/availabilities" avatar_url: anyOf: - "$ref": "#/components/schemas/resource_person/properties/avatar_url" - type: 'null' title: 'Null' champion: "$ref": "#/components/schemas/resource_person/properties/champion" color_id: anyOf: - "$ref": "#/components/schemas/resource_person/properties/color_id" - type: 'null' title: 'Null' contact: anyOf: - "$ref": "#/components/schemas/resource_person/properties/contact" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_person/properties/created_at" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_person/properties/custom_fields" - type: 'null' title: 'Null' deactivated_at: anyOf: - "$ref": "#/components/schemas/resource_person/properties/deactivated_at" - type: 'null' title: 'Null' email: anyOf: - "$ref": "#/components/schemas/resource_person/properties/email" - type: 'null' title: 'Null' external_id: anyOf: - "$ref": "#/components/schemas/resource_person/properties/external_id" - type: 'null' title: 'Null' external_sync: "$ref": "#/components/schemas/resource_person/properties/external_sync" first_name: anyOf: - "$ref": "#/components/schemas/resource_person/properties/first_name" - type: 'null' title: 'Null' hrm_type_id: anyOf: - "$ref": "#/components/schemas/resource_person/properties/hrm_type_id" - type: 'null' title: 'Null' invited_at: anyOf: - "$ref": "#/components/schemas/resource_person/properties/invited_at" - type: 'null' title: 'Null' is_subordinate_to_current_person: "$ref": "#/components/schemas/resource_person/properties/is_subordinate_to_current_person" is_user: "$ref": "#/components/schemas/resource_person/properties/is_user" joined_at: anyOf: - "$ref": "#/components/schemas/resource_person/properties/joined_at" - type: 'null' title: 'Null' last_activity_at: anyOf: - "$ref": "#/components/schemas/resource_person/properties/last_activity_at" - type: 'null' title: 'Null' last_name: anyOf: - "$ref": "#/components/schemas/resource_person/properties/last_name" - type: 'null' title: 'Null' last_seen_at: anyOf: - "$ref": "#/components/schemas/resource_person/properties/last_seen_at" - type: 'null' title: 'Null' nickname: anyOf: - "$ref": "#/components/schemas/resource_person/properties/nickname" - type: 'null' title: 'Null' offboarding_id: anyOf: - "$ref": "#/components/schemas/resource_person/properties/offboarding_id" - type: 'null' title: 'Null' offboarding_status: "$ref": "#/components/schemas/resource_person/properties/offboarding_status" original_avatar_url: anyOf: - "$ref": "#/components/schemas/resource_person/properties/original_avatar_url" - type: 'null' title: 'Null' placeholder: "$ref": "#/components/schemas/resource_person/properties/placeholder" role_id: anyOf: - "$ref": "#/components/schemas/resource_person/properties/role_id" - type: 'null' title: 'Null' sample_data: "$ref": "#/components/schemas/resource_person/properties/sample_data" shared_seat: "$ref": "#/components/schemas/resource_person/properties/shared_seat" status_emoji: anyOf: - "$ref": "#/components/schemas/resource_person/properties/status_emoji" - type: 'null' title: 'Null' status_expires_at: anyOf: - "$ref": "#/components/schemas/resource_person/properties/status_expires_at" - type: 'null' title: 'Null' status_text: anyOf: - "$ref": "#/components/schemas/resource_person/properties/status_text" - type: 'null' title: 'Null' tag_list: "$ref": "#/components/schemas/resource_person/properties/tag_list" time_off_status_sync: "$ref": "#/components/schemas/resource_person/properties/time_off_status_sync" time_tracking_policy_id: anyOf: - "$ref": "#/components/schemas/resource_person/properties/time_tracking_policy_id" - type: 'null' title: 'Null' time_unlocked: anyOf: - "$ref": "#/components/schemas/resource_person/properties/time_unlocked" - type: 'null' title: 'Null' time_unlocked_end_date: anyOf: - "$ref": "#/components/schemas/resource_person/properties/time_unlocked_end_date" - type: 'null' title: 'Null' time_unlocked_interval: anyOf: - "$ref": "#/components/schemas/resource_person/properties/time_unlocked_interval" - type: 'null' title: 'Null' time_unlocked_on: anyOf: - "$ref": "#/components/schemas/resource_person/properties/time_unlocked_on" - type: 'null' title: 'Null' time_unlocked_period_id: anyOf: - "$ref": "#/components/schemas/resource_person/properties/time_unlocked_period_id" - type: 'null' title: 'Null' time_unlocked_start_date: anyOf: - "$ref": "#/components/schemas/resource_person/properties/time_unlocked_start_date" - type: 'null' title: 'Null' timesheet_submission_disabled: "$ref": "#/components/schemas/resource_person/properties/timesheet_submission_disabled" title: anyOf: - "$ref": "#/components/schemas/resource_person/properties/title" - type: 'null' title: 'Null' two_factor_auth: anyOf: - "$ref": "#/components/schemas/resource_person/properties/two_factor_auth" - type: 'null' title: 'Null' user_id: anyOf: - "$ref": "#/components/schemas/resource_person/properties/user_id" - type: 'null' title: 'Null' virtual: "$ref": "#/components/schemas/resource_person/properties/virtual" id: type: string relationships: type: object properties: approval_policy_assignment: "$ref": "#/components/schemas/_single_relationship" company: "$ref": "#/components/schemas/_single_relationship" custom_field_attachments: "$ref": "#/components/schemas/_collection_relationship" custom_field_people: "$ref": "#/components/schemas/_collection_relationship" custom_role: "$ref": "#/components/schemas/_single_relationship" import: "$ref": "#/components/schemas/_single_relationship" job_role: "$ref": "#/components/schemas/_single_relationship" manager: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person_session: "$ref": "#/components/schemas/_single_relationship" service_types: "$ref": "#/components/schemas/_collection_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" teams: "$ref": "#/components/schemas/_collection_relationship" time_tracking_policy: "$ref": "#/components/schemas/_single_relationship" type: enum: - people type: string required: - id - type filter_expense: type: object title: Filter expense 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. properties: amount: "$ref": "#/components/schemas/_filter_number" amount_with_tax: "$ref": "#/components/schemas/_filter_number" approval_status: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/approval_status" - type: array items: "$ref": "#/components/schemas/resource_expense/properties/approval_status" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/approval_status" - type: array items: "$ref": "#/components/schemas/resource_expense/properties/approval_status" title: List - "$ref": "#/components/schemas/resource_expense/properties/approval_status" - type: array items: "$ref": "#/components/schemas/resource_expense/properties/approval_status" title: List description: Filter expenses by approval status. example: eq: active approver_id: "$ref": "#/components/schemas/_filter_expense_ids_blank" assigned_approver_id: "$ref": "#/components/schemas/_filter_expense_ids_value" awaiting_approval_from_approver_id: "$ref": "#/components/schemas/_filter_expense_ids_value" billable_amount: "$ref": "#/components/schemas/_filter_number" company_id: "$ref": "#/components/schemas/_filter_expense_ids_eq" created_at: "$ref": "#/components/schemas/_filter_date" creator_id: "$ref": "#/components/schemas/_filter_expense_ids" currency: "$ref": "#/components/schemas/_filter_expense_string_list" custom_fields: type: object additionalProperties: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string any_of: type: array items: type: string not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings none_of: type: array items: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String description: Filter expenses by custom field values. example: eq: value date: "$ref": "#/components/schemas/_filter_date" date_after: type: string format: date description: Filter expenses incurred after this date. example: eq: value date_before: type: string format: date description: Filter expenses incurred before this date. example: eq: value deal_id: "$ref": "#/components/schemas/_filter_expense_ids_blank" draft: "$ref": "#/components/schemas/_filter_boolean" export_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/export_status" not_eq: "$ref": "#/components/schemas/resource_expense/properties/export_status" - "$ref": "#/components/schemas/resource_expense/properties/export_status" description: Filter expenses by export status. example: eq: active full_query: type: string description: Full-text search query across expense fields. example: eq: value fuzzy_dates: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter expenses by fuzzy date range. example: gt: '2026-01-01' fuzzy_people: "$ref": "#/components/schemas/_filter_expense_ids_value" id: "$ref": "#/components/schemas/_filter_expense_ids" invoice_id: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_filter_expense_ids_eq_blank" not_eq: "$ref": "#/components/schemas/_filter_expense_ids_eq_blank" contains: "$ref": "#/components/schemas/_filter_expense_ids_eq_blank" not_contain: "$ref": "#/components/schemas/_filter_expense_ids_eq_blank" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter expenses by invoice ID. example: - 123 invoiced: "$ref": "#/components/schemas/_filter_boolean" invoicing_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/invoicing_status" not_eq: "$ref": "#/components/schemas/resource_expense/properties/invoicing_status" - "$ref": "#/components/schemas/resource_expense/properties/invoicing_status" description: Filter expenses by invoicing status. example: eq: active jump_query: type: string description: Jump search query for quick expense lookup. example: eq: value name: "$ref": "#/components/schemas/_filter_expense_string_blank" paid_on: "$ref": "#/components/schemas/_filter_expense_date_blank" paid_on_after: type: string format: date description: Filter expenses paid after this date. example: eq: value paid_on_before: type: string format: date description: Filter expenses paid before this date. example: eq: value pay_on: "$ref": "#/components/schemas/_filter_expense_date_blank" pay_on_after: type: string format: date description: Filter expenses with payment due after this date. example: eq: value pay_on_before: type: string format: date description: Filter expenses with payment due before this date. example: eq: value person_id: "$ref": "#/components/schemas/_filter_expense_ids_blank" profit: "$ref": "#/components/schemas/_filter_number" project_id: "$ref": "#/components/schemas/_filter_expense_ids_eq_blank" purchase_order_id: "$ref": "#/components/schemas/_filter_expense_ids_blank" quantity: "$ref": "#/components/schemas/_filter_expense_number_blank" query: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String description: Text search query matching expense names. example: eq: value quote_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/stage_type" not_eq: "$ref": "#/components/schemas/resource_expense/properties/stage_type" - "$ref": "#/components/schemas/resource_expense/properties/stage_type" description: Filter expenses by quote type. example: eq: active recognized_revenue: "$ref": "#/components/schemas/_filter_number" reimbursable: "$ref": "#/components/schemas/_filter_boolean" reimbursed_on: "$ref": "#/components/schemas/_filter_expense_date_blank" reimbursement: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/reimbursement" - type: array items: "$ref": "#/components/schemas/resource_expense/properties/reimbursement" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/reimbursement" - type: array items: "$ref": "#/components/schemas/resource_expense/properties/reimbursement" title: List - "$ref": "#/components/schemas/resource_expense/properties/reimbursement" - type: array items: "$ref": "#/components/schemas/resource_expense/properties/reimbursement" title: List description: Filter expenses by reimbursement status. example: eq: value responsible_id: "$ref": "#/components/schemas/_filter_expense_ids_eq" section_name: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String description: Filter expenses by section name. example: eq: value service_id: "$ref": "#/components/schemas/_filter_expense_ids_blank" service_type_id: "$ref": "#/components/schemas/_filter_expense_ids_eq_blank" stage_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/stage_type" not_eq: "$ref": "#/components/schemas/resource_expense/properties/stage_type" - "$ref": "#/components/schemas/resource_expense/properties/stage_type" description: Filter expenses by budget stage type. example: eq: active status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/status" not_eq: "$ref": "#/components/schemas/resource_expense/properties/status" - "$ref": "#/components/schemas/resource_expense/properties/status" description: Filter expenses by approval status. example: eq: active tax_rate_id: "$ref": "#/components/schemas/_filter_expense_ids_blank" vendor_id: "$ref": "#/components/schemas/_filter_expense_ids_blank" with_draft: type: boolean description: Filter expenses by whether drafts are included. example: eq: value allocation_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/allocation_status" not_eq: "$ref": "#/components/schemas/resource_expense/properties/allocation_status" - "$ref": "#/components/schemas/resource_expense/properties/allocation_status" description: Filter by whether the expense is allocated to a service (allocated) or not linked to any service (unallocated). example: eq: active approved_at: "$ref": "#/components/schemas/_filter_expense_date_blank" designated_approver_id: "$ref": "#/components/schemas/_filter_expense_ids_eq" updated_at: "$ref": "#/components/schemas/_filter_date" updater_id: "$ref": "#/components/schemas/_filter_expense_ids" approved_by_actual_approver_id: "$ref": "#/components/schemas/_filter_expense_ids_value" approved_for_assigned_approver_id: "$ref": "#/components/schemas/_filter_expense_ids_value" example: id: eq: '123' filter_overhead: type: object title: Filter overhead description: Filter parameters for overhead projects. properties: subsidiary_id: "$ref": "#/components/schemas/_filter_id" overhead_type_id: "$ref": "#/components/schemas/_filter_id" id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_payment: type: object title: Filter payment patternProperties: "^invoice\\..+$": title: Invoice relationship description: Available filter parameters for querying payments. properties: amount: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_payment/properties/amount" not_eq: "$ref": "#/components/schemas/resource_payment/properties/amount" gt: "$ref": "#/components/schemas/resource_payment/properties/amount" lt: "$ref": "#/components/schemas/resource_payment/properties/amount" gt_eq: "$ref": "#/components/schemas/resource_payment/properties/amount" lt_eq: "$ref": "#/components/schemas/resource_payment/properties/amount" - "$ref": "#/components/schemas/resource_payment/properties/amount" description: Filter by payment amount range. example: eq: 250000 budget_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/budget_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/budget_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/budget_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/budget_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/resource_payment/properties/budget_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/budget_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the associated budget or deal. example: eq: - 456789 company_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/company_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/company_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/resource_payment/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/company_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by client company (via the associated invoice). example: eq: - 234567 external_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/external_id" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/external_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/external_id" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/external_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_payment/properties/external_id" lt: "$ref": "#/components/schemas/resource_payment/properties/external_id" gt_eq: "$ref": "#/components/schemas/resource_payment/properties/external_id" lt_eq: "$ref": "#/components/schemas/resource_payment/properties/external_id" contains: "$ref": "#/components/schemas/resource_payment/properties/external_id" not_contain: "$ref": "#/components/schemas/resource_payment/properties/external_id" - "$ref": "#/components/schemas/resource_payment/properties/external_id" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/external_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by external payment ID from an integrated system. example: eq: - xero-pay-456 id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/id" title: List gt: "$ref": "#/components/schemas/resource_payment/properties/id" lt: "$ref": "#/components/schemas/resource_payment/properties/id" gt_eq: "$ref": "#/components/schemas/resource_payment/properties/id" lt_eq: "$ref": "#/components/schemas/resource_payment/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_payment/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_payment/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_payment/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/id" title: List description: Filter by payment ID. example: eq: - 345678 invoice_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/invoice_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/invoice_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/invoice_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/invoice_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_payment/properties/invoice_id" lt: "$ref": "#/components/schemas/resource_payment/properties/invoice_id" gt_eq: "$ref": "#/components/schemas/resource_payment/properties/invoice_id" lt_eq: "$ref": "#/components/schemas/resource_payment/properties/invoice_id" contains: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/invoice_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/invoice_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/invoice_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/invoice_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_payment/properties/invoice_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_payment/properties/invoice_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_payment/properties/invoice_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/invoice_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the associated invoice. example: eq: - 789012 number: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_payment/properties/number" not_eq: "$ref": "#/components/schemas/resource_payment/properties/number" contains: "$ref": "#/components/schemas/resource_payment/properties/number" not_contain: "$ref": "#/components/schemas/resource_payment/properties/number" - "$ref": "#/components/schemas/resource_payment/properties/number" description: Filter by the invoice number associated with the payment. example: eq: INV-2026-042 paid_after: "$ref": "#/components/schemas/resource_payment/properties/paid_after" paid_before: "$ref": "#/components/schemas/resource_payment/properties/paid_before" paid_on: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/paid_on" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/paid_on" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_payment/properties/paid_on" lt: "$ref": "#/components/schemas/resource_payment/properties/paid_on" gt_eq: "$ref": "#/components/schemas/resource_payment/properties/paid_on" lt_eq: "$ref": "#/components/schemas/resource_payment/properties/paid_on" - "$ref": "#/components/schemas/resource_payment/properties/paid_on" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by payment date range (`paid_on`). example: eq: '2026-03-15' project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/project_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/project_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/resource_payment/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/project_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the associated project. example: eq: - 567890 query: anyOf: - type: object title: Operation properties: 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" not_contain: "$ref": "#/components/schemas/resource_payment/properties/query" - "$ref": "#/components/schemas/resource_payment/properties/query" description: Search payments by invoice number or related text. example: eq: INV-2026 subsidiary_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/subsidiary_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/subsidiary_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/resource_payment/properties/subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_payment/properties/subsidiary_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the associated subsidiary (via the invoice). example: eq: - 234 written_off_on: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/written_off_on" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/written_off_on" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_payment/properties/written_off_on" lt: "$ref": "#/components/schemas/resource_payment/properties/written_off_on" gt_eq: "$ref": "#/components/schemas/resource_payment/properties/written_off_on" lt_eq: "$ref": "#/components/schemas/resource_payment/properties/written_off_on" - "$ref": "#/components/schemas/resource_payment/properties/written_off_on" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by write-off date range (`written_off_on`). example: eq: '2026-03-20' example: id: eq: - 345678 filter_project: type: object title: Filter project patternProperties: "^deals..*$": title: Deals relationship "^budgets..*$": title: Budgets relationship "^company..*$": title: Company relationship "^subsidiary..*$": title: Subsidiary relationship "^project_manager..*$": title: Project manager relationship description: Available filter parameters for querying projects. properties: budget_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/budget_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/budget_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/budget_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/budget_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/resource_project/properties/budget_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/budget_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the associated budget (deal). example: - 123 company_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/company_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/company_id" title: List gt: "$ref": "#/components/schemas/resource_project/properties/company_id" lt: "$ref": "#/components/schemas/resource_project/properties/company_id" gt_eq: "$ref": "#/components/schemas/resource_project/properties/company_id" lt_eq: "$ref": "#/components/schemas/resource_project/properties/company_id" contains: anyOf: - "$ref": "#/components/schemas/resource_project/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/company_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/company_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project/properties/company_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project/properties/company_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/company_id" title: List description: Filter by client company. example: - 123 cost: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project/properties/cost" not_eq: "$ref": "#/components/schemas/resource_project/properties/cost" gt: "$ref": "#/components/schemas/resource_project/properties/cost" lt: "$ref": "#/components/schemas/resource_project/properties/cost" gt_eq: "$ref": "#/components/schemas/resource_project/properties/cost" lt_eq: "$ref": "#/components/schemas/resource_project/properties/cost" - "$ref": "#/components/schemas/resource_project/properties/cost" description: Filter by total cost across open budgets (in base currency). example: eq: value created_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by creation date range (created_at). example: gt: '2026-01-01' custom_fields: type: object additionalProperties: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string any_of: type: array items: type: string not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings none_of: type: array items: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String description: Filter by custom field values. example: eq: value estimated_time: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project/properties/estimated_time" not_eq: "$ref": "#/components/schemas/resource_project/properties/estimated_time" gt: "$ref": "#/components/schemas/resource_project/properties/estimated_time" lt: "$ref": "#/components/schemas/resource_project/properties/estimated_time" gt_eq: "$ref": "#/components/schemas/resource_project/properties/estimated_time" lt_eq: "$ref": "#/components/schemas/resource_project/properties/estimated_time" - "$ref": "#/components/schemas/resource_project/properties/estimated_time" description: Filter by total estimated time across open budgets (in minutes). example: gt: 0 for_tracking: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project/properties/for_tracking" not_eq: "$ref": "#/components/schemas/resource_project/properties/for_tracking" - "$ref": "#/components/schemas/resource_project/properties/for_tracking" description: Filter to only include projects eligible for time tracking (active projects only). example: eq: value full_query: anyOf: - "$ref": "#/components/schemas/resource_project/properties/full_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Full-text search across all project content fields. example: eq: value fuzzy_dates: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project/properties/fuzzy_dates" not_eq: "$ref": "#/components/schemas/resource_project/properties/fuzzy_dates" gt: "$ref": "#/components/schemas/resource_project/properties/fuzzy_dates" lt: "$ref": "#/components/schemas/resource_project/properties/fuzzy_dates" gt_eq: "$ref": "#/components/schemas/resource_project/properties/fuzzy_dates" lt_eq: "$ref": "#/components/schemas/resource_project/properties/fuzzy_dates" - "$ref": "#/components/schemas/resource_project/properties/fuzzy_dates" description: Fuzzy date range filter — matches projects by start/end date proximity. example: gt: '2026-01-01' fuzzy_people: anyOf: - "$ref": "#/components/schemas/resource_project/properties/fuzzy_people" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/fuzzy_people" title: List description: Fuzzy person filter — matches projects by associated people (members or project manager). example: eq: value id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/id" title: List gt: "$ref": "#/components/schemas/resource_project/properties/id" lt: "$ref": "#/components/schemas/resource_project/properties/id" gt_eq: "$ref": "#/components/schemas/resource_project/properties/id" lt_eq: "$ref": "#/components/schemas/resource_project/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_project/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/id" title: List description: Filter by project ID. example: - 123 jump_query: anyOf: - "$ref": "#/components/schemas/resource_project/properties/jump_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Quick-jump search query for fast project navigation by name. example: eq: value name: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_project/properties/name" lt: "$ref": "#/components/schemas/resource_project/properties/name" gt_eq: "$ref": "#/components/schemas/resource_project/properties/name" lt_eq: "$ref": "#/components/schemas/resource_project/properties/name" contains: "$ref": "#/components/schemas/resource_project/properties/name" not_contain: "$ref": "#/components/schemas/resource_project/properties/name" - "$ref": "#/components/schemas/resource_project/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by project name (text search). example: eq: value number: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/number" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/number" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_project/properties/number" lt: "$ref": "#/components/schemas/resource_project/properties/number" gt_eq: "$ref": "#/components/schemas/resource_project/properties/number" lt_eq: "$ref": "#/components/schemas/resource_project/properties/number" contains: "$ref": "#/components/schemas/resource_project/properties/number" not_contain: "$ref": "#/components/schemas/resource_project/properties/number" - "$ref": "#/components/schemas/resource_project/properties/number" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by auto-generated project number. example: gt: 0 pending_invoicing: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project/properties/pending_invoicing" not_eq: "$ref": "#/components/schemas/resource_project/properties/pending_invoicing" gt: "$ref": "#/components/schemas/resource_project/properties/pending_invoicing" lt: "$ref": "#/components/schemas/resource_project/properties/pending_invoicing" gt_eq: "$ref": "#/components/schemas/resource_project/properties/pending_invoicing" lt_eq: "$ref": "#/components/schemas/resource_project/properties/pending_invoicing" - "$ref": "#/components/schemas/resource_project/properties/pending_invoicing" description: Filter by amount pending invoicing across open budgets (in base currency). example: eq: value person_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/person_id" title: List contains: anyOf: - "$ref": "#/components/schemas/resource_project/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/person_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/person_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/person_id" title: List - "$ref": "#/components/schemas/resource_project/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/person_id" title: List description: Filter by person ID — returns projects where the person is a member or project manager. example: - 123 profit: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project/properties/profit" not_eq: "$ref": "#/components/schemas/resource_project/properties/profit" gt: "$ref": "#/components/schemas/resource_project/properties/profit" lt: "$ref": "#/components/schemas/resource_project/properties/profit" gt_eq: "$ref": "#/components/schemas/resource_project/properties/profit" lt_eq: "$ref": "#/components/schemas/resource_project/properties/profit" - "$ref": "#/components/schemas/resource_project/properties/profit" description: Filter by total profit across open budgets (in base currency). example: eq: value profit_margin: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project/properties/profit_margin" not_eq: "$ref": "#/components/schemas/resource_project/properties/profit_margin" gt: "$ref": "#/components/schemas/resource_project/properties/profit_margin" lt: "$ref": "#/components/schemas/resource_project/properties/profit_margin" gt_eq: "$ref": "#/components/schemas/resource_project/properties/profit_margin" lt_eq: "$ref": "#/components/schemas/resource_project/properties/profit_margin" - "$ref": "#/components/schemas/resource_project/properties/profit_margin" description: Filter by the project's profit margin across open budgets. example: eq: value project_color: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/project_color" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_color" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/project_color" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_color" title: List gt: "$ref": "#/components/schemas/resource_project/properties/project_color" lt: "$ref": "#/components/schemas/resource_project/properties/project_color" gt_eq: "$ref": "#/components/schemas/resource_project/properties/project_color" lt_eq: "$ref": "#/components/schemas/resource_project/properties/project_color" contains: anyOf: - "$ref": "#/components/schemas/resource_project/properties/project_color" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_color" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project/properties/project_color" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_color" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_color" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_color" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project/properties/project_color" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_color" title: List description: Filter by the project's color label. example: eq: value project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_id" title: List gt: "$ref": "#/components/schemas/resource_project/properties/project_id" lt: "$ref": "#/components/schemas/resource_project/properties/project_id" gt_eq: "$ref": "#/components/schemas/resource_project/properties/project_id" lt_eq: "$ref": "#/components/schemas/resource_project/properties/project_id" contains: anyOf: - "$ref": "#/components/schemas/resource_project/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_id" title: List description: Alias for id — filter by project ID. example: - 123 project_number: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/project_number" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/project_number" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_project/properties/project_number" lt: "$ref": "#/components/schemas/resource_project/properties/project_number" gt_eq: "$ref": "#/components/schemas/resource_project/properties/project_number" lt_eq: "$ref": "#/components/schemas/resource_project/properties/project_number" contains: "$ref": "#/components/schemas/resource_project/properties/project_number" not_contain: "$ref": "#/components/schemas/resource_project/properties/project_number" - "$ref": "#/components/schemas/resource_project/properties/project_number" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by formatted project number string (e.g. ACME-001). example: gt: 0 project_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/project_type" - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/project_type" - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_type" title: List any_of: type: array items: "$ref": "#/components/schemas/resource_project/properties/project_type" none_of: type: array items: "$ref": "#/components/schemas/resource_project/properties/project_type" - "$ref": "#/components/schemas/resource_project/properties/project_type" - type: array items: "$ref": "#/components/schemas/resource_project/properties/project_type" title: List description: Filter by project type — 1 for internal/overhead, 2 for billable client work. example: eq: active query: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 contains: "$ref": "#/components/schemas/resource_project/properties/query" not_contain: "$ref": "#/components/schemas/resource_project/properties/query" - "$ref": "#/components/schemas/resource_project/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 description: Full-text search query — matches project name and other fields. example: eq: value responsible_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/responsible_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/responsible_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/responsible_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/responsible_id" title: List gt: "$ref": "#/components/schemas/resource_project/properties/responsible_id" lt: "$ref": "#/components/schemas/resource_project/properties/responsible_id" gt_eq: "$ref": "#/components/schemas/resource_project/properties/responsible_id" lt_eq: "$ref": "#/components/schemas/resource_project/properties/responsible_id" contains: anyOf: - "$ref": "#/components/schemas/resource_project/properties/responsible_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/responsible_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project/properties/responsible_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/responsible_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project/properties/responsible_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project/properties/responsible_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project/properties/responsible_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/responsible_id" title: List description: Filter by responsible person (project manager) ID. example: - 123 revenue: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project/properties/revenue" not_eq: "$ref": "#/components/schemas/resource_project/properties/revenue" gt: "$ref": "#/components/schemas/resource_project/properties/revenue" lt: "$ref": "#/components/schemas/resource_project/properties/revenue" gt_eq: "$ref": "#/components/schemas/resource_project/properties/revenue" lt_eq: "$ref": "#/components/schemas/resource_project/properties/revenue" - "$ref": "#/components/schemas/resource_project/properties/revenue" description: Filter by total revenue across open budgets (in base currency). example: eq: value status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project/properties/status" not_eq: "$ref": "#/components/schemas/resource_project/properties/status" - "$ref": "#/components/schemas/resource_project/properties/status" description: Filter by project status. 1 = active, 2 = archived. example: eq: active template: anyOf: - "$ref": "#/components/schemas/resource_project/properties/template" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter to only return template projects. example: eq: value total_worked_time: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project/properties/total_worked_time" not_eq: "$ref": "#/components/schemas/resource_project/properties/total_worked_time" gt: "$ref": "#/components/schemas/resource_project/properties/total_worked_time" lt: "$ref": "#/components/schemas/resource_project/properties/total_worked_time" gt_eq: "$ref": "#/components/schemas/resource_project/properties/total_worked_time" lt_eq: "$ref": "#/components/schemas/resource_project/properties/total_worked_time" - "$ref": "#/components/schemas/resource_project/properties/total_worked_time" description: Filter by total worked time across all budgets including closed ones (in minutes). example: gt: 0 worked_time: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project/properties/worked_time" not_eq: "$ref": "#/components/schemas/resource_project/properties/worked_time" gt: "$ref": "#/components/schemas/resource_project/properties/worked_time" lt: "$ref": "#/components/schemas/resource_project/properties/worked_time" gt_eq: "$ref": "#/components/schemas/resource_project/properties/worked_time" lt_eq: "$ref": "#/components/schemas/resource_project/properties/worked_time" - "$ref": "#/components/schemas/resource_project/properties/worked_time" description: Filter by total worked time across open budgets only (in minutes). example: gt: 0 workflow_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/workflow_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/workflow_id" title: List gt: "$ref": "#/components/schemas/resource_project/properties/workflow_id" lt: "$ref": "#/components/schemas/resource_project/properties/workflow_id" gt_eq: "$ref": "#/components/schemas/resource_project/properties/workflow_id" lt_eq: "$ref": "#/components/schemas/resource_project/properties/workflow_id" contains: anyOf: - "$ref": "#/components/schemas/resource_project/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/workflow_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/workflow_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project/properties/workflow_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project/properties/workflow_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/workflow_id" title: List description: Filter by the project's task workflow. example: - 123 parent_company_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/parent_company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/parent_company_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_project/properties/parent_company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/parent_company_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/resource_project/properties/parent_company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project/properties/parent_company_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the parent company of the project's company. example: - 123 archived_at: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 subsidiary_id: anyOf: - type: object title: Operation properties: eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers - type: string title: Blank (IS NULL) maxLength: 0 gt: type: integer lt: type: integer gt_eq: type: integer lt_eq: type: integer contains: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers not_contain: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers any_of: anyOf: - type: array items: type: integer title: List of integers - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: type: integer title: List of integers - "$ref": "#/components/schemas/_id_list" - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers - type: string title: Blank (IS NULL) maxLength: 0 example: status: eq: active filter_project_report: type: object title: Filter project report patternProperties: "^deals..*$": title: Deals relationship "^budgets..*$": title: Budgets relationship "^company..*$": title: Company relationship "^subsidiary..*$": title: Subsidiary relationship "^project_manager..*$": title: Project manager relationship description: Available filter parameters for querying aggregated project report data. properties: budget_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/budget_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/budget_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/budget_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/budget_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/resource_project_report/properties/budget_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/budget_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the associated budget (deal). example: - 123 company_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/company_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/company_id" title: List gt: "$ref": "#/components/schemas/resource_project_report/properties/company_id" lt: "$ref": "#/components/schemas/resource_project_report/properties/company_id" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/company_id" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/company_id" contains: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/company_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/company_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/company_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/company_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project_report/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/company_id" title: List description: Filter by client company. example: - 123 cost: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_report/properties/cost" not_eq: "$ref": "#/components/schemas/resource_project_report/properties/cost" gt: "$ref": "#/components/schemas/resource_project_report/properties/cost" lt: "$ref": "#/components/schemas/resource_project_report/properties/cost" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/cost" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/cost" - "$ref": "#/components/schemas/resource_project_report/properties/cost" description: Filter by total cost across budgets. example: eq: value created_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by creation date range (created_at). example: gt: '2026-01-01' custom_fields: type: object additionalProperties: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string any_of: type: array items: type: string not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings none_of: type: array items: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String description: Filter by custom field values. example: eq: value estimated_time: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_report/properties/estimated_time" not_eq: "$ref": "#/components/schemas/resource_project_report/properties/estimated_time" gt: "$ref": "#/components/schemas/resource_project_report/properties/estimated_time" lt: "$ref": "#/components/schemas/resource_project_report/properties/estimated_time" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/estimated_time" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/estimated_time" - "$ref": "#/components/schemas/resource_project_report/properties/estimated_time" description: Filter by total estimated time across budgets. example: gt: 0 formulas: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_report/properties/formulas" not_eq: "$ref": "#/components/schemas/resource_project_report/properties/formulas" gt: "$ref": "#/components/schemas/resource_project_report/properties/formulas" lt: "$ref": "#/components/schemas/resource_project_report/properties/formulas" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/formulas" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/formulas" - "$ref": "#/components/schemas/resource_project_report/properties/formulas" description: Filter project report results by formulas. example: eq: value full_query: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/full_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Search projects by full-text match across all searchable fields. example: eq: value fuzzy_dates: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_report/properties/fuzzy_dates" not_eq: "$ref": "#/components/schemas/resource_project_report/properties/fuzzy_dates" gt: "$ref": "#/components/schemas/resource_project_report/properties/fuzzy_dates" lt: "$ref": "#/components/schemas/resource_project_report/properties/fuzzy_dates" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/fuzzy_dates" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/fuzzy_dates" - "$ref": "#/components/schemas/resource_project_report/properties/fuzzy_dates" description: Filter by fuzzy date range expressions (e.g. this_week, last_month). example: gt: '2026-01-01' fuzzy_people: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/fuzzy_people" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/fuzzy_people" title: List description: Filter by fuzzy person references (e.g. me, my_team). example: eq: value id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/id" title: List gt: "$ref": "#/components/schemas/resource_project_report/properties/id" lt: "$ref": "#/components/schemas/resource_project_report/properties/id" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/id" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project_report/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/id" title: List description: Filter project report results by id. example: - 123 jump_query: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/jump_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Search projects using a jump (quick prefix) text search. example: eq: value name: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_project_report/properties/name" lt: "$ref": "#/components/schemas/resource_project_report/properties/name" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/name" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/name" contains: "$ref": "#/components/schemas/resource_project_report/properties/name" not_contain: "$ref": "#/components/schemas/resource_project_report/properties/name" - "$ref": "#/components/schemas/resource_project_report/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by project name (text search). example: eq: value number: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/number" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/number" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_project_report/properties/number" lt: "$ref": "#/components/schemas/resource_project_report/properties/number" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/number" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/number" contains: "$ref": "#/components/schemas/resource_project_report/properties/number" not_contain: "$ref": "#/components/schemas/resource_project_report/properties/number" - "$ref": "#/components/schemas/resource_project_report/properties/number" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by project number (text search). example: gt: 0 pending_invoicing: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_report/properties/pending_invoicing" not_eq: "$ref": "#/components/schemas/resource_project_report/properties/pending_invoicing" gt: "$ref": "#/components/schemas/resource_project_report/properties/pending_invoicing" lt: "$ref": "#/components/schemas/resource_project_report/properties/pending_invoicing" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/pending_invoicing" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/pending_invoicing" - "$ref": "#/components/schemas/resource_project_report/properties/pending_invoicing" description: Filter project report results by pending invoicing. example: eq: value person_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/person_id" title: List contains: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/person_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/person_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/person_id" title: List - "$ref": "#/components/schemas/resource_project_report/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/person_id" title: List description: Filter project report results by person id. example: - 123 profit: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_report/properties/profit" not_eq: "$ref": "#/components/schemas/resource_project_report/properties/profit" gt: "$ref": "#/components/schemas/resource_project_report/properties/profit" lt: "$ref": "#/components/schemas/resource_project_report/properties/profit" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/profit" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/profit" - "$ref": "#/components/schemas/resource_project_report/properties/profit" description: Filter by total profit across open budgets. example: eq: value profit_margin: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_report/properties/profit_margin" not_eq: "$ref": "#/components/schemas/resource_project_report/properties/profit_margin" gt: "$ref": "#/components/schemas/resource_project_report/properties/profit_margin" lt: "$ref": "#/components/schemas/resource_project_report/properties/profit_margin" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/profit_margin" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/profit_margin" - "$ref": "#/components/schemas/resource_project_report/properties/profit_margin" description: Filter by the project's profit margin across budgets. example: eq: value project_color: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/project_color" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_color" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/project_color" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_color" title: List gt: "$ref": "#/components/schemas/resource_project_report/properties/project_color" lt: "$ref": "#/components/schemas/resource_project_report/properties/project_color" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/project_color" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/project_color" contains: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/project_color" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_color" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/project_color" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_color" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_color" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_color" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project_report/properties/project_color" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_color" title: List description: Filter by the project's color label. example: eq: value project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_id" title: List gt: "$ref": "#/components/schemas/resource_project_report/properties/project_id" lt: "$ref": "#/components/schemas/resource_project_report/properties/project_id" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/project_id" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/project_id" contains: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project_report/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_id" title: List description: Filter project report results by project id. example: - 123 project_number: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/project_number" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/project_number" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_project_report/properties/project_number" lt: "$ref": "#/components/schemas/resource_project_report/properties/project_number" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/project_number" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/project_number" contains: "$ref": "#/components/schemas/resource_project_report/properties/project_number" not_contain: "$ref": "#/components/schemas/resource_project_report/properties/project_number" - "$ref": "#/components/schemas/resource_project_report/properties/project_number" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the project's number identifier. example: gt: 0 project_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/project_type" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/project_type" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_type" title: List any_of: type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_type" none_of: type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_type" - "$ref": "#/components/schemas/resource_project_report/properties/project_type" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/project_type" title: List description: Filter by the project type (client or internal). example: eq: active projected_revenue: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_report/properties/projected_revenue" not_eq: "$ref": "#/components/schemas/resource_project_report/properties/projected_revenue" gt: "$ref": "#/components/schemas/resource_project_report/properties/projected_revenue" lt: "$ref": "#/components/schemas/resource_project_report/properties/projected_revenue" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/projected_revenue" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/projected_revenue" - "$ref": "#/components/schemas/resource_project_report/properties/projected_revenue" description: Filter project report results by projected revenue. example: eq: value query: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 contains: "$ref": "#/components/schemas/resource_project_report/properties/query" not_contain: "$ref": "#/components/schemas/resource_project_report/properties/query" - "$ref": "#/components/schemas/resource_project_report/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter project report results by query. example: eq: value responsible_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" title: List gt: "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" lt: "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" contains: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/responsible_id" title: List description: Filter project report results by responsible id. example: - 123 revenue: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_report/properties/revenue" not_eq: "$ref": "#/components/schemas/resource_project_report/properties/revenue" gt: "$ref": "#/components/schemas/resource_project_report/properties/revenue" lt: "$ref": "#/components/schemas/resource_project_report/properties/revenue" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/revenue" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/revenue" - "$ref": "#/components/schemas/resource_project_report/properties/revenue" description: Filter project report results by revenue. example: eq: value status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_report/properties/status" not_eq: "$ref": "#/components/schemas/resource_project_report/properties/status" - "$ref": "#/components/schemas/resource_project_report/properties/status" description: Filter project report results by status. example: eq: active template: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/template" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter project report results by template. example: eq: value total_worked_time: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_report/properties/total_worked_time" not_eq: "$ref": "#/components/schemas/resource_project_report/properties/total_worked_time" gt: "$ref": "#/components/schemas/resource_project_report/properties/total_worked_time" lt: "$ref": "#/components/schemas/resource_project_report/properties/total_worked_time" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/total_worked_time" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/total_worked_time" - "$ref": "#/components/schemas/resource_project_report/properties/total_worked_time" description: Filter project report results by total worked time. example: gt: 0 worked_time: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_report/properties/worked_time" not_eq: "$ref": "#/components/schemas/resource_project_report/properties/worked_time" gt: "$ref": "#/components/schemas/resource_project_report/properties/worked_time" lt: "$ref": "#/components/schemas/resource_project_report/properties/worked_time" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/worked_time" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/worked_time" - "$ref": "#/components/schemas/resource_project_report/properties/worked_time" description: Filter project report results by worked time. example: gt: 0 workflow_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" title: List gt: "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" lt: "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" gt_eq: "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" lt_eq: "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" contains: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/workflow_id" title: List description: Filter project report results by workflow id. example: - 123 parent_company_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/parent_company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/parent_company_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/parent_company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/parent_company_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/resource_project_report/properties/parent_company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_report/properties/parent_company_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the parent company of the project's company. example: - 123 archived_at: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 subsidiary_id: anyOf: - type: object title: Operation properties: eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers - type: string title: Blank (IS NULL) maxLength: 0 gt: type: integer lt: type: integer gt_eq: type: integer lt_eq: type: integer contains: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers not_contain: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers any_of: anyOf: - type: array items: type: integer title: List of integers - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: type: integer title: List of integers - "$ref": "#/components/schemas/_id_list" - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers - type: string title: Blank (IS NULL) maxLength: 0 example: id: eq: '123' 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_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_agent_config: type: object title: Agent Config Resource description: Represents the configuration for an AI agent, including its AI behavior instructions and Slack integration trigger settings. properties: agent: title: Agent description: The agent this configuration belongs to. agent_id: type: integer title: Agent description: The ID of the agent this configuration belongs to. attachments: title: Attachments description: Files attached to this agent configuration, such as knowledge base documents the agent can reference. created_at: type: string title: Created At format: date-time description: The timestamp when this agent configuration was created. id: type: integer title: Id description: The unique identifier of the agent configuration. instructions: type: string title: Instructions description: The AI behavior instructions for this agent — describes how it should respond, what tasks it handles, and any operational constraints. updated_at: type: string title: Updated At format: date-time description: The timestamp when this agent configuration was last updated. ai_model: type: string title: AI Model nullable: true description: The AI model this agent runs on. When null, the platform default applies. reasoning_effort: enum: - low - medium - high type: string title: Reasoning Effort nullable: true description: How much reasoning effort the agent spends before responding. When null, the platform default applies. resource_approval_policy: type: object title: Approval policy Resource 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. properties: 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' custom: type: boolean title: Custom description: Indicates whether this is a custom approval policy created for a specific assignment. example: eq: value default: type: boolean title: Default description: Indicates whether this is the default approval policy for its type. example: eq: value name: type: string title: Name description: The display name of the approval policy. example: eq: value organization: title: Organization description: The organization this approval policy belongs to. 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 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 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_approval_policy_assignment: type: object title: Approval policy assignment Resource description: An approval policy assignment links an approval policy to a specific target (person or budget). properties: approval_policy: title: Approval Policy description: The approval policy assigned to this target. example: eq: value deal: title: Deal description: The budget (deal) this assignment applies to, if the target is a budget. example: eq: value organization: title: Organization description: The organization this approval policy assignment belongs to. example: eq: value person: title: Person description: The person this assignment applies to, if the target is a person (for absence approvals). example: eq: value target_id: type: integer title: Target description: The ID of the target record (person ID or budget ID) this policy is assigned to. example: - 123 target_type: type: string title: Target Type description: 'The type of target this policy is assigned to: ''Person'' for absence approvals or ''Quote'' for budget approvals.' example: eq: active example: id: '55' type: approval_policy_assignments attributes: created_at: '2023-01-01T00:00:00.000+01:00' relationships: organization: data: type: organizations id: '109' approval_policy: data: type: approval_policies id: '11' assignee: data: type: people id: '12' resource_automatic_invoicing_rule: type: object title: Automatic invoicing rule Resource description: An automatic invoicing rule defines when invoice drafts are automatically created for a budget. properties: budget: title: Budget description: The budget this automatic invoicing rule applies to. example: gt: 0 budget_id: type: integer title: Budget description: The ID of the budget this automatic invoicing rule applies to. example: - 123 created_at: title: Created At description: Timestamp when the automatic invoicing rule was created. example: gt: '2026-01-01' creation_offset: type: integer title: Creation Offset description: Number of time units to offset invoice creation from the reference date. 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 creator: title: Creator description: The person who created this automatic invoicing rule. example: eq: value creator_id: type: integer title: Creator description: The ID of the person who created this automatic invoicing rule. example: - 123 id: type: integer title: Id description: Unique identifier for the automatic invoicing rule. example: - 123 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' organization: title: Organization description: The organization this automatic invoicing rule belongs to. example: eq: value 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' 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 processed_at: type: string title: Processed At format: date-time 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' resource_backoffice_organization_report: type: object title: Backoffice Organization Report Resource properties: addons: type: string title: Addons billing_group_admin: type: boolean title: Billing Group Admin billing_group_owner: title: Billing Group Owner billing_group_owner_id: type: integer title: Billing Group Owner ID champions: type: integer title: Champions company_size: type: string title: Company Size contract: type: boolean title: Contract contract_active: type: boolean title: Contract Active contract_date: type: string title: Contract Date format: date contract_date_period: type: string title: Contract Date Period contract_end_date: type: string title: Contract End Date format: date contract_end_date_period: type: string title: Contract End Date Period contract_min_seats: type: integer title: Contract Min Seats contract_seats: type: integer title: Contract Seats count: type: integer title: Count country: type: string title: Country created_at: type: string title: Created At format: date created_at_period: type: string title: Created At Period currency: title: Currency currency_default: title: Currency Default customer_success_specialist: title: Customer Success Specialist customer_success_specialist_id: type: integer title: Customer Success Specialist ID cycle: type: string title: Cycle deactivation_note: type: string title: Deactivation Note deactivation_reason_id: type: integer title: Deactivation Reason ID discount: type: integer title: Discount domain: type: string title: Domain erector: title: Erector erector_id: type: integer title: Erector ID flag: type: string title: Flag formula_fields: title: Formula Fields group: type: string title: Group gtm_motion: type: string title: GTM Motion id: title: ID lead_score: type: integer title: Lead Score name: type: string title: Name next_billing_cycle_at: type: string title: Next Billing Cycle At format: date next_billing_cycle_at_period: type: string title: Next Billing Cycle At Period number_of_calls: type: integer title: Number Of Calls organization: title: Organization payment_method: type: integer title: Payment Method plan: type: integer title: Plan primary_contact_id: type: integer title: Primary Contact ID products: type: string title: Products query: type: string title: Query referrer: type: string title: Referrer release_channel: enum: - development - alpha - beta - stable type: string title: Release Channel sales_deal_id: type: integer title: Sales Deal ID seats: type: integer title: Seats seats_max: type: integer title: Seats Max seats_used: type: integer title: Seats Used status: enum: - 1 - 2 type: integer title: Status stripe_id: type: string title: Stripe ID subscription_state: type: integer title: Subscription State total_mrr: type: number title: Total MRR total_mrr_default: type: number title: Total MRR Default total_seats: type: integer title: Total Seats total_seats_max: type: integer title: Total Seats Max total_seats_used: type: integer title: Total Seats Used trial_plan_ends: type: string title: Trial Plan Ends format: date verification_status: type: integer title: Verification Status verification_status_id: type: integer title: Verification Status ID company_type: type: string title: Company Type resource_bill: type: object title: Bill Resource 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. properties: purchase_order: title: Purchase Order description: The purchase order this bill is received against. example: data: type: purchase_orders id: '1234567' purchase_order_id: type: integer title: Purchase Order description: The ID of the purchase order this bill is received against. example: 1234567 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 total_cost_default: title: Total Cost Default description: The total cost of this bill expressed in the organization's default currency. example: eq: value total_cost_normalized: title: Total Cost Normalized description: The total cost of this bill expressed in the normalized (common reporting) currency. example: eq: value total_received: title: Total Received description: The total amount received or recognized from the vendor in the bill's currency. 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 total_received_normalized: title: Total Received Normalized description: The total amount received expressed in the normalized (common reporting) currency. example: eq: value attachment: title: Attachment description: The attachment (receipt or document) associated with this bill. example: eq: value attachment_id: type: integer title: Attachment description: The ID of the attachment associated with this bill. example: - 123 created_at: type: string title: Created At format: date-time description: Timestamp when the bill was created. example: gt: '2026-01-01' creator: title: Creator description: The person who created this bill. example: eq: value currency: title: Currency description: The currency of the bill amounts. example: eq: value currency_default: title: Currency Default description: The currency used for amounts 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 date: type: string title: Date format: date description: The date the bill was issued. example: gt: '2026-01-01' deal: title: Deal description: The budget (deal) this bill is associated with. example: eq: value 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' due_date: type: string title: Due Date format: date description: The payment due date for this bill. example: gt: '2026-01-01' id: type: integer title: Id description: Unique identifier for the bill. example: - 123 invoice_number: type: string title: Invoice Number description: The vendor's invoice number or reference code for this bill. example: eq: value organization: title: Organization description: The organization this bill belongs to. example: eq: value 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' resource_booking_report: type: object title: Booking report Resource description: An aggregated booking report row grouping scheduled bookings by configurable dimensions with capacity, utilization, and cost metrics. properties: tags: type: string title: Tags description: Tags for this booking report group. example: eq: value absence_type: enum: - time_off - remote_work type: string title: Absence Type description: Absence type for this booking report group. example: eq: active after: type: string title: After format: date description: After 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 approved_at: type: string title: Approved At format: date description: Approved at for this booking report group. example: gt: '2026-01-01' approved_at_period: title: Approved At Period description: Time period grouping for approved at (e.g. week, month, quarter). example: gt: '2026-01-01' approver_id: type: integer title: Approver description: Approver id for this booking report group. example: - 123 autotracking: type: integer title: Autotracking description: Autotracking for 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 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 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 average_recognized_margin: type: number title: Average Recognized Margin description: Average recognized margin 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 billing_type: type: integer title: Billing Type description: Billing type for this booking report group. example: eq: active billing_type_id: enum: - 1 - 2 - 3 - 4 type: integer title: Billing Type description: Billing type id for this booking report group. example: - 123 booking: title: Booking description: Booking 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' booking_canceled_at: title: Booking Canceled At description: Booking canceled at for this booking report group. example: gt: '2026-01-01' booking_created_at: title: Booking Created At description: Booking created at for this booking report group. example: gt: '2026-01-01' booking_ended_on: title: Booking Ended On description: Booking ended on for this booking report group. example: eq: value booking_rejected_at: title: Booking Rejected At description: Booking rejected at for this booking report group. example: gt: '2026-01-01' booking_started_on: title: Booking Started On description: Booking started on for this booking report group. example: eq: value booking_type: enum: - service - event type: string title: Booking Type description: Booking type for this booking report group. example: eq: active budget: title: Budget description: Budget for this booking report group. example: gt: 0 budget_id: type: integer title: Budget description: Budget id for this booking report group. example: - 123 canceled_at: type: string title: Canceled At format: date description: 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' company: title: Company description: Company for this booking report group. example: eq: value company_id: type: integer title: Company description: Company id for this booking report group. example: - 123 company_report: title: Company Report description: Company report for this booking report group. example: eq: value count: type: integer title: Count description: Number of bookings in this report group. example: gt: 0 created_at: type: string title: Created At format: date description: Created at for this booking report group. 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' currency: type: string title: Currency description: Currency for 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 currency_normalized: type: string title: Currency Normalized description: Currency in the normalized currency for this booking report group. example: eq: value custom_fields: type: string title: Custom Fields description: Custom fields for this booking report group. example: eq: value date: type: string title: Date format: date description: Date for this booking report group. example: gt: '2026-01-01' date_after: type: string title: Date After format: date description: Date after for this booking report group. example: eq: value date_before: type: string title: Date Before format: date description: Date before for 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 deal: title: Deal description: Deal for this booking report group. example: eq: value draft: type: integer title: Draft description: Draft for this booking report group. example: eq: value end_date: type: string title: End Date format: date description: End date for this booking report group. example: gt: '2026-01-01' ended_on: type: string title: Ended On format: date description: Ended on for this booking report group. example: eq: value 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_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 event_id: type: integer title: Event description: Event id for this booking report group. example: - 123 formula_fields: title: Formula Fields description: Formula fields for this booking report group. example: eq: value formulas: type: integer title: Formulas description: Formulas for this booking report group. example: eq: value group: type: string title: Group description: The grouping dimension for this booking report row. example: eq: value mandays: type: number title: Mandays description: Mandays for this booking report group. example: eq: value note: type: string title: Note description: Note for this booking report group. example: eq: value organization: title: Organization description: Organization for this booking report group. example: eq: value people_custom_fields: type: string title: People Custom Fields description: People custom fields for this booking report group. example: eq: value person: title: Person description: Person for this booking report group. example: eq: value person_id: type: integer title: Person description: Person id for this booking report group. example: - 123 person_report: title: Person Report description: The person associated with this booking report row. example: eq: value person_subsidiary_id: type: integer title: Person Subsidiary description: Person subsidiary id for this booking report group. example: - 123 project: title: Project description: Project for this booking report group. example: eq: value project_id: type: integer title: Project description: Project id for this booking report group. example: - 123 project_report: title: Project Report description: Project report 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 rejected_at: type: string title: Rejected At format: date description: Rejected at for this booking report group. example: gt: '2026-01-01' rejected_at_period: title: Rejected At Period description: Time period grouping for rejected at (e.g. week, month, quarter). example: gt: '2026-01-01' report: title: Report description: Report for this booking report group. example: eq: value responsible: title: Responsible description: Responsible for this booking report group. example: eq: value responsible_report: title: Responsible Report description: Responsible report for this booking report group. example: eq: value service: title: Service description: Service for this booking report group. example: eq: value service_id: type: integer title: Service description: Service id for this booking report group. example: - 123 service_report: title: Service Report description: Service report for this service report group. example: eq: value service_type: title: Service Type description: Service type for this booking report group. example: eq: active service_type_id: type: integer title: Service Type description: Service type id for this booking report group. example: - 123 stage_type: enum: - 1 - 2 type: integer title: Stage Type description: Stage type for this booking report group. example: eq: active start_date: type: string title: Start Date format: date description: Start date for this booking report group. example: gt: '2026-01-01' started_on: type: string title: Started On format: date description: Started on for 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 started_on_before: type: string title: Started On Before format: date description: Started on before for this booking report group. example: eq: value task: title: Task description: Task for this booking report group. example: eq: value task_id: type: integer title: Task description: Task id for this booking report group. example: - 123 task_report: title: Task Report description: Task report 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: title: Total Base Cost description: Sum of base cost across all records in this booking report group. example: eq: value 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 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 total_cost: title: Total Cost description: Sum of cost across all records in this booking 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_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_recognized_profit: title: Total Recognized Profit description: Sum of recognized profit across all records in this booking 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 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 total_recognized_revenue: title: Total Recognized Revenue description: Sum of recognized revenue across all records in this booking 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 booking 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 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 with_draft: type: boolean title: With Draft description: With draft for 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 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 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_budget_report: type: object title: Budget report Resource description: An aggregated budget report row. Budget reports group deals/budgets by configurable dimensions and calculate financial totals, time metrics, and profitability. properties: tags: type: string title: Tags description: Tags applied to this budget. 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 actual_rate: title: Actual Rate description: The actual average hourly rate on this budget (revenue divided by billable time). 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 average_actual_rate: title: Average Actual Rate description: Average actual hourly rate across grouped budgets in the report row. 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 average_actual_rate_normalized: title: Average Actual Rate Normalized description: Average actual rate normalized to the organization's base currency. example: gt: 0 average_budget_usage: type: number title: Average Budget Usage description: Average budget usage percentage across grouped budgets. example: gt: 0 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 average_budget_usage_normalized: title: Average Budget Usage Normalized description: Average budget usage percentage normalized across currencies. 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 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 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 average_forecasted_budget_usage: type: number title: Average Forecasted Budget Usage description: Average forecasted budget usage percentage across grouped budgets. example: gt: 0 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 average_forecasted_budget_usage_normalized: title: Average Forecasted Budget Usage Normalized description: Average forecasted budget usage percentage normalized across currencies. example: gt: 0 average_forecasted_time_usage: type: number title: Average Forecasted Time Usage description: Average forecasted time usage percentage across grouped budgets. example: gt: 0 average_invoiced_percentage: type: number title: Average Invoiced Percentage description: Average invoiced percentage across grouped budgets. 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 average_invoiced_percentage_normalized: title: Average Invoiced Percentage Normalized description: Average invoiced percentage normalized across currencies. example: eq: value average_invoiced_rate: title: Average Invoiced Rate description: Average effective invoiced rate across grouped budgets (invoiced divided by billable time). 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_invoiced_rate_normalized: title: Average Invoiced Rate Normalized description: Average invoiced rate normalized to the organization's base currency. example: gt: 0 average_profit_margin: type: number title: Average Profit Margin description: Average profit margin percentage across grouped budgets. 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 average_profit_margin_normalized: title: Average Profit Margin Normalized description: Average profit margin 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 budget: title: Budget description: Reference to the deal/budget associated with this report row. example: gt: 0 budget_client_access: title: Budget Client Access description: Whether the budget is accessible to client users. example: gt: 0 budget_closed_at: title: Budget Closed At description: Timestamp when the associated budget was closed. example: gt: '2026-01-01' budget_created_at: title: Budget Created At description: Timestamp when the associated budget was created. example: gt: '2026-01-01' budget_custom_fields: title: Budget Custom Fields description: Custom field values on the associated budget. example: gt: 0 budget_date: title: Budget Date description: Report date for the associated budget row. example: gt: '2026-01-01' budget_delivered_on: title: Budget Delivered On description: Date the associated budget was delivered. example: gt: 0 budget_end_date: title: Budget End Date description: End date of the associated budget. example: gt: '2026-01-01' 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' budget_number: title: Budget Number description: Sequential number of the associated budget within the organization. example: gt: 0 budget_purchase_order_number: title: Budget Purchase Order Number description: Purchase order number associated with the budget. example: PO-2024-017 budget_remaining: title: Budget Remaining description: Remaining budget amount (budget total minus budget used). example: gt: 0 budget_status: enum: - 1 - 2 type: integer title: Budget Status description: Current status of the budget (e.g. active, closed, lost). example: gt: 0 budget_suffix: title: Budget Suffix description: Suffix appended to the budget name for display purposes. example: gt: 0 budget_time_approval: title: Budget Time Approval description: Whether time entry approval is enabled on the associated budget. example: gt: 0 budget_total: title: Budget Total description: Total budget amount set on the budget. example: gt: 0 budget_usage: type: number title: Budget Usage description: Budget usage percentage (budget used divided by budget total). example: gt: 0 budget_used: title: Budget Used description: Amount of budget consumed so far. example: gt: 0 budget_warning: type: integer title: Budget Warning description: Whether the budget has exceeded its warning threshold. example: gt: 0 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 budgeted_time: type: integer title: Budgeted Time description: Total time budgeted on this budget, in minutes. example: gt: 0 closed_at: type: string title: Closed At format: date description: Timestamp when this budget was closed. example: gt: '2026-01-01' 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' color_id: type: integer title: Color description: Color ID assigned to this budget for visual grouping in the UI. example: - 123 company: title: Company description: The client company associated with this budget. example: eq: value company_id: type: integer title: Company description: ID of the client company associated with this budget. example: - 123 company_report: title: Company Report description: Reference to the company report for the company associated with this budget. example: eq: value contact_id: type: integer title: Contact description: ID of the contact person associated with this budget. example: - 123 contract: title: Contract description: The recurring contract that generated this budget. example: eq: value contract_id: type: integer title: Contract description: ID of the contract that generated this budget. example: - 123 cost: title: Cost description: Total labor cost from tracked time entries on this budget. example: eq: value count: type: integer title: Count description: Number of budgets aggregated in this report row (when grouped). example: gt: 0 created_at: type: string title: Created At format: date description: Timestamp when this budget was created. example: gt: '2026-01-01' 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' creator_id: type: integer title: Creator description: ID of the person who created this budget. example: - 123 credited: title: Credited description: Total credit amount applied to this budget. example: eq: value 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 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 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 custom_fields: type: string title: Custom Fields description: Custom field values attached to the budget, keyed by custom field ID. example: eq: value 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' date_period: title: Date Period description: Time period grouping for the budget start date (e.g. week, month, quarter). example: eq: value deal_status: title: Deal Status description: The deal/pipeline status label associated with this budget. example: eq: active deal_status_id: type: integer title: Deal Status description: ID of the deal status associated with this budget. example: - 123 deal_type: type: integer title: Deal Type description: Budget type label — either Client or Internal. example: eq: active deal_type_id: type: integer title: Deal Type description: ID of the budget type (Client or Internal). example: - 123 delivered_on: type: string title: Delivered On format: date description: Date when the budget status was changed from Open to Delivered. example: eq: value delivered_on_period: title: Delivered On Period description: Time period grouping for the delivered-on date (e.g. week, month, quarter). example: eq: value discount: type: number title: Discount description: Discount amount applied to the budget. example: gt: 0 draft_invoiced: title: Draft Invoiced description: Total amount of invoices currently in draft status for this budget. 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' 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' estimated_cost: title: Estimated Cost description: Estimated cost for this budget. example: gt: 0 estimated_remaining_time: type: integer title: Estimated Remaining Time description: Estimated hours remaining until the work is complete. example: gt: 0 estimated_time: type: integer title: Estimated Time description: Estimated hours needed to complete all work in this budget's scope. example: gt: 0 expense: title: Expense description: Cost of out-of-pocket expenses on this budget. example: eq: value expenses_billable: title: Expenses Billable description: Total billable expense amount charged to the client. 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 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 forecasted_budget_used: title: Forecasted Budget Used description: 'Forecasted total budget used: current budget used plus future budget used (from resourcing).' example: gt: 0 forecasted_cost: title: Forecasted Cost description: 'Forecasted cost: current cost plus future cost (including service and expense costs).' example: eq: value forecasted_margin: type: number title: Forecasted Margin description: Forecasted profit margin as a percentage. example: eq: value forecasted_profit: title: Forecasted Profit description: Forecasted profit amount. example: eq: value forecasted_revenue: title: Forecasted Revenue description: Forecasted revenue amount. 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 formula_fields: title: Formula Fields description: Computed values for custom formula fields defined on the report. example: eq: value formulas: type: integer title: Formulas description: Custom formula definitions applied to this report row. 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 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 future_budget_used: title: Future Budget Used description: Total future budget used, calculated from resourcing data. example: gt: 0 future_cost: title: Future Cost description: Total future cost including service and expense costs, calculated from resourcing data. example: eq: value future_revenue: title: Future Revenue description: Projected future revenue based on 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' fuzzy_people: type: integer title: Fuzzy People description: Relative person references (e.g. current_user) used in people-based filters. example: eq: value 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 id: type: integer title: Id description: Unique identifier for this budget report row. example: - 123 invoiced: title: Invoiced description: Amount of money invoiced to the client from this budget. example: eq: value invoiced_percentage: type: integer title: Invoiced Percentage description: Percentage of the budget total that has been invoiced. example: eq: value invoiced_rate: title: Invoiced Rate description: Invoiced amount divided by worked hours (invoiced rate per hour). 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 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' 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' lost_at: type: string title: Lost At format: date description: Timestamp when the deal/budget was marked as lost. example: gt: '2026-01-01' lost_date: type: string title: Lost Date format: date description: Date when the deal/budget was marked as lost. example: gt: '2026-01-01' lost_reason_id: type: integer title: Lost Reason description: ID of the reason why the deal/budget was lost. 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 manually_invoiced: enum: - 1 - 2 type: integer title: Manually Invoiced description: Amount manually marked as invoiced on this budget. example: eq: value month: type: string title: Month description: Month grouping label for this report row (e.g. March 2026). example: eq: value name: type: string title: Name description: Name of the budget. example: eq: value needs_closing: type: boolean title: Needs Closing description: Indicates whether the budget requires closing action. example: eq: value needs_invoicing: type: boolean title: Needs Invoicing description: Indicates whether the budget has outstanding amounts pending invoicing. example: eq: value 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 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 number: type: string title: Number description: Unique number identifying this budget. example: eq: value organization: title: Organization description: The organization this budget belongs to. example: eq: value origin_deal: title: Origin Deal description: The original deal from which this budget was created. 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 origin_deal_report: title: Origin Deal Report description: Related deal report data for the origin deal of this budget. example: eq: value owner_report: title: Owner Report description: Related person report data for the budget owner. example: eq: value pending_invoicing: title: Pending Invoicing description: Amount of money pending invoicing for this budget. example: eq: value pipeline: title: Pipeline description: The sales pipeline this budget belongs to. example: eq: value pipeline_id: type: integer title: Pipeline description: ID of the pipeline this budget belongs to. example: - 123 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 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 previous_probability: type: integer title: Previous Probability description: Probability percentage of the deal before the last status change. example: eq: value probability: type: integer title: Probability description: Probability percentage of winning or delivering this deal/budget. example: eq: value profit: title: Profit description: 'Profit after all costs: revenue minus service costs and expense costs.' example: eq: value profit_margin: type: number title: Profit Margin description: 'Profit margin as a percentage: profit divided by revenue.' example: eq: value project: title: Project description: The project this budget is associated with. example: eq: value project_id: type: integer title: Project description: ID of the project this budget is associated with. example: - 123 project_report: title: Project Report description: Related project report data for this budget. example: eq: value project_type: enum: - 1 - 2 type: integer title: Project Type description: Project type label (e.g. Internal or Client). example: eq: active projected_revenue: title: Projected Revenue description: Projected revenue based on current data and forecasts. 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 quarter: type: string title: Quarter description: Quarter grouping label for this report row (e.g. Q1 2026). example: eq: value query: type: string title: Query description: The query parameters applied when generating this report row. example: eq: value recurring: type: integer title: Recurring description: Indicates whether this budget automatically recurs on a schedule. example: eq: value recurring_ends_on: type: string title: Recurring Ends On format: date description: Date when the budget recurrence ends. example: eq: value 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 recurring_interval: title: Recurring Interval description: How often this budget recurs (e.g. weekly, monthly). 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 recurring_starts_on: type: string title: Recurring Starts On format: date description: Date when the budget recurrence starts. 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 report: title: Report description: Related budget report data for this group (self-referential for drill-down). example: eq: value responsible: title: Responsible description: The person responsible for managing this budget. example: eq: value responsible_id: type: integer title: Responsible description: ID of the person responsible for managing this budget. example: - 123 revenue: title: Revenue description: 'Total revenue amount for this budget: the amount to be invoiced in total.' 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 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' sales_closed_on: type: string title: Sales Closed On format: date description: Date when the deal/budget was closed (won). example: eq: value sales_status_id: enum: - 1 - 2 - 3 type: integer title: Sales Status description: ID of the sales status for this budget. example: - 123 services_revenue: title: Services Revenue description: Revenue from services only, excluding revenue from billable expenses. example: eq: value stage_status_id: enum: - 1 - 2 - 3 type: integer title: Stage Status description: ID of the current pipeline stage status. 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' status: enum: - 1 - 2 type: integer title: Status description: Current status of the budget (e.g. open, delivered). example: eq: active status_id: type: integer title: Status description: ID of the current budget status. example: - 123 subscriber_id: type: integer title: Subscriber description: ID of the subscriber (person following this budget for notifications). example: - 123 subsidiary: title: Subsidiary description: The subsidiary (legal entity) that this budget's revenue is attributed to. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary this budget's revenue is attributed to. example: - 123 template: type: string title: Template description: Indicates whether this budget was created from a template. example: eq: value time_approval: type: boolean title: Time Approval description: Indicates whether time entries on this budget require approval. example: gt: 0 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' 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 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 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 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 total_budget_total: title: Total Budget Total description: Sum of total approved budget amounts across all budgets in this report group. example: gt: 0 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_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 total_budget_used: title: Total Budget Used description: Sum of budget used amounts 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 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 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_cost: title: Total Cost description: Sum of total costs (service and expense) across all budgets 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 budgets in this report group. 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 total_credited: title: Total Credited description: Sum of credited amounts across all budgets in this report group. example: eq: value 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 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_draft_invoiced: title: Total Draft Invoiced description: Sum of draft invoiced amounts across all budgets in this report group. example: eq: value 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 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 total_estimated_cost: title: Total Estimated Cost description: Sum of estimated costs across all budgets in this report group. 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 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 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 total_estimated_time: type: number title: Total Estimated Time description: Sum of estimated hours across all budgets in this report group. example: gt: 0 total_expense: title: Total Expense description: Sum of expense costs across all budgets in this report group. example: eq: value 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 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_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 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 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 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 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 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 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 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 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 total_forecasted_cost: title: Total Forecasted Cost description: Sum of forecasted costs across all budgets in this report group. example: eq: value 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_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_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_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_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_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 total_future_cost: title: Total Future Cost description: Sum of future cost amounts across all budgets in this report group. 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 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 total_invoiced: title: Total Invoiced description: Sum of invoiced amounts across all budgets in this report group. example: eq: value 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 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 total_manually_invoiced: title: Total Manually Invoiced description: Sum of manually invoiced amounts across all budgets in this report group. example: eq: value 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 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 total_pending_invoicing: title: Total Pending Invoicing description: Sum of pending invoicing amounts across all budgets in this report group. 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 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 total_profit: title: Total Profit description: Sum of profit amounts across all budgets in this report group. example: eq: value 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 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 total_revenue: title: Total Revenue description: Sum of revenue amounts across all budgets in this report group. 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_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 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_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 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 total_unapproved_time: type: number title: Total Unapproved Time description: Sum of unapproved hours across all budgets in this report group. example: gt: 0 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 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_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 total_worked_time: type: number title: Total Worked Time description: Sum of worked hours across all budgets in this report group. example: gt: 0 tracking_type_id: type: integer title: Tracking Type description: ID of the tracking type configured on this budget. example: - 123 type: enum: - 1 - 2 type: integer title: Type description: Resource type identifier for this report row (always budget_report). example: eq: active unapproved_time: type: integer title: Unapproved Time description: Number of hours awaiting approval for this budget. example: gt: 0 week: type: string title: Week description: Week grouping label for this report row (e.g. Week 13, 2026). example: eq: value won_at: type: string title: Won At format: date description: Timestamp when the deal/budget was won. example: gt: '2026-01-01' won_date: type: string title: Won Date format: date description: Date when the deal/budget was won. example: gt: '2026-01-01' work_cost: title: Work Cost description: Labor cost on services (salaries and overhead) for this budget. example: eq: value worked_time: type: integer title: Worked Time description: Total hours worked on this budget. example: gt: 0 year: type: string title: Year description: Year grouping label for this report row (e.g. 2026). example: eq: value 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 days_since_created: type: integer title: Days Since Created description: Number of days since the deal was created. 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 designated_approver: title: Designated Approver description: The person designated as the approver for this budget, as determined by the approval policy. example: eq: value designated_approver_id: type: integer title: Designated Approver description: ID of the person designated as the approver for this budget. example: - 123 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 primary_contact: title: Primary Contact description: The primary contact person for the company linked to this budget. example: eq: value 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 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 overtime_time: type: integer title: Overtime Time description: Total tracked overtime time in minutes (approved and unapproved, without rejected entries). Subset of worked_time. total_overtime_time: type: number title: Total Overtime Time description: Total tracked overtime time in minutes (approved and unapproved, without rejected entries). Subset of total_worked_time. applied_scenario_margin: type: string title: Applied Scenario Margin description: Margin (%) of the last scenario applied to the deal or budget. Averaged across the deals or budgets in a group. Null when no scenario was applied. 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: {} resource_custom_domain: type: object title: Custom domain Resource description: A custom URL domain configured for an organization's client-facing portals, with optional email sending settings. properties: allow_user_email: type: boolean title: Allow User Email description: Whether to allow user email. example: eq: value email_sender_address: type: string title: Email Sender Address description: The email address used as the sender when sending emails via this custom domain. example: eq: value email_sender_name: type: string title: Email Sender Name description: The sender name for emails. example: eq: value id: type: integer title: Id description: The unique identifier of this custom domain. example: - 123 mailgun_dkim: type: string title: Mailgun Dkim description: The DKIM DNS record required for email authentication via Mailgun for this custom domain. example: eq: value mailgun_mx: title: Mailgun Mx description: The MX DNS records required for Mailgun email routing for this custom domain. example: eq: value mailgun_spf: type: string title: Mailgun Spf description: The SPF DNS record required for email sender authentication via Mailgun for this custom domain. example: eq: value name: type: string title: Name description: The custom domain name (hostname) used for client-facing portals. example: eq: value organization: title: Organization description: The organization this custom domain belongs to. example: eq: value subsidiaries: title: Subsidiaries description: The subsidiaries that use this custom domain. example: eq: value verified_at: type: string title: Verified At format: date-time description: Timestamp when this custom domain was verified, or null if verification is still pending. example: gt: '2026-01-01' example: id: '123' type: custom_domains attributes: domain: app.myagency.com status: active verified_at: '2026-01-01T00:00:00Z' relationships: {} resource_custom_field_option: type: object title: Custom field option Resource 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. properties: archived: type: boolean title: Archived description: Whether this custom field option has been archived and is no longer available for selection. example: true 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' color_id: type: integer title: Color description: ID of the color associated with this option for visual identification. example: - 123 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 name: type: string title: Name description: The display label for this custom field option. example: eq: value organization: title: Organization description: The organization this custom field option belongs to. example: eq: value position: type: integer title: Position description: The sort order of this option within the custom field's option list. example: eq: value 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' resource_custom_field_section: type: object title: Custom field section Resource description: The resource custom field section. properties: customizable_type: title: Customizable Type description: The type of resource whose custom fields this section groups (e.g. tasks, projects, people). example: eq: active name: type: string title: Name description: The display name of this custom field section. example: eq: value organization: title: Organization description: The organization this custom field section belongs to. example: eq: value 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 example: id: '12' type: custom_field_sections attributes: name: Project Fields position: 1 item_type: project relationships: {} resource_deal: type: object title: Deal Resource description: A deal or budget representing a sales opportunity or production budget, with services, financials, and pipeline tracking. properties: import: title: Import tags: type: string title: Tags description: Tags applied to this deal. example: eq: value access_to_deal: title: Access To Deal description: Whether the current user has permission to view this deal's financial details. example: eq: value accessible_by_person: type: integer title: Accessible By Person description: The person whose access permissions are used to scope the deals returned in this response. example: eq: value actual_rate: title: Actual Rate description: Actual average billing rate across services on this deal. example: gt: 0 amount_credited: title: Amount Credited description: Total credit notes issued against this deal (budget currency). example: gt: 0 amount_credited_default: title: Amount Credited Default description: Total credit notes issued against this deal (organization default currency). example: gt: 0 amount_credited_normalized: title: Amount Credited Normalized description: Total credit notes issued against this deal (normalized currency). example: gt: 0 approval_policy_assignment: title: Approval Policy Assignment description: The approval policy governing this deal. example: eq: value approval_policy_id: type: integer title: Approval Policy description: ID of the approval policy assigned to this deal. example: - 123 automatic_invoicing_rule: title: Automatic Invoicing Rule description: The automatic invoicing rule configured for this deal, if any. example: eq: value billable_time: type: integer title: Billable Time description: Total billable hours across all services on this deal. example: gt: 0 budget: type: boolean title: Budget description: Whether this deal is a production budget (true) or a sales deal (false). example: gt: 0 budget_remaining: title: Budget Remaining description: Remaining budget (budget total minus budget used). example: gt: 0 budget_status: enum: - 1 - 2 type: integer title: Budget Status description: Budget health status based on consumption vs. warning threshold. example: gt: 0 budget_total: title: Budget Total description: Total budget amount across all services (budget currency). example: gt: 0 budget_total_default: title: Budget Total Default description: Total budget amount across all services (organization default currency). example: gt: 0 budget_total_normalized: title: Budget Total Normalized description: Total budget amount across all services (normalized currency). example: gt: 0 budget_usage: type: number title: Budget Usage description: Percentage of budget consumed so far. example: gt: 0 budget_used: title: Budget Used description: Amount of budget consumed so far (budget currency). example: gt: 0 budget_used_default: title: Budget Used Default description: Amount of budget consumed so far (organization default currency). example: gt: 0 budget_used_normalized: title: Budget Used Normalized description: Amount of budget consumed so far (normalized currency). example: gt: 0 budget_warning: type: integer title: Budget Warning description: Budget consumption percentage that triggers a warning. example: gt: 0 budgeted_time: type: integer title: Budgeted Time description: Total budgeted hours across all services. example: gt: 0 budgets_first: title: Budgets First description: Whether budgets appear first in pipeline ordering. example: gt: 0 client_access: type: boolean title: Client Access description: Whether client contacts can view this deal's details. example: eq: value closed_at: type: string title: Closed At format: date-time description: Timestamp when the deal was closed. example: gt: '2026-01-01' color_id: type: integer title: Color description: Color used for visual identification in pipeline views. example: - 123 company: title: Company description: The client company this deal is for. example: eq: value company_id: type: integer title: Company description: ID of the client company. example: - 123 company_name: title: Company Name description: Name of the client company. example: eq: value connection_status: title: Connection Status description: Integration connection status (for Productive Connect). example: eq: active contact: title: Contact description: The client contact person for this deal. example: eq: value contact_id: type: integer title: Contact description: ID of the client contact person. example: - 123 contact_name: title: Contact Name description: Name of the client contact person. example: eq: value contract: title: Contract description: The retainer contract that generated this deal, if applicable. example: eq: value contract_id: type: integer title: Contract description: ID of the retainer contract, if applicable. example: - 123 cost: title: Cost description: Total costs including labor and expenses (budget currency). example: eq: value cost_default: title: Cost Default description: Total costs including labor and expenses (organization default currency). example: eq: value cost_normalized: title: Cost Normalized description: Total costs including labor and expenses (normalized currency). example: eq: value created_at: type: string title: Created At format: date-time description: When the deal was created. example: gt: '2026-01-01' creator: title: Creator description: The person who created this deal. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created this deal. example: - 123 creator_name: title: Creator Name description: Name of the person who created this deal. example: eq: value credited: title: Credited description: Total amount credited against this deal. example: eq: value currency: type: string title: Currency description: Deal currency code (budget currency). example: eq: value currency_default: title: Currency Default description: Organization default currency code. example: eq: value currency_normalized: title: Currency Normalized description: Normalized currency code. example: eq: value custom_field_attachments: title: Custom Field Attachments description: Files uploaded to file-type custom fields. example: gt: '2026-01-01' custom_field_people: title: Custom Field People description: People referenced in person-type custom fields. example: eq: value custom_fields: type: object title: Custom Fields description: Custom field values set on this deal. example: eq: value date: type: string title: Date format: date description: Start date of the deal. example: gt: '2026-01-01' deal_number: title: Deal Number description: Unique number identifying the deal within the organization. example: eq: value deal_status: title: Deal Status description: Current pipeline stage of this deal. example: eq: active deal_status_id: type: integer title: Deal Status description: ID of the current pipeline stage. example: - 123 deal_type_id: enum: - 1 - 2 type: integer title: Deal Type description: Whether this is a one-off deal or a retainer. example: - 123 deals_first: title: Deals First description: Whether sales deals appear first in pipeline ordering. example: eq: value deleted_at: type: string title: Deleted At format: date-time description: Soft-deletion timestamp. example: gt: '2026-01-01' delivered_on: type: string title: Delivered On format: date description: Date when the deal was marked as delivered. example: eq: value destroy_future_bookings: type: boolean title: Destroy Future Bookings description: Whether to cancel future bookings when the deal is closed. example: eq: value discount: type: number title: Discount description: Default discount percentage applied to services on this deal. example: gt: 0 document_type: title: Document Type description: The PDF template used for deal documents. example: eq: active document_type_id: type: integer title: Document Type description: ID of the PDF template for deal documents. example: - 123 draft_invoiced: title: Draft Invoiced description: Amount on draft (unsent) invoices (budget currency). example: eq: value draft_invoiced_default: title: Draft Invoiced Default description: Amount on draft (unsent) invoices (organization default currency). example: eq: value draft_invoiced_normalized: title: Draft Invoiced Normalized description: Amount on draft (unsent) invoices (normalized currency). example: eq: value editor_config: type: object title: Editor Config description: Rich text editor configuration for deal notes. example: eq: value email_key: type: string title: Email Key description: Unique key for creating comments on this deal via email. example: eq: value end_date: type: string title: End Date format: date description: End date of the deal. example: gt: '2026-01-01' estimated_cost: title: Estimated Cost description: Estimated total cost based on planned services. example: gt: 0 estimated_remaining_time: type: integer title: Estimated Remaining Time description: Estimated remaining time to complete the deal. example: gt: 0 estimated_time: type: integer title: Estimated Time description: Total estimated hours across all services. example: gt: 0 exchange_date: type: string title: Exchange Date format: date description: Date used for the exchange rate calculation. example: gt: '2026-01-01' exchange_rate: type: number title: Exchange Rate description: Exchange rate from deal currency to organization default currency. example: gt: 0 expense: title: Expense description: Total expense costs on this deal (budget currency). example: eq: value expense_approval: type: boolean title: Expense Approval description: Whether expenses on this deal require approval. example: eq: value expense_approval_workflow: title: Expense Approval Workflow description: The approval workflow for expenses. example: eq: value expense_default: title: Expense Default description: Total expense costs on this deal (organization default currency). example: eq: value expense_normalized: title: Expense Normalized description: Total expense costs on this deal (normalized currency). example: eq: value expenses_billable: title: Expenses Billable description: Whether expenses on this deal are billable to the client. example: eq: value external_id: type: string title: External description: ID in an external integrated system. example: - 123 external_sync: type: boolean title: External Sync description: Whether this deal syncs with an external system. example: eq: value footer: title: Footer description: Deal document footer text. example: eq: value footer_interpolated: title: Footer Interpolated description: Deal footer with template variables resolved. example: eq: value forecasted_billable_time: type: integer title: Forecasted Billable Time description: Forecasted total billable time based on bookings. example: gt: 0 forecasted_budget_usage: type: number title: Forecasted Budget Usage description: Forecasted budget consumption percentage. example: gt: 0 forecasted_budget_used: title: Forecasted Budget Used description: Forecasted budget used based on current trajectory. example: gt: 0 forecasted_cost: title: Forecasted Cost description: Forecasted total cost based on bookings and actuals. example: eq: value forecasted_margin: type: number title: Forecasted Margin description: Forecasted profit margin based on current trajectory. example: eq: value forecasted_profit: title: Forecasted Profit description: Forecasted profit based on current trajectory. example: eq: value forecasted_revenue: title: Forecasted Revenue description: Forecasted revenue based on bookings and actuals. example: eq: value forecasted_time_usage: type: number title: Forecasted Time Usage description: Forecasted time usage as a percentage of budgeted time. example: gt: 0 full_query: type: string title: Full Query description: Full-text search query applied to this deal. example: eq: value future_booked_time: type: integer title: Future Booked Time description: Total future booked time on this deal. example: gt: 0 future_budget_used: title: Future Budget Used description: Forecasted budget used including future bookings. example: gt: 0 future_cost: title: Future Cost description: Total future cost based on upcoming bookings. example: eq: value future_revenue: title: Future Revenue description: Total future revenue from upcoming bookings. example: eq: value fuzzy_dates: type: string title: Fuzzy Dates format: date description: Approximate date range for the deal (fuzzy). example: gt: '2026-01-01' fuzzy_people: type: integer title: Fuzzy People description: People loosely associated with this deal. example: eq: value id: type: integer title: Id description: The unique identifier of this deal. example: - 123 invoice_template: title: Invoice Template description: The invoice template associated with this deal, used as the default when generating invoices. example: eq: value invoiced: title: Invoiced description: Total amount already invoiced (budget currency). example: eq: value invoiced_default: title: Invoiced Default description: Total amount already invoiced (organization default currency). example: eq: value invoiced_normalized: title: Invoiced Normalized description: Total amount already invoiced (normalized currency). example: eq: value invoiced_percentage: type: integer title: Invoiced Percentage description: Percentage of revenue already invoiced. example: eq: value invoiced_rate: title: Invoiced Rate description: Average billing rate at which revenue was invoiced. example: gt: 0 jump_query: type: string title: Jump Query description: Quick search query applied to this deal. example: eq: value last_activity_at: type: string title: Last Activity At format: date-time description: Timestamp of the most recent change on this deal. example: gt: '2026-01-01' lost_at: type: string title: Lost At format: date description: Timestamp when the deal was marked as lost. example: gt: '2026-01-01' lost_comment: type: string title: Lost Comment description: Notes explaining why the deal was lost. example: eq: value lost_date: type: string title: Lost Date format: date description: Date when the deal was marked as lost. example: gt: '2026-01-01' lost_reason: title: Lost Reason description: The reason this deal was lost, if applicable. example: eq: value lost_reason_id: type: integer title: Lost Reason description: ID of the lost reason. example: - 123 man_day_minutes: type: integer title: Man Day Minutes description: How many minutes equal one man-day for this deal (for man-day billing). example: eq: value manual_invoicing_status: type: boolean title: Manual Invoicing Status description: Manual invoicing tracking status label. example: eq: active manual_invoicing_status_id: enum: - 1 - 2 type: integer title: Manual Invoicing Status description: Manual invoicing tracking status. example: - 123 manually_invoiced: enum: - 1 - 2 type: integer title: Manually Invoiced description: Amount marked as manually invoiced outside Productive (budget currency). example: eq: value manually_invoiced_default: title: Manually Invoiced Default description: Amount marked as manually invoiced outside Productive (organization default currency). example: eq: value manually_invoiced_normalized: title: Manually Invoiced Normalized description: Amount marked as manually invoiced outside Productive (normalized currency). example: eq: value name: type: string title: Name description: Descriptive name for the deal. example: eq: value needs_closing: type: boolean title: Needs Closing description: Whether the deal requires closing action. example: eq: value needs_invoicing: type: boolean title: Needs Invoicing description: Whether the deal has uninvoiced services. example: eq: value next_occurrence_on: type: string title: Next Occurrence On format: date description: Date when the next retainer occurrence is generated. example: eq: value next_todo: title: Next Todo description: The next upcoming to-do item on this deal. example: eq: value note: type: string title: Note description: Internal deal notes (rich text). example: eq: value note_interpolated: title: Note Interpolated description: Deal note with template variables resolved. example: eq: value number: type: string title: Number description: Short numeric identifier (alias for deal_number). example: eq: value organization: title: Organization description: The organization this deal belongs to. example: eq: value origin_deal: title: Origin Deal description: The original deal if this was duplicated or generated. example: eq: value origin_deal_id: type: integer title: Origin Deal description: ID of the original deal if duplicated or generated from a contract. example: - 123 pending_invoicing: title: Pending Invoicing description: Amount ready to invoice but not yet invoiced (budget currency). example: eq: value pending_invoicing_default: title: Pending Invoicing Default description: Amount ready to invoice but not yet invoiced (organization default currency). example: eq: value pending_invoicing_normalized: title: Pending Invoicing Normalized description: Amount ready to invoice but not yet invoiced (normalized currency). example: eq: value pipeline: title: Pipeline description: The sales or production pipeline this deal belongs to. example: eq: value pipeline_id: type: integer title: Pipeline description: ID of the pipeline this deal belongs to. example: - 123 position: type: integer title: Position description: Sort position within the pipeline stage. example: eq: value previous_deal_status_id: type: integer title: Previous Deal Status description: ID of the previous pipeline stage before the last transition. example: - 123 previous_or_current_deal_status_id: type: integer title: Previous Or Current Deal Status description: ID of the previous or current pipeline stage. example: - 123 previous_probability: type: integer title: Previous Probability description: The probability value before the last status change. example: eq: value probability: type: number title: Probability description: Likelihood of winning (0-100%). 100% for won deals, 0% for lost deals. example: eq: value profit: title: Profit description: Revenue minus costs (budget currency). example: eq: value profit_default: title: Profit Default description: Revenue minus costs (organization default currency). example: eq: value profit_margin: type: number title: Profit Margin description: Profit as a percentage of revenue, in budget currency. example: eq: value profit_margin_default: title: Profit Margin Default description: Profit margin in organization default currency. example: eq: value profit_margin_normalized: title: Profit Margin Normalized description: Profit margin in normalized currency. example: eq: value profit_normalized: title: Profit Normalized description: Revenue minus costs (normalized currency). example: eq: value project: title: Project description: The project linked to this deal. example: eq: value project_id: type: integer title: Project description: ID of the project linked to this deal. example: - 123 project_name: title: Project Name description: Name of the project linked to this deal. example: eq: value project_type: enum: - 1 - 2 type: integer title: Project Type description: Type of project linked to this deal. example: eq: active projected_revenue: title: Projected Revenue description: Expected revenue = budget total * probability (budget currency). example: eq: value projected_revenue_default: title: Projected Revenue Default description: Expected revenue = budget total * probability (organization default currency). example: eq: value projected_revenue_normalized: title: Projected Revenue Normalized description: Expected revenue = budget total * probability (normalized currency). example: eq: value proposal_document_type: title: Proposal Document Type description: The PDF template used for proposals. example: eq: active proposal_document_type_id: type: integer title: Proposal Document Type description: ID of the PDF template used for proposals. example: - 123 proposal_footer: title: Proposal Footer description: Proposal document footer text. example: eq: value proposal_footer_interpolated: title: Proposal Footer Interpolated description: Proposal footer with template variables resolved. example: eq: value proposal_note: type: string title: Proposal Note description: Notes included in proposals sent to clients. example: eq: value proposal_note_interpolated: title: Proposal Note Interpolated description: Proposal note with template variables resolved. example: eq: value purchase_order_number: type: string title: Purchase Order Number description: Client-provided purchase order number for invoicing reference. example: PO-2024-017 query: type: string title: Query description: Quick search query applied to this deal. example: eq: value recurring: type: boolean title: Recurring description: Whether this deal is a recurring retainer. example: eq: value recurring_ends_on: type: string title: Recurring Ends On format: date description: Date when the retainer contract ends. example: eq: value recurring_interval_id: enum: - 3 - 2 - 1 - 6 - 5 - 4 type: integer title: Recurring Interval description: ID of the recurring interval for retainer deals. example: - 123 recurring_starts_on: type: string title: Recurring Starts On format: date description: Date when the retainer contract starts. example: eq: value responsible: title: Responsible description: The deal owner / project manager. example: eq: value responsible_id: type: integer title: Responsible description: ID of the deal owner / project manager. example: - 123 responsible_name: title: Responsible Name description: Name of the deal owner / project manager. example: eq: value revenue: title: Revenue description: Total revenue from services (budget currency). example: eq: value revenue_default: title: Revenue Default description: Total revenue from services (organization default currency). example: eq: value revenue_distribution_method: enum: - percentage - amount type: string title: Revenue Distribution Method description: Method for distributing revenue recognition across periods. example: eq: value revenue_distribution_type: enum: - default - even - custom type: string title: Revenue Distribution Type description: How revenue is distributed across services. example: eq: active revenue_normalized: title: Revenue Normalized description: Total revenue from services (normalized currency). example: eq: value rounding_interval_id: enum: - 1 - 2 - 3 type: integer title: Rounding Interval description: Time rounding interval for billable time (e.g. 15 minutes). example: - 123 rounding_method_id: enum: - 1 - 2 - 3 - 4 type: integer title: Rounding Method description: How billable time is rounded (up, down, nearest). example: - 123 sales_closed_at: type: string title: Sales Closed At format: date-time description: Timestamp when the deal was won or lost. example: gt: '2026-01-01' sales_closed_on: type: string title: Sales Closed On format: date description: Date when the deal was won or lost. example: eq: value sales_status_id: enum: - 1 - 2 - 3 type: integer title: Sales Status description: ID of the sales status (open/won/lost). example: - 123 sales_status_updated_at: type: string title: Sales Status Updated At format: date-time description: Timestamp when the deal status (open/won/lost) last changed. example: gt: '2026-01-01' sample_data: type: boolean title: Sample Data description: Whether this is sample/demo data. example: eq: value service_type_restricted_tracking: type: boolean title: Service Type Restricted Tracking description: Whether time tracking is restricted to specific service types. example: eq: active services_revenue: title: Services Revenue description: Revenue from services only, excluding adjustments (budget currency). example: eq: value services_revenue_default: title: Services Revenue Default description: Revenue from services only, excluding adjustments (organization default currency). example: eq: value services_revenue_normalized: title: Services Revenue Normalized description: Revenue from services only, excluding adjustments (normalized currency). example: eq: value stage_status: title: Stage Status description: Current pipeline stage status label. example: eq: active stage_status_id: enum: - 1 - 2 - 3 type: integer title: Stage Status description: ID of the current pipeline stage status. example: - 123 stage_updated_at: type: string title: Stage Updated At format: date description: Timestamp when the deal last moved to a new pipeline stage. example: gt: '2026-01-01' status: enum: - 1 - 2 type: integer title: Status description: Deal lifecycle status (open/won/lost/delivered). example: eq: active status_id: type: integer title: Status description: ID of the deal lifecycle status. example: - 123 subscriber_id: type: integer title: Subscriber description: ID of the subscriber of this deal. example: - 123 subscriber_ids: title: Subscriber Ids description: IDs of people subscribed to this deal. example: - 123 - 456 subsidiary: title: Subsidiary description: The billing subsidiary for this deal. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the billing subsidiary for this deal. example: - 123 suffix: type: string title: Suffix description: Optional suffix appended to the deal number for display. example: eq: value tag_list: title: Tag List description: Tags applied to this deal. example: eq: value tax_rate: title: Tax Rate description: Default tax rate applied to this deal's invoices. example: gt: 0 tax_rate_id: type: integer title: Tax Rate description: ID of the default tax rate. example: - 123 template: type: string title: Template description: The deal template this was created from, if applicable. example: eq: value time_approval: type: boolean title: Time Approval description: Whether time entries on this deal require approval before they count. example: gt: 0 time_approval_workflow: title: Time Approval Workflow description: The approval workflow for time entries. example: gt: 0 time_to_close: title: Time To Close description: Number of days between date opened and date closed. example: gt: 0 todo_count: type: integer title: Todo Count description: Total number of to-do items on the deal. example: gt: 0 todo_due_date: type: string title: Todo Due Date format: date description: Due date of the next to-do item. example: gt: '2026-01-01' tracking_type_id: enum: - 1 - 2 - 3 type: integer title: Tracking Type description: How time is tracked on this deal's services. example: - 123 type: enum: - 1 - 2 type: integer title: Type description: The type of this resource (always deal). example: eq: active unapproved_time: type: integer title: Unapproved Time description: Total unapproved time entries on this deal. example: gt: 0 validate_expense_when_closing: type: boolean title: Validate Expense When Closing description: Whether all expenses must be invoiced before the deal can be closed. example: eq: value won_at: type: string title: Won At format: date description: Timestamp when the deal was won. example: gt: '2026-01-01' won_date: type: string title: Won Date format: date description: Date when the deal was won. example: gt: '2026-01-01' work_cost: title: Work Cost description: Total labor costs on this deal. example: eq: value worked_time: type: integer title: Worked Time description: Total hours tracked by team members on this deal. example: gt: 0 days_in_current_stage: type: integer title: Days In Current Stage description: Number of days this deal has been in its current pipeline stage. example: eq: value days_since_created: type: integer title: Days Since Created description: Number of days since this deal was created. 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 this deal. example: eq: value deal_value: type: number title: Deal Value description: The configured deal value in the deal's currency, in cents. example: eq: value deal_value_per_period: title: Deal Value Per Period description: The deal value per retainer period in the deal's currency. example: eq: value deal_value_per_period_default: title: Deal Value Per Period Default description: The deal value per retainer period in the organization's default currency. example: eq: value deal_value_per_period_normalized: title: Deal Value Per Period Normalized description: The deal value per retainer period normalized to the deal's currency. example: eq: value deal_value_source: enum: - from_services - manual type: string title: Deal Value Source description: The source used to determine the deal value (e.g., from services or manually set). example: eq: value deal_value_total: title: Deal Value Total description: The total deal value across all retainer periods in the deal's currency. example: eq: value deal_value_total_default: title: Deal Value Total Default description: The total deal value across all retainer periods in the organization's default currency. example: eq: value deal_value_total_normalized: title: Deal Value Total Normalized description: The total deal value across all retainer periods normalized to the deal's currency. example: eq: value designated_approver: title: Designated Approver description: The person designated as the approver for this deal, as determined by the approval policy. example: eq: value designated_approver_id: type: integer title: Designated Approver description: ID of the person designated as the approver for this deal. example: - 123 parent_company_id: type: integer title: Parent Company description: ID of the parent company of the client linked to this deal, used for hierarchical company filtering. example: - 123 primary_contact: title: Primary Contact description: The primary contact person for the company linked to this deal. example: eq: value retainer_deal_value_type: enum: - total - per_interval type: string title: Retainer Deal Value Type description: Determines how the deal value is calculated for retainer deals (e.g., per period or total). example: eq: active 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 retainer_interval_count: type: integer title: Retainer Interval Count description: The number of interval units per retainer period (e.g., 3 for quarterly when interval is monthly). example: gt: 0 time_entry_requirements: type: array items: enum: - note - task type: string description: A single field that time entries on this budget's services are required to include. example: task title: Time Entry Requirements description: Fields that every time entry logged against this budget's services must include. When configured, the API rejects non-compliant time entries with a `422 Unprocessable Entity`. example: - note - task revenue_distribution_end_on: type: string title: Revenue Distribution End On format: date revenue_distribution_start_on: type: string title: Revenue Distribution Start On format: date contact_ids: title: Contact Ids contacts: title: Contacts overtime_time: type: integer title: Overtime Time description: Total tracked overtime time across the budget services in minutes (approved and unapproved, without rejected entries). Subset of worked_time. proposal_approval: type: boolean title: Proposal Approval proposal_approval_workflow: title: Proposal Approval Workflow export_error: type: object title: Export Error properties: detail: type: string title: type: string export_id: type: string title: Export export_status: enum: - pending - failed - exported - unexported type: string title: Export Status export_url: type: string title: Export Url exported: type: boolean title: Exported exported_at: type: string title: Exported At format: date-time applied_scenario_margin: type: string title: Applied Scenario Margin description: Margin (%) of the last scenario applied to the deal or budget. Null when no scenario was applied. confirm_revenue_distribution_variance: type: boolean title: Confirm Revenue Distribution Variance description: 'Close only, not persisted. Delivers a budget with custom revenue distribution even when its periods do not add up to the fixed revenue; without it such a close is rejected with a 409 `revenue_distribution_variance`. Ignored when the organization''s `deal_settings.block_delivery_on_revenue_distribution_variance` is on: the close is then always rejected with a 409 `revenue_distribution_variance_blocked`.' memberships: title: Memberships example: id: '89' type: deals attributes: name: Website Redesign Project number: DEAL-089 status_id: 1 date: '2026-01-15' end_date: '2026-06-30' closed_at: lost_at: created_at: '2026-01-15T10: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' tag_list: [] custom_fields: description: Redesigning the company website with new branding is_budget: false currency: USD relationships: company: data: type: companies id: '65111' person: data: type: people id: '12' pipeline: data: type: pipelines id: '1' deal_status: data: type: deal_statuses id: '5' resource_deal_contact: type: object title: Deal contact Resource properties: deal: title: Deal deal_id: type: integer title: Deal id: type: integer title: Id person: title: Person person_id: type: integer title: Person position: type: integer title: Position resource_deal_cost_rate: type: object title: Deal cost rate Resource description: A person-specific cost rate override for a deal, used when the person's cost differs from the standard salary rate. properties: currency: type: string title: Currency description: The currency of the cost rate. example: eq: value deal: title: Deal description: The deal (budget) 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 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 person_id: type: integer title: Person description: The ID of the person this cost rate applies to. example: - 123 rate_cents: type: number title: Rate Cents description: The cost rate in cents (smallest currency unit). example: gt: 0 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_deal_funnel_report: type: object title: Deal funnel report Resource description: An aggregated deal funnel report showing pipeline conversion rates, stage progression, and win/loss analysis. Each row represents deals grouped by pipeline stage (deal status), with counts of active and lost deals and total financial values. Used to visualize funnel drop-off and conversion across the sales pipeline. properties: budget_total: title: Budget Total description: Total contracted budget value for deals in this funnel stage. example: gt: 0 count: type: integer title: Count description: Number of deals grouped into this report row. example: gt: 0 created_at: type: string title: Created At format: date description: Timestamp when this report row was created. example: gt: '2026-01-01' currency: type: string title: Currency description: Currency code for this report row, reflecting the budget currency. example: eq: value currency_default: title: Currency Default description: Currency code for totals expressed in the organization's default currency. example: eq: value currency_normalized: title: Currency Normalized description: Currency code for totals expressed in the organization's normalized (common) currency. example: eq: value date: type: string title: Date format: date description: Date dimension for time-based filtering of the funnel report. example: gt: '2026-01-01' deal_funnel: title: Deal Funnel description: Related deal funnel data combining pipeline, deal status, and this report row — used by the UI to compute conversion metrics. example: eq: value deal_status: title: Deal Status description: The deal status (pipeline stage) this funnel row is grouped by. example: eq: active formula_fields: title: Formula Fields description: Formula fields — key-value hash of custom formula results for this report row. example: eq: value formulas: type: integer title: Formulas description: Custom formula results for this report row, keyed by formula identifier. example: eq: value group: type: string title: Group description: Dimension value used to group this report row (e.g. pipeline stage name or deal status label). example: eq: value lost_count: type: integer title: Lost Count description: Number of deals in this funnel stage that were marked as lost. example: gt: 0 organization: title: Organization description: The organization this report row belongs to. example: eq: value pipeline: title: Pipeline description: The pipeline this report row belongs to. example: eq: value pipeline_id: type: integer title: Pipeline description: ID of the pipeline this funnel row is grouped by. example: - 123 projected_revenue: title: Projected Revenue description: Projected revenue for deals in this funnel stage, based on budget forecasting. example: eq: value report: title: Report description: The parent report row for this funnel row, used in hierarchical grouping. example: eq: value total_budget_total: title: Total Budget Total description: Sum of total budget value for all deals in this funnel stage, in the budget currency. example: gt: 0 total_budget_total_default: title: Total Budget Total Default description: Sum of total budget value for all deals in this funnel stage, in the organization's default currency. example: gt: 0 total_budget_total_normalized: title: Total Budget Total Normalized description: Sum of total budget value for all deals in this funnel stage, in the normalized common currency. example: gt: 0 total_projected_revenue: title: Total Projected Revenue description: Sum of projected revenue for all deals in this funnel stage, in the budget currency. example: eq: value total_projected_revenue_default: title: Total Projected Revenue Default description: Sum of projected revenue for all deals in this funnel stage, in the organization's default currency. example: eq: value total_projected_revenue_normalized: title: Total Projected Revenue Normalized description: Sum of projected revenue for all deals in this funnel stage, in the normalized common currency. example: eq: value example: id: '123' type: deal_funnel_reports attributes: stage: proposal deal_count: 5 total_value: 125000 win_rate: 0.6 relationships: {} resource_deleted_item: type: object title: Deleted item Resource description: A soft-deleted record that can be restored from the recycle bin, including the item type, deletion details, and location. properties: created_at: type: string title: Created At format: date-time description: Timestamp when the item was deleted. example: gt: '2026-01-01' deleter: title: Deleter description: The person who deleted this item. example: eq: value deleter_id: type: integer title: Deleter description: The ID of the person who deleted this item. example: - 123 id: type: integer title: Id description: Unique identifier for the deleted item record. example: - 123 item_id: type: integer title: Item description: The ID of the original resource that was deleted. example: - 123 item_type: type: string title: Item Type description: The type of resource that was deleted (e.g. task, deal, project). example: eq: active location: type: string title: Location description: The location description indicating where the item was before deletion (e.g. project name, folder). example: eq: value name: type: string title: Name description: The name of the deleted item at the time it was deleted. example: eq: value organization: title: Organization description: The organization this deleted item belongs to. example: eq: value private: type: boolean title: Private description: Whether this deleted item was marked as private at the time of deletion. example: true query: type: string title: Query description: A text search query used to filter deleted items by name. example: eq: value recovered_at: type: string title: Recovered At format: date-time description: Timestamp when this deleted item was restored, or null if it has not been recovered. example: gt: '2026-01-01' example: id: '123' type: deleted_items attributes: item_type: task item_id: '456' deleted_at: '2026-01-15T10:00:00Z' deleted_by: 12 relationships: {} resource_developer_portal_user: type: object title: Developer Portal User Resource properties: feature_flags: type: array items: type: string title: Feature Flags name: type: string title: Name sysadmin: type: boolean title: Sysadmin sysadmin_permissions: type: array items: type: string title: Sysadmin Permissions resource_document_style: type: object title: Document style Resource description: A visual styling preset for documents such as proposals and contracts, containing CSS styles and branding assets. properties: attachment_ids: title: Attachment Ids description: IDs of attachments (e.g. logo images) associated with this document style. example: - 123 - 456 attachments: title: Attachments description: Attachments (e.g. logo images) used as branding assets for this document style. example: eq: value id: type: integer title: Id description: The unique identifier of this document style. example: - 123 name: type: string title: Name description: The display name of this document style. example: eq: value organization: title: Organization description: The organization this document style belongs to. example: eq: value styles: type: object title: Styles description: A JSON object containing the CSS and layout settings that define the visual appearance of documents using this style. example: eq: value example: id: '2' type: document_styles attributes: name: Modern Blue created_at: '2026-01-01T00:00:00.000+00:00' relationships: {} resource_document_type: type: object title: Document type Resource description: A template for PDF generation of invoices and financial documents, defining content layout, branding, and field configuration. properties: archived_at: type: string title: Archived At format: date-time description: Timestamp when this document type was archived, or null if still active. example: gt: '2026-01-01' attachment_ids: title: Attachment Ids description: IDs of attachments (e.g. header images) associated with this document type. example: - 123 - 456 attachments: title: Attachments description: Attachments associated with this document type, such as images used in templates. example: eq: value body_template: type: string title: Body Template description: The Liquid template used to render the body content of documents of this type. example: eq: value document_style: title: Document Style description: The document style applied to documents of this type for visual formatting. example: eq: value document_style_id: type: integer title: Document Style description: ID of the document style applied to documents of this type. example: - 123 document_template_id: enum: - 1 type: integer title: Document Template description: ID of the built-in document template this type is based on. example: - 123 dual_currency: type: boolean title: Dual Currency description: Whether documents of this type display amounts in dual currencies. example: eq: value email_data: type: object title: Email Data description: A JSON object containing additional data passed to the email template when sending documents of this type. example: eq: value email_subject: type: string title: Email Subject description: The default subject line used when emailing documents of this type. example: eq: value email_template: type: string title: Email Template description: The Liquid template used to render the email body when sending documents of this type. example: eq: value exportable_type_id: enum: - 1 - 2 - 3 - 4 type: integer title: Exportable Type description: ID of the exportable type indicating what kind of document this type generates (e.g. invoice, proposal). example: - 123 exporter_options: type: string title: Exporter Options description: A hash of additional options passed to the document exporter to control rendering behavior. example: eq: value filename_schema: type: string title: Filename Schema description: A template string defining the naming pattern for exported document files. example: eq: value footer: type: string title: Footer description: Legacy footer text included at the bottom of documents of this type. example: eq: value footer_template: type: string title: Footer Template description: The Liquid template used to render the footer section of documents of this type. example: eq: value header_template: type: string title: Header Template description: The Liquid template used to render the header section of documents of this type. example: eq: value id: type: integer title: Id description: The unique identifier of this document type. example: - 123 locale: type: string title: Locale description: The locale (language/region) used for formatting numbers, dates, and translations in documents of this type. example: eq: value name: type: string title: Name description: The display name of this document type. example: eq: value note: type: string title: Note description: An internal note or description for this document type, visible only to administrators. example: eq: value organization: title: Organization description: The organization this document type belongs to. example: eq: value scss_template: type: string title: Scss Template description: The SCSS stylesheet template used to style documents of this type when rendered to PDF. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: The current status of this document type (e.g. active or archived). example: eq: active subsidiary: title: Subsidiary description: The subsidiary this document type is associated with for billing and legal entity purposes. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary this document type is associated with. example: - 123 tax1_name: type: string title: Tax1 Name description: The label displayed for the first tax line on documents of this type. example: eq: value tax1_value: type: number title: Tax1 Value description: The default rate (as a percentage) for the first tax applied to documents of this type. example: eq: value tax2_name: type: string title: Tax2 Name description: The label displayed for the second tax line on documents of this type. example: eq: value tax2_value: type: number title: Tax2 Value description: The default rate (as a percentage) for the second tax applied to documents of this type. example: eq: value template_options: type: string title: Template Options description: A hash of configuration options specific to the document template used by this type. example: eq: value example: id: '3' type: document_types attributes: name: Standard Invoice default: true relationships: {} resource_entitlement: type: object title: Entitlement Resource description: A time-off entitlement for a person showing allocated, used, and pending hours for an absence category. properties: allocated: type: number title: Allocated description: Total hours allocated to this person for the absence category in the entitlement period. example: eq: value approval_workflow: title: Approval Workflow description: Whether an approval workflow is required for absence requests under this entitlement. 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' 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' event: title: Event description: The absence category (event) this entitlement is for, such as vacation or sick leave. example: eq: value event_id: type: integer title: Event description: The ID of the absence category (event) this entitlement covers. example: - 123 id: type: integer title: Id description: The unique identifier of this entitlement record. example: - 123 note: type: string title: Note description: Optional note providing additional context for this entitlement allocation. example: eq: value organization: title: Organization description: The organization this entitlement belongs to. example: eq: value pending: type: number title: Pending description: Hours pending approval — absence bookings submitted but not yet approved. example: eq: value 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 start_date: type: string title: Start Date format: date description: The date when this entitlement period starts. 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 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 resource_entitlement_report: type: object title: Entitlement report Resource description: An aggregated entitlement report row combining a person's time-off allocation, usage, and availability for an absence category over a period. properties: 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 allocated: type: number title: Allocated description: Total hours allocated for the absence category in the reporting period. example: eq: value count: type: integer title: Count description: Number of entitlement records included in this aggregated report row. example: gt: 0 currency: title: Currency description: The currency code of financial values in this report row. example: eq: value currency_default: title: Currency Default description: Financial values expressed in the organization's default currency. example: eq: value currency_normalized: title: Currency Normalized description: Financial values normalized for cross-currency comparison. example: eq: value date: type: string title: Date format: date description: The reporting date for this entitlement row. example: gt: '2026-01-01' 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' 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' entitlement: title: Entitlement description: The linked entitlement record this report row is based on. 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' 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' event: title: Event description: The absence category (event) this report row covers. example: eq: value event_id: type: integer title: Event description: The ID of the absence category (event) for this report row. example: - 123 formula_fields: title: Formula Fields description: Custom formula field values computed for this report row. example: eq: value formulas: type: integer title: Formulas description: Saved formula definitions applied to generate calculated columns in this report. 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 id: type: integer title: Id description: The unique identifier of this entitlement report row. example: - 123 organization: title: Organization description: The organization this entitlement report row belongs to. 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 person: title: Person description: The person this entitlement report row is for. example: eq: value person_id: type: integer title: Person description: The ID of the person this entitlement report row is for. example: - 123 person_report: title: Person Report description: Summary person-level report data rolled up from individual entitlement records. example: eq: value report: title: Report description: The parent report record this row belongs to. 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' 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' subsidiary: title: Subsidiary description: The subsidiary associated with this entitlement report row. example: eq: value total_allocated: type: number title: Total Allocated description: Total allocated hours for this person across all entitlement records in the period. 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_available: type: number title: Total Available description: Total available hours remaining (allocated minus used and pending). example: eq: value total_available_minutes: type: integer title: Total Available Minutes description: Total available minutes remaining (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 total_used_minutes: type: integer title: Total Used Minutes description: Total used minutes (raw minutes value). example: eq: value 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_pending_minutes: title: Total Pending Minutes description: Total pending time-off or entitlement time across grouped entries, expressed in minutes. example: eq: value description: type: string title: Description example: id: '123' type: entitlement_reports attributes: feature: time_tracking usage_count: 42 organization_id: 1 relationships: {} resource_exchange_rate: type: object title: Exchange rate Resource description: A set of currency exchange rates for a specific date, used to convert amounts between currencies. properties: date: type: string title: Date format: date description: The date for which these exchange rates are valid. example: gt: '2026-01-01' 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' 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 example: id: '123' type: exchange_rates attributes: from_currency: EUR to_currency: USD rate: 1.08 date: '2026-01-15' relationships: {} resource_expense_line_item: type: object title: Expense line item Resource properties: expense: title: Expense example: data: type: expenses id: '17' expense_id: type: integer title: Expense example: 17 id: type: integer title: Id example: '42' name: type: string title: Name example: AWS hosting position: type: integer title: Position example: 1 quantity: type: number title: Quantity example: 2 tax_rate: title: Tax Rate example: data: type: tax_rates id: '3' 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 unit_price_normalized: title: Unit Price Normalized example: 16500 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_folder: type: object title: Folder Resource description: The folder resource schema representing a collection of task lists within a project. properties: archived_at: type: string title: Archived At format: date-time description: The timestamp when this folder was archived, or null if the folder is active. example: gt: '2026-01-01' hidden: type: boolean title: Hidden description: Whether the folder is hidden from client users. Clients cannot see a hidden folder or its contents; internal project members are unaffected. example: eq: value id: type: integer title: Id description: The unique identifier of this folder. example: - 123 name: type: string title: Name description: The display name of this folder. example: eq: value organization: title: Organization description: The organization this folder belongs to. example: eq: value placement: type: integer title: Placement description: The fractional index used for ordering folders within a project, managed by the reposition endpoint. example: eq: value position: type: integer title: Position description: The integer sort position of this folder within its project. example: eq: value 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 query: type: string title: Query description: The name of this folder, used as a search query field in filter operations. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: The archive status of this folder. Returns 1 for active folders and 2 for archived folders. example: eq: active example: id: '5522' type: folders attributes: name: Features position: 1 placement: 1000000 archived_at: hidden: false relationships: project: data: type: projects id: '6899' resource_integration_exporter_configuration: type: object title: Integration exporter configuration Resource description: The resource integration exporter configuration. properties: 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 company_id: type: integer title: Company description: ID of the company (client) this exporter configuration applies to. example: - 123 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 datev_client_account_code: title: Datev Client Account Code description: The datev client account code. example: gt: 0 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 example: id: '123' type: integration_exporter_configurations attributes: provider: quickbooks enabled: true settings: {} relationships: {} resource_invitation: type: object title: Invitation Resource description: A pending user invitation to join a Productive organization, identified by an invitation token. properties: 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 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 password: title: Password description: The initial password the invited user sets when accepting the invitation. example: eq: value 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 example: id: '123' type: invitations attributes: email: newuser@example.com role: member status: pending sent_at: '2026-01-15T10:00:00Z' relationships: {} resource_invoice_template: type: object title: Invoice template Resource 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. properties: bank_account: title: Bank Account description: The bank account associated with this invoice template, used on generated invoices. example: gt: 0 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 bank_account_id: type: integer title: Bank Account description: ID of the bank account used for invoices generated from this template. example: - 123 budget: title: Budget description: The budget this invoice template is linked to. example: gt: 0 budget_id: type: integer title: Budget description: ID of the budget this invoice template is linked to. example: - 123 company_id: type: integer title: Company description: ID of the company (client) associated with the budget for this invoice template. example: - 123 created_at: title: Created At description: Timestamp when this invoice template was created. example: gt: '2026-01-01' creator: title: Creator description: The person who created this invoice template. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created this invoice template. example: - 123 custom_fields: type: object title: Custom Fields description: Custom field values for this invoice template. example: eq: value document_type: title: Document Type description: The document type used for invoices generated from this template. example: eq: active document_type_id: type: integer title: Document Type description: ID of the document type used for invoices generated from this template. example: - 123 id: type: integer title: Id description: Unique identifier of this invoice template. example: - 123 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 issuer: title: Issuer description: The person designated as the issuer on invoices generated from this template. example: eq: value issuer_id: type: integer title: Issuer description: ID of the person designated as the issuer on invoices generated from this template. example: - 123 note: type: string title: Note description: The default note text to include on invoices generated from this template. example: eq: value organization: title: Organization description: The organization this invoice template belongs to. 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: title: Subsidiary description: The subsidiary used as the issuing entity on invoices generated from this template. 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_days: type: integer title: Payment Terms Days nullable: true payment_terms_type: enum: - days_after_invoice_date - end_of_month - due_upon_receipt type: string title: Payment Terms Type nullable: true example: id: '5' type: invoice_templates attributes: name: Standard Invoice default: true created_at: '2026-01-01T00:00:00.000+00:00' relationships: {} resource_kpd_code: type: object title: KPD Code Resource properties: code: type: string title: Code example: '01.11' created_at: type: string title: Created At format: date-time example: '2025-03-15T10:30:00.000Z' id: type: integer title: Id example: '42' is_kpd: type: boolean title: Is Kpd example: true kpd_name: type: string title: Kpd Name example: Uzgoj žitarica (osim riže), mahunarki i uljanog sjemenja nkd_name: type: string title: Nkd Name example: Uzgoj žitarica (osim riže), mahunarki i uljanog sjemenja query: type: string title: Query example: žitarica updated_at: type: string title: Updated At format: date-time example: '2025-06-01T14:22:00.000Z' example: id: '42' type: kpd_codes attributes: code: '01.11' kpd_name: Uzgoj žitarica (osim riže), mahunarki i uljanog sjemenja nkd_name: Uzgoj žitarica (osim riže), mahunarki i uljanog sjemenja is_kpd: true created_at: '2024-01-01T00:00:00.000Z' updated_at: '2024-01-01T00:00:00.000Z' resource_meilisearch_document: type: object title: Meilisearch Document Resource properties: document: type: object title: Raw Document nullable: true additionalProperties: true error: type: object title: Error nullable: true properties: class: type: string message: type: string pid: type: string title: Primary Key status: enum: - found - not_found - unavailable type: string title: Status resource_meilisearch_health: type: object title: Meilisearch Health Resource properties: error: type: object title: Error nullable: true properties: class: type: string message: type: string stats: type: object title: Stats nullable: true properties: database_size_bytes: type: integer index_count: type: integer total_documents: type: integer status: enum: - available - unavailable type: string title: Status target_url: type: string title: Target URL task_queue: type: object title: Task Queue nullable: true properties: backlog: type: integer version: type: object title: Version nullable: true properties: commit_date: type: string commit_sha: type: string pkg_version: type: string resource_meilisearch_index: type: object title: Meilisearch Index Resource properties: document_count: type: integer title: Document Count nullable: true documents_by_type: type: object title: Documents By Type nullable: true additionalProperties: type: integer drift: type: object title: Drift nullable: true additionalProperties: true error: type: object title: Error nullable: true properties: class: type: string message: type: string in_sync: type: boolean title: In Sync nullable: true index_uid: type: string title: Index UID settings: type: object title: Live Settings nullable: true additionalProperties: true status: enum: - available - unavailable type: string title: Status resource_new_salary_report: type: object title: New salary report Resource description: An aggregated salary report row grouping people by configurable dimensions with salary cost metrics. properties: annuall_cost: title: Annuall Cost description: Annuall cost for this new salary report group. example: eq: value bi_weekly_cost: title: Bi Weekly Cost description: Bi weekly cost for this new salary report group. example: eq: value capacity: type: number title: Capacity description: Capacity for this new salary report group. example: eq: value count: type: integer title: Count description: Number of new salarys in this report group. example: gt: 0 currency: type: string title: Currency description: Currency for this new salary report group. example: eq: value currency_default: title: Currency Default description: Currency in the organization's default currency for this new salary report group. example: eq: value currency_normalized: title: Currency Normalized description: Currency in the normalized currency for this new salary report group. example: eq: value date: type: string title: Date format: date description: Date for this new salary report group. example: gt: '2026-01-01' date_period: title: Date Period description: Time period grouping for date (e.g. week, month, quarter). example: eq: value end_date_period: title: End Date Period description: Time period grouping for end date (e.g. week, month, quarter). example: gt: '2026-01-01' ended_on: type: string title: Ended On format: date description: Ended on for this new salary report group. example: eq: value engagement: title: Engagement description: Engagement for this new salary report group. example: eq: value engagement_ended_on: title: Engagement Ended On description: Engagement ended on for this new salary report group. example: eq: value engagement_started_on: title: Engagement Started On description: Engagement started on for this new salary report group. example: eq: value estimated_weekly_hours: type: integer title: Estimated Weekly Hours description: Estimated weekly hours for this new salary report group. example: gt: 0 formula_fields: title: Formula Fields description: Formula fields for this new salary report group. example: eq: value formulas: type: integer title: Formulas description: Formulas for this new salary report group. example: eq: value group: type: string title: Group description: The grouping dimension for this new salary report row. example: eq: value holiday_calendar_id: type: integer title: Holiday Calendar description: Holiday calendar id for this new salary report group. example: - 123 hourly_cost: title: Hourly Cost description: Hourly cost for this new salary report group. example: eq: value id: type: integer title: Id description: Unique identifier for this new salary report row. example: - 123 monthly_cost: title: Monthly Cost description: Monthly cost for this new salary report group. example: eq: value organization: title: Organization description: Organization for this new salary report group. example: eq: value overhead: type: integer title: Overhead description: Overhead for this new salary report group. example: eq: value people_custom_fields: type: string title: People Custom Fields description: People custom fields for this new salary report group. example: eq: value person: title: Person description: Person for this new salary report group. example: eq: value person_id: type: integer title: Person description: Person id for this new salary report group. example: - 123 person_report: title: Person Report description: The person associated with this salary report row. example: eq: value report: title: Report description: Report for this new salary report group. example: eq: value salary: title: Salary description: Salary for this new salary report group. example: eq: value salary_id: type: integer title: Salary description: Salary id for this new salary report group. example: - 123 salary_type_id: type: integer title: Salary Type description: Salary type id for this new salary report group. example: - 123 start_date_period: title: Start Date Period description: Time period grouping for start date (e.g. week, month, quarter). example: gt: '2026-01-01' started_on: type: string title: Started On format: date description: Started on for this new salary report group. example: eq: value time: type: number title: Time description: Time for this new salary report group. example: gt: 0 total_annually_cost: title: Total Annually Cost description: Sum of annually cost across all records in this new salary report group. example: eq: value total_annually_cost_default: title: Total Annually Cost Default description: Sum of annually cost in the organization's default currency across all records in this new salary report group. example: eq: value total_annually_cost_normalized: title: Total Annually Cost Normalized description: Sum of annually cost in the normalized currency across all records in this new salary report group. example: eq: value total_bi_weekly_cost: title: Total Bi Weekly Cost description: Sum of bi weekly cost across all records in this new salary report group. example: eq: value total_bi_weekly_cost_default: title: Total Bi Weekly Cost Default description: Sum of bi weekly cost in the organization's default currency across all records in this new salary report group. example: eq: value total_bi_weekly_cost_normalized: title: Total Bi Weekly Cost Normalized description: Sum of bi weekly cost in the normalized currency across all records in this new salary report group. example: eq: value total_estimated_weekly_hours: type: number title: Total Estimated Weekly Hours description: Sum of estimated weekly hours across all records in this new salary report group. example: gt: 0 total_hourly_cost: title: Total Hourly Cost description: Sum of hourly cost across all records in this new salary report group. example: eq: value total_hourly_cost_default: title: Total Hourly Cost Default description: Sum of hourly cost in the organization's default currency across all records in this new salary report group. example: eq: value total_hourly_cost_normalized: title: Total Hourly Cost Normalized description: Sum of hourly cost in the normalized currency across all records in this new salary report group. example: eq: value total_monthly_cost: title: Total Monthly Cost description: Sum of monthly cost across all records in this new salary report group. example: eq: value total_monthly_cost_default: title: Total Monthly Cost Default description: Sum of monthly cost in the organization's default currency across all records in this new salary report group. example: eq: value total_monthly_cost_normalized: title: Total Monthly Cost Normalized description: Sum of monthly cost in the normalized currency across all records in this new salary report group. example: eq: value total_overhead_cost_per_hour: title: Total Overhead Cost Per Hour description: Sum of overhead cost per hour across all records in this new salary report group. example: eq: value total_overhead_cost_per_hour_default: title: Total Overhead Cost Per Hour Default description: Sum of overhead cost per hour in the organization's default currency across all records in this new salary report group. example: eq: value total_overhead_cost_per_hour_normalized: title: Total Overhead Cost Per Hour Normalized description: Sum of overhead cost per hour in the normalized currency across all records in this new salary report group. example: eq: value total_period_cost: title: Total Period Cost description: Sum of period cost across all records in this new salary report group. example: eq: value total_period_cost_default: title: Total Period Cost Default description: Sum of period cost in the organization's default currency across all records in this new salary report group. example: eq: value total_period_cost_normalized: title: Total Period Cost Normalized description: Sum of period cost in the normalized currency across all records in this new salary report group. example: eq: value total_weekly_cost: title: Total Weekly Cost description: Sum of weekly cost across all records in this new salary report group. example: eq: value total_weekly_cost_default: title: Total Weekly Cost Default description: Sum of weekly cost in the organization's default currency across all records in this new salary report group. example: eq: value total_weekly_cost_normalized: title: Total Weekly Cost Normalized description: Sum of weekly cost in the normalized currency across all records in this new salary report group. example: eq: value weekly_cost: title: Weekly Cost description: Weekly cost for this new salary report group. example: eq: value work_days: type: number title: Work Days description: Work days for this new salary report group. example: eq: value example: id: '123' type: new_salary_reports attributes: total_salary: 12000 month: 2026-01 person_id: 12 relationships: {} resource_organization_membership: type: object title: Organization membership Resource 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. properties: 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 booking_approvals_filter_id: type: integer title: Booking Approvals Filter description: The booking approvals filter id. example: - 123 bookings_favorite_filter: title: Bookings Favorite Filter description: The member's pinned favorite filter for the bookings list view. example: eq: value bookings_filter_id: type: integer title: Bookings Filter description: ID of the member's default filter for the bookings list view. example: - 123 budget_services_favorite_filter: title: Budget Services Favorite Filter description: The budget services favorite filter. example: gt: 0 budget_services_filter_id: type: integer title: Budget Services Filter description: The budget services filter id. example: - 123 budgets_favorite_filter: title: Budgets Favorite Filter description: The member's pinned favorite filter for the budgets list view. 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 companies_favorite_filter: title: Companies Favorite Filter description: The member's pinned favorite filter for the companies list view. example: eq: value companies_filter_id: type: integer title: Companies Filter description: ID of the member's default filter for the companies list view. example: - 123 company_time_favorite_filter: title: Company Time Favorite Filter description: The company time favorite filter. example: gt: 0 company_time_filter_id: type: integer title: Company Time Filter description: The company time filter id. example: - 123 contacts_favorite_filter: title: Contacts Favorite Filter description: The member's pinned favorite filter for the contacts list view. example: eq: value contacts_filter_id: type: integer title: Contacts Filter description: ID of the member's default filter for the contacts list view. example: - 123 deal_services_favorite_filter: title: Deal Services Favorite Filter description: The deal services favorite filter. example: eq: value deal_services_filter_id: type: integer title: Deal Services Filter description: The deal services filter id. 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 docs_favorite_filter: title: Docs Favorite Filter description: The member's pinned favorite filter for the docs list view. example: eq: value docs_filter_id: type: integer title: Docs Filter description: ID of the member's default filter for the docs list view. example: - 123 email_notifications: type: boolean title: Email Notifications description: Whether this member receives email notifications from the organization. example: eq: value expense_approvals_favorite_filter: title: Expense Approvals Favorite Filter description: The expense approvals favorite filter. example: eq: value expense_approvals_filter_id: type: integer title: Expense Approvals Filter description: The expense approvals filter id. example: - 123 expenses_favorite_filter: title: Expenses Favorite Filter description: The member's pinned favorite filter for the expenses list view. 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 granular_notification_preferences: type: object title: Granular Notification Preferences description: Granular per-event email notification preferences for this member. example: eq: value internal_budget_services_favorite_filter: title: Internal Budget Services Favorite Filter description: The internal budget services favorite filter. example: gt: 0 internal_budget_services_filter_id: type: integer title: Internal Budget Services Filter description: The internal budget services filter id. example: - 123 invoices_favorite_filter: title: Invoices Favorite Filter description: The member's pinned favorite filter for the invoices list view. example: eq: value invoices_filter_id: type: integer title: Invoices Filter description: ID of the member's default filter for the invoices list view. example: - 123 organization: title: Organization description: The organization this membership belongs to. example: eq: value organization_id: type: integer title: Organization description: ID of the organization this membership belongs to. example: - 123 payments_favorite_filter: title: Payments Favorite Filter description: The member's pinned favorite filter for the payments 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 people_favorite_filter: title: People Favorite Filter description: The member's pinned favorite filter for the people 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 person: title: Person description: The person associated with this organization membership. example: eq: value position: type: integer title: Position description: The job title or position of this member within the organization. example: eq: value preferences: type: string title: Preferences description: Miscellaneous UI preferences stored for this member. example: eq: value projects_favorite_filter: title: Projects Favorite Filter description: The member's pinned favorite filter for the projects list view. example: eq: value projects_filter_id: type: integer title: Projects Filter description: ID of the member's default filter for the projects 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 salary_reports_favorite_filter: title: Salary Reports Favorite Filter description: The salary report filter favorited by this organization membership. 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 tasks_favorite_filter: title: Tasks Favorite Filter description: The member's pinned favorite filter for the tasks list view. example: eq: value tasks_filter_id: type: integer title: Tasks Filter description: ID of the member's default filter for the tasks list view. example: - 123 tasks_layout_id: type: integer title: Tasks Layout description: ID of the layout preference used for the tasks view by this member. example: - 123 time_approvals_favorite_filter: title: Time Approvals Favorite Filter description: The time approvals favorite filter. example: gt: 0 time_approvals_filter_id: type: integer title: Time Approvals Filter description: The time approvals filter id. example: - 123 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 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 time_reminders: type: boolean title: Time Reminders description: Whether this member receives time tracking reminder notifications. 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 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 time_tracking_policy: title: Time Tracking Policy description: The time tracking policy applied to this member. example: gt: 0 updated_at: type: string title: Updated At format: date-time description: Timestamp when this organization membership was last updated. example: gt: '2026-01-01' user: title: User description: The user account associated with this organization membership. example: eq: value weekly_emails: type: boolean title: Weekly Emails description: Whether this member receives weekly summary emails from the organization. example: eq: value 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 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 example: id: '123' type: organization_memberships attributes: role: admin joined_at: '2026-01-01T00:00:00Z' relationships: person: data: type: people id: '12' resource_page_report: type: object title: Page report Resource description: An aggregated page report row grouping documentation pages by configurable dimensions with activity metrics. properties: count: type: integer title: Count description: Number of pages in this report group. example: gt: 0 created_at: type: string title: Created At format: date description: Created at for this page report group. example: gt: '2026-01-01' creator: title: Creator description: Creator for this page report group. example: eq: value creator_id: type: integer title: Creator description: Creator id for this page report group. example: - 123 currency: title: Currency description: 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 currency_normalized: title: Currency Normalized description: Currency in the normalized currency 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 edited_at: type: string title: Edited At format: date description: Edited at for this page report group. example: gt: '2026-01-01' formula_fields: title: Formula Fields description: Formula fields for this page report group. example: eq: value full_query: type: string title: Full Query description: Full query 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' fuzzy_people: type: integer title: Fuzzy People description: Fuzzy people 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 id: type: integer title: Id description: Unique identifier for this page report row. example: - 123 jump_query: type: string title: Jump Query description: Jump query for this page report group. example: eq: value 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' organization: title: Organization description: Organization for this page report group. example: eq: value page: title: Page description: Page for this page report group. example: eq: value page_id: title: Page description: Page id for this page report group. example: - 123 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' parent_page_id: type: integer title: Parent Page description: Parent page id for this page report group. example: - 123 person_type: type: integer title: Person Type description: Person type for this page report group. example: eq: active project: title: Project description: Project 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_status: enum: - 1 - 2 type: integer title: Project Status description: Project status for this page report group. example: eq: active query: type: string title: Query description: Query for this page report group. example: eq: value report: title: Report description: Report 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 status: type: integer title: Status description: 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 template: type: string title: Template description: Template for this page report group. example: eq: value title: type: string title: Title description: Title for this page report group. example: eq: value updater: title: Updater description: Updater for this page report group. example: eq: value example: id: '123' type: page_reports attributes: views: 150 page_id: 78 date: '2026-01-15' relationships: {} resource_page_version: type: object title: Page version Resource description: A historical snapshot of a page's content created whenever the page is saved. properties: 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 created_at: type: string title: Created At format: date-time description: Timestamp when this page version was created. 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 organization: title: Organization description: The organization this page version belongs to. example: eq: value page: title: Page description: The page this version belongs to. example: eq: value page_id: type: integer title: Page description: ID of the page this version belongs to. example: - 123 person: title: Person description: The person who saved this version. example: eq: value person_id: type: integer title: Person description: ID of the person who saved this version. example: - 123 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 restored_from_version_id: type: integer title: Restored From Version description: ID of the version this one was restored from, when the version marks a restore point. example: - 123 title_snapshot: type: string title: Title Snapshot description: A snapshot of the page title at the time this version was saved. example: eq: value updated_at: type: string title: Updated At format: date-time description: Timestamp when this page version was last updated. example: gt: '2026-01-01' 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' resource_password: type: object title: Password Resource description: A password reset or change request, identified by a reset token. properties: email: type: string title: Email description: The email address associated with the user whose password is being reset or changed. example: eq: value first_password: type: boolean title: First Password description: When true, the user has not yet set their first password after account creation. example: eq: value password: title: Password description: The new password to set for the user. example: eq: value password_confirmation: title: Password Confirmation description: Confirmation of the new password, must match the password field. example: eq: value example: id: '123' type: passwords attributes: changed_at: '2026-01-01T00:00:00Z' relationships: {} resource_payment_reminder_sequence: type: object title: Payment reminder sequence Resource description: The resource payment reminder sequence. 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' creator: title: Creator description: The person who created this payment reminder sequence. 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 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 payment_reminders: title: Payment Reminders description: Array of individual payment reminder steps in this sequence, each defining timing and message content. example: eq: value 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' updater: title: Updater description: The person who last updated this payment reminder sequence. example: eq: value example: id: '2' type: payment_reminder_sequences attributes: name: Standard Reminder default: true relationships: {} resource_proposal_identity_confirmation: type: object title: Proposal Identity Confirmation Resource properties: token: type: string title: Token resource_proposal_report: type: object title: Proposal report Resource description: A single aggregated row in a proposal report, containing metrics and grouping fields for one or more proposals. properties: 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 budget_total: title: Budget Total description: Total budget amount of the proposal in the proposal's original currency. example: gt: 0 company: title: Company description: The associated client company for 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 company_report: title: Company Report description: Nested company report data for this report row, including company-level aggregates and attributes. example: eq: value count: type: integer title: Count description: Number of proposals aggregated into this report row. 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' 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' creator: title: Creator description: The person who created the proposals in this report row. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created the proposals in this report row. example: - 123 creator_report: title: Creator Report description: Nested creator person report data 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 currency_default: title: Currency Default description: Budget total amount in the organization's default currency. example: eq: value currency_normalized: title: Currency Normalized description: Budget total amount normalized to the organization's reporting currency. example: eq: value 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 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 deal: title: Deal description: The deal associated with the proposals in this report row. example: eq: value deal_id: type: integer title: Deal description: ID of the deal associated with the proposals in this report row. example: - 123 deal_report: title: Deal Report description: Nested deal report data for this report row, including deal-level aggregates and attributes. example: eq: value formula_fields: title: Formula Fields description: Values of any custom formula fields defined for this report. example: eq: value formulas: type: integer title: Formulas description: Custom formula field definitions applied to this report row. example: eq: value 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 id: type: integer title: Id description: Unique identifier for this proposal report row. example: - 123 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 name: title: Name description: Name of the proposal in this report row (populated when grouped by proposal). example: eq: value organization: title: Organization description: The organization that owns 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 report: title: Report description: The parent report configuration that this report row belongs to. example: eq: value responsible: title: Responsible description: The responsible person for the proposals in this report row. example: eq: value responsible_id: type: integer title: Responsible description: ID of the responsible person for the proposals in this report row. example: - 123 responsible_report: title: Responsible Report description: Nested responsible person report data for this report row. example: eq: value 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' 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' signed: type: integer title: Signed description: Whether the proposals in this report row have been signed by the client. 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 status: enum: - draft - sent - accepted - declined type: string title: Status description: Current lifecycle status of the proposals in this report row (e.g. draft, sent, accepted, declined). example: eq: active 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' 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' subsidiary: title: Subsidiary description: The subsidiary company entity associated with the proposals in 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 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 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 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 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 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 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 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' 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' approval_requested_at: type: string title: Approval Requested At format: date approval_requested_at_period: title: Approval Requested At Period approval_status: enum: - approved - unapproved - rejected - auto_approved type: string title: Approval Status approved_at: type: string title: Approved At format: date approved_at_period: title: Approved At Period example: id: '123' type: proposal_reports attributes: total_value: 25000 status: sent deal_id: 89 relationships: {} resource_pulse: type: object title: Pulse Resource description: A pulse (scheduled report delivery) that sends a saved report to recipients via email or Slack on a recurring schedule. properties: creator: title: Creator description: The person who created this pulse. example: eq: value creator_id: type: integer title: Creator description: The ID of the person who created this pulse. example: - 123 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' 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 export_params: type: object title: Export Params description: Export configuration parameters for the report attached to this pulse. example: eq: value filter: title: Filter description: The saved filter (report) delivered by this pulse. example: eq: value filter_id: type: integer title: Filter description: The ID of the saved filter (report) delivered by this pulse. example: - 123 id: type: integer title: Id description: Unique identifier for the pulse. example: - 123 memberships: title: Memberships description: The memberships (recipients) that have access to this pulse. example: eq: value organization: title: Organization description: The organization this pulse belongs to. example: eq: value recipients: type: object title: Recipients description: Email addresses of recipients who receive this pulse delivery. example: eq: value 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 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 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 schedule_hour: type: integer title: Schedule Hour description: The hour of the day (0-23) when the pulse is sent. example: eq: value 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 slack_channel: type: string title: Slack Channel description: The Slack channel where this pulse is delivered, if configured. example: eq: value subscriber_id: type: integer title: Subscriber description: ID of the person subscribed to receive this 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 type_id: enum: - 1 - 2 - 3 type: integer title: Type description: ID of the pulse delivery type (email, Slack, or Microsoft Teams). example: - 123 version: type: integer title: Version description: The version number of this pulse configuration, incremented on each update. example: eq: value teams_channel: type: string title: Teams Channel description: The Microsoft Teams channel name within the team where pulse notifications are delivered. example: eq: value teams_team: type: string title: Teams Team description: The Microsoft Teams team name where pulse notifications are delivered. example: eq: value example: id: '123' type: pulses attributes: score: 8 response_at: '2026-01-15T10:00:00Z' person_id: 12 relationships: {} resource_purchase_order: type: object title: Purchase order Resource 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. properties: attachment: title: Attachment description: The file attachment associated with this purchase order. example: data: type: attachments id: '89012' attachment_id: type: integer title: Attachment description: ID of the file attachment associated with this purchase order. example: 89012 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' 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' creator: title: Creator description: The person who created this purchase order. example: data: type: people id: '345678' creator_id: type: integer title: Creator description: ID of the person who created this purchase order. example: 345678 currency: type: string title: Currency description: The currency of this purchase order. example: USD currency_default: title: Currency Default description: The purchase order amount converted to the organization's default currency. example: USD currency_normalized: title: Currency Normalized description: The purchase order amount converted to the normalized (reporting) currency. example: USD deal: title: Deal description: The deal (budget) this purchase order is linked to. example: data: type: deals id: '456789' deal_id: type: integer title: Deal description: ID of the deal (budget) this purchase order is linked to. example: 456789 deal_name: title: Deal Name description: The name of the deal (budget) this purchase order is linked to. example: Q2 Marketing Campaign 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' document_type: title: Document Type description: The document type associated with this purchase order. example: data: type: document_types id: '12' document_type_id: type: integer title: Document Type description: ID of the document type associated with this purchase order. example: 12 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 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' 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' export_id: type: string title: Export description: The external identifier assigned when this purchase order was exported to an accounting system. example: xero-abc123 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 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 exported: title: Exported description: Whether this purchase order has been exported to an accounting system. example: true 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' footer: title: Footer description: The footer text template for this purchase order, sourced from the associated document type. example: 'Payment terms: net 30.' 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.' id: type: integer title: Id description: Unique identifier of this purchase order. example: 1234567 issued_on: type: string title: Issued On format: date description: Date when this purchase order was issued. example: '2026-04-10' note: title: Note description: The note or description body of this purchase order. example: Please confirm delivery date for the attached items. 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. number: type: string title: Number description: The auto-generated reference number of this purchase order. example: PO-2024-017 organization: title: Organization description: The organization this purchase order belongs to. example: data: type: organizations id: '109' 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 project_id: type: integer title: Project description: ID of the project associated with the deal this purchase order is linked to. example: 567890 query: type: string title: Query description: A full-text search query to filter purchase orders by number, subject, or vendor name. example: PO-2024 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' sent_on: type: string title: Sent On format: date description: Date when this purchase order was sent to the vendor. example: '2026-04-10' 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 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 subject: type: string title: Subject description: The subject line of this purchase order. example: Purchase Order PO-2024-017 subscriber_ids: title: Subscriber Ids description: Array of IDs of users subscribed to receive notifications about this purchase order. example: - 345678 - 456789 total_cost: title: Total Cost description: The total cost of this purchase order (excluding tax) 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 total_cost_normalized: title: Total Cost Normalized description: The total cost converted to the normalized (reporting) currency. example: 150000 total_cost_with_tax: title: Total Cost With Tax description: The total cost with tax. example: 187500 total_cost_with_tax_default: title: Total Cost With Tax Default description: The total cost with tax default. example: 187500 total_cost_with_tax_normalized: title: Total Cost With Tax Normalized description: The total cost with tax normalized. example: 187500 total_received: title: Total Received description: The total amount received against this purchase order in the purchase order's currency. example: 150000 total_received_default: title: Total Received Default description: The total amount received converted to the organization's default currency. example: 150000 total_received_normalized: title: Total Received Normalized description: The total amount received converted to the normalized (reporting) currency. example: 150000 vendor: title: Vendor description: The vendor (client/company) this purchase order was sent to. example: data: type: companies id: '234567' vendor_id: type: integer title: Vendor description: ID of the vendor (client/company) this purchase order was sent to. example: 234567 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' resource_rate_card: type: object title: Rate card Resource 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. properties: 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' company: title: Company description: The company this rate card is associated with. example: eq: value company_id: type: integer title: Company description: ID of the company this rate card is associated with. example: - 123 created_at: type: string title: Created At format: date-time description: Timestamp when this rate card was created. example: gt: '2026-01-01' creator: title: Creator description: The person who created this rate card. example: eq: value name: type: string title: Name description: The name of this rate card. example: eq: value organization: title: Organization description: The organization this rate card belongs to. example: eq: value prices_count: title: Prices Count description: The number of prices defined on this rate card. example: gt: 0 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' 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: {} resource_report_category: type: object title: Report category Resource description: An aggregated report category resource grouping saved report filters. properties: color_id: type: integer title: Color description: Color identifier for this report category. example: - 123 deleted_at: type: string title: Deleted At format: date-time description: Timestamp when this report category was deleted. example: gt: '2026-01-01' name: type: string title: Name description: Display name of this report category. example: eq: value organization: title: Organization description: The organization this report category belongs to. example: eq: value position: type: integer title: Position description: Display order position of this report category. example: eq: value example: id: '123' type: report_categories attributes: name: Financial Reports description: Revenue and cost reports relationships: {} resource_revenue_distribution: type: object title: Revenue distribution Resource description: A record defining how deal revenue is distributed across a specific date range. properties: amount: title: Amount 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 amount_normalized: title: Amount Normalized description: The revenue amount for this distribution period in the deal's currency. example: gt: 0 amount_percent: type: number title: Amount Percent description: The percentage of the deal's total revenue allocated to this distribution period. example: gt: 0 created_at: type: string title: Created At format: date description: Timestamp when this revenue distribution was created. example: gt: '2026-01-01' creator_id: type: integer title: Creator description: ID of the person who created this revenue distribution. example: - 123 currency: title: Currency description: The currency code of the deal this revenue distribution belongs to. example: eq: value currency_default: title: Currency Default description: The organization's default currency code. example: eq: value currency_normalized: title: Currency Normalized 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 deal_id: type: integer title: Deal description: ID of the deal this revenue distribution belongs to. example: - 123 end_on: type: string title: End On format: date description: Date when this revenue distribution period ends. example: eq: value id: type: integer title: Id description: The unique identifier of this revenue distribution. example: - 123 organization: title: Organization description: The organization 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 example: id: '123' type: revenue_distributions attributes: amount: 10000 date: '2026-01-15' project_id: 45 relationships: {} resource_salary: type: object title: Salary Resource description: A person's cost rate and working capacity configuration defining hourly cost, daily availability, and overhead rates. properties: after: type: string title: After format: date description: The date after which this salary record starts being effective (exclusive lower bound for date-range filtering). example: eq: value alternating_hours: type: boolean title: Alternating Hours description: Alternating working hours schedule, if the organization has the alternating work hours feature enabled. example: eq: value before: type: string title: Before format: date description: The date before which this salary record is effective (exclusive upper bound for date-range filtering). example: eq: value cost: type: integer title: Cost description: The person's cost in the salary's native currency (amount in cents). example: eq: value cost_default: title: Cost Default description: The person's cost converted to the organization's default currency (amount in cents). example: eq: value cost_normalized: title: Cost Normalized description: The person's cost normalized for comparison across currencies (amount in cents). example: eq: value currency: type: string title: Currency description: The currency code of this salary record (e.g. USD, EUR). example: eq: value currency_default: title: Currency Default description: The organization's default currency code. example: eq: value currency_normalized: title: Currency Normalized description: The normalized currency code used for cross-currency comparisons. example: eq: value default_salary: title: Default Salary description: Whether this is the default (active) salary record for the person. example: eq: value ended_on: type: string title: Ended On format: date description: The date when this salary record ends. Null if the record is currently active. example: eq: value exchange_date: type: string title: Exchange Date format: date description: The date used to calculate the exchange rate for currency conversion. example: gt: '2026-01-01' exchange_rate: type: number title: Exchange Rate description: The exchange rate applied to convert the salary cost to the default currency. example: gt: 0 holiday_calendar: title: Holiday Calendar description: The associated holiday calendar that determines the person's non-working days. example: eq: value holiday_calendar_id: title: Holiday Calendar description: The ID of the holiday calendar used for this person's availability calculations. example: - 123 hourly_rate: title: Hourly Rate description: The person's hourly rate in the salary's native currency (amount in cents). example: gt: 0 hourly_rate_default: title: Hourly Rate Default description: The hourly rate converted to the organization's default currency, in whole currency units. example: gt: 0 hourly_rate_normalized: title: Hourly Rate Normalized description: The hourly rate converted to the organization's normalized currency, in whole currency units. example: gt: 0 note: title: Note description: An optional note or description for this salary record. example: eq: value organization: title: Organization description: The organization this salary record belongs to. example: eq: value overhead: type: boolean title: Overhead description: When true, this salary entry is counted as overhead cost rather than direct project cost. example: eq: value person: title: Person description: The person this salary record applies to. example: eq: value person_id: type: integer title: Person description: ID of the person this salary record applies to. example: - 123 salary_type_id: type: integer title: Salary Type description: ID of the salary type for this record (e.g. hourly, monthly). example: - 123 started_on: type: string title: Started On format: date description: Date when this salary record becomes effective. example: eq: value working_hours: type: object title: Working Hours description: The weekly working hours schedule for this salary record. example: eq: value example: id: '123' type: salaries attributes: amount: 72000 currency: USD effective_from: '2026-01-01' employment_type: full_time relationships: person: data: type: people id: '12' resource_section: type: object title: Section Resource description: Represents a named grouping of services within a deal or budget, used to organize line items into logical sections. properties: budget_id: type: integer title: Budget description: ID of the budget this section belongs to. example: - 123 deal: title: Deal description: The deal this section belongs to. example: eq: value deal_id: type: integer title: Deal description: ID of the deal this section belongs to. example: - 123 editor_config: type: object title: Editor Config description: Rich text editor configuration and content for this section's description. example: eq: value id: type: integer title: Id description: The unique identifier of this section. example: - 123 name: type: string title: Name description: The name of this section. example: eq: value organization: title: Organization description: The organization this section belongs to. example: eq: value position: type: integer title: Position description: The sort position of this section within the deal. example: eq: value preferences: type: object title: Preferences description: User-specific display preferences for this section, stored as key-value settings. example: eq: value description: type: string title: Description example: id: '123' type: sections attributes: name: Development position: 1 relationships: {} resource_service_assignment: type: object title: Service assignment Resource description: Represents an assignment of a person to a service (line item) on a deal or budget. properties: id: type: integer title: Id description: The unique identifier of this service assignment. 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 service: title: Service description: The service this assignment belongs to. example: eq: value service_id: type: integer title: Service description: ID of the service this assignment belongs to. example: - 123 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_service_report: type: object title: Service report Resource description: An aggregated service report row grouping services by configurable dimensions with financial totals, time metrics, and billing analysis. properties: after: type: string title: After format: date description: After 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 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 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 average_budget_usage: type: number title: Average Budget Usage description: Average budget usage for this service report group. example: gt: 0 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 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 average_discount: type: string title: Average Discount description: Average discount for this service report group. 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 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 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 average_forecasted_time_usage: type: number title: Average Forecasted Time Usage description: Average forecasted time usage for this service report group. example: gt: 0 average_markup: type: string title: Average Markup description: Average markup for this service report group. example: eq: value average_profit_margin: type: number title: Average Profit Margin description: Average profit margin for this service 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 service report group. example: eq: value 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 before: type: string title: Before format: date description: Before for this service report group. example: eq: value billable: type: integer title: Billable description: Billable for this service report group. example: true billable_time: type: integer title: Billable Time description: Billable time for 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 bookable_after: type: string title: Bookable After format: date description: Bookable after for this service report group. example: eq: value bookable_before: type: string title: Bookable Before format: date description: Bookable before for this service report group. example: eq: value bookable_date: type: string title: Bookable Date format: date description: Filters services to those bookable on the specified date, based on the budget's active period. Services on deals are always included. example: gt: '2026-01-01' booked_time: type: integer title: Booked Time description: Booked time for this service report group. example: gt: 0 booking_tracking_enabled: type: integer title: Booking Tracking Enabled description: Booking tracking enabled for this service report group. example: eq: value budget: title: Budget description: Budget for this service report group. example: gt: 0 budget_cap_enabled: type: integer title: Budget Cap Enabled description: Budget cap enabled 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 budget_date: type: string title: Budget Date format: date description: Budget date for this service report group. example: gt: '2026-01-01' budget_id: type: integer title: Budget description: Budget id for this service report group. example: - 123 budget_remaining: type: integer title: Budget Remaining description: Budget remaining for this service report group. example: gt: 0 budget_status: enum: - 1 - 2 type: integer title: Budget Status description: Budget status for this service report group. example: gt: 0 budget_total: title: Budget Total description: Budget total for this service report group. example: gt: 0 budget_used: title: Budget Used description: Budget used 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 budgets_and_deals: type: boolean title: Budgets And Deals description: Budgets and deals for this service report group. example: gt: 0 company: title: Company description: Company for this service report group. example: eq: value company_id: type: integer title: Company description: Company id for this service report group. example: - 123 company_report: title: Company Report description: Company report for this service report group. example: eq: value contract: title: Contract description: Contract for this service report group. example: eq: value contract_id: type: integer title: Contract description: Contract id for this service report group. example: - 123 cost: title: Cost description: Cost for this service report group. example: eq: value count: type: integer title: Count description: Number of services in this report group. example: gt: 0 currency: type: string title: Currency description: Currency for this service report group. example: eq: value currency_default: title: Currency Default description: Currency in the organization's default currency for this service report group. example: eq: value currency_normalized: title: Currency Normalized description: Currency in the normalized currency 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 date: title: Date description: Date for this service report group. example: gt: '2026-01-01' date_period: title: Date Period description: Time period grouping for date (e.g. week, month, quarter). example: eq: value deal_custom_fields: type: string title: Deal Custom Fields description: Deal custom fields for this service report group. example: eq: value deal_id: type: integer title: Deal description: Deal id for this service report group. example: - 123 deal_stage_id: type: integer title: Deal Stage description: Deal stage id for this service report group. example: - 123 deal_status: title: Deal Status description: Deal status for this service report group. example: eq: active deal_status_id: type: integer title: Deal Status description: Deal status id for this service report group. example: - 123 discount: type: number title: Discount description: Discount for this service report group. example: gt: 0 discount_amount: title: Discount Amount description: Discount amount for this service report group. example: gt: 0 estimated_cost: title: Estimated Cost description: Estimated cost for 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 expense_cost: title: Expense Cost description: Expense cost 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 for_tracking: type: boolean title: For Tracking description: For tracking for this service report group. example: eq: value formula_fields: title: Formula Fields description: Formula fields for this service report group. example: eq: value formulas: type: integer title: Formulas description: Formulas 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 future_budget_used: title: Future Budget Used description: Future budget used for this service report group. example: gt: 0 group: type: string title: Group description: The grouping dimension for this service report row. example: eq: value id: type: integer title: Id description: Unique identifier for this service report row. example: - 123 initial_service_id: type: integer title: Initial Service description: Initial service 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 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 markup: type: number title: Markup description: Markup for this service report group. example: eq: value markup_amount: title: Markup Amount description: Markup amount for this service report group. example: gt: 0 name: type: string title: Name description: Name for this service report group. example: eq: value organization: title: Organization description: Organization for this service report group. example: eq: value origin_deal: title: Origin Deal description: Origin deal for this service report group. example: eq: value origin_deal_id: type: integer title: Origin Deal description: Origin deal id for this service report group. example: - 123 origin_deal_report: title: Origin Deal Report description: Related origin deal report data for this service report group. example: eq: value origin_service_id: type: integer title: Origin Service description: Origin service id for this service report group. example: - 123 owner_report: title: Owner Report description: Owner report for this service report group. example: eq: value person_id: type: integer title: Person description: Person id for this service report group. example: - 123 pipeline: title: Pipeline description: Pipeline for this service report group. example: eq: value pipeline_id: type: integer title: Pipeline description: Pipeline id for this service report group. example: - 123 price: title: Price description: Price for this service report group. example: gt: 0 probability: type: integer title: Probability description: Probability for this service report group. example: eq: value profit: type: integer title: Profit description: Profit for this service report group. example: eq: value profit_margin: type: number title: Profit Margin description: Profit margin for this service report group. example: eq: value project: title: Project description: Project for this service report group. example: eq: value project_id: type: integer title: Project description: Project id for this service report group. example: - 123 project_report: title: Project Report description: Project report 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 projected_revenue: title: Projected Revenue description: Projected revenue for this service report group. example: eq: value projectless_budgets: type: boolean title: Projectless Budgets description: Projectless budgets for this service report group. example: gt: 0 quantity: type: number title: Quantity description: Quantity for this service report group. example: eq: value query: type: string title: Query description: Query for this service report group. example: eq: value recognized_revenue: title: Recognized Revenue description: Recognized revenue for this service report group. example: eq: value recurring: type: integer title: Recurring description: Recurring 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 report: title: Report description: Report for this service report group. example: eq: value responsible: title: Responsible description: Responsible for this service report group. example: eq: value responsible_id: type: integer title: Responsible description: Responsible id for this service report group. example: - 123 revamped_unit: enum: - 1 - 2 - 3 type: integer title: Revamped Unit description: Revamped unit for this service report group. example: eq: value revenue: title: Revenue description: Revenue 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 sales_status: title: Sales Status description: Sales status for this service report group. example: eq: active sales_status_id: enum: - 1 - 2 - 3 type: integer title: Sales Status description: Sales status id for this service report group. example: - 123 section: title: Section description: Section for this service report group. example: eq: value section_id: type: integer title: Section description: Section 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 section_position: title: Section Position description: Section position for this service report group. example: eq: value service: title: Service description: Service for this service report group. example: eq: value service_billable: title: Service Billable description: Service billable for 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' service_description: title: Service Description description: Service description for this service report group. example: eq: value service_discount: title: Service Discount description: Service discount for this service report group. example: gt: 0 service_markup: title: Service Markup description: Service markup for this service report group. example: eq: value service_name: title: Service Name description: Service name for this service report group. example: eq: value service_position: title: Service Position description: Service position for this service report group. example: eq: value service_type: title: Service Type description: Service type 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 service_unit: title: Service Unit description: Service unit for this service report group. example: eq: value stage_status: title: Stage Status description: Stage status for this service report group. example: eq: active stage_status_id: enum: - 1 - 2 - 3 type: integer title: Stage Status description: Stage status id for this service report group. example: - 123 stage_type: enum: - 1 - 2 type: integer title: Stage Type description: Stage type for this service report group. example: eq: active subsidiary: title: Subsidiary description: Subsidiary for this service report group. example: eq: value subsidiary_id: type: integer title: Subsidiary description: Subsidiary id for this service report group. example: - 123 task_id: type: integer title: Task description: Task id for this service report group. example: - 123 template: type: boolean title: Template description: Template 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_billable_time: type: number title: Total Billable Time description: Sum of billable time 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 total_budget_remaining: title: Total Budget Remaining description: Sum of budget remaining across all records in this service report group. example: gt: 0 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 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 total_budget_total: title: Total Budget Total description: Sum of budget total across all records in this service report group. example: gt: 0 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_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_budget_used: title: Total Budget Used description: Sum of budget used across all records in this service report group. example: gt: 0 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_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 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 total_cost: title: Total Cost description: Sum of cost across all records in 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 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_discount_amount: title: Total Discount Amount description: Sum of discount amount across all records in this service report group. example: gt: 0 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_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 total_estimated_cost: title: Total Estimated Cost description: Sum of estimated cost across all records in this service report group. example: gt: 0 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_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_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 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 total_expense_cost: title: Total Expense Cost description: Sum of expense cost across all records in this service report group. example: eq: value 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 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 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_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 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 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 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_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_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_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 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 total_markup_amount: title: Total Markup Amount description: Sum of markup amount 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_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 total_price: title: Total Price description: Sum of price across all records in this service report group. example: gt: 0 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_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 total_profit: title: Total Profit description: Sum of profit across all records in 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 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_projected_revenue: title: Total Projected Revenue description: Sum of projected revenue across all records in this service 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 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 total_recognized_revenue: title: Total Recognized Revenue description: Sum of recognized revenue across all records in 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_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 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 total_revenue: title: Total Revenue description: Sum of revenue across all records in this service report group. example: eq: value 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_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_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_unapproved_time: type: number title: Total Unapproved Time description: Sum of unapproved time across all records in 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 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 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_worked_time: type: number title: Total Worked Time description: Sum of worked time across all records in this service report group. example: gt: 0 trackable_by_person_id: type: integer title: Trackable By Person description: Trackable by person id for this service report group. example: 123 type: type: integer title: Type description: Type for this service report group. example: active unapproved_time: type: integer title: Unapproved Time description: Unapproved time for this service report group. example: 1500 unit: enum: - 1 - 2 - 3 type: integer title: Unit description: Unit for this service report group. example: eq: value updated_at: type: string title: Updated At format: date description: Updated at for this service report group. example: gt: '2026-01-01' with_memberships: type: boolean title: With Memberships description: With memberships for this service report group. example: eq: value worked_cost: title: Worked Cost description: Worked cost for this service report group. example: eq: value worked_time: type: integer title: Worked Time description: Worked time for this service report group. example: gt: 0 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 bookable_date_for_period: type: string title: Bookable Date For Period format: date description: "**Deprecated — use `bookable_date` instead**, which now returns identical results. Filters services to those bookable on the specified date, based on the budget's active period. This filter will be removed in a future API version." example: gt: '2026-01-01' 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 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 net_unplanned_time: type: integer title: Net Unplanned Time example: gt: 0 total_net_unplanned_time: type: number title: Total Net Unplanned Time example: gt: 0 total_future_tentative_booked_time: type: number title: Total Future Tentative Booked Time total_tentative_booked_time: type: number title: Total Tentative Booked Time overtime_time: type: integer title: Overtime Time description: Total tracked overtime time in minutes (approved and unapproved, without rejected entries). Subset of worked_time. total_overtime_time: type: number title: Total Overtime Time description: Total tracked overtime time in minutes (approved and unapproved, without rejected entries). Subset of total_worked_time. example: id: '123' type: service_reports attributes: billable_time: 4800 nonbillable_time: 600 budget_used: 25000 service_id: 34 relationships: {} resource_service_type_assignment: type: object title: Service type assignment Resource description: The resource service type assignment. properties: id: type: integer title: Id description: The unique identifier of this service type assignment. 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 person_id: type: integer title: Person description: ID of the person assigned to this service type. example: - 123 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 example: id: '123' type: service_type_assignments attributes: rate: 120 currency: USD relationships: service_type: data: type: service_types id: '5' resource_session: type: object title: Session Resource description: An API access token session for a user, tracking device, browser, and IP information. properties: 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 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 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 app_version: title: App Version description: The version of the Productive app used when this session was created. 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 cordova_device_model: title: Cordova Device Model description: The model of the Cordova (mobile) device used to create 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 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 cordova_device_version: title: Cordova Device Version description: The OS version of the Cordova (mobile) device used to create 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 device: type: string title: Device description: The type of device used to create this session, such as desktop or mobile. 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 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' last_ip: type: string title: Last Ip description: The IP address from which this session was last used. 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 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 name: type: string title: Name description: A user-assigned label for this session, used to identify API tokens or machine sessions. example: eq: value note: type: string title: Note description: An optional note describing the purpose of this session or API token. 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 read_only: type: boolean title: Read Only description: When true, this session has read-only access and cannot make changes. 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 token: title: Token description: The API access token for authenticating requests in this session. 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' two_factor_auth: type: boolean title: Two Factor Auth description: When true, two-factor authentication has been verified for this session. example: eq: value user: title: User description: The user this session belongs to. example: eq: value user_id: type: integer title: User description: ID of the user this session belongs to. example: - 123 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_survey_field_option: type: object title: Survey field option Resource description: Selectable option for a dropdown or multi-select survey field. Has a label and position for ordering. properties: archived: type: boolean title: Archived description: Whether this option has been archived. example: true 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' color_id: type: integer title: Color description: ID of the color associated with this option. example: - 123 custom_field_id: type: integer title: Custom Field description: ID of the survey field this option belongs to. example: - 123 name: type: string title: Name description: The display label for this answer option. example: eq: value organization: title: Organization description: The organization this option belongs to. example: eq: value position: type: integer title: Position description: The display order position of this option within the survey field. example: eq: value survey_field: title: Survey Field description: The survey field this option belongs to. example: eq: value survey_field_id: type: integer title: Survey Field description: ID of the survey field this option belongs to. example: - 123 example: id: '123' type: survey_field_options attributes: label: Very Satisfied value: '5' position: 1 relationships: {} resource_survey_report: type: object title: Survey report Resource description: An aggregated survey report row grouping survey submissions by configurable dimensions. properties: count: type: integer title: Count description: Number of surveys in this report group. example: gt: 0 created_at: type: string title: Created At format: date description: Created at for this survey report group. example: gt: '2026-01-01' creator: title: Creator description: Creator for this survey report group. example: eq: value creator_id: type: integer title: Creator description: Creator id for this survey report group. example: - 123 currency: title: Currency description: Currency for this survey report group. example: eq: value currency_default: title: Currency Default description: Currency in the organization's default currency for this survey report group. example: eq: value currency_normalized: title: Currency Normalized description: Currency in the normalized currency for this survey report group. example: eq: value editable: type: boolean title: Editable description: Editable for this survey report group. example: eq: value formula_fields: title: Formula Fields description: Formula fields 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 id: type: integer title: Id description: Unique identifier for this survey report row. example: - 123 organization: title: Organization description: Organization for this survey report group. example: eq: value project: title: Project description: Project for this survey report group. example: eq: value project_id: type: integer title: Project description: Project id for this survey report group. example: - 123 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 survey: title: Survey description: Survey for this survey report group. example: eq: value survey_id: title: Survey description: Survey id for this survey report group. example: - 123 title: type: string title: Title description: Title for this survey report group. example: eq: value updater: title: Updater description: Updater for this survey report group. example: eq: value example: id: '123' type: survey_reports attributes: response_count: 42 avg_score: 4.2 survey_id: 7 relationships: {} resource_survey_response: type: object title: Survey response Resource description: Submitted form response for a survey. Contains field values keyed by survey_field_id. Triggers any automations configured on the parent survey. properties: created_at: type: string title: Created At format: date-time description: Timestamp when this survey response was created. example: gt: '2026-01-01' creator: title: Creator description: The person who submitted this survey response. example: eq: value creator_id: type: integer title: Creator description: ID of the person who submitted this survey response. example: - 123 custom_field_attachments: title: Custom Field Attachments description: File attachments associated with custom field values in this response. example: gt: '2026-01-01' custom_fields: type: string title: Custom Fields description: The custom field values submitted as part of this response. example: eq: value 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 survey: title: Survey description: The survey this response was submitted for. example: eq: value survey_fields: title: Survey Fields description: The survey field responses included in this submission. example: eq: value survey_id: type: integer title: Survey description: ID of the survey this response was submitted for. example: - 123 updated_at: type: string title: Updated At format: date-time description: Timestamp when this survey response was last updated. example: gt: '2026-01-01' example: id: '123' type: survey_responses attributes: submitted_at: '2026-01-15T10:00:00Z' answers: {} relationships: survey: data: type: surveys id: '7' resource_tag: type: object title: Tag Resource description: A label that can be applied to companies, deals, invoices, people, projects, or tasks for categorization and filtering. properties: color_id: type: integer title: Color description: ID of the color used to visually distinguish this tag. 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 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 project_id: type: integer title: Project description: ID of the project this tag is applied to, if tagged to a project. example: - 123 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 example: id: '121711' type: tags attributes: name: backend color_id: '3' resource_task_dependency: type: object title: Task dependency Resource description: Task dependency relationship defining blocking, waiting_on, or linked connections between tasks. Each dependency has a type_id indicating the relationship direction. Creating a dependency may auto-create a reverse_dependency on the related task. properties: created_at: type: string title: Created At format: date description: Timestamp when this task dependency was created. example: gt: '2026-01-01' creator_id: type: integer title: Creator description: ID of the person who created this task dependency. example: - 123 deleted_at: type: string title: Deleted At format: date description: Timestamp when this task dependency was deleted, or null if not deleted. example: gt: '2026-01-01' dependent_task: title: Dependent Task description: The dependent task object (the task that depends on the primary task). example: eq: value dependent_task_id: type: integer title: Dependent Task description: ID of the dependent task (the task that depends on the primary task). example: - 123 id: type: integer title: Id description: The unique identifier of this task dependency. example: - 123 organization: title: Organization description: The organization this task dependency belongs to. example: eq: value project_id: type: integer title: Project description: ID of the project this task dependency belongs to. example: - 123 reverse_dependency: title: Reverse Dependency description: The reverse dependency object linking the same two tasks from the opposite direction. example: eq: value task: title: Task description: The primary task object (the task that blocks or is linked to the dependent task). example: eq: value task_id: type: integer title: Task description: ID of the primary task (the task that blocks or is linked to the dependent task). example: - 123 type_id: enum: - 1 - 2 - 3 type: integer title: Type description: 'The dependency type: 1 = blocking, 2 = waiting on, 3 = linked.' example: - 123 updated_at: type: string title: Updated At format: date description: Timestamp when this task dependency was last updated. example: gt: '2026-01-01' updater_id: type: integer title: Updater description: ID of the person who last updated this task dependency. example: - 123 example: id: '15' type: task_dependencies attributes: dependency_type: blocking created_at: '2026-03-01T10:00:00.000+00:00' relationships: task: data: type: tasks id: '120501' blocking_task: data: type: tasks id: '120500' resource_tax_rate: type: object title: Tax rate Resource description: A tax rate with optional primary and secondary components, associated with a subsidiary and applied to invoices and line items. properties: archived_at: type: string title: Archived At format: date-time description: Timestamp when this tax rate was archived, or null if active. example: 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% organization: title: Organization description: The organization this tax rate belongs to. example: data: type: organizations id: '109' primary_component_name: type: string title: Primary Component Name description: The label for the primary tax component (e.g. VAT or GST). example: GST primary_component_value: type: number title: Primary Component Value description: The percentage value of the primary tax component. example: 5 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 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 subsidiary: title: Subsidiary description: The subsidiary this tax rate is associated with. example: data: type: subsidiaries id: '234' subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary this tax rate is associated with. example: 234 subsidiary_name: title: Subsidiary Name description: The name of the subsidiary this tax rate is associated with. example: Acme Corp Canada 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_team_membership: type: object title: Team membership Resource description: Person-team link record. Associates a person with a team for access control and reporting purposes. properties: active: type: boolean title: Active description: Whether this team membership is currently active. example: true id: type: integer title: Id description: The unique identifier of this team membership. 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 person_id: type: integer title: Person description: ID of the person who is a member of the team. example: - 123 person_name: title: Person Name description: The full name of the person who is a member of the team. example: eq: value 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 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' resource_time_entry: type: object title: Time entry Resource 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. properties: after: type: string title: After format: date description: after of the time entry. example: eq: value approval_policy_id: type: integer title: Approval Policy description: approval policy id of the time entry. example: - 123 approval_statuses: title: Approval Statuses description: Per-approver decisions on this time entry. example: eq: active approved: title: Approved description: Whether this time entry has been approved. example: eq: value approved_at: type: string title: Approved At format: date-time description: Timestamp when the time entry was approved. example: gt: '2026-01-01' approver: title: Approver description: The person who approved this time entry. example: eq: value approver_id: type: integer title: Approver description: approver id of the time entry. example: - 123 assigned_approver_id: type: integer title: Assigned Approver description: assigned approver id of the time entry. example: - 123 autotracked: type: boolean title: Autotracked description: autotracked of the 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 base_cost: title: Base Cost description: Base labor cost before overhead (serialized from work_cost). example: eq: value before: type: string title: Before format: date description: before of the time entry. example: eq: value billable: type: boolean title: Billable description: Whether the associated service is billable. example: true billable_time: type: integer title: Billable Time description: Hours billable to clients (time + correction for billable services, zero for non-billable). example: gt: 0 billing_type_id: enum: - 1 - 2 - 3 - 4 type: integer title: Billing Type description: Billing type of the associated service. example: - 123 booking_id: type: integer title: Booking description: ID of the booking this time entry was created from. example: - 123 budget_id: type: integer title: Budget description: ID of the deal/budget this time was tracked on. example: - 123 budget_type_id: type: integer title: Budget Type description: Budget type ID of the associated deal. example: - 123 calendar_event_id: type: string title: Calendar Event description: ID of the calendar event this entry was created from, if applicable. example: - 123 company_id: type: integer title: Company description: ID of the client company associated with the deal. example: - 123 cost: title: Cost description: Total cost of tracked time, including labor and overhead costs. example: eq: value cost_default: title: Cost Default description: Total cost in the organization's default currency. example: eq: value cost_normalized: title: Cost Normalized description: Total cost in the normalized reporting currency. example: eq: value created_after: type: string title: Created After format: date description: Filter alias — only entries created after this value. example: eq: value created_at: type: string title: Created At format: date-time description: Date on which the time entry was created. example: gt: '2026-01-01' created_before: type: string title: Created Before format: date description: Filter alias — only entries created before this value. example: eq: value creator: title: Creator description: The person who created this time entry. example: eq: value creator_id: type: integer title: Creator description: creator id of the time entry. example: - 123 currency: type: string title: Currency description: Currency code for financial values on this time entry. example: eq: value currency_default: title: Currency Default description: Currency code in the organization's default currency. example: eq: value currency_normalized: title: Currency Normalized description: Currency code 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' deal_id: type: integer title: Deal description: ID of the deal/budget this time was tracked on. example: - 123 deal_name: title: Deal Name description: Name of the deal/budget this time was tracked on. example: eq: value deal_subsidiary: title: Deal Subsidiary description: The subsidiary of the budget/deal this time was tracked on. example: eq: value deal_subsidiary_id: type: integer title: Deal Subsidiary description: ID of the subsidiary of the deal. example: - 123 ended_at: type: string title: Ended At format: date description: Computed end timestamp (started_at + time minutes). example: gt: '2026-01-01' facility_overhead_cost: title: Facility Overhead Cost description: Facility overhead portion of the cost. 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 facility_overhead_cost_normalized: title: Facility Overhead Cost Normalized description: Facility overhead cost in the normalized reporting currency. example: eq: value id: type: integer title: Id description: Unique identifier of the time entry. example: - 123 intercompany_hours: type: boolean title: Intercompany Hours description: True when the person's subsidiary differs from the deal subsidiary. example: eq: value internal_overhead_cost: title: Internal Overhead Cost description: Internal overhead portion of the cost. example: eq: value internal_overhead_cost_default: title: Internal Overhead Cost Default description: Internal overhead cost in the organization's default currency. example: eq: value internal_overhead_cost_normalized: title: Internal Overhead Cost Normalized description: Internal overhead cost in the normalized reporting currency. example: eq: value invoice_attribution: title: Invoice Attribution description: The invoice attribution linking this entry to an invoice. example: gt: '2026-01-01' invoice_attribution_id: type: integer title: Invoice Attribution description: ID of the invoice attribution linking this entry to an invoice. example: - 123 invoice_id: type: integer title: Invoice description: ID of the invoice associated via attribution. example: - 123 invoiced: type: boolean title: Invoiced description: Whether this time entry has been invoiced to the client. 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 jira_issue_id: type: string title: Jira Issue description: Jira Issue ID if tracked from a Jira integration. example: - 123 jira_issue_status: type: string title: Jira Issue Status description: Current status of the linked Jira issue. example: eq: active jira_issue_summary: type: string title: Jira Issue Summary description: Summary text of the linked Jira issue. example: eq: value jira_organization: type: string title: Jira Organization description: Jira organization name for the linked issue. example: eq: value jira_worklog_id: type: string title: Jira Worklog description: Jira Worklog ID for synced entries. 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' last_actor: title: Last Actor description: The last person who made changes to this entry. example: eq: value last_actor_id: type: integer title: Last Actor description: last actor id of the time entry. example: - 123 note: type: string title: Note description: Description of what the person was working on. example: eq: value organization: title: Organization description: The organization this time entry belongs to. example: eq: value overhead: type: boolean title: Overhead description: Whether this time entry is included in overhead calculations. example: eq: value overhead_cost: title: Overhead Cost description: Total overhead cost (internal + facility) of tracked time. example: eq: value overhead_cost_default: title: Overhead Cost Default description: Total overhead cost in the organization's default currency. example: eq: value overhead_cost_normalized: title: Overhead Cost Normalized description: Total overhead cost in the normalized reporting currency. example: eq: value people_custom_fields: type: string title: People Custom Fields description: Custom field values for the person who tracked time. example: eq: value person: title: Person description: The person who tracked this time. example: eq: value person_id: type: integer title: Person description: ID of the person who tracked time. example: - 123 person_name: title: Person Name description: Name of the person who tracked time. example: eq: value person_subsidiary: title: Person Subsidiary description: The subsidiary of the person who tracked time. example: eq: value person_subsidiary_id: type: integer title: Person Subsidiary description: ID of the subsidiary of the person who tracked time. example: - 123 person_tags: type: string title: Person Tags description: Tags of the person who tracked time. example: eq: value project_id: type: integer title: Project description: ID of the project associated with the service. example: - 123 project_manager_id: type: integer title: Project Manager description: ID of the project manager. example: - 123 project_type_id: type: integer title: Project Type description: Project type ID. example: - 123 query: type: string title: Query description: Full-text search query across time entry fields. example: eq: value recognized_time: type: integer title: Recognized Time description: Recognized time used in budget spending and accrual-based revenue calculations. example: gt: 0 rejected: title: Rejected description: Whether this time entry was rejected during approval. example: eq: value rejected_at: type: string title: Rejected At format: date-time description: Timestamp when the time entry was rejected. example: gt: '2026-01-01' rejected_reason: type: string title: Rejected Reason description: Reason provided when the time entry was rejected. example: eq: value rejecter: title: Rejecter description: The person who rejected this time entry. example: eq: value responsible_id: type: integer title: Responsible description: ID of the responsible person. example: - 123 role_id: type: integer title: Role description: Role ID of the person who tracked time. example: - 123 section_name: type: string title: Section Name description: Name of the section the service belongs to. example: eq: value service: title: Service description: The budget service this time was tracked against. example: eq: value service_id: type: integer title: Service description: ID of the service the time was tracked against. example: - 123 service_name: title: Service Name description: Name of the service the time was tracked against. example: eq: value service_type_id: type: integer title: Service Type description: Service type ID of the associated service. example: - 123 stage_type: enum: - 1 - 2 type: integer title: Stage Type description: Stage type of the associated deal. example: eq: active started_after: type: string title: Started After format: date description: Filter alias — only entries started after this value. example: eq: value started_at: type: string title: Started At format: date-time description: Start date and time of the time entry. 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 status: enum: - 1 - 2 - 3 - 4 - 5 - 6 type: integer title: Status description: Approval status of the time entry. example: eq: active submitted: title: Submitted description: Whether this time entry has been submitted for approval via a timesheet. example: eq: value task: title: Task description: The task the person was working on. example: eq: value task_id: type: integer title: Task description: ID of the task the person was working on. example: - 123 task_list_id: type: integer title: Task List description: ID of the task list the task belongs to. example: - 123 time: type: integer title: Time description: Duration of work in minutes. example: gt: 0 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' timer_stopped_at: type: string title: Timer Stopped At format: date-time description: When the timer was stopped. example: gt: '2026-01-01' timesheet: title: Timesheet description: The daily timesheet this entry belongs to (unit of approval submission). example: gt: 0 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 unit_id: enum: - 1 - 2 - 3 type: integer title: Unit description: Tracking unit ID of the associated service. example: - 123 updated_at: type: string title: Updated At format: date-time description: Timestamp of last modification. example: gt: '2026-01-01' updater: title: Updater description: The person who last updated this time entry. 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 work_cost: title: Work Cost description: Labor cost based on the person's salary rate. example: eq: value work_cost_default: title: Work Cost Default description: Labor cost in the organization's default currency. example: eq: value work_cost_normalized: title: Work Cost Normalized description: Labor cost in the normalized reporting currency. 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 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_manager_id: type: integer title: Person Manager approved_by_actual_approver_id: type: integer title: Approved By Actual Approver approved_for_assigned_approver_id: type: integer title: Approved For Assigned Approver 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: resource_time_entry_version: type: object title: Time entry version Resource description: The resource time entry version. properties: created_at: type: string title: Created At format: date-time description: Timestamp when this version record was created. example: gt: '2026-01-01' creator: title: Creator description: The person who made the change that created 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 event: type: string title: Event description: The type of change event recorded by this version (e.g. create, update, destroy). example: eq: value id: type: integer title: Id description: The unique identifier of this time entry version record. example: - 123 item_id: type: integer title: Item description: The ID of the time entry this version record belongs to. example: - 123 item_type: type: string title: Item Type description: The resource type of the versioned item, always TimeEntry. example: eq: active 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 organization: title: Organization description: The organization this time entry version belongs to. example: eq: value time_entry_id: type: integer title: Time Entry description: The ID of the time entry this version record belongs to. 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 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 service: title: Service description: The service the time entry was logged against at the time of this version. example: eq: value date: type: string title: Date format: date deal: title: Deal deal_id: type: integer title: Deal person: title: Person person_id: type: integer title: Person service_id: type: integer title: Service example: id: '123' type: time_entry_versions attributes: changed_at: '2026-01-15T10:00:00Z' changes: {} time_entry_id: 789 relationships: {} resource_timer: type: object title: Timer Resource description: An active stopwatch session linked to a time entry. The timer duration is saved to the time entry when stopped. properties: organization: title: Organization description: The organization this timer belongs to. example: eq: value person_id: type: integer title: Person description: The ID of the person who owns this timer. example: - 123 service_id: type: integer title: Service description: The ID of the service this timer is tracking time for. example: - 123 started_at: type: string title: Started At format: date-time description: Timestamp when the timer was started. example: gt: '2026-01-01' stopped_at: type: string title: Stopped At format: date-time description: Timestamp when the timer was stopped, or null if still running. example: gt: '2026-01-01' time_entry: title: Time Entry description: The time entry created when this timer was stopped. example: gt: 0 time_entry_id: type: integer title: Time Entry description: The ID of the time entry created when this timer was stopped. example: - 123 total_time: type: integer title: Total Time description: The total elapsed time of the timer in minutes. example: gt: 0 example: id: '123' type: timers attributes: started_at: '2026-01-15T09:00:00Z' running: true elapsed_seconds: 3600 relationships: time_entry: data: type: time_entries id: '789' resource_timesheet: type: object title: Timesheet Resource description: A daily aggregate of a person's time entries, serving as the unit of submission in the time approval workflow. properties: created_at: type: string title: Created At format: date-time description: Timestamp when the timesheet was created. example: gt: '2026-01-01' creator: title: Creator description: The person who created this timesheet. example: eq: value creator_id: type: integer title: Creator description: The ID of the person who created this timesheet. example: - 123 date: type: string title: Date format: date description: The date this timesheet covers. example: gt: '2026-01-01' id: title: Id description: Unique identifier for the timesheet. example: - 123 organization: title: Organization description: The organization this timesheet belongs to. example: eq: value person: title: Person description: The person this timesheet belongs to. example: eq: value person_id: type: integer title: Person description: The ID of the person this timesheet belongs to. example: - 123 example: id: '123' type: timesheets attributes: week_starting: '2026-01-13' status: submitted total_hours: 40 relationships: person: data: type: people id: '12' resource_timesheet_report: type: object title: Timesheet report Resource description: An aggregated timesheet report row grouping timesheet records by configurable dimensions with time metrics. properties: tags: type: string title: Tags description: Tags for this timesheet report group. example: eq: value after: type: string title: After format: date description: After for this timesheet report group. example: eq: value before: type: string title: Before format: date description: Before for this timesheet report group. example: eq: value count: type: integer title: Count description: Number of timesheets in this report group. example: gt: 0 currency: title: Currency description: Currency for this timesheet report group. example: eq: value currency_default: title: Currency Default description: Currency in the organization's default currency 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 formula_fields: title: Formula Fields description: Formula fields for this timesheet report group. example: eq: value friday_available: type: integer title: Friday Available description: Friday available for this timesheet report group. example: eq: value friday_capacity: type: integer title: Friday Capacity description: Friday capacity 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 group: type: string title: Group description: The grouping dimension for this timesheet report row. example: eq: value monday_available: type: integer title: Monday Available description: Monday available 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_time: type: integer title: Monday Time description: Monday time for this timesheet report group. example: gt: 0 organization: title: Organization description: Organization 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 person: title: Person description: Person for this timesheet report group. example: eq: value person_id: type: integer title: Person description: Person id for this timesheet report group. example: - 123 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 report: title: Report description: Report 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 saturday_capacity: type: integer title: Saturday Capacity description: Saturday 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 sunday_available: type: integer title: Sunday Available description: Sunday available 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 sunday_time: type: integer title: Sunday Time description: Sunday time for this timesheet report group. example: gt: 0 thursday_available: type: integer title: Thursday Available description: Thursday available 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 thursday_time: type: integer title: Thursday Time description: Thursday time for this timesheet report group. example: gt: 0 tuesday_available: type: integer title: Tuesday Available description: Tuesday 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 tuesday_time: type: integer title: Tuesday Time description: Tuesday time for this timesheet report group. example: gt: 0 wednesday_available: type: integer title: Wednesday Available description: Wednesday 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 wednesday_time: type: integer title: Wednesday Time description: Wednesday 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 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 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: {} resource_todo: type: object title: Todo Resource 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. properties: assignee: title: Assignee description: The person assigned to complete this checklist item. example: eq: value assignee_id: type: integer title: Assignee description: The ID of the person assigned to complete this checklist item. example: - 123 closed: type: boolean title: Closed description: Indicates whether this checklist item has been completed. example: true 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' created_at: type: string title: Created At format: date-time description: Timestamp when this checklist item was created. example: gt: '2026-01-01' deal: title: Deal description: The deal this checklist item belongs to, if attached to a deal. example: eq: value deal_id: type: integer title: Deal description: The ID of the deal this checklist item belongs to, if applicable. example: - 123 due_date: type: string title: Due Date format: date description: The due date for completing this checklist item. example: gt: '2026-01-01' due_time: type: string title: Due Time format: time description: The specific time of day the checklist item is due. example: gt: 0 id: type: integer title: Id description: Unique identifier for the checklist item. example: - 123 organization: title: Organization description: The organization this checklist item belongs to. example: eq: value position: type: integer title: Position description: The display order of this todo within its parent list. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: 'Filter by todo status: 1 = open, 2 = closed.' example: eq: active task: title: Task description: The task this todo belongs to. example: eq: value task_id: type: integer title: Task description: ID of the task this todo belongs to. example: - 123 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 description: type: string title: Description description: Text of the todo — the content of the checklist item. 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: resource_webhook: type: object title: Webhook Resource 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. properties: creator: title: Creator description: The person who created this webhook. example: eq: value custom_headers: type: object title: Custom Headers description: Custom HTTP headers to include in each webhook delivery request. 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' 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 id: type: integer title: Id description: The unique identifier of this webhook. 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 retry_attempts: type: integer title: Retry Attempts description: The number of retry attempts made after a failed delivery. example: gt: '2026-01-01' signature_token: type: string title: Signature Token description: Secret token used to sign webhook payloads for verification by the recipient. 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 target_url: type: string title: Target Url description: The URL where webhook event payloads are delivered. example: eq: value test: type: boolean title: Test description: When true, this webhook is in test mode and will not fire on real events. 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 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: {} resource_webhook_log: type: object title: Webhook log Resource 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. properties: 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' id: type: integer title: Id description: The unique identifier of this webhook log entry. example: - 123 organization: title: Organization description: The organization this webhook log entry belongs to. example: eq: value payload: type: string title: Payload description: The JSON payload that was sent to the target URL. 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' 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 status_code: type: integer title: Status Code description: The HTTP response status code returned by the target URL. example: eq: active target_url: type: string title: Target Url description: The URL to which the webhook payload was delivered. example: eq: value webhook: title: Webhook description: The webhook that generated this log entry. example: eq: value webhook_id: type: integer title: Webhook description: ID of the webhook that generated this log entry. example: - 123 example: id: '123' type: webhook_logs attributes: event_type: task.created status: success response_code: 200 sent_at: '2026-01-15T10:00:00Z' relationships: {} resource_widget: type: object title: Widget Resource 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. properties: attachment_ids: title: Attachment Ids description: IDs of attachments to associate with this widget. example: - 123 - 456 attachments: title: Attachments description: Attachments linked to this widget. example: eq: value 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 dashboard: title: Dashboard description: The dashboard this widget belongs to. example: eq: value dashboard_id: type: integer title: Dashboard description: ID of the dashboard this widget belongs to. example: - 123 filter: title: Filter description: The saved filter applied to this widget's data. example: eq: value filter_id: type: integer title: Filter description: ID of the saved filter applied to this widget's data. example: - 123 height: type: integer title: Height description: The height of this widget in dashboard grid units. example: eq: value organization: title: Organization description: The organization this widget belongs to. 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 title: type: string title: Title description: The display title shown at the top of this widget. example: eq: value 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 width: type: integer title: Width description: The width of this widget in dashboard grid units. example: eq: value example: id: '123' type: widgets attributes: widget_type: budget_chart title: Q1 Budget settings: {} relationships: {} resource_workflow: type: object title: Workflow Resource description: Named group of workflow statuses assigned to a project. Workflows define the task lifecycle for a project. Each workflow contains ordered statuses in Not Started, Started, or Closed categories. properties: archived: type: boolean title: Archived description: When true, filter to include only archived workflows. example: true archived_at: type: string title: Archived At format: date-time description: Timestamp when this workflow was archived, or null if still active. example: gt: '2026-01-01' name: type: string title: Name description: The display name of this workflow. example: eq: value organization: title: Organization description: The organization this workflow belongs to. example: eq: value query: type: string title: Query description: Text search query to filter workflows by name. example: eq: value workflow_statuses: title: Workflow Statuses description: The list of statuses defined in this workflow. example: eq: active example: id: '75' type: workflows attributes: name: Default Workflow archived_at: relationships: workflow_statuses: data: - type: workflow_statuses id: '224' - type: workflow_statuses id: '225' - type: workflow_statuses id: '226' resource_workflow_status: type: object title: Workflow status Resource description: Task lifecycle status within a workflow. Belongs to a workflow and has a category_id (not_started, started, or closed) that determines how tasks in this status are counted and reported. Supports color coding and ordered positioning. properties: category_id: enum: - 1 - 2 - 3 type: integer title: Category description: 'The lifecycle category of this status: 1=Not started, 2=Started, 3=Closed.' example: - 123 color_id: type: integer title: Color description: The color identifier used to visually distinguish this status. example: - 123 id: type: integer title: Id description: The unique identifier of this workflow status. example: - 123 name: type: string title: Name description: The display name of this workflow status. example: eq: value organization: title: Organization description: The organization this workflow status belongs to. example: eq: value position: type: integer title: Position description: The display order of this status within its workflow. example: eq: value query: type: string title: Query description: Text search query to filter workflow statuses by name. example: eq: value workflow: title: Workflow description: The workflow this status belongs to. example: eq: value workflow_id: type: integer title: Workflow description: ID of the workflow this status belongs to. example: - 123 project_id: type: integer title: Project example: id: '224' type: workflow_statuses attributes: name: In Progress color_id: '5' position: 2 category_id: 2 relationships: workflow: data: type: workflows id: '75' _filter_root_automatic_invoicing_rule: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_automatic_invoicing_rule" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_automatic_invoicing_rule" description: Filter schema for `automatic_invoicing_rule` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_comment: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_comment" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_comment" description: Filter schema for `comment` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_company: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_company" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_company" description: Filter schema for `company` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_lost_reason: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_lost_reason" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_lost_reason" description: Filter schema for `lost_reason` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_service: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_service" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_service" description: Filter schema for `service` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_project_milestone: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_project_milestone" description: A logical filter group — combine multiple conditions with the `$op` operator. 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 required: - "$op" example: '0': project_id: eq: '7388870' '1': after: '2026-10-01' "$op": and - "$ref": "#/components/schemas/filter_project_milestone" description: Filter schema for `project_milestone` list endpoints — pass a single condition or a logical group. example: project_id: eq: '7388870' resource_project_milestone: type: object title: Project milestone Resource description: A dated milestone on a project, such as a launch, review or deadline. Carries a title, date, icon, color and an optional note, and can be assigned to a project member. properties: after: type: string title: After format: date description: 'Filter-only date: return milestones on or after this date.' example: '2026-10-01' assignee: title: Assignee description: The person responsible for this milestone, if any. example: data: type: people id: '1002' assignee_id: type: integer title: Assignee nullable: true description: ID of the person responsible for this milestone; must be an active member of the project. example: 1002 before: type: string title: Before format: date description: 'Filter-only date: return milestones on or before this date.' example: '2026-12-31' color_id: type: string title: Color description: Color palette index this milestone is displayed with, the same palette as project colors. Returned as a string; defaults to the project's color on create. example: '6' created_at: type: string title: Created At format: date-time description: Timestamp when this milestone was created. example: '2026-09-01T10:15:00.000+02:00' creator: title: Creator description: The person who created this milestone. example: data: type: people id: '1001' date: type: string title: Date format: date description: The day this milestone falls on (`YYYY-MM-DD`, without time or time zone). example: '2026-10-15' icon_id: type: string title: Icon description: The icon identifier displayed for this milestone. The API accepts any string — the Productive UI uses identifiers from its icon set (e.g. `icon-rocket-launch`). example: icon-rocket-launch id: type: integer title: Id description: The unique identifier of this milestone. example: 42 note: type: string title: Note nullable: true description: Optional free-text note with more detail about this milestone. example: Release to beta customers. organization: title: Organization description: The organization this milestone belongs to. example: data: type: organizations id: '109' project: title: Project description: The project this milestone belongs to. example: data: type: projects id: '7388870' project_id: type: integer title: Project description: ID of the project this milestone belongs to. example: 7388870 query: type: string title: Query description: A text search query to filter milestones by title. example: launch title: type: string title: Title description: The name of this milestone (e.g. Beta launch). example: Beta launch updated_at: type: string title: Updated At format: date-time description: Timestamp when this milestone was last updated. example: '2026-09-01T10:15:00.000+02:00' example: id: '42' type: project_milestones attributes: title: Beta launch date: '2026-10-15' color_id: '6' icon_id: icon-rocket-launch note: Release to beta customers. created_at: '2026-09-01T10:15:00.000+02:00' updated_at: '2026-09-01T10:15:00.000+02:00' relationships: organization: data: type: organizations id: '109' creator: data: type: people id: '1001' assignee: data: type: people id: '1002' project: data: type: projects id: '7388870' resource_project_milestone_report: type: object title: Project milestone report Resource properties: after: type: string title: After format: date assignee: title: Assignee assignee_id: type: integer title: Assignee assignee_report: title: Assignee Report before: type: string title: Before format: date color_id: type: string title: Color count: type: integer title: Count created_at: type: string title: Created At format: date-time created_at_period: title: Created At Period creator: title: Creator date: type: string title: Date format: date date_period: title: Date Period formula_fields: title: Formula Fields formulas: type: string title: Formulas group: type: string title: Group icon_id: type: string title: Icon id: type: integer title: Id organization: title: Organization project: title: Project project_id: type: integer title: Project project_milestone: title: Project Milestone project_report: title: Project Report query: type: string title: Query report: title: Report title: type: string title: Title upcoming: type: integer title: Upcoming updated_at: type: string title: Updated At format: date-time updated_at_period: title: Updated At Period resource_automation_report: type: object title: Automation report Resource properties: agent_id: type: integer title: Agent automatable_type: type: string title: Automatable Type automation: title: Automation count: type: integer title: Count created_at: type: string title: Created At format: date created_at_period: title: Created At Period creator: title: Creator creator_id: type: integer title: Creator description: type: string title: Description enabled: type: boolean title: Enabled exclude_template_projects: type: boolean title: Exclude Template Projects formula_fields: title: Formula Fields group: type: string title: Group id: type: integer title: Id name: type: string title: Name organization: title: Organization project: title: Project project_id: type: integer title: Project projects: title: Projects query: type: string title: Query report: title: Report resolve_on_all_projects: type: boolean title: Resolve On All Projects survey_id: type: integer title: Survey target_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 type: integer title: Target type_id: enum: - 1 - 2 type: integer title: Type updated_at: type: string title: Updated At format: date updated_at_period: title: Updated At Period resource_price: type: object title: Price Resource description: A rate card line item defining billing type, hourly/daily rate, tracking unit, and default settings for new services. properties: 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 booking_tracking_enabled: type: boolean title: Booking Tracking Enabled description: When true, resource bookings can be tracked against this price entry. example: eq: value 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 company: title: Company description: The client company associated with this price entry. example: eq: value company_id: type: integer title: Company description: ID of the client company associated with this price entry. example: - 123 currency: type: string title: Currency description: Currency code for this price (e.g. USD, EUR). example: eq: value currency_default: title: Currency Default description: Price in the organization's default currency. example: eq: value currency_normalized: title: Currency Normalized description: Currency-normalized price for reporting purposes. 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' custom_field_people: title: Custom Field People description: People referenced by custom field values on this price entry. example: eq: value custom_fields: type: object title: Custom Fields description: Custom field values for 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 editor_config: type: object title: Editor Config description: Configuration for the rich-text editor associated with this price entry. example: eq: value 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 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 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 estimated_hours: type: number title: Estimated Hours description: The estimated number of hours for this price entry. example: gt: 0 expense_tracking_enabled: type: boolean title: Expense Tracking Enabled description: When true, expenses can be tracked against this price entry. example: eq: value id: type: integer title: Id description: The unique identifier of this price. example: - 123 markup: type: number title: Markup description: The markup percentage added on top of the cost for this price entry. example: eq: value name: type: string title: Name description: Display name for this rate card line item (typically the service type name). example: eq: value organization: title: Organization description: The organization this price entry belongs to. example: eq: value quantity: type: number title: Quantity description: The quantity of units for this price entry. example: eq: value rate: type: number title: Rate description: Billing rate in the rate card's currency. example: gt: 0 rate_card: title: Rate Card description: The rate card this price entry belongs to, if any. example: gt: 0 rate_card_id: type: integer title: Rate Card description: ID of the rate card this price entry belongs to, if any. example: - 123 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 rate_default: title: Rate Default description: Rate in the organization's default currency. example: gt: 0 rate_normalized: title: Rate Normalized description: Rate normalized to a common currency for cross-company comparison. example: gt: 0 service_type: title: Service Type description: The service type associated with this price entry. example: eq: active service_type_id: type: integer title: Service Type description: ID of the service type associated with this price entry. example: - 123 time_tracking_enabled: type: boolean title: Time Tracking Enabled description: When true, time entries can be tracked against this price entry. example: gt: 0 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 updated_at: type: string title: Updated At format: date-time description: Timestamp when this price entry was last updated. example: gt: '2026-01-01' updater: title: Updater description: The person who last updated this price entry. example: eq: value query: type: string title: Query discount_amount: type: number title: Discount Amount description: The money value of the discount in effect. On read, it is the user-set fixed amount in amount mode, otherwise the value computed from `discount` and the line total (quantity × rate) — check `discount_type` for which one you are looking at. On write, a positive value selects the fixed-amount discount (allowed only on fixed-price services, capped at the line total) and resets `discount` to 0, `0` or `null` clears it, and omitting the attribute leaves it untouched. A request with positive values in both `discount` and `discount_amount` is rejected with `discount_mode_ambiguous`. discount_amount_default: title: Discount Amount Default discount_amount_normalized: title: Discount Amount Normalized discount_type: enum: - percentage - amount type: string title: Discount Type description: Read-only. Which discount is in effect — `amount` when `discount` is 0 and `discount_amount` is positive, `percentage` otherwise. example: id: '123' type: prices attributes: amount: 15000 currency: USD billing_type: fixed service_id: 34 relationships: {} resource_price_report: type: object title: Price report Resource description: An aggregated price report row grouping rate card prices by configurable dimensions. properties: average_discount: type: number title: Average Discount description: Average discount for this price report group. example: gt: 0 average_discount_amount: title: Average Discount Amount description: Average discount amount 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 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 average_discounted_rate: title: Average Discounted Rate description: Average discounted rate for this price report group. example: gt: 0 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 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 average_estimated_cost: title: Average Estimated Cost description: Average estimated cost 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_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: type: number title: Average Markup description: Average markup for this price report group. example: eq: value average_markup_amount: title: Average Markup Amount description: Average markup amount for this price report group. example: gt: 0 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 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_rate: title: Average Rate description: Average rate for this price 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_rate_normalized: title: Average Rate Normalized description: Average 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 booking_tracking_enabled: type: integer title: Booking Tracking Enabled description: Booking tracking enabled for this price report group. example: eq: value company: title: Company description: Company for this price report group. example: eq: value company_id: type: integer title: Company description: Company id for this price report group. example: - 123 company_report: title: Company Report description: Company report for this price report group. example: eq: value count: type: integer title: Count description: Number of prices in this report group. example: gt: 0 currency: type: string title: Currency description: Currency for this price report group. example: eq: value currency_default: title: Currency Default description: Currency in the organization's default currency for this price report group. example: eq: value currency_normalized: title: Currency Normalized description: Currency in the normalized currency 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 expense_tracking_enabled: type: integer title: Expense Tracking Enabled description: Expense tracking enabled for this price report group. example: eq: value formula_fields: title: Formula Fields description: Formula fields for this price report group. example: eq: value group: type: string title: Group description: The grouping dimension for this price report row. example: eq: value id: type: integer title: Id description: Unique identifier for this price report row. example: - 123 organization: title: Organization description: Organization for this price report group. example: eq: value price: title: Price description: Price for this price report group. example: gt: 0 price_description: title: Price Description description: Price description for this price report group. example: gt: 0 price_name: title: Price Name description: Price name 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: title: Rate Card description: Rate card 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 rate_card_status: enum: - 1 - 2 type: integer title: Rate Card Status description: Rate card status for this price report group. example: gt: 0 report: title: Report description: Report for this price report group. example: eq: value service_type: title: Service Type description: Service type for this price report group. example: eq: active service_type_id: type: integer title: Service Type description: Service type id for this price report group. example: - 123 time_tracking_enabled: type: integer title: Time Tracking Enabled description: Time tracking enabled for this price report group. example: gt: 0 unit_id: enum: - 1 - 2 - 3 type: integer title: Unit description: Unit id for this price report group. example: - 123 example: id: '123' type: price_reports attributes: total_price: 75000 currency: USD project_id: 45 relationships: {} resource_custom_field: type: object title: Custom field Resource description: User-defined field on tasks, deals, people, pages, or other resources. Supports text, number, date, dropdown, multi-select, person, and file data types. Can be marked required, sensitive, global, or scoped to a project or section. Dropdown fields have selectable options via custom_field_options. properties: aggregation_type_id: enum: - 1 - 2 type: integer title: Aggregation Type description: ID of the aggregation type defining how values of this custom field are aggregated in reports. example: - 123 archived: type: boolean title: Archived description: Whether this custom field has been archived. example: true archived_at: type: string title: Archived At format: date-time description: Timestamp when this custom field was archived, or null if not archived. example: gt: '2026-01-01' created_at: type: string title: Created At format: date-time description: Timestamp when this custom field was created. example: gt: '2026-01-01' custom_field_people: title: Custom Field People description: People associated with this custom field via person-type values. example: eq: value customizable_type: type: string title: Customizable Type description: The type of resource this custom field is attached to (e.g. tasks, projects, people). example: eq: active data_type_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 type: integer title: Data Type description: ID of the data type that determines what kind of value this custom field stores (e.g. text, number, date). example: - 123 formatting_type_id: enum: - 1 - 2 type: integer title: Formatting Type description: ID of the formatting type that controls how this custom field's value is displayed. example: - 123 global: type: boolean title: Global description: Whether this custom field is available globally across all projects, rather than scoped to a specific project. example: eq: value name: type: string title: Name description: The display name of this custom field. example: eq: value options: title: Options description: The selectable options available for this custom field, applicable for dropdown and multi-select types. example: eq: value organization: title: Organization description: The organization this custom field belongs to. example: eq: value position: type: integer title: Position description: The display order position of this custom field within its section. example: eq: value project: title: Project description: The project this custom field is scoped to, or null if it is a global field. example: eq: value project_id: type: integer title: Project description: ID of the project this custom field is scoped to, or null if it is a global field. example: - 123 quick_add_enabled: type: boolean title: Quick Add Enabled description: Whether this custom field appears in quick-add forms for faster data entry. example: eq: value required: type: boolean title: Required description: Whether a value for this custom field is required when creating or editing the associated resource. example: eq: value section: title: Section description: The custom field section this field belongs to for grouping in the UI. example: eq: value section_id: type: integer title: Section description: ID of the custom field section this field belongs to. example: - 123 sensitive: type: boolean title: Sensitive description: Whether this custom field is sensitive and its values are restricted to authorized users. example: eq: value show_in_add_edit_views: type: boolean title: Show In Add Edit Views description: The show in add edit views. example: eq: value survey: title: Survey description: The survey this custom field is associated with, if it was created from a survey response field. example: eq: value survey_id: type: integer title: Survey description: ID of the survey this custom field is associated with. example: - 123 updated_at: type: string title: Updated At format: date-time description: Timestamp when this custom field was last updated. example: gt: '2026-01-01' maximum_value: type: number title: Maximum Value minimum_value: type: number title: Minimum Value tag_field: type: boolean title: Tag Field example: id: '53455' type: custom_fields attributes: name: Priority field_type: dropdown position: 1 required: false filterable: true archived_at: relationships: custom_field_section: data: type: custom_field_sections id: '12' resource_line_item_report: type: object title: Line item report Resource description: An aggregated line item report row grouping invoice line items by configurable dimensions with amount metrics. properties: budget: title: Budget description: Budget for this line item report group. example: gt: 0 company: title: Company description: Company for this line item report group. example: eq: value company_id: type: integer title: Company description: Company id for this line item report group. example: - 123 count: type: integer title: Count description: Number of line items in this report group. example: gt: 0 creator: title: Creator description: Creator for this line item report group. example: eq: value creator_id: type: integer title: Creator description: Creator id for this line item report group. example: - 123 currency: type: string title: Currency description: Currency for this line item report group. example: eq: value currency_default: title: Currency Default description: Currency in the organization's default currency for this line item report group. example: eq: value currency_normalized: title: Currency Normalized description: Currency in the normalized currency for this line item report group. example: eq: value discount: type: number title: Discount description: Discount for this line item report group. example: gt: 0 expense: title: Expense description: Expense for this line item report group. example: eq: value expense_id: type: integer title: Expense description: Expense id for this line item report group. example: - 123 formula_fields: title: Formula Fields description: Formula fields for this line item report group. example: eq: value group: type: string title: Group description: The grouping dimension for this line item report row. example: eq: value id: type: integer title: Id description: Unique identifier for this line item report row. example: - 123 invoice: title: Invoice description: Invoice for this line item report group. example: eq: value invoice_id: type: integer title: Invoice description: Invoice id for this line item report group. example: - 123 invoice_report: title: Invoice Report description: Invoice report for this line item report group. example: eq: value kpd_code: title: Kpd Code description: Kpd code for this line item report group. example: data: type: kpd_codes id: '42' line_item: title: Line Item description: Line item for this line item report group. example: eq: value organization: title: Organization description: Organization for this line item report group. example: eq: value quantity: type: number title: Quantity description: Quantity for this line item report group. example: eq: value report: title: Report description: Report for this line item report group. example: eq: value service: title: Service description: Service for this line item report group. example: eq: value service_id: type: integer title: Service description: Service id for this line item report group. example: - 123 service_type: title: Service Type description: Service type for this line item report group. example: eq: active service_type_id: type: integer title: Service Type description: Service type id for this line item report group. example: - 123 tax_name: type: string title: Tax Name description: Tax name for this line item report group. example: eq: value tax_rate: type: string title: Tax Rate description: Tax rate for this line item report group. example: gt: 0 tax_value: type: number title: Tax Value description: Tax value for this line item report group. example: eq: value total_amount: title: Total Amount description: Sum of amount across all records in this line item 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 line item report group. example: gt: 0 total_amount_normalized: title: Total Amount Normalized description: Sum of amount in the normalized currency across all records in this line item report group. example: gt: 0 total_amount_tax: title: Total Amount Tax description: Sum of amount tax across all records in this line item report group. example: gt: 0 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 line item report group. example: gt: 0 total_amount_tax_normalized: title: Total Amount Tax Normalized description: Sum of amount tax in the normalized currency across all records in this line item 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 line item report group. example: gt: 0 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 line item 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 line item report group. example: gt: 0 unit: title: Unit description: Unit for this line item report group. example: eq: value unit_id: type: integer title: Unit description: Unit id for this line item report group. example: - 123 unit_price: title: Unit Price description: Unit price for this line item report group. example: gt: 0 unit_price_default: title: Unit Price Default description: Unit price in the organization's default currency for this line item report group. example: gt: 0 unit_price_normalized: title: Unit Price Normalized description: Unit price in the normalized currency for this line item report group. example: gt: 0 updater: title: Updater description: Updater for this line item report group. example: eq: value updater_id: type: integer title: Updater description: Updater id for this line item report group. example: - 123 example: id: '123' type: line_item_reports attributes: quantity: 10 unit_price: 1500 total_price: 15000 service_id: 34 relationships: {} resource_resource_request: type: object title: Resource request Resource description: Schema for a resource request resource object. properties: tags: type: string title: Tags description: The list of tag labels associated with this resource request. example: eq: value booking_method_id: enum: - 1 - 2 - 3 type: integer title: Booking Method description: The booking method ID specifying how the requested time is tracked. example: - 123 canceled_at: type: string title: Canceled At format: date-time description: Timestamp when this resource request was canceled, or null if not canceled. example: gt: '2026-01-01' created_at: type: string title: Created At format: date-time description: Timestamp when this resource request was created. example: gt: '2026-01-01' creator: title: Creator description: The JSON:API relationship object for the person who created this resource request. example: eq: value creator_id: type: integer title: Creator description: The ID of the person who created this resource request. example: - 123 currency: type: string title: Currency description: The currency code used for cost calculations on this resource request. example: eq: value currency_default: title: Currency Default description: The default account-level currency code used for cost calculations. example: eq: value currency_normalized: title: Currency Normalized description: The normalized quote-level currency code used for cost calculations. example: eq: value custom_field_attachments: title: Custom Field Attachments description: The JSON:API relationship objects for file attachments linked via custom fields. example: gt: '2026-01-01' custom_field_people: title: Custom Field People description: The JSON:API relationship objects for people linked via custom fields. example: eq: value custom_fields: type: object title: Custom Fields description: A JSON object containing custom field values for this resource request. example: eq: value deleted_at: type: string title: Deleted At format: date description: Timestamp when this resource request was soft-deleted, or null if active. example: gt: '2026-01-01' ended_on: type: string title: Ended On format: date description: The end date of the requested resource allocation period. example: eq: value exchange_date: type: string title: Exchange Date format: date description: The date used for the exchange rate lookup on this resource request. example: gt: '2026-01-01' exchange_rate: type: number title: Exchange Rate description: The exchange rate from the resource request currency to the default account currency. example: gt: 0 exchange_rate_normalized: type: number title: Exchange Rate Normalized description: The exchange rate from the resource request currency to the normalized quote currency. example: gt: 0 fields: type: object title: Fields description: A JSON object containing additional structured fields such as job_title, subsidiary_id, team_ids, service_type_ids, and tags. properties: tags: type: array items: type: string title: Tags job_title: type: string title: Job Title preferred_person_ids: type: array items: type: string title: Preferred Person Ids service_type_ids: type: array items: type: string title: Service Type Ids subsidiary_id: type: string title: Subsidiary Id team_ids: type: array items: type: string title: Team Ids job_role_id: type: string title: Job Role Id example: eq: value id: type: integer title: Id description: The unique identifier of this resource request. example: - 123 job_title: type: string title: Job Title description: The requested job title for the resource, as stored in the resource request fields. example: eq: value max_cost_per_hour: title: Max Cost Per Hour description: The maximum cost per hour for the requested resource in the request currency. example: eq: value max_cost_per_hour_default: title: Max Cost Per Hour Default description: The maximum cost per hour converted to the default account currency. example: eq: value max_cost_per_hour_normalized: title: Max Cost Per Hour Normalized description: The maximum cost per hour converted to the normalized quote currency. example: eq: value note: type: string title: Note description: An optional HTML note providing additional context for this resource request. example: eq: value organization: title: Organization description: The JSON:API relationship object for the organization this resource request belongs to. example: eq: value percentage: type: integer title: Percentage description: The requested allocation percentage from 0 to 100 when using percentage-based booking. example: eq: value query: type: string title: Query description: A full-text search string used for matching resource requests by title. example: eq: value rejected_reason: type: string title: Rejected Reason description: The reason provided when the resource request was rejected. example: eq: value resolved_at: type: string title: Resolved At format: date-time description: Timestamp when this resource request was resolved, or null if still open. example: gt: '2026-01-01' resolver: title: Resolver description: The JSON:API relationship object for the person who resolved this resource request. example: eq: value resolver_id: type: integer title: Resolver description: The ID of the person who resolved this resource request. example: - 123 service: title: Service description: The JSON:API relationship object for the service this resource request belongs to. example: eq: value service_id: type: integer title: Service description: The ID of the service this resource request is associated with. example: - 123 service_type_id: type: integer title: Service Type description: The service type IDs associated with the requested resource, as stored in the fields. example: - 123 started_on: type: string title: Started On format: date description: The start date of the requested resource allocation period. example: eq: value status: enum: - pending - resolved - rejected - canceled type: string title: Status description: 'The current status of the resource request: pending, resolved, rejected, or canceled.' example: eq: active subsidiary_id: type: integer title: Subsidiary description: The subsidiary ID associated with the requested resource, as stored in the fields. example: - 123 team_id: type: integer title: Team description: The team IDs associated with the requested resource, as stored in the fields. example: - 123 time: type: integer title: Time description: The requested time in minutes per day when using per-day booking. example: gt: 0 time_to_close: type: integer title: Time To Close description: The number of minutes elapsed between creation and resolution of this resource request. example: gt: 0 title: type: string title: Title description: The title describing the resource being requested. example: eq: value total_time: type: integer title: Total Time description: The total requested time in minutes when using total-hours booking. example: gt: 0 workplace_id: type: integer title: Workplace description: The workplace ID associated with the requested resource, as stored in the fields. example: - 123 job_role_id: type: integer title: Job Role example: id: '123' type: resource_requests attributes: status: pending requested_hours: 80 start_date: '2026-02-01' end_date: '2026-02-28' relationships: {} resource_jira_worklog_import: type: object title: Jira worklog import Resource properties: rejected_service: title: Rejected Service service_fallback_reason: enum: - service_unavailable - service_not_in_configuration type: string title: Service Fallback Reason attempted_at: type: string title: Attempted At format: date-time budget: title: Budget configuration_id: type: integer title: Configuration date: type: string title: Date format: date error_details: type: object title: Error Details error_type: type: string title: Error Type id: type: integer title: Id imported_at: type: string title: Imported At format: date-time jira_author_email: type: string title: Jira Author Email jira_issue_key: type: string title: Jira Issue Key jira_issue_url: type: string title: Jira Issue Url operation: type: string title: Operation person: title: Person query: type: string title: Query service: title: Service status: enum: - pending - failed - imported type: string title: Status time: type: integer title: Time resource_payroll_item_report: type: object title: Payroll item report Resource description: An aggregated payroll item report row grouping payroll entries by configurable dimensions with cost metrics. properties: booking: title: Booking description: Booking for this payroll item report group. example: eq: value booking_id: type: integer title: Booking description: Booking id for this payroll item report group. example: - 123 company: title: Company description: Company for this payroll item report group. example: eq: value company_id: type: integer title: Company description: Company id for this payroll item report group. example: - 123 count: type: integer title: Count description: Number of payroll items in this report group. example: gt: 0 currency: type: string title: Currency description: Currency for this payroll item report group. example: eq: value currency_default: title: Currency Default description: Currency in the organization's default currency for this payroll item report group. example: eq: value currency_normalized: title: Currency Normalized description: Currency in the normalized currency for this payroll item report group. example: eq: value custom_fields: type: string title: Custom Fields description: Custom fields for this payroll item report group. example: eq: value date: type: string title: Date format: date description: Date for this payroll item report group. example: gt: '2026-01-01' end_date: type: string title: End Date format: date description: End date for this payroll item report group. example: gt: '2026-01-01' formula_fields: title: Formula Fields description: Formula fields for this payroll item report group. example: eq: value formulas: type: integer title: Formulas description: Formulas for this payroll item report group. example: eq: value group: type: string title: Group description: The grouping dimension for this payroll item report row. example: eq: value organization: title: Organization description: Organization for this payroll item report group. example: eq: value payroll_item: title: Payroll Item description: Payroll item for this payroll item report group. example: eq: value payroll_item_id: type: integer title: Payroll Item description: Payroll item id for this payroll item report group. example: - 123 payroll_item_type: type: string title: Payroll Item Type description: Payroll item type for this payroll item report group. example: eq: active person: title: Person description: Person for this payroll item report group. example: eq: value person_id: type: integer title: Person description: Person id for this payroll item report group. example: - 123 person_report: title: Person Report description: The person associated with this payroll item report row. example: eq: value person_status: enum: - 1 - 2 type: integer title: Person Status description: Person status for this payroll item report group. example: eq: active person_type: enum: - 1 - 2 - 3 - 4 type: integer title: Person Type description: Person type for this payroll item report group. example: eq: active report: title: Report description: Report for this payroll item report group. example: eq: value role: title: Role description: Role for this payroll item report group. example: eq: value role_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 type: integer title: Role description: Role id for this payroll item report group. example: - 123 salary: title: Salary description: Salary for this payroll item report group. example: eq: value salary_id: type: integer title: Salary description: Salary id for this payroll item report group. example: - 123 salary_type: title: Salary Type description: Salary type for this payroll item report group. example: eq: active salary_type_id: enum: - 1 - 2 - 3 - 4 - 5 type: integer title: Salary Type description: Salary type id for this payroll item report group. example: - 123 start_date: type: string title: Start Date format: date description: Start date for this payroll item report group. example: gt: '2026-01-01' subsidiary: title: Subsidiary description: Subsidiary for this payroll item report group. example: eq: value subsidiary_id: type: integer title: Subsidiary description: Subsidiary id for this payroll item report group. example: - 123 time_entry: title: Time Entry description: Time entry for this payroll item report group. example: gt: 0 time_entry_id: type: integer title: Time Entry description: Time entry id for this payroll item report group. example: - 123 total_availability: type: number title: Total Availability description: Sum of availability across all records in this payroll item report group. example: eq: value total_capacity: type: number title: Total Capacity description: Sum of capacity across all records in this payroll item report group. example: eq: value total_cost: title: Total Cost description: Sum of cost across all records in this payroll 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 payroll 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 payroll 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 payroll item report group. example: gt: 0 total_time: type: number title: Total Time description: Sum of time across all records in this payroll item report group. example: gt: 0 total_time_off_cost: title: Total Time Off Cost description: Sum of time off cost across all records in this payroll item report group. example: gt: 0 total_time_off_cost_default: title: Total Time Off Cost Default description: Sum of time off cost in the organization's default currency across all records in this payroll item report group. example: gt: 0 total_time_off_cost_normalized: title: Total Time Off Cost Normalized description: Sum of time off cost in the normalized currency across all records in this payroll item report group. example: gt: 0 total_time_off_time: type: number title: Total Time Off Time description: Sum of time off time across all records in this payroll item report group. example: gt: 0 parent_company_id: type: integer title: Parent Company description: ID of the parent company of the client linked to this payroll item, used for hierarchical company filtering. example: - 123 example: id: '123' type: payroll_item_reports attributes: gross_salary: 6000 net_salary: 4500 month: 2026-01 person_id: 12 relationships: {} resource_person_report: type: object title: Person report Resource description: An aggregated person report row grouping people by configurable dimensions with utilization, capacity, and cost metrics. properties: tags: type: string title: Tags description: Tags assigned to the person. example: eq: value accessible_deal_id: type: integer title: Accessible Deal description: ID of a deal the person has access to. example: - 123 accessible_doc_id: type: integer title: Accessible Doc description: ID of a doc the person has access to. example: - 123 accessible_filter_id: type: string title: Accessible Filter description: ID of a saved filter the person has access to. example: - 123 accessible_project_id: type: integer title: Accessible Project description: ID of a project the person has access to. example: - 123 approval_policy: title: Approval Policy description: The approval policy assigned to this person for time or absence approvals. example: eq: value 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 archived_at: type: string title: Archived At format: date description: Timestamp when the person was archived. example: gt: '2026-01-01' autotracking: type: integer title: Autotracking description: Whether automatic time tracking is enabled for this person. example: eq: value bookings_after: type: string title: Bookings After format: date description: The booking/scheduling window start date for this person. 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 company: title: Company description: The client company this person is associated with. example: eq: value company_id: type: integer title: Company description: ID of the client company this person belongs to. example: - 123 company_report: title: Company Report description: Aggregated report data for the client company this person belongs to. example: eq: value contact_address: title: Contact Address description: The person's contact street address. example: eq: value contact_city: title: Contact City description: The person's contact city. example: eq: value contact_country: title: Contact Country description: The person's contact country. example: gt: 0 contact_email: title: Contact Email description: The person's contact email address. example: eq: value contact_phone: title: Contact Phone description: The person's contact phone number. example: eq: value contact_state: title: Contact State description: The person's contact state or region. example: eq: active contact_website: title: Contact Website description: The person's contact website URL. example: eq: value contact_zipcode: title: Contact Zipcode description: The person's contact zip/postal code. example: eq: value count: type: integer title: Count description: The count of person records in this report row. example: gt: 0 created_at: type: string title: Created At format: date description: Timestamp when the person's account was created. example: gt: '2026-01-01' 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' currency: title: Currency description: The currency used for monetary values in this report row. example: eq: value currency_default: title: Currency Default description: Whether this row uses the organization's default currency. example: eq: value currency_normalized: title: Currency Normalized description: Whether monetary values in this row are normalized to the base currency. example: eq: value custom_fields: type: string title: Custom Fields description: Custom field values attached to this person. example: eq: value custom_role: title: Custom Role description: The custom role assigned to this person. example: eq: value custom_role_id: type: integer title: Custom Role description: ID of the custom role assigned to this person. example: - 123 deactivated_at: type: string title: Deactivated At format: date description: Timestamp when the person was deactivated. example: gt: '2026-01-01' 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' eligible_replacement_managers: type: integer title: Eligible Replacement Managers description: People who can substitute as manager for this person during absence. example: eq: value email: type: string title: Email description: The person's login email address. example: eq: value first_name: type: string title: First Name description: The person's first name. example: eq: value formula_fields: title: Formula Fields description: Computed/formula field values for this person. example: eq: value full_query: type: string title: Full Query description: Full-text search index content for this person. example: eq: value fuzzy_dates: type: string title: Fuzzy Dates description: Fuzzy-matched date tokens for this person. example: gt: '2026-01-01' fuzzy_people: type: string title: Fuzzy People description: Fuzzy-matched person name tokens for search. example: eq: value group: type: string title: Group description: The dimension/grouping used when this report row is aggregated. example: eq: value holiday_calendar_id: type: integer title: Holiday Calendar description: ID of the holiday calendar assigned to this person. example: - 123 hrm_type_id: enum: - 1 - 2 type: integer title: Hrm Type description: ID of the HRM type/employment category for this person. example: - 123 id: type: integer title: Id description: The unique identifier of this person report row. example: - 123 joined_at: type: string title: Joined At format: date description: The date the person officially joined the organization. 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' 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' 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' last_name: type: string title: Last Name description: The person's last name. 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' manager: title: Manager description: The person's direct manager. example: eq: value manager_id: type: integer title: Manager description: ID of the person's direct manager. example: - 123 manager_report: title: Manager Report description: Aggregated report data for this person's manager. example: eq: value month: type: string title: Month description: The calendar month of the reporting period. example: eq: value offboarding_status: enum: - not_initiated - in_progress - failed - completed type: string title: Offboarding Status description: The person's offboarding status. example: eq: active organization: title: Organization description: The organization this person belongs to. example: eq: value permissions: type: string title: Permissions description: The person's permission level in the organization. example: eq: value person: title: Person description: The linked person record for this report row. example: eq: value person_active_teams: title: Person Active Teams description: The teams this person is currently active in. 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' person_custom_fields: title: Person Custom Fields description: Custom field values for the person (denormalized copy for reporting). example: eq: value person_deactivated_at: title: Person Deactivated At description: Timestamp when the person was deactivated (denormalized copy for reporting). example: gt: '2026-01-01' person_email: title: Person Email description: The person's email address (denormalized copy for reporting). example: eq: value person_first_name: title: Person First Name description: The person's first name (denormalized copy for reporting). 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' 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' person_last_name: title: Person Last Name description: The person's last name (denormalized copy for reporting). example: eq: value 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' person_name: title: Person Name description: The person's full name. example: eq: value person_role_id: title: Person Role description: ID of the person's assigned role (denormalized copy for reporting). example: - 123 person_status: title: Person Status description: The person's active/inactive status (denormalized copy for reporting). example: eq: active person_title: title: Person Title description: The person's job title (denormalized copy for reporting). example: eq: value person_type: enum: - 1 - 2 - 3 - 4 type: integer title: Person Type description: The person's type — employee, contractor, client contact, or placeholder. example: eq: active project_id: type: integer title: Project description: ID of a project the person is associated with. example: - 123 project_watching: type: integer title: Project Watching description: Projects the person is watching. example: eq: value quarter: type: string title: Quarter description: The calendar quarter of the reporting period. 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 role_id: type: integer title: Role description: ID of the role assigned to this person. example: - 123 schedulable: type: boolean title: Schedulable description: Whether this person can be scheduled on bookings. example: eq: value service_id: type: integer title: Service description: ID of a service this person is assigned to. example: - 123 service_type_id: type: integer title: Service Type description: ID of a service type this person is assigned to. example: - 123 status: enum: - 1 - 2 type: integer title: Status description: The person's active/inactive status. example: eq: active subscribable_id: type: integer title: Subscribable description: ID of the resource this person is subscribed to. example: - 123 subscribable_type: type: string title: Subscribable Type description: Type of the resource this person is subscribed to. example: eq: active subsidiary: title: Subsidiary description: The subsidiary this person belongs to. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary this person belongs to. example: - 123 team: type: integer title: Team description: The team this person belongs to. example: eq: value time_tracking_policy_id: type: integer title: Time Tracking Policy description: ID of the time tracking policy assigned to this person. example: - 123 timesheet_submission_disabled: type: boolean title: Timesheet Submission Disabled description: Whether timesheet submission is disabled for this person. example: gt: 0 title: type: string title: Title description: The person's job title. example: eq: value two_factor_auth: type: boolean title: Two Factor Auth description: Whether two-factor authentication is enabled for this person. example: eq: value type: title: Type description: The resource type identifier for this report row. example: eq: active virtual: type: boolean title: Virtual description: Whether this person is a virtual/placeholder person. example: eq: value week: type: string title: Week description: The calendar week of the reporting period. example: eq: value year: type: string title: Year description: The calendar year of the reporting period. example: eq: value 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 shared_seat: type: boolean title: Shared Seat description: Whether this person holds a shared seat, a single paid seat that covers the same user across all organizations in a billing group. Only present for users, and only to organization admins in organizations that belong to a billing group. example: true job_role: title: Job Role description: The job role assigned to this person. Job roles describe what a person does, for example a designer or a project manager, and are managed separately from permission roles. example: data: type: job_roles id: '10' job_role_id: type: integer title: Job Role description: ID of the job role assigned to this person, or `null` if none is set. example: 10 example: id: '123' type: person_reports attributes: billable_time: 14400 nonbillable_time: 1800 utilization_rate: 0.85 person_id: 12 relationships: {} resource_line_item: type: object title: Line item Resource description: An invoice line item with quantity, unit price, description, and tax. Line items can link to budget services or expenses for automatic billing. properties: amount: title: Amount description: The total line amount (unit price × quantity, minus discount) in the invoice's currency. example: gt: 0 amount_default: title: Amount Default description: The total line amount converted to the organization's default currency. example: gt: 0 amount_normalized: title: Amount Normalized description: The total line 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 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_with_tax: title: Amount With Tax description: The total line amount including tax in the invoice's currency. example: gt: 0 amount_with_tax_default: title: Amount With Tax Default description: The amount with tax converted to the organization's default currency. 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 company_id: type: integer title: Company description: ID of the company (client) on the invoice this line item belongs to. example: - 123 creator_id: type: integer title: Creator description: ID of the person who created this line item. example: - 123 currency: title: Currency description: The currency of this line item, inherited from the associated invoice. example: eq: value currency_default: title: Currency Default description: The organization's default currency for this line item. example: eq: value currency_normalized: title: Currency Normalized description: The invoice's currency for this line item. example: eq: value discount: type: number title: Discount description: The discount applied to this line item, expressed as a percentage (0–100). example: gt: 0 expense: title: Expense description: The project expense linked to this line item, if this line item was generated from an expense. example: eq: value 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 id: type: integer title: Id description: Unique identifier of this line item. example: - 123 invoice: title: Invoice description: The invoice this line item belongs to. example: eq: value invoice_id: type: integer title: Invoice description: ID of the invoice this line item belongs to. example: - 123 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' 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' organization: title: Organization description: The organization this line item belongs to. example: eq: value position: type: integer title: Position description: The display order of this line item within the invoice. 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 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 service_type: title: Service Type description: The service type categorizing this line item. example: eq: active service_type_id: type: integer title: Service Type description: ID of the service type categorizing this line item. example: - 123 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 tax_rate: title: Tax Rate description: The tax rate applied to this line item. 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 tax_value: type: number title: Tax Value description: The computed tax amount for this line item (amount × tax_value). example: eq: value 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 unit_price: type: integer title: Unit Price description: The price per unit for this line item in the invoice's currency. example: gt: 0 unit_price_default: title: Unit Price Default description: The price per unit converted to the organization's default currency. example: gt: 0 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 updater_id: type: integer title: Updater description: ID of the person who last updated this line item. example: - 123 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' _single_linkage: type: object title: Single linkage properties: data: "$ref": "#/components/schemas/_resource" required: - data _single_relationship: anyOf: - "$ref": "#/components/schemas/_single_linkage_nullable" - "$ref": "#/components/schemas/_not_included" description: A JSON:API single relationship — links to one related resource or `null`. example: data: type: tasks id: '42' _filter_root_project_preference: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_project_preference" description: A logical filter group — combine multiple conditions with the `$op` operator. 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: or required: - "$op" example: "$op": or '0': person_id: eq: '12' '1': project_id: eq: '6899' - "$ref": "#/components/schemas/filter_project_preference" description: Filter schema for `project_preference` list endpoints — pass a single condition or a logical group. example: project_id: eq: '6899' resource_project_preference: type: object title: Project preference Resource description: A person's assignment to a project together with their personal preferences for it — task layout, watch state and free-form view settings. properties: created_at: type: string title: Created At format: date-time description: Timestamp when the project preference was created. example: '2026-01-20T10:00:00.000+00:00' id: type: integer title: Id description: Unique identifier of the project preference. example: 32234 person: title: Person description: The person this preference belongs to. example: data: type: people id: '12' person_id: type: integer title: Person Id description: ID of the person this preference belongs to. example: 12 preferences: type: string title: Preferences description: Free-form personal view preferences this person has stored for the project, as a JSON-encoded string. example: '"{\"project_last_tab\":\"tasks\",\"default_tab_id\":\"1867-project-tasks\"}"' project: title: Project description: The project this preference applies to. example: data: type: projects id: '6899' project_id: type: integer title: Project Id description: ID of the project this preference applies to. example: 6899 subscribe: type: boolean title: Subscribe description: Write-only trigger — when set, subscribes the person to all existing non-private tasks in the project. example: true tasks_layout_id: type: integer title: Tasks Layout Id description: ID of the task layout this person uses when viewing the project's tasks. example: 104 unsubscribe: type: boolean title: Unsubscribe description: Write-only trigger — when set, removes the person's subscriptions to tasks in the project. example: true watched: type: boolean title: Watched description: Whether the person is automatically subscribed to new tasks created in the project. example: false example: id: 32234 tasks_layout_id: 104 created_at: '2026-01-20T10:00:00.000+00:00' preferences: '{"project_last_tab":"tasks","default_tab_id":"1867-project-tasks"}' watched: false person_id: 12 project_id: 6899 error_code_timer: enum: - bad_decimal_format - can_not_start_timer_for_approved_record - can_not_start_timer_on_submitted_record - invalid_attribute_value - non_finite_number - null_bytes_in_params - time_entry_invalid - time_entry_not_present - time_entry_overlap - timer_already_started type: string title: Error Code description: Every error `code` the timers endpoints can return in a 422 response. resource_placeholder_usage: type: object title: Placeholder usage Resource description: A record linking a placeholder to a specific task or todo field, optionally with a date offset interval. properties: created_at: type: string title: Created At format: date-time description: Timestamp when this placeholder usage was created. example: gt: '2026-01-01' 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 id: type: integer title: Id description: The unique identifier of this placeholder 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_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. example: eq: value placeholder: title: Placeholder description: The placeholder associated with this usage. example: eq: value placeholder_id: type: integer title: Placeholder description: ID of the placeholder associated with this usage. example: - 123 project_id: type: integer title: Project description: ID of the project this placeholder usage is associated with. example: - 123 skip_weekends: type: boolean title: Skip Weekends description: When true, weekends are excluded when calculating date offsets for this placeholder. example: eq: value target_id: type: integer title: Target description: The ID of the target record (task or todo) this placeholder usage applies to. example: - 123 target_type: enum: - Ticket - Todo type: string title: Target Type description: The type of the target record — `Ticket` for tasks, `Todo` for todos. example: eq: active 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 todo: title: Todo description: The todo this placeholder usage is linked to, if the target is a todo. 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' example: id: '199' type: placeholder_usages attributes: id: 199 target_id: 7388879 target_type: Ticket field: assignee placeholder_id: 88 interval_value: interval_unit: interval_direction: skip_weekends: false created_at: '2026-09-02T11:48:44.135+02:00' updated_at: '2026-09-02T11:48:44.135+02:00' relationships: placeholder: data: type: placeholders id: '88' task: data: type: tasks id: '7388879' _filter_root_skill: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_skill" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_skill" _filter_root_deal_job_role_rate: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_deal_job_role_rate" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_deal_job_role_rate" _response_included: oneOf: - "$ref": "#/components/schemas/_response_object_task" - "$ref": "#/components/schemas/_response_object_project" - "$ref": "#/components/schemas/_response_object_person" - "$ref": "#/components/schemas/_response_object_activity" - "$ref": "#/components/schemas/_response_object_agent" - "$ref": "#/components/schemas/_response_object_agent_config" - "$ref": "#/components/schemas/_response_object_agent_session" - "$ref": "#/components/schemas/_response_object_allocation" - "$ref": "#/components/schemas/_response_object_approval_policy" - "$ref": "#/components/schemas/_response_object_approval_policy_assignment" - "$ref": "#/components/schemas/_response_object_approval_status" - "$ref": "#/components/schemas/_response_object_approval_workflow" - "$ref": "#/components/schemas/_response_object_artifact" - "$ref": "#/components/schemas/_response_object_artifact_version" - "$ref": "#/components/schemas/_response_object_attachment" - "$ref": "#/components/schemas/_response_object_automatic_invoicing_rule" - "$ref": "#/components/schemas/_response_object_automation" - "$ref": "#/components/schemas/_response_object_automation_project_assignment" - "$ref": "#/components/schemas/_response_object_automation_report" - "$ref": "#/components/schemas/_response_object_automation_run" - "$ref": "#/components/schemas/_response_object_backyard_user" - "$ref": "#/components/schemas/_response_object_balancing_hour_report" - "$ref": "#/components/schemas/_response_object_bank_account" - "$ref": "#/components/schemas/_response_object_bill" - "$ref": "#/components/schemas/_response_object_bill_item" - "$ref": "#/components/schemas/_response_object_bill_report" - "$ref": "#/components/schemas/_response_object_booking" - "$ref": "#/components/schemas/_response_object_booking_report" - "$ref": "#/components/schemas/_response_object_budget_report" - "$ref": "#/components/schemas/_response_object_calendar_event" - "$ref": "#/components/schemas/_response_object_comment" - "$ref": "#/components/schemas/_response_object_company" - "$ref": "#/components/schemas/_response_object_company_report" - "$ref": "#/components/schemas/_response_object_connection" - "$ref": "#/components/schemas/_response_object_contact_entry" - "$ref": "#/components/schemas/_response_object_contract" - "$ref": "#/components/schemas/_response_object_custom_domain" - "$ref": "#/components/schemas/_response_object_custom_field" - "$ref": "#/components/schemas/_response_object_custom_field_option" - "$ref": "#/components/schemas/_response_object_custom_field_section" - "$ref": "#/components/schemas/_response_object_dashboard" - "$ref": "#/components/schemas/_response_object_deal" - "$ref": "#/components/schemas/_response_object_deal_contact" - "$ref": "#/components/schemas/_response_object_deal_cost_rate" - "$ref": "#/components/schemas/_response_object_deal_funnel_report" - "$ref": "#/components/schemas/_response_object_deal_job_role_rate" - "$ref": "#/components/schemas/_response_object_deal_report" - "$ref": "#/components/schemas/_response_object_deal_status" - "$ref": "#/components/schemas/_response_object_developer_portal_user" - "$ref": "#/components/schemas/_response_object_discussion" - "$ref": "#/components/schemas/_response_object_document_style" - "$ref": "#/components/schemas/_response_object_document_type" - "$ref": "#/components/schemas/_response_object_einvoice_configuration" - "$ref": "#/components/schemas/_response_object_einvoice_identity" - "$ref": "#/components/schemas/_response_object_einvoice_transaction" - "$ref": "#/components/schemas/_response_object_email" - "$ref": "#/components/schemas/_response_object_email_link" - "$ref": "#/components/schemas/_response_object_entitlement" - "$ref": "#/components/schemas/_response_object_entitlement_report" - "$ref": "#/components/schemas/_response_object_erasure_count" - "$ref": "#/components/schemas/_response_object_event" - "$ref": "#/components/schemas/_response_object_exchange_rate" - "$ref": "#/components/schemas/_response_object_expense" - "$ref": "#/components/schemas/_response_object_expense_line_item" - "$ref": "#/components/schemas/_response_object_expense_report" - "$ref": "#/components/schemas/_response_object_export_job" - "$ref": "#/components/schemas/_response_object_feature" - "$ref": "#/components/schemas/_response_object_filter" - "$ref": "#/components/schemas/_response_object_filter_preference" - "$ref": "#/components/schemas/_response_object_financial_item_report" - "$ref": "#/components/schemas/_response_object_financial_month" - "$ref": "#/components/schemas/_response_object_flag" - "$ref": "#/components/schemas/_response_object_folder" - "$ref": "#/components/schemas/_response_object_holiday" - "$ref": "#/components/schemas/_response_object_holiday_calendar" - "$ref": "#/components/schemas/_response_object_import" - "$ref": "#/components/schemas/_response_object_integration" - "$ref": "#/components/schemas/_response_object_integration_exporter_configuration" - "$ref": "#/components/schemas/_response_object_integration_option" - "$ref": "#/components/schemas/_response_object_integration_search_result" - "$ref": "#/components/schemas/_response_object_integration_task_management_configuration" - "$ref": "#/components/schemas/_response_object_invitation" - "$ref": "#/components/schemas/_response_object_invoice" - "$ref": "#/components/schemas/_response_object_invoice_attribution" - "$ref": "#/components/schemas/_response_object_invoice_report" - "$ref": "#/components/schemas/_response_object_invoice_template" - "$ref": "#/components/schemas/_response_object_invoiced_budget" - "$ref": "#/components/schemas/_response_object_job_role" - "$ref": "#/components/schemas/_response_object_job_role_rate" - "$ref": "#/components/schemas/_response_object_job_role_rate_card" - "$ref": "#/components/schemas/_response_object_kpd_code" - "$ref": "#/components/schemas/_response_object_line_item" - "$ref": "#/components/schemas/_response_object_line_item_report" - "$ref": "#/components/schemas/_response_object_lost_reason" - "$ref": "#/components/schemas/_response_object_mcp_connector" - "$ref": "#/components/schemas/_response_object_mcp_server" - "$ref": "#/components/schemas/_response_object_meeting" - "$ref": "#/components/schemas/_response_object_meeting_participant" - "$ref": "#/components/schemas/_response_object_meilisearch_document" - "$ref": "#/components/schemas/_response_object_meilisearch_health" - "$ref": "#/components/schemas/_response_object_meilisearch_index" - "$ref": "#/components/schemas/_response_object_membership" - "$ref": "#/components/schemas/_response_object_memory" - "$ref": "#/components/schemas/_response_object_new_salary_report" - "$ref": "#/components/schemas/_response_object_new_time_report" - "$ref": "#/components/schemas/_response_object_notification" - "$ref": "#/components/schemas/_response_object_offboarding" - "$ref": "#/components/schemas/_response_object_organization" - "$ref": "#/components/schemas/_response_object_organization_champion" - "$ref": "#/components/schemas/_response_object_organization_invoice" - "$ref": "#/components/schemas/_response_object_organization_membership" - "$ref": "#/components/schemas/_response_object_organization_membership_count" - "$ref": "#/components/schemas/_response_object_organization_subscription" - "$ref": "#/components/schemas/_response_object_overhead" - "$ref": "#/components/schemas/_response_object_owned_resources_count" - "$ref": "#/components/schemas/_response_object_page" - "$ref": "#/components/schemas/_response_object_page_report" - "$ref": "#/components/schemas/_response_object_page_version" - "$ref": "#/components/schemas/_response_object_password" - "$ref": "#/components/schemas/_response_object_payment" - "$ref": "#/components/schemas/_response_object_payment_reminder" - "$ref": "#/components/schemas/_response_object_payment_reminder_sequence" - "$ref": "#/components/schemas/_response_object_payment_report" - "$ref": "#/components/schemas/_response_object_payroll_item_report" - "$ref": "#/components/schemas/_response_object_person_report" - "$ref": "#/components/schemas/_response_object_pipeline" - "$ref": "#/components/schemas/_response_object_placeholder" - "$ref": "#/components/schemas/_response_object_placeholder_usage" - "$ref": "#/components/schemas/_response_object_polaris_organization" - "$ref": "#/components/schemas/_response_object_price" - "$ref": "#/components/schemas/_response_object_price_report" - "$ref": "#/components/schemas/_response_object_project_milestone" - "$ref": "#/components/schemas/_response_object_project_milestone_report" - "$ref": "#/components/schemas/_response_object_project_preference" - "$ref": "#/components/schemas/_response_object_project_relevancy_report" - "$ref": "#/components/schemas/_response_object_project_report" - "$ref": "#/components/schemas/_response_object_proposal" - "$ref": "#/components/schemas/_response_object_proposal_report" - "$ref": "#/components/schemas/_response_object_proposal_service" - "$ref": "#/components/schemas/_response_object_proposal_session" - "$ref": "#/components/schemas/_response_object_pulse" - "$ref": "#/components/schemas/_response_object_purchase_order" - "$ref": "#/components/schemas/_response_object_purchase_order_report" - "$ref": "#/components/schemas/_response_object_rate_card" - "$ref": "#/components/schemas/_response_object_report_category" - "$ref": "#/components/schemas/_response_object_resource_request" - "$ref": "#/components/schemas/_response_object_resource_request_report" - "$ref": "#/components/schemas/_response_object_revenue_distribution" - "$ref": "#/components/schemas/_response_object_role" - "$ref": "#/components/schemas/_response_object_salary" - "$ref": "#/components/schemas/_response_object_scenario" - "$ref": "#/components/schemas/_response_object_scenario_booking" - "$ref": "#/components/schemas/_response_object_scenario_item" - "$ref": "#/components/schemas/_response_object_scenario_section" - "$ref": "#/components/schemas/_response_object_scenario_service" - "$ref": "#/components/schemas/_response_object_section" - "$ref": "#/components/schemas/_response_object_service" - "$ref": "#/components/schemas/_response_object_service_assignment" - "$ref": "#/components/schemas/_response_object_service_report" - "$ref": "#/components/schemas/_response_object_service_suggestion" - "$ref": "#/components/schemas/_response_object_service_type" - "$ref": "#/components/schemas/_response_object_service_type_assignment" - "$ref": "#/components/schemas/_response_object_session" - "$ref": "#/components/schemas/_response_object_shortened_link" - "$ref": "#/components/schemas/_response_object_signup" - "$ref": "#/components/schemas/_response_object_skill" - "$ref": "#/components/schemas/_response_object_sso_configuration" - "$ref": "#/components/schemas/_response_object_subsidiary" - "$ref": "#/components/schemas/_response_object_survey" - "$ref": "#/components/schemas/_response_object_survey_field" - "$ref": "#/components/schemas/_response_object_survey_field_option" - "$ref": "#/components/schemas/_response_object_survey_report" - "$ref": "#/components/schemas/_response_object_survey_response" - "$ref": "#/components/schemas/_response_object_tag" - "$ref": "#/components/schemas/_response_object_task_dependency" - "$ref": "#/components/schemas/_response_object_task_list" - "$ref": "#/components/schemas/_response_object_task_report" - "$ref": "#/components/schemas/_response_object_tax_rate" - "$ref": "#/components/schemas/_response_object_team" - "$ref": "#/components/schemas/_response_object_team_membership" - "$ref": "#/components/schemas/_response_object_template" - "$ref": "#/components/schemas/_response_object_time_entry" - "$ref": "#/components/schemas/_response_object_time_entry_report" - "$ref": "#/components/schemas/_response_object_time_entry_version" - "$ref": "#/components/schemas/_response_object_time_tracking_policy" - "$ref": "#/components/schemas/_response_object_timer" - "$ref": "#/components/schemas/_response_object_timesheet" - "$ref": "#/components/schemas/_response_object_timesheet_report" - "$ref": "#/components/schemas/_response_object_todo" - "$ref": "#/components/schemas/_response_object_two_factor_authentication" - "$ref": "#/components/schemas/_response_object_user" - "$ref": "#/components/schemas/_response_object_webhook" - "$ref": "#/components/schemas/_response_object_webhook_log" - "$ref": "#/components/schemas/_response_object_widget" - "$ref": "#/components/schemas/_response_object_workflow" - "$ref": "#/components/schemas/_response_object_workflow_status" - "$ref": "#/components/schemas/_response_object_workload_item" - type: object title: Other resource properties: id: type: string type: enum: - agent_session_transcripts - automation_versions - boards - booking_items - connection_record - data_migrations - deal_or_budget_reports - deal_transitions - devices - email_threads - feature_reports - flag_activities - organization_activities - organization_contracts - organization_reports - person_sessions - proposal_sections - revenue_items - search-quick-results - search/mentions/page - search/mentions/person - search/mentions/task - search_results - session_reports - settings - user_reports - user_segments type: string attributes: type: object relationships: type: object additionalProperties: anyOf: - "$ref": "#/components/schemas/_single_relationship" - "$ref": "#/components/schemas/_collection_relationship" required: - id - type title: Included resource discriminator: propertyName: type _response_object_deal_job_role_rate: type: object title: Deal job role rate properties: attributes: type: object properties: amount: "$ref": "#/components/schemas/resource_deal_job_role_rate/properties/amount" created_at: "$ref": "#/components/schemas/resource_deal_job_role_rate/properties/created_at" unit_id: "$ref": "#/components/schemas/resource_deal_job_role_rate/properties/unit_id" updated_at: "$ref": "#/components/schemas/resource_deal_job_role_rate/properties/updated_at" id: type: string relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_relationship" job_role: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - deal_job_role_rates type: string required: - id - type filter_deal_job_role_rate: type: object title: Filter deal job role rate properties: budget_id: "$ref": "#/components/schemas/_filter_id" deal_id: "$ref": "#/components/schemas/_filter_id" id: "$ref": "#/components/schemas/_filter_id" job_role_id: "$ref": "#/components/schemas/_filter_id" unit_id: "$ref": "#/components/schemas/_filter_id" resource_membership: type: object title: Membership Resource description: Access control record granting a person or team access to a project, deal, page, dashboard, filter, survey, or agent. Defines the access level (type_id) and optional restrictions (options). Memberships drive visibility and edit permissions for shared resources. properties: access_type_id: enum: - 1 - 2 - 3 - 4 - 5 type: integer title: Access Type description: ID of the access type determining the permission level of this membership (e.g. viewer, editor). example: - 123 dashboard: title: Dashboard description: The dashboard this membership grants access to, if the target is a dashboard. example: eq: value dashboard_id: type: integer title: Dashboard description: ID of the dashboard this membership grants access to, if the target is a dashboard. example: - 123 deal: title: Deal description: The deal this membership grants access to, if the target is a deal. example: eq: value deal_id: type: integer title: Deal description: ID of the deal this membership grants access to, if the target is a deal. example: - 123 dynamic_group_id: enum: - 2 - 6 - 8 - 9 - 10 - 11 - 12 type: integer title: Dynamic Group description: ID of the dynamic group this membership is assigned to, if assigned via a group rather than an individual. example: - 123 filter: title: Filter description: The filter this membership grants access to, if the target is a filter. example: eq: value filter_id: type: integer title: Filter description: ID of the filter this membership grants access to, if the target is a filter. example: - 123 id: type: integer title: Id description: The unique identifier of this membership. example: - 123 options: type: object title: Options description: Additional options and settings for this membership. example: eq: value organization: title: Organization description: The organization this membership belongs to. example: eq: value page: title: Page description: The page this membership grants access to, if the target is a page. example: eq: value page_id: type: integer title: Page description: The ID of the page this membership grants access to, if applicable. example: - 123 person: title: Person description: The person this membership belongs to. example: eq: value person_id: type: integer title: Person description: The ID of the person this membership belongs to. example: - 123 project: title: Project description: The project this membership grants access to, if applicable. example: eq: value project_id: type: integer title: Project description: The ID of the project this membership grants access to, if applicable. example: - 123 pulse_id: type: integer title: Pulse description: The ID of the pulse (view) this membership applies to, if applicable. example: - 123 survey: title: Survey description: The survey this membership grants access to, if applicable. example: eq: value survey_id: type: integer title: Survey description: The ID of the survey this membership grants access to, if applicable. example: - 123 target_id: type: integer title: Target description: The ID of the target resource this membership applies to. example: - 123 target_type: type: string title: Target Type description: The type of resource this membership applies to (e.g. project, page, survey). example: eq: active team: title: Team description: The team this membership applies to, if it grants team-level access. example: eq: value type_id: enum: - 1 - 2 - 3 type: integer title: Type description: Numeric identifier for the membership type (e.g. viewer, editor, manager). example: - 123 agent: title: Agent description: The AI agent associated with this membership, if the member is an agent rather than a person. example: eq: value agent_id: type: integer title: Agent description: ID of the AI agent associated with this membership, if the member is an agent. example: - 123 meeting_id: type: integer title: Meeting description: ID of the meeting this membership grants access to. example: 4821 artifact: title: Artifact description: The artifact this membership grants access to, if the target is an artifact. artifact_id: type: integer title: Artifact description: ID of the artifact this membership grants access to, if the target is an artifact. meeting: title: Meeting description: The meeting this membership grants access to, if the target is a meeting. skill_id: type: integer title: Skill description: ID of the skill this membership grants access to, if the target is a skill. whiteboard: title: Whiteboard whiteboard_id: type: integer title: Whiteboard example: id: '7654' type: memberships attributes: access_type_id: 1 dynamic_group_id: options: {} target_type: project type_id: 1 relationships: person: data: type: people id: '12' project: data: type: projects id: '6899' team: data: error_code_agent_session_transcript: enum: - bad_decimal_format - non_finite_number - null_bytes_in_params - transcript_not_lines type: string title: Error Code description: Every error `code` the agent session transcript endpoint can return. resource_agent_session_transcript: type: object title: Agent Session Transcript Resource properties: text: type: string title: Text readOnly: true description: The conversation as plain text, one line per message (`User:` / `Agent:`) resource_agent_session: type: object title: Agent Session Resource properties: query: type: string title: Query maxLength: 255 description: Case-insensitive substring of the title or the transcript (matched over the JSON text of the lines, so a phrase with `"` or spanning two messages does not match) transcript: title: Transcript description: Sideloaded only with `include=transcript`; the list carries no linkage for it otherwise agent: title: Agent agent_id: type: integer title: Agent Id description: Blank matches the conversations with the AI assistant client_type: type: string title: Client Type created_at: type: string title: Created At format: date-time id: type: integer title: Id last_activity_at: type: - string - 'null' title: Last Activity At format: date-time last_seen_at: type: - string - 'null' title: Last Seen At format: date-time person: title: Person status_text: type: - string - 'null' title: Status Text status_type: type: - string - 'null' title: Status Type status_updated_at: type: - string - 'null' title: Status Updated At format: date-time target_id: type: - string - 'null' title: Target Id target_type: type: - string - 'null' title: Target Type title: type: - string - 'null' title: Title maxLength: 255 uid: type: - string - 'null' title: Uid description: Dynamo id of a session created before the api took over (as-), or an api-generated as- for later sessions updated_at: type: string title: Updated At format: date-time _filter_root_invoiced_budget: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_invoiced_budget" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_invoiced_budget" resource_invoice: type: object title: Invoice Resource 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. properties: tags: type: string title: Tags description: Tags applied to this invoice. example: eq: value amount: title: Amount description: Invoice amount excluding tax, in the invoice currency. example: gt: 0 amount_credited: title: Amount Credited description: Amount credited via credit notes, excluding tax, in the invoice currency. example: gt: 0 amount_credited_default: title: Amount Credited Default description: Amount credited via credit notes, excluding tax, in the organization default currency. example: gt: 0 amount_credited_normalized: title: Amount Credited Normalized description: Amount credited via credit notes, excluding tax, normalized to the organization default currency. example: gt: 0 amount_credited_with_tax: title: Amount Credited With Tax description: Amount credited including tax, in the invoice currency. example: gt: 0 amount_credited_with_tax_default: title: Amount Credited With Tax Default description: Amount credited including tax, in the organization default currency. example: gt: 0 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 amount_default: title: Amount Default description: Invoice amount excluding tax, in 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_paid: title: Amount Paid description: Amount already paid, in the invoice currency. example: gt: 0 amount_paid_default: title: Amount Paid Default description: Amount already paid, in the organization default currency. example: gt: 0 amount_paid_normalized: title: Amount Paid Normalized description: Amount already paid, normalized to the organization default currency. example: gt: 0 amount_tax: title: Amount Tax description: Total tax amount, in the invoice currency. example: gt: 0 amount_tax_default: title: Amount Tax Default description: Total tax amount, in 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_unpaid: title: Amount Unpaid description: Outstanding balance, in the invoice currency. example: gt: 0 amount_unpaid_default: title: Amount Unpaid Default description: Outstanding balance, in the organization default currency. example: gt: 0 amount_unpaid_normalized: title: Amount Unpaid Normalized description: Outstanding balance, normalized to the organization default currency. example: gt: 0 amount_with_tax: title: Amount With Tax description: Invoice total including tax, in the invoice 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 amount_with_tax_normalized: title: Amount With Tax Normalized description: Invoice total including tax, normalized to the organization default currency. example: gt: 0 amount_written_off: title: Amount Written Off description: Amount written off as uncollectible, in the invoice currency. example: gt: 0 amount_written_off_default: title: Amount Written Off Default description: Amount written off as uncollectible, in the organization default currency. example: gt: 0 amount_written_off_normalized: title: Amount Written Off Normalized description: Amount written off as uncollectible, normalized to the organization default currency. example: gt: 0 attachment: title: Attachment description: The generated PDF document attached to this invoice. example: eq: value attachment_id: type: integer title: Attachment description: ID of the generated PDF attachment for this invoice. example: - 123 automatically_created: type: boolean title: Automatically Created description: Whether this invoice was automatically generated from a template. example: eq: value bank_account: title: Bank Account description: The bank account for payment. example: gt: 0 bank_account_details: type: object title: Bank Account Details description: Bank account details shown on the invoice. example: gt: 0 bank_account_id: type: integer title: Bank Account description: ID of the bank account for payment. example: - 123 bill_from: title: Bill From description: The subsidiary contact issuing the invoice. example: eq: value bill_to: title: Bill To description: The client contact receiving the invoice. example: eq: value company: title: Company description: The client company being billed. example: eq: value company_id: type: integer title: Company description: ID of the client company being billed. example: - 123 company_name: title: Company Name description: Name of the client company at the time of invoicing. example: eq: value company_reference_id: type: integer title: Company Reference description: Company reference ID in the external accounting system. example: - 123 created_at: type: string title: Created At format: date-time description: Timestamp when the invoice was created. example: gt: '2026-01-01' creation_options: type: object title: Creation Options description: Configuration options used when creating the invoice. example: eq: value creator: title: Creator description: The person who created the invoice. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created the invoice. example: - 123 credited: type: boolean title: Credited description: Whether this invoice has been credited via a credit note. example: eq: value currency: type: string title: Currency description: Currency code of the invoice. example: eq: value currency_default: title: Currency Default description: Organization default currency code. example: eq: value currency_normalized: title: Currency Normalized description: Normalized currency code for cross-currency comparisons. example: eq: value custom_field_attachments: title: Custom Field Attachments description: Files in file-type custom fields on this invoice. example: gt: '2026-01-01' custom_field_people: title: Custom Field People description: People in person-type custom fields on this invoice. example: eq: value custom_fields: type: object title: Custom Fields description: Custom field values on this invoice. example: eq: value deal_id: type: integer title: Deal description: ID of the budget (deal) this invoice is linked to. example: - 123 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' delivery_on: type: string title: Delivery On format: date description: Date when the goods or services were delivered. example: eq: value discount: type: number title: Discount description: Discount percentage applied to the invoice total. example: gt: 0 document_type: title: Document Type description: The PDF template used for rendering this invoice. example: eq: active document_type_id: type: integer title: Document Type description: ID of the PDF template used for rendering this invoice. example: - 123 email_key: type: string title: Email Key description: Unique key for email-based interactions with this invoice. example: eq: value exchange_date: type: string title: Exchange Date format: date description: Date used for currency exchange rate lookup. example: gt: '2026-01-01' exchange_rate: type: number title: Exchange Rate description: Exchange rate from the invoice currency to the organization default currency. example: gt: 0 export_id: type: string title: Export description: ID of this invoice in the external accounting system. example: - 123 export_integration_type_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 type: integer title: Export Integration Type description: Type of accounting integration used for export. example: - 123 export_invoice_url: type: string title: Export Invoice Url description: URL to view this invoice in the external accounting system. example: eq: value export_status: enum: - 1 - 2 - 3 - 4 type: integer title: Export Status description: Export status to external accounting software. example: eq: active exported: type: boolean title: Exported description: Whether this invoice has been exported to external accounting software. example: eq: value 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' finalized_at: type: string title: Finalized At format: date-time description: Timestamp when the invoice was finalized. example: gt: '2026-01-01' finalized_on: type: string title: Finalized On format: date description: Date when the invoice was finalized (locked for editing). example: eq: value footer: title: Footer description: Footer text on the invoice document. example: eq: value footer_interpolated: title: Footer Interpolated description: Footer text with template variables resolved. example: eq: value full_query: type: string title: Full Query description: Full-text search index value for this invoice. 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' fuzzy_people: type: integer title: Fuzzy People description: Fuzzy people representation for flexible person-based display. example: eq: value id: type: integer title: Id description: Unique identifier for this invoice. example: - 123 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 invoice_attributions: title: Invoice Attributions description: Links between this invoice and the budgets it bills. example: gt: '2026-01-01' 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 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 invoice_template_id: type: integer title: Invoice Template description: ID of the invoice template used for auto-generation. example: - 123 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 invoice_type_id: enum: - 1 - 2 type: integer title: Invoice Type description: Whether this is a standard invoice or a credit note. example: - 123 invoiced_on: type: string title: Invoiced On format: date description: Date when the invoice was issued. 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 issuer: title: Issuer description: The person issuing or finalizing this invoice. example: eq: value issuer_id: type: integer title: Issuer description: ID of the person issuing or finalizing this invoice. example: - 123 jump_query: type: string title: Jump Query description: Quick search index value for this invoice. example: eq: value 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' 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 note: type: string title: Note description: Internal notes on the invoice. example: eq: value note_interpolated: title: Note Interpolated description: Invoice note with template variables resolved. example: eq: value number: type: string title: Number description: Unique invoice number. example: eq: value organization: title: Organization description: The organization this invoice belongs to. example: eq: value 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 paid_on: type: string title: Paid On format: date description: Date when the invoice was paid by the client. example: eq: value parent_invoice: title: Parent Invoice description: The original invoice this credit note credits. 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 pay_on: type: - string - 'null' title: Pay On format: date description: Due date for payment. example: eq: value payment_status: enum: - 1 - 2 - 3 type: integer title: Payment Status description: Payment status of the invoice. example: eq: active payment_terms: type: - integer - 'null' title: Payment Terms description: Number of days between the invoice issue date and the due date. example: eq: value project_id: type: integer title: Project description: ID of the project associated with this invoice. example: - 123 purchase_order_number: type: string title: Purchase Order Number description: Client-provided purchase order number for reference. example: PO-2024-017 query: type: string title: Query description: Search index representation of this invoice. example: eq: value responsible_id: type: integer title: Responsible description: ID of the person responsible for this invoice. example: - 123 sample_data: type: boolean title: Sample Data description: Whether this record is demo data. 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 sent_status: enum: - 1 - 2 type: integer title: Sent Status description: Sent status of the invoice. example: eq: active status: enum: - 1 - 2 type: integer title: Status description: Combined status for display purposes. example: eq: active subject: type: string title: Subject description: Short description of what is being invoiced. example: eq: value subscriber_id: type: integer title: Subscriber description: ID of the subscriber person for this invoice. example: - 123 subscriber_ids: title: Subscriber Ids description: IDs of people subscribed to notifications for this invoice. example: - 123 - 456 subsidiary: title: Subsidiary description: The subsidiary issuing this invoice. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary issuing this invoice. example: - 123 tag_list: type: string title: Tag List description: Tags applied to this invoice. example: eq: value tax1_name: type: string title: Tax1 Name description: Name of the primary tax (e.g. VAT). example: eq: value tax1_value: type: number title: Tax1 Value description: Primary tax rate percentage. example: eq: value tax2_name: type: string title: Tax2 Name description: Name of the secondary tax, if applicable. example: eq: value tax2_value: type: number title: Tax2 Value description: Secondary tax rate percentage. 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' 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 payment_terms_days: type: integer title: Payment Terms Days nullable: true description: 'Day offset positioning the due date relative to `invoiced_on`, per `payment_terms_type`: `days_after_invoice_date` — > 0, days after `invoiced_on`; `end_of_month` — >= 0, days after the invoice month''s end; `due_upon_receipt` — ignored.' payment_terms_type: enum: - days_after_invoice_date - end_of_month - due_upon_receipt type: string title: Payment Terms Type nullable: true description: 'Defines how the due date (`pay_on`) is set relative to the invoice date (`invoiced_on`), so it shifts when `invoiced_on` changes: `days_after_invoice_date` — `payment_terms_days` days after `invoiced_on`; `end_of_month` — `payment_terms_days` days after the invoice month''s end; `due_upon_receipt` — equals `invoiced_on`.' export_error: type: object title: Export Error nullable: true properties: affected_elements: type: array items: type: object properties: name: type: string reason: type: string code: type: string nullable: true detail: type: string nullable: true help_url: type: string nullable: true title: type: string nullable: true amount_attributed: title: Amount Attributed amount_attributed_default: title: Amount Attributed Default amount_attributed_normalized: title: Amount Attributed Normalized 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: resource_invoiced_budget: type: object title: Invoiced budget Resource properties: budget: title: Budget budget_id: type: integer title: Budget date_from: type: string title: Date From format: date date_to: type: string title: Date To format: date invoice: title: Invoice invoice_id: type: integer title: Invoice organization: title: Organization error_code_job_role_rate: enum: - bad_decimal_format - create_only_attribute - invalid_attribute_value - job_role_rate_already_exists - non_finite_number - null_bytes_in_params - role_bill_rate_setting_disabled type: string title: Error Code description: Every error `code` the job role rates endpoints can return in a 422 response. error_code_job_role_rate_card: enum: - bad_decimal_format - currency_invalid - invalid_attribute_value - non_finite_number - null_bytes_in_params - role_bill_rate_setting_disabled type: string title: Error Code description: Every error `code` the job role rate cards endpoints can return in a 422 response. error_code_organization: enum: - ai_features_feature_unavailable - autotracking_feature_unavailable - bad_decimal_format - bookings_on_tasks_feature_unavailable - expenses_approvals_feature_unavailable - fiscal_year_feature_unavailable - invalid_attribute - invalid_attribute_value - invalid_owner_role - mcp_server_feature_unavailable - non_finite_number - null_bytes_in_params - organization_time_tracking_policy_invalid - organization_time_zone_invalid - overhead_cost_feature_unavailable - overtime_enabled_on_new_budgets - purchase_orders_feature_unavailable - role_bill_rate_feature_unavailable - scim_feature_unavailable - scim_provisioning_already_enabled - scim_requires_sso - scim_token_generation_failed - time_locking_feature_unavailable - time_tracking_policies_not_enabled - timeoff_approvals_feature_unavailable - two_factor_auth_feature_unavailable - working_hours_count_invalid type: string title: Error Code description: Every error `code` the organizations endpoints can return. _response_object_survey: type: object title: Survey properties: attributes: type: object properties: anonymous_responses: "$ref": "#/components/schemas/resource_survey/properties/anonymous_responses" created_at: "$ref": "#/components/schemas/resource_survey/properties/created_at" public_uuid: anyOf: - "$ref": "#/components/schemas/resource_survey/properties/public_uuid" - type: 'null' title: 'Null' submission_access: "$ref": "#/components/schemas/resource_survey/properties/submission_access" title: "$ref": "#/components/schemas/resource_survey/properties/title" updated_at: "$ref": "#/components/schemas/resource_survey/properties/updated_at" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" memberships: "$ref": "#/components/schemas/_collection_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" updater: "$ref": "#/components/schemas/_single_relationship" type: enum: - surveys type: string required: - id - type _survey_create_attributes: type: object properties: anonymous_responses: "$ref": "#/components/schemas/resource_survey/properties/anonymous_responses" description: anyOf: - type: string title: String - type: 'null' title: 'Null' submission_access: "$ref": "#/components/schemas/resource_survey/properties/submission_access" title: allOf: - "$ref": "#/components/schemas/resource_survey/properties/title" - maxLength: 255 required: - title _survey_response_create_attributes: type: object properties: anonymous: type: boolean description: Whether the respondent was shown that their name is not recorded. Optional. true is refused with anonymity_changed when the form records respondents (flag on or off); false with a file answer is refused when it does not. custom_fields: type: object additionalProperties: true survey_fields: type: object additionalProperties: true resource_integration_task_management_configuration: type: object title: Integration task management configuration Resource properties: jira_board_name: type: string title: Jira Board Name jira_project_name: type: string title: Jira Project Name created_at: title: Created At deal: title: Deal deal_id: type: integer title: Deal default_person: title: Default Person default_person_id: type: integer title: Default Person default_service: title: Default Service default_service_id: type: integer title: Default Service id: type: integer title: Id integration: title: Integration integration_id: type: integer title: Integration jira_board: type: string title: Jira Board jira_hierarchy_resolution_enabled: type: boolean title: Jira Hierarchy Resolution Enabled jira_project: type: string title: Jira Project jira_screens: type: array items: type: string title: Jira Screens organization: title: Organization project: title: Project project_id: type: integer title: Project jira_project_style: type: string title: Jira Project Style error_code_survey_response: enum: - anonymity_changed - bad_decimal_format - custom_field_invalid_option - custom_field_invalid_person - custom_field_not_found - custom_field_value_not_date - custom_field_value_not_number - custom_field_value_not_string - custom_field_value_out_of_range - custom_field_value_too_long - invalid_attribute_value - non_finite_number - null_bytes_in_params - submission_access_denied type: string title: Error Code description: Every error `code` the survey responses create endpoint can return. _budget_close_attributes: type: object properties: delivered_on: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/delivered_on" - type: 'null' title: 'Null' destroy_future_bookings: "$ref": "#/components/schemas/resource_budget/properties/destroy_future_bookings" _budget_copy_attributes: type: object properties: color_id: "$ref": "#/components/schemas/_deal_id" currency: "$ref": "#/components/schemas/resource_budget/properties/currency" custom_fields: "$ref": "#/components/schemas/resource_budget/properties/custom_fields" date: "$ref": "#/components/schemas/resource_budget/properties/date" deal_value: "$ref": "#/components/schemas/resource_budget/properties/deal_value" deal_value_source: "$ref": "#/components/schemas/resource_budget/properties/deal_value_source" editor_config: "$ref": "#/components/schemas/resource_budget/properties/editor_config" end_date: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/end_date" - type: 'null' title: 'Null' make_recurring: type: boolean name: allOf: - "$ref": "#/components/schemas/resource_budget/properties/name" - maxLength: 255 next_occurrence_on: "$ref": "#/components/schemas/resource_budget/properties/next_occurrence_on" retainer_deal_value_type: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/retainer_deal_value_type" - type: 'null' title: 'Null' retainer_interval: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/retainer_interval" - type: 'null' title: 'Null' retainer_interval_count: anyOf: - type: integer title: Integer maximum: 24 minimum: 1 - type: 'null' title: 'Null' tag_list: type: array items: type: string required: - name _budget_copy_relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" document_type: "$ref": "#/components/schemas/_single_linkage" project: "$ref": "#/components/schemas/_single_linkage" responsible: "$ref": "#/components/schemas/_single_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage" template: "$ref": "#/components/schemas/_single_linkage" _budget_create_attributes: type: object allOf: - "$ref": "#/components/schemas/_budget_update_attributes" - type: object properties: currency: {} end_date: {} delivered_on: {} deal_value: {} _budget_update_attributes: type: object properties: budget_warning: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/budget_warning" - type: 'null' title: 'Null' client_access: "$ref": "#/components/schemas/resource_budget/properties/client_access" color_id: anyOf: - "$ref": "#/components/schemas/_deal_id" - type: 'null' title: 'Null' currency: "$ref": "#/components/schemas/resource_budget/properties/currency" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/custom_fields" - type: 'null' title: 'Null' date: "$ref": "#/components/schemas/resource_budget/properties/date" deal_type_id: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/deal_type_id" - type: string title: String pattern: "^[0-9]+$" deal_value: anyOf: - type: number title: Number minimum: 0 - type: 'null' title: 'Null' deal_value_source: "$ref": "#/components/schemas/resource_budget/properties/deal_value_source" delivered_on: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/delivered_on" - type: 'null' title: 'Null' destroy_future_bookings: "$ref": "#/components/schemas/resource_budget/properties/destroy_future_bookings" editor_config: "$ref": "#/components/schemas/resource_budget/properties/editor_config" end_date: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/end_date" - type: 'null' title: 'Null' man_day_minutes: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/man_day_minutes" - type: 'null' title: 'Null' manual_invoicing_status_id: "$ref": "#/components/schemas/resource_budget/properties/manual_invoicing_status_id" name: allOf: - "$ref": "#/components/schemas/resource_budget/properties/name" - maxLength: 255 note: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/note" - type: 'null' title: 'Null' overtime_enabled: type: boolean position: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/position" - type: 'null' title: 'Null' probability: anyOf: - allOf: - "$ref": "#/components/schemas/resource_budget/properties/probability" - maximum: 100 minimum: 0 title: Value - type: string title: String pattern: "^[0-9]+(\\.[0-9]+)?$" - type: 'null' title: 'Null' proposal_note: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/proposal_note" - type: 'null' title: 'Null' purchase_order_number: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/purchase_order_number" - type: 'null' title: 'Null' retainer_deal_value_type: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/retainer_deal_value_type" - type: 'null' title: 'Null' retainer_interval: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/retainer_interval" - type: 'null' title: 'Null' retainer_interval_count: anyOf: - type: integer title: Integer maximum: 24 minimum: 1 - type: 'null' title: 'Null' revenue_distribution_base: anyOf: - "$ref": "#/components/schemas/_filter_deal_revenue_distribution_base" - type: 'null' title: 'Null' revenue_distribution_method: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/revenue_distribution_method" - type: 'null' title: 'Null' revenue_distribution_type: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/revenue_distribution_type" - type: 'null' title: 'Null' rounding_interval_id: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/rounding_interval_id" - type: string title: String pattern: "^[0-9]+$" - type: 'null' title: 'Null' rounding_method_id: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/rounding_method_id" - type: string title: String pattern: "^[0-9]+$" - type: 'null' title: 'Null' sales_closed_on: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/sales_closed_on" - type: 'null' title: 'Null' service_type_restricted_tracking: "$ref": "#/components/schemas/resource_budget/properties/service_type_restricted_tracking" tag_list: type: array items: type: string time_entry_requirements: type: array items: enum: - note - task type: string tracking_type_id: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/tracking_type_id" - type: string title: String pattern: "^[0-9]+$" - type: 'null' title: 'Null' validate_expense_when_closing: "$ref": "#/components/schemas/resource_budget/properties/validate_expense_when_closing" _budget_update_relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" contact: "$ref": "#/components/schemas/_single_linkage_nullable" contacts: "$ref": "#/components/schemas/_collection_linkage" designated_approver: "$ref": "#/components/schemas/_single_linkage_nullable" document_type: "$ref": "#/components/schemas/_single_linkage" origin_deal: "$ref": "#/components/schemas/_single_linkage_nullable" project: "$ref": "#/components/schemas/_single_linkage_nullable" proposal_document_type: "$ref": "#/components/schemas/_single_linkage" responsible: "$ref": "#/components/schemas/_single_linkage" subscribers: "$ref": "#/components/schemas/_collection_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage" tax_rate: "$ref": "#/components/schemas/_single_linkage_nullable" _response_object_budget: type: object title: Budget properties: attributes: type: object properties: access_to_deal: "$ref": "#/components/schemas/resource_budget/properties/access_to_deal" amount_credited: "$ref": "#/components/schemas/resource_budget/properties/amount_credited" amount_credited_default: "$ref": "#/components/schemas/resource_budget/properties/amount_credited_default" amount_credited_normalized: "$ref": "#/components/schemas/resource_budget/properties/amount_credited_normalized" applied_scenario_margin: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/applied_scenario_margin" - type: 'null' title: 'Null' billable_time: "$ref": "#/components/schemas/resource_budget/properties/billable_time" budget: "$ref": "#/components/schemas/resource_budget/properties/budget" budget_total: "$ref": "#/components/schemas/resource_budget/properties/budget_total" budget_total_default: "$ref": "#/components/schemas/resource_budget/properties/budget_total_default" budget_total_normalized: "$ref": "#/components/schemas/resource_budget/properties/budget_total_normalized" budget_used: "$ref": "#/components/schemas/resource_budget/properties/budget_used" budget_used_default: "$ref": "#/components/schemas/resource_budget/properties/budget_used_default" budget_used_normalized: "$ref": "#/components/schemas/resource_budget/properties/budget_used_normalized" budget_warning: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/budget_warning" - type: 'null' title: 'Null' budgeted_time: "$ref": "#/components/schemas/resource_budget/properties/budgeted_time" client_access: "$ref": "#/components/schemas/resource_budget/properties/client_access" closed_at: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/closed_at" - type: 'null' title: 'Null' color_id: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/color_id" - type: 'null' title: 'Null' connection_status: "$ref": "#/components/schemas/resource_budget/properties/connection_status" cost: "$ref": "#/components/schemas/resource_budget/properties/cost" cost_default: "$ref": "#/components/schemas/resource_budget/properties/cost_default" cost_normalized: "$ref": "#/components/schemas/resource_budget/properties/cost_normalized" created_at: "$ref": "#/components/schemas/resource_budget/properties/created_at" currency: "$ref": "#/components/schemas/resource_budget/properties/currency" currency_default: "$ref": "#/components/schemas/resource_budget/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_budget/properties/currency_normalized" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/custom_fields" - type: 'null' title: 'Null' date: "$ref": "#/components/schemas/resource_budget/properties/date" days_in_current_stage: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/days_in_current_stage" - type: 'null' title: 'Null' days_since_created: "$ref": "#/components/schemas/resource_budget/properties/days_since_created" days_since_last_activity: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/days_since_last_activity" - type: 'null' title: 'Null' deal_number: "$ref": "#/components/schemas/resource_budget/properties/deal_number" deal_type_id: "$ref": "#/components/schemas/resource_budget/properties/deal_type_id" deal_value: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/deal_value" - type: string title: String - type: 'null' title: 'Null' deal_value_per_period: "$ref": "#/components/schemas/resource_budget/properties/deal_value_per_period" deal_value_per_period_default: "$ref": "#/components/schemas/resource_budget/properties/deal_value_per_period_default" deal_value_per_period_normalized: "$ref": "#/components/schemas/resource_budget/properties/deal_value_per_period_normalized" deal_value_source: "$ref": "#/components/schemas/resource_budget/properties/deal_value_source" deal_value_total: "$ref": "#/components/schemas/resource_budget/properties/deal_value_total" deal_value_total_default: "$ref": "#/components/schemas/resource_budget/properties/deal_value_total_default" deal_value_total_normalized: "$ref": "#/components/schemas/resource_budget/properties/deal_value_total_normalized" deleted_at: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/deleted_at" - type: 'null' title: 'Null' delivered_on: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/delivered_on" - type: 'null' title: 'Null' discount: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/discount" - type: 'null' title: 'Null' draft_invoiced: "$ref": "#/components/schemas/resource_budget/properties/draft_invoiced" draft_invoiced_default: "$ref": "#/components/schemas/resource_budget/properties/draft_invoiced_default" draft_invoiced_normalized: "$ref": "#/components/schemas/resource_budget/properties/draft_invoiced_normalized" editor_config: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/editor_config" - type: 'null' title: 'Null' email_key: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/email_key" - type: 'null' title: 'Null' end_date: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/end_date" - type: 'null' title: 'Null' estimated_time: "$ref": "#/components/schemas/resource_budget/properties/estimated_time" exchange_date: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/exchange_date" - type: 'null' title: 'Null' exchange_rate: anyOf: - type: string title: String - type: 'null' title: 'Null' expense: "$ref": "#/components/schemas/resource_budget/properties/expense" expense_approval: "$ref": "#/components/schemas/resource_budget/properties/expense_approval" expense_default: "$ref": "#/components/schemas/resource_budget/properties/expense_default" expense_normalized: "$ref": "#/components/schemas/resource_budget/properties/expense_normalized" export_error: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/export_error" - type: 'null' title: 'Null' export_id: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/export_id" - type: 'null' title: 'Null' export_status: "$ref": "#/components/schemas/resource_budget/properties/export_status" export_url: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/export_url" - type: 'null' title: 'Null' exported: "$ref": "#/components/schemas/resource_budget/properties/exported" exported_at: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/exported_at" - type: 'null' title: 'Null' external_id: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/external_id" - type: 'null' title: 'Null' external_sync: "$ref": "#/components/schemas/resource_budget/properties/external_sync" footer: "$ref": "#/components/schemas/resource_budget/properties/footer" footer_interpolated: "$ref": "#/components/schemas/resource_budget/properties/footer_interpolated" invoiced: "$ref": "#/components/schemas/resource_budget/properties/invoiced" invoiced_default: "$ref": "#/components/schemas/resource_budget/properties/invoiced_default" invoiced_normalized: "$ref": "#/components/schemas/resource_budget/properties/invoiced_normalized" last_activity_at: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/last_activity_at" - type: 'null' title: 'Null' lost_comment: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/lost_comment" - type: 'null' title: 'Null' man_day_minutes: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/man_day_minutes" - type: 'null' title: 'Null' manual_invoicing_status_id: "$ref": "#/components/schemas/resource_budget/properties/manual_invoicing_status_id" manually_invoiced: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/manually_invoiced" - type: integer title: Integer manually_invoiced_default: "$ref": "#/components/schemas/resource_budget/properties/manually_invoiced_default" manually_invoiced_normalized: "$ref": "#/components/schemas/resource_budget/properties/manually_invoiced_normalized" name: "$ref": "#/components/schemas/resource_budget/properties/name" note: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/note" - type: 'null' title: 'Null' note_interpolated: "$ref": "#/components/schemas/resource_budget/properties/note_interpolated" number: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/number" - type: 'null' title: 'Null' origin_deal_id: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/origin_deal_id" - type: 'null' title: 'Null' overtime_time: "$ref": "#/components/schemas/resource_budget/properties/overtime_time" pending_invoicing: "$ref": "#/components/schemas/resource_budget/properties/pending_invoicing" pending_invoicing_default: "$ref": "#/components/schemas/resource_budget/properties/pending_invoicing_default" pending_invoicing_normalized: "$ref": "#/components/schemas/resource_budget/properties/pending_invoicing_normalized" position: "$ref": "#/components/schemas/resource_budget/properties/position" previous_probability: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/previous_probability" - type: 'null' title: 'Null' probability: "$ref": "#/components/schemas/resource_budget/properties/probability" profit: "$ref": "#/components/schemas/resource_budget/properties/profit" profit_default: "$ref": "#/components/schemas/resource_budget/properties/profit_default" profit_margin: anyOf: - type: number title: Number - type: string title: String profit_margin_default: "$ref": "#/components/schemas/resource_budget/properties/profit_margin_default" profit_margin_normalized: "$ref": "#/components/schemas/resource_budget/properties/profit_margin_normalized" profit_normalized: "$ref": "#/components/schemas/resource_budget/properties/profit_normalized" projected_revenue: "$ref": "#/components/schemas/resource_budget/properties/projected_revenue" projected_revenue_default: "$ref": "#/components/schemas/resource_budget/properties/projected_revenue_default" projected_revenue_normalized: "$ref": "#/components/schemas/resource_budget/properties/projected_revenue_normalized" proposal_footer: "$ref": "#/components/schemas/resource_budget/properties/proposal_footer" proposal_footer_interpolated: "$ref": "#/components/schemas/resource_budget/properties/proposal_footer_interpolated" proposal_note: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/proposal_note" - type: 'null' title: 'Null' proposal_note_interpolated: "$ref": "#/components/schemas/resource_budget/properties/proposal_note_interpolated" purchase_order_number: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/purchase_order_number" - type: 'null' title: 'Null' retainer_deal_value_type: "$ref": "#/components/schemas/resource_budget/properties/retainer_deal_value_type" retainer_interval: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/retainer_interval" - type: 'null' title: 'Null' retainer_interval_count: "$ref": "#/components/schemas/resource_budget/properties/retainer_interval_count" revenue: "$ref": "#/components/schemas/resource_budget/properties/revenue" revenue_default: "$ref": "#/components/schemas/resource_budget/properties/revenue_default" revenue_distribution_method: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/revenue_distribution_method" - type: 'null' title: 'Null' revenue_distribution_type: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/revenue_distribution_type" - type: 'null' title: 'Null' revenue_normalized: "$ref": "#/components/schemas/resource_budget/properties/revenue_normalized" rounding_interval_id: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/rounding_interval_id" - type: 'null' title: 'Null' rounding_method_id: "$ref": "#/components/schemas/resource_budget/properties/rounding_method_id" sales_closed_at: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/sales_closed_at" - type: 'null' title: 'Null' sales_closed_on: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/sales_closed_on" - type: 'null' title: 'Null' sales_status_updated_at: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/sales_status_updated_at" - type: 'null' title: 'Null' sample_data: "$ref": "#/components/schemas/resource_budget/properties/sample_data" service_type_restricted_tracking: "$ref": "#/components/schemas/resource_budget/properties/service_type_restricted_tracking" services_revenue: "$ref": "#/components/schemas/resource_budget/properties/services_revenue" services_revenue_default: "$ref": "#/components/schemas/resource_budget/properties/services_revenue_default" services_revenue_normalized: "$ref": "#/components/schemas/resource_budget/properties/services_revenue_normalized" suffix: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/suffix" - type: 'null' title: 'Null' tag_list: "$ref": "#/components/schemas/resource_budget/properties/tag_list" time_approval: "$ref": "#/components/schemas/resource_budget/properties/time_approval" time_entry_requirements: "$ref": "#/components/schemas/resource_budget/properties/time_entry_requirements" time_to_close: "$ref": "#/components/schemas/resource_budget/properties/time_to_close" todo_count: "$ref": "#/components/schemas/resource_budget/properties/todo_count" todo_due_date: anyOf: - "$ref": "#/components/schemas/resource_budget/properties/todo_due_date" - type: 'null' title: 'Null' tracking_type_id: "$ref": "#/components/schemas/resource_budget/properties/tracking_type_id" validate_expense_when_closing: "$ref": "#/components/schemas/resource_budget/properties/validate_expense_when_closing" worked_time: "$ref": "#/components/schemas/resource_budget/properties/worked_time" id: type: string relationships: type: object properties: approval_policy_assignment: "$ref": "#/components/schemas/_single_relationship" automatic_invoicing_rule: "$ref": "#/components/schemas/_single_relationship" company: "$ref": "#/components/schemas/_single_relationship" contact: "$ref": "#/components/schemas/_single_relationship" contacts: "$ref": "#/components/schemas/_collection_relationship" contract: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" custom_field_attachments: "$ref": "#/components/schemas/_collection_relationship" custom_field_people: "$ref": "#/components/schemas/_collection_relationship" designated_approver: "$ref": "#/components/schemas/_single_relationship" document_type: "$ref": "#/components/schemas/_single_relationship" expense_approval_workflow: "$ref": "#/components/schemas/_single_relationship" import: "$ref": "#/components/schemas/_single_relationship" invoice_template: "$ref": "#/components/schemas/_single_relationship" memberships: "$ref": "#/components/schemas/_collection_relationship" next_todo: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" origin_deal: "$ref": "#/components/schemas/_single_relationship" primary_contact: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" proposal_document_type: "$ref": "#/components/schemas/_single_relationship" responsible: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" tax_rate: "$ref": "#/components/schemas/_single_relationship" template: "$ref": "#/components/schemas/_single_relationship" time_approval_workflow: "$ref": "#/components/schemas/_single_relationship" type: enum: - budgets type: string required: - id - type resource_budget: type: object title: Budget Resource properties: tags: type: string title: Tags access_to_deal: title: Access To Deal accessible_by_person: type: integer title: Accessible By Person actual_rate: title: Actual Rate amount_credited: title: Amount Credited amount_credited_default: title: Amount Credited Default amount_credited_normalized: title: Amount Credited Normalized applied_scenario_margin: type: string title: Applied Scenario Margin description: Margin (%) of the last scenario applied to the deal or budget. Null when no scenario was applied. approval_policy_assignment: title: Approval Policy Assignment approval_policy_id: type: integer title: Approval Policy automatic_invoicing_rule: title: Automatic Invoicing Rule billable_time: type: integer title: Billable Time budget: type: boolean title: Budget budget_remaining: title: Budget Remaining budget_status: enum: - 1 - 2 type: integer title: Budget Status budget_total: title: Budget Total budget_total_default: title: Budget Total Default budget_total_normalized: title: Budget Total Normalized budget_usage: type: number title: Budget Usage budget_used: title: Budget Used budget_used_default: title: Budget Used Default budget_used_normalized: title: Budget Used Normalized budget_warning: type: integer title: Budget Warning budgeted_time: type: integer title: Budgeted Time budgets_first: title: Budgets First client_access: type: boolean title: Client Access closed_at: type: string title: Closed At format: date-time color_id: type: integer title: Color company: title: Company company_id: type: integer title: Company company_name: title: Company Name connection_status: title: Connection Status contact: title: Contact contact_id: type: integer title: Contact contact_ids: title: Contact Ids contact_name: title: Contact Name contacts: title: Contacts contract: title: Contract contract_id: type: integer title: Contract cost: title: Cost cost_default: title: Cost Default cost_normalized: title: Cost Normalized created_at: type: string title: Created At format: date-time creator: title: Creator creator_id: type: integer title: Creator creator_name: title: Creator Name credited: title: Credited currency: type: string title: Currency currency_default: title: Currency Default currency_normalized: title: Currency Normalized custom_field_attachments: title: Custom Field Attachments custom_field_people: title: Custom Field People custom_fields: type: object title: Custom Fields date: type: string title: Date format: date days_in_current_stage: type: integer title: Days In Current Stage days_since_created: type: integer title: Days Since Created days_since_last_activity: type: integer title: Days Since Last Activity deal_number: title: Deal Number deal_status_id: type: integer title: Deal Status deal_type_id: enum: - 1 - 2 type: integer title: Deal Type deal_value: type: number title: Deal Value deal_value_per_period: title: Deal Value Per Period deal_value_per_period_default: title: Deal Value Per Period Default deal_value_per_period_normalized: title: Deal Value Per Period Normalized deal_value_source: enum: - from_services - manual type: string title: Deal Value Source deal_value_total: title: Deal Value Total deal_value_total_default: title: Deal Value Total Default deal_value_total_normalized: title: Deal Value Total Normalized deals_first: title: Deals First deleted_at: type: string title: Deleted At format: date-time delivered_on: type: string title: Delivered On format: date designated_approver: title: Designated Approver designated_approver_id: type: integer title: Designated Approver destroy_future_bookings: type: boolean title: Destroy Future Bookings discount: type: number title: Discount document_type: title: Document Type document_type_id: type: integer title: Document Type draft_invoiced: title: Draft Invoiced draft_invoiced_default: title: Draft Invoiced Default draft_invoiced_normalized: title: Draft Invoiced Normalized editor_config: type: object title: Editor Config email_key: type: string title: Email Key end_date: type: string title: End Date format: date estimated_cost: title: Estimated Cost estimated_remaining_time: type: integer title: Estimated Remaining Time estimated_time: type: integer title: Estimated Time exchange_date: type: string title: Exchange Date format: date exchange_rate: type: number title: Exchange Rate expense: title: Expense expense_approval: type: boolean title: Expense Approval expense_approval_workflow: title: Expense Approval Workflow expense_default: title: Expense Default expense_normalized: title: Expense Normalized expenses_billable: title: Expenses Billable export_error: type: object title: Export Error properties: detail: type: string title: type: string export_id: type: string title: Export export_status: enum: - pending - failed - exported - unexported type: string title: Export Status export_url: type: string title: Export Url exported: type: boolean title: Exported exported_at: type: string title: Exported At format: date-time external_id: type: string title: External external_sync: type: boolean title: External Sync footer: title: Footer footer_interpolated: title: Footer Interpolated forecasted_billable_time: type: integer title: Forecasted Billable Time forecasted_budget_usage: type: number title: Forecasted Budget Usage forecasted_budget_used: title: Forecasted Budget Used forecasted_cost: title: Forecasted Cost forecasted_margin: type: number title: Forecasted Margin forecasted_profit: title: Forecasted Profit forecasted_revenue: title: Forecasted Revenue forecasted_time_usage: type: number title: Forecasted Time Usage full_query: type: string title: Full Query future_booked_time: type: integer title: Future Booked Time future_budget_used: title: Future Budget Used future_cost: title: Future Cost future_revenue: title: Future Revenue fuzzy_dates: type: string title: Fuzzy Dates format: date fuzzy_people: type: integer title: Fuzzy People id: type: integer title: Id import: title: Import invoice_template: title: Invoice Template invoiced: title: Invoiced invoiced_default: title: Invoiced Default invoiced_normalized: title: Invoiced Normalized invoiced_percentage: type: integer title: Invoiced Percentage invoiced_rate: title: Invoiced Rate jump_query: type: string title: Jump Query last_activity_at: type: string title: Last Activity At format: date-time lost_at: type: string title: Lost At format: date lost_comment: type: string title: Lost Comment lost_date: type: string title: Lost Date format: date lost_reason_id: type: integer title: Lost Reason man_day_minutes: type: integer title: Man Day Minutes manual_invoicing_status: type: boolean title: Manual Invoicing Status manual_invoicing_status_id: enum: - 1 - 2 type: integer title: Manual Invoicing Status manually_invoiced: enum: - 1 - 2 type: integer title: Manually Invoiced manually_invoiced_default: title: Manually Invoiced Default manually_invoiced_normalized: title: Manually Invoiced Normalized memberships: title: Memberships name: type: string title: Name needs_closing: type: boolean title: Needs Closing needs_invoicing: type: boolean title: Needs Invoicing next_occurrence_on: type: string title: Next Occurrence On format: date next_todo: title: Next Todo note: type: string title: Note note_interpolated: title: Note Interpolated number: type: string title: Number organization: title: Organization origin_deal: title: Origin Deal origin_deal_id: type: integer title: Origin Deal overtime_time: type: integer title: Overtime Time description: Total tracked overtime time across the budget services in minutes (approved and unapproved, without rejected entries). Subset of worked_time. parent_company_id: type: integer title: Parent Company pending_invoicing: title: Pending Invoicing pending_invoicing_default: title: Pending Invoicing Default pending_invoicing_normalized: title: Pending Invoicing Normalized pipeline_id: type: integer title: Pipeline position: type: integer title: Position previous_deal_status_id: type: integer title: Previous Deal Status previous_or_current_deal_status_id: type: integer title: Previous Or Current Deal Status previous_probability: type: integer title: Previous Probability primary_contact: title: Primary Contact probability: type: number title: Probability profit: title: Profit profit_default: title: Profit Default profit_margin: type: number title: Profit Margin profit_margin_default: title: Profit Margin Default profit_margin_normalized: title: Profit Margin Normalized profit_normalized: title: Profit Normalized project: title: Project project_id: type: integer title: Project project_name: title: Project Name project_type: enum: - 1 - 2 type: integer title: Project Type projected_revenue: title: Projected Revenue projected_revenue_default: title: Projected Revenue Default projected_revenue_normalized: title: Projected Revenue Normalized proposal_document_type: title: Proposal Document Type proposal_document_type_id: type: integer title: Proposal Document Type proposal_footer: title: Proposal Footer proposal_footer_interpolated: title: Proposal Footer Interpolated proposal_note: type: string title: Proposal Note proposal_note_interpolated: title: Proposal Note Interpolated purchase_order_number: type: string title: Purchase Order Number query: type: string title: Query recurring: type: boolean title: Recurring recurring_ends_on: type: string title: Recurring Ends On format: date recurring_interval_id: enum: - 3 - 2 - 1 - 6 - 5 - 4 type: integer title: Recurring Interval recurring_starts_on: type: string title: Recurring Starts On format: date responsible: title: Responsible responsible_id: type: integer title: Responsible responsible_name: title: Responsible Name retainer_deal_value_type: enum: - total - per_interval type: string title: Retainer Deal Value Type retainer_interval: enum: - week - two_weeks - month - quarter - half_year - year type: string title: Retainer Interval retainer_interval_count: type: integer title: Retainer Interval Count revenue: title: Revenue revenue_default: title: Revenue Default revenue_distribution_end_on: type: string title: Revenue Distribution End On format: date revenue_distribution_method: enum: - percentage - amount type: string title: Revenue Distribution Method revenue_distribution_start_on: type: string title: Revenue Distribution Start On format: date revenue_distribution_type: enum: - default - even - custom type: string title: Revenue Distribution Type revenue_normalized: title: Revenue Normalized rounding_interval_id: enum: - 1 - 2 - 3 type: integer title: Rounding Interval rounding_method_id: enum: - 1 - 2 - 3 - 4 type: integer title: Rounding Method sales_closed_at: type: string title: Sales Closed At format: date-time sales_closed_on: type: string title: Sales Closed On format: date sales_status_id: enum: - 1 - 2 - 3 type: integer title: Sales Status sales_status_updated_at: type: string title: Sales Status Updated At format: date-time sample_data: type: boolean title: Sample Data service_type_restricted_tracking: type: boolean title: Service Type Restricted Tracking services_revenue: title: Services Revenue services_revenue_default: title: Services Revenue Default services_revenue_normalized: title: Services Revenue Normalized stage_status: title: Stage Status stage_status_id: enum: - 1 - 2 - 3 type: integer title: Stage Status stage_updated_at: type: string title: Stage Updated At format: date status: enum: - 1 - 2 type: integer title: Status status_id: type: integer title: Status subscriber_id: type: integer title: Subscriber subscriber_ids: title: Subscriber Ids subsidiary: title: Subsidiary subsidiary_id: type: integer title: Subsidiary suffix: type: string title: Suffix tag_list: title: Tag List tax_rate: title: Tax Rate tax_rate_id: type: integer title: Tax Rate template: type: string title: Template time_approval: type: boolean title: Time Approval time_approval_workflow: title: Time Approval Workflow time_entry_requirements: type: array items: enum: - note - task type: string title: Time Entry Requirements time_to_close: title: Time To Close todo_count: type: integer title: Todo Count todo_due_date: type: string title: Todo Due Date format: date tracking_type_id: enum: - 1 - 2 - 3 type: integer title: Tracking Type type: enum: - 1 - 2 type: integer title: Type unapproved_time: type: integer title: Unapproved Time validate_expense_when_closing: type: boolean title: Validate Expense When Closing won_at: type: string title: Won At format: date won_date: type: string title: Won Date format: date work_cost: title: Work Cost worked_time: type: integer title: Worked Time _response_object_project: type: object title: Project properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_project/properties/archived_at" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_project/properties/created_at" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_project/properties/custom_fields" - type: 'null' title: 'Null' description: anyOf: - "$ref": "#/components/schemas/resource_project/properties/description" - type: 'null' title: 'Null' duplication_status: "$ref": "#/components/schemas/resource_project/properties/duplication_status" export_error: anyOf: - "$ref": "#/components/schemas/resource_project/properties/export_error" - type: 'null' title: 'Null' export_id: anyOf: - "$ref": "#/components/schemas/resource_project/properties/export_id" - type: 'null' title: 'Null' export_status: "$ref": "#/components/schemas/resource_project/properties/export_status" export_url: anyOf: - "$ref": "#/components/schemas/resource_project/properties/export_url" - type: 'null' title: 'Null' exported: "$ref": "#/components/schemas/resource_project/properties/exported" exported_at: anyOf: - "$ref": "#/components/schemas/resource_project/properties/exported_at" - type: 'null' title: 'Null' external_deal_id: anyOf: - "$ref": "#/components/schemas/resource_project/properties/external_deal_id" - type: 'null' title: 'Null' last_activity_at: anyOf: - "$ref": "#/components/schemas/resource_project/properties/last_activity_at" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_project/properties/name" number: anyOf: - "$ref": "#/components/schemas/resource_project/properties/number" - type: 'null' title: 'Null' page_custom_fields_ids: anyOf: - "$ref": "#/components/schemas/resource_project/properties/page_custom_fields_ids" - type: 'null' title: 'Null' page_custom_fields_positions: anyOf: - "$ref": "#/components/schemas/resource_project/properties/page_custom_fields_positions" - type: 'null' title: 'Null' preferences: anyOf: - "$ref": "#/components/schemas/resource_project/properties/preferences" - type: 'null' title: 'Null' project_color_id: anyOf: - "$ref": "#/components/schemas/resource_project/properties/project_color_id" - type: 'null' title: 'Null' project_number: anyOf: - "$ref": "#/components/schemas/resource_project/properties/project_number" - type: 'null' title: 'Null' project_type_id: "$ref": "#/components/schemas/resource_project/properties/project_type_id" sample_data: "$ref": "#/components/schemas/resource_project/properties/sample_data" tag_colors: "$ref": "#/components/schemas/resource_project/properties/tag_colors" task_custom_fields_ids: anyOf: - "$ref": "#/components/schemas/resource_project/properties/task_custom_fields_ids" - type: 'null' title: 'Null' task_custom_fields_positions: anyOf: - "$ref": "#/components/schemas/resource_project/properties/task_custom_fields_positions" - type: 'null' title: 'Null' template: "$ref": "#/components/schemas/resource_project/properties/template" id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" custom_field_attachments: "$ref": "#/components/schemas/_collection_relationship" custom_field_people: "$ref": "#/components/schemas/_collection_relationship" import: "$ref": "#/components/schemas/_single_relationship" last_actor: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project_manager: "$ref": "#/components/schemas/_single_relationship" project_milestones: "$ref": "#/components/schemas/_collection_relationship" template_object: "$ref": "#/components/schemas/_single_relationship" workflow: "$ref": "#/components/schemas/_single_relationship" memberships: "$ref": "#/components/schemas/_collection_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - projects type: string required: - id - type _response_object_bank_account: type: object title: Bank account properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_bank_account/properties/archived_at" - type: 'null' title: 'Null' bank_address: anyOf: - "$ref": "#/components/schemas/resource_bank_account/properties/bank_address" - type: 'null' title: 'Null' bank_name: anyOf: - "$ref": "#/components/schemas/resource_bank_account/properties/bank_name" - type: 'null' title: 'Null' currency: anyOf: - "$ref": "#/components/schemas/resource_bank_account/properties/currency" - type: 'null' title: 'Null' local_bank_code: anyOf: - "$ref": "#/components/schemas/resource_bank_account/properties/local_bank_code" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_bank_account/properties/name" number: anyOf: - "$ref": "#/components/schemas/resource_bank_account/properties/number" - type: 'null' title: 'Null' swift_code: anyOf: - "$ref": "#/components/schemas/resource_bank_account/properties/swift_code" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - bank_accounts type: string required: - id - type _time_tracking_policy_attributes: type: object properties: time_range_mandatory: type: boolean description: anyOf: - type: string title: String maxLength: 1024 - type: 'null' title: 'Null' disabled_tracking_message: anyOf: - type: string title: String maxLength: 512 - type: 'null' title: 'Null' full_day_absence_limit: anyOf: - type: integer title: Integer maximum: 1440 minimum: 0 - type: 'null' title: 'Null' half_day_absence_limit: anyOf: - type: integer title: Integer maximum: 1440 minimum: 0 - type: 'null' title: 'Null' holiday_limit: anyOf: - type: integer title: Integer maximum: 1440 minimum: 0 - type: 'null' title: 'Null' limited_tracking_message: anyOf: - type: string title: String maxLength: 512 - type: 'null' title: 'Null' name: type: string maxLength: 255 non_working_day_limit: anyOf: - type: integer title: Integer maximum: 1440 minimum: 0 - type: 'null' title: 'Null' overtime_cost_multiplier: type: number minimum: 0 overtime_enabled: type: boolean restrict_future_tracking: type: boolean restrict_time_entry_overlap: type: boolean restrict_tracking_over_budget: type: boolean time_off_availability_overflow_limit: anyOf: - type: integer title: Integer maximum: 1440 minimum: 0 - type: 'null' title: 'Null' working_day_limit: anyOf: - type: integer title: Integer maximum: 1440 minimum: 0 - type: 'null' title: 'Null' error_code_project: enum: - bad_decimal_format - company_export_missing_relationship_value - custom_field_invalid_option - custom_field_invalid_person - custom_field_not_found - custom_field_value_not_date - custom_field_value_not_number - custom_field_value_not_string - custom_field_value_out_of_range - custom_field_value_too_long - folders_required - integration_deactivated - integration_not_found - invalid_attribute_value - invalid_workflow - netsuite_integration_feature_unavailable - netsuite_project_ambiguous - non_finite_number - null_bytes_in_params - project_client_with_own_company - project_company_change_on_invoiced_budget - project_copy_invalid - project_export_missing_relationship_value - project_export_not_supported - project_exported_to_different_account - project_missing_subsidiary - project_source_mismatch - projects_export_not_enabled - required_custom_field - role_bill_rate_setting_disabled - sharing_required - task_lists_required - tasks_required - template_required_for_navigation_tabs - workflow_outside_subsidiary - workflow_status_count_invalid - workflow_statuses_invalid - workflow_statuses_required type: string title: Error Code description: Every error `code` the project endpoints can return. error_code_project_milestone: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the project milestone endpoints can return. error_code_project_preference: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - project_preference_already_exists - project_preference_placeholder_not_allowed type: string title: Error Code description: Every error `code` the project preference endpoints can return. resource_subsidiary: type: object title: Subsidiary Resource description: A legal entity within the organization with its own billing identity, tax rates, bank accounts, and address. properties: archived_at: type: string title: Archived At format: date-time description: Timestamp when the subsidiary was archived, or null if active. example: gt: '2026-01-01' bill_from: title: Bill From description: Billing address details used on invoices issued by this subsidiary. example: eq: value custom_domain: title: Custom Domain description: Custom email domain linked to this subsidiary for outgoing communication. example: eq: value custom_domain_id: type: integer title: Custom Domain description: ID of the custom domain linked to this subsidiary for email sending. example: - 123 default_bank_account: title: Default Bank Account description: Default bank account used for outgoing payments from this subsidiary. example: gt: 0 default_bank_account_id: type: integer title: Default Bank Account description: ID of the default bank account for this subsidiary. example: - 123 default_document_type: title: Default Document Type description: Default document type template applied to invoices from this subsidiary. example: eq: active default_document_type_id: type: integer title: Default Document Type description: Default document type (PDF template) applied to invoices from this subsidiary. example: - 123 default_tax_rate: title: Default Tax Rate description: Default tax rate applied to invoice line items for this subsidiary. example: gt: 0 default_tax_rate_id: type: integer title: Default Tax Rate description: ID of the default tax rate for this subsidiary. example: - 123 einvoice_configuration: title: Einvoice Configuration description: E-invoicing configuration for this subsidiary (formats, routing, transmission settings). example: data: type: einvoice_configurations id: '1234' einvoice_identity: title: Einvoice Identity description: E-invoicing identity details for this subsidiary (PEPPOL endpoint, routing identifiers). example: data: type: einvoice_identities id: '568' export_integration_type_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 type: integer title: Export Integration Type description: Integration type used for exporting documents from this subsidiary. example: - 123 facility_costs: title: Facility Costs description: Monthly facility/overhead costs allocated to this subsidiary. example: eq: value facility_costs_breakdown: type: object title: Facility Costs Breakdown description: Breakdown of facility costs into component categories. example: eq: value facility_costs_default: title: Facility Costs Default description: Facility costs in the organization's default currency. example: eq: value facility_costs_normalized: title: Facility Costs Normalized description: Facility costs normalized to a common currency for cross-subsidiary comparison. example: eq: value id: type: integer title: Id description: The unique identifier of this subsidiary. example: - 123 integration: title: Integration description: Linked accounting or export integration for this subsidiary. example: eq: value invoice_logo_url: type: string title: Invoice Logo Url description: The URL of the logo image used on invoices for this subsidiary. example: eq: value invoice_number_format: type: string title: Invoice Number Format description: The format template for generating invoice numbers for this subsidiary (e.g. INV-{year}-{number}). example: eq: value invoice_number_scope: type: string title: Invoice Number Scope description: The scope that determines invoice number sequencing — whether numbers are shared across the organization or unique per subsidiary. example: eq: value name: type: string title: Name description: Display name of the subsidiary legal entity. example: eq: value organization: title: Organization description: The organization this subsidiary belongs to. example: eq: value show_delivery_date: type: boolean title: Show Delivery Date description: When true, the delivery date is shown on invoices generated for this subsidiary. example: gt: '2026-01-01' status: type: integer title: Status description: The status of this subsidiary, indicating whether it is active or archived. example: eq: active avatar_url: type: string title: Avatar Url example: id: '123' type: subsidiaries attributes: name: Agency EU country: DE currency: EUR relationships: {} resource_bank_account: type: object title: Bank account Resource description: A bank account linked to a subsidiary, storing bank name, account number, currency, and SWIFT details. properties: 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' bank_address: type: string title: Bank Address description: The physical address of the bank associated with this account. example: eq: value bank_name: type: string title: Bank Name description: The name of the bank associated with this account. 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 id: type: integer title: Id description: Unique identifier for the bank account. example: - 123 name: type: string title: Name description: The display name of the bank account. 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 status: enum: - 1 - 2 type: integer title: Status description: The current status of the bank account (e.g. active or archived). example: eq: active subsidiary: title: Subsidiary description: The subsidiary 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 swift_code: type: string title: Swift Code description: The SWIFT/BIC code identifying the bank in international transactions. example: eq: value local_bank_code: type: string title: Local Bank Code maxLength: 30 description: Local bank code such as a sort code, routing number, BSB or IFSC. Optional, up to 30 characters, no format validation. 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' resource_contract: type: object title: Contract Resource description: A recurring retainer contract that auto-generates budgets at set intervals with optional rollover of unused amounts. properties: contract_interval_id: type: integer title: Contract Interval description: ID of the recurrence interval (e.g. monthly, quarterly, annually) for this contract. example: - 123 copy_expenses: type: boolean title: Copy Expenses description: Whether to copy expenses from the template. example: eq: value copy_purchase_order_number: type: boolean title: Copy Purchase Order Number description: Whether to copy the purchase order number. example: PO-2024-017 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 id: type: integer title: Id description: The unique identifier of this contract. example: - 123 interval_id: type: integer title: Interval description: ID of the recurrence interval of this contract (alias for contract_interval_id). example: - 123 next_occurrence_on: type: string title: Next Occurrence On format: date description: The date of the next occurrence. example: eq: value organization: title: Organization description: The organization this contract belongs to. example: eq: value starts_on: type: string title: Starts On format: date description: Date when this contract starts. example: eq: value template: title: Template description: The budget used as the template for generating new budgets from this contract. 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 use_rollover_hours: type: boolean title: Use Rollover Hours description: Whether to roll over unused hours. example: eq: value generate_until: type: string title: Generate Until format: date description: Optional. Generates every budget starting on or before this date (max 12) instead of just the next one. 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_notification: type: object title: Notification Resource description: An inbox notification for a user about changes to subscribed entities. properties: actor: title: Actor description: The person who performed the action that triggered this notification. example: eq: value 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 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 changeset: title: Changeset description: A summary of the field changes that triggered 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 date_before: type: string title: Date Before format: date description: The start of the date range for filtering notification activity. example: eq: value dismissed: type: boolean title: Dismissed description: When true, this notification has been dismissed by the user. example: eq: value excerpt: title: Excerpt description: A short preview of the content that triggered this notification. 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 id: type: integer title: Id description: Unique identifier for the notification. 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 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' 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 mention: type: boolean title: Mention description: When true, the current user was directly mentioned in the content that triggered this notification. 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 organization: title: Organization description: The organization this notification belongs to. example: eq: value owner: title: Owner description: The organization membership (inbox) that owns this notification. example: eq: value 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 parent_title: title: Parent Title description: The display name of the parent resource containing the notification target. example: eq: value parent_type: title: Parent Type description: The type of the parent resource containing the notification target. example: eq: active project_id: type: integer title: Project description: The ID of the project associated with the notification target. example: - 123 read: type: boolean title: Read description: When true, the current user has read 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 root_type: title: Root Type description: The type of the root resource this notification traces back to. example: eq: active target_id: type: integer title: Target description: The ID of the target resource this notification is about. example: - 123 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 target_title: title: Target Title description: The display name of the target resource this notification is about. example: eq: value 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 title: title: Title description: The localized title text describing what happened in 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 agent_session_status: title: Agent Session Status description: What happened in an agent chat ("has finished"); null for other targets 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_booking: type: object title: Booking Resource description: A booking represents planned work or an absence scheduled for a person, linked to a service or absence category. properties: tags: type: integer title: Tags description: Tags associated with this booking. example: - 123 after: type: string title: After format: date description: Internal field used for date-range filtering. example: eq: value 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 approval_statuses: title: Approval Statuses description: Per-approver approval status records for this booking. example: eq: active approved: type: boolean title: Approved description: Indicates whether the booking has been approved. example: true 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' approver: title: Approver description: The person who approved this booking. example: eq: value approver_id: type: integer title: Approver description: The ID of the person who approved this booking. example: - 123 attachment_ids: type: array items: type: integer description: ID of an attachment linked to the booking. example: 123 title: Attachment Ids description: Array of IDs of files attached to this booking. example: - 123 - 456 attachments: title: Attachments description: Files attached to this booking. example: eq: value autotracking: type: boolean title: Autotracking description: When true, time entries are automatically tracked against this booking. example: eq: value before: type: string title: Before format: date description: Internal field used for date-range filtering. example: eq: value 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 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 booking_type: type: string title: Booking Type description: Whether this is a project booking or an absence booking. example: eq: active budget_id: type: integer title: Budget description: ID of the budget (deal) associated with the booking's service. example: - 123 canceled: type: boolean title: Canceled description: Whether this booking has been canceled. example: eq: value canceled_at: type: string title: Canceled At format: date-time description: Date when the booking was canceled. example: gt: '2026-01-01' canceler: title: Canceler description: The person who canceled this booking. example: eq: value company_id: type: integer title: Company description: ID of the client company associated with this booking. example: - 123 created_at: type: string title: Created At format: date-time description: Date when the booking was created. example: gt: '2026-01-01' creator: title: Creator description: The person who created this booking. 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' custom_field_people: title: Custom Field People description: People linked via custom fields on this booking. example: eq: value custom_fields: type: object title: Custom Fields description: Custom field values for this booking. example: eq: value draft: type: boolean title: Draft description: Whether the booking is tentative (draft) or confirmed. example: eq: value ended_on: type: string title: Ended On format: date description: Booking end date. example: eq: value event: title: Event description: The absence event category (e.g. vacation, sick leave) for absence bookings. example: eq: value event_id: type: integer title: Event description: ID of the absence event category for this booking. example: - 123 external_id: type: string title: External description: External identifier for integration with third-party systems. example: - 123 hours: type: integer title: Hours description: Scheduled hours per day for this booking. example: eq: value id: type: integer title: Id description: Unique identifier of the booking. example: - 123 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' note: type: string title: Note description: An optional note or description for this booking. example: eq: value organization: title: Organization description: The organization this booking belongs to. example: eq: value origin: title: Origin description: The booking origin (e.g. the resource request that generated this booking). example: eq: value origin_id: type: integer title: Origin description: The ID of the origin record (e.g. resource request) that created this booking. example: - 123 people_custom_fields: type: string title: People Custom Fields description: Custom field values defined on the assigned person. example: eq: value percentage: type: integer title: Percentage description: Scheduled time as a percentage of the person's daily capacity. example: eq: value person: title: Person description: The person assigned to this booking. example: eq: value person_id: type: integer title: Person description: ID of the person assigned to this booking. example: - 123 person_subsidiary_id: type: integer title: Person Subsidiary description: ID of the subsidiary the assigned person belongs to. example: - 123 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 project_id: type: integer title: Project description: ID of the project this booking relates to. example: - 123 project_type: enum: - 1 - 2 type: integer title: Project Type description: Type of the associated project (e.g. billable or internal). example: eq: active rejected: type: boolean title: Rejected description: Whether this booking has been rejected. example: false rejected_at: type: string title: Rejected At format: date-time description: Date when the booking was rejected. example: gt: '2026-01-01' rejected_reason: type: string title: Rejected Reason description: Reason provided when the booking was rejected. example: Overlaps with an already approved vacation rejecter: title: Rejecter description: The person who rejected this booking. example: eq: value resource_request: title: Resource Request description: The resource request this booking fulfills, if applicable. example: eq: value resource_request_id: type: integer title: Resource Request description: ID of the resource request this booking fulfills. example: - 123 scenario_item: title: Scenario Item description: The scenario item this booking is linked to, if created from a scenario. example: eq: value service: title: Service description: The budget service being scheduled in this booking. example: eq: value service_id: type: integer title: Service description: The ID of the service this booking is scheduled against. 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 started_on: type: string title: Started On format: date description: The start date of the booking. example: eq: value status: enum: - 1 - 2 - 3 - 5 type: integer title: Status description: The current approval status of the booking (e.g. pending, approved, rejected). example: eq: 2 task: title: Task description: The task associated with this booking, if applicable. example: eq: value task_id: type: integer title: Task description: The ID of the task associated with this booking, if applicable. example: - 123 time: type: integer title: Time description: The booked time in minutes per day. example: gt: 0 total_time: type: integer title: Total Time description: The total booked time in minutes across the entire booking period. example: gt: 0 total_working_days: type: integer title: Total Working Days description: The total number of working days covered by this booking. example: eq: value updated_at: type: string title: Updated At format: date-time description: Timestamp when this booking was last updated. example: gt: '2026-01-01' updater: title: Updater description: The person who last updated 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 with_draft: type: boolean title: With Draft description: When true, draft bookings are included in availability and planning views. example: eq: value parent_company_id: type: integer title: Parent Company 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_booking: type: object title: Filter booking patternProperties: "^task\\..+$": title: Task relationship "^event\\..+$": title: Event relationship "^person\\..+$": title: Person relationship "^service\\..+$": title: Service relationship description: Filters bookings (scheduled allocations of people to work or time-off events). properties: tags: "$ref": "#/components/schemas/_filter_id_eq" after: "$ref": "#/components/schemas/_filter_date" approval_status: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/approval_status" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking/properties/approval_status" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/approval_status" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking/properties/approval_status" title: List - "$ref": "#/components/schemas/resource_booking/properties/approval_status" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking/properties/approval_status" title: List description: Filter by approval status. Use eq/not_eq to match a specific approval status value. example: eq: active approved_at: "$ref": "#/components/schemas/_filter_date" approver_id: "$ref": "#/components/schemas/_filter_id" autotracking: "$ref": "#/components/schemas/_filter_boolean" before: "$ref": "#/components/schemas/_filter_date" billing_type_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/billing_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking/properties/billing_type_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/billing_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking/properties/billing_type_id" title: List contains: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/billing_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking/properties/billing_type_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/billing_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking/properties/billing_type_id" title: List - "$ref": "#/components/schemas/resource_booking/properties/billing_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking/properties/billing_type_id" title: List description: Filter by billing type. example: - 123 booking_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking/properties/booking_type" not_eq: "$ref": "#/components/schemas/resource_booking/properties/booking_type" - "$ref": "#/components/schemas/resource_booking/properties/booking_type" description: Filter by booking type — project booking or absence booking. example: eq: active budget_id: "$ref": "#/components/schemas/_filter_id_eq" canceled: "$ref": "#/components/schemas/_filter_boolean" canceled_at: "$ref": "#/components/schemas/_filter_date" company_id: "$ref": "#/components/schemas/_filter_id_eq" created_at: "$ref": "#/components/schemas/_filter_date" custom_fields: "$ref": "#/components/schemas/_filter_custom_fields" draft: "$ref": "#/components/schemas/_filter_boolean" ended_on: "$ref": "#/components/schemas/_filter_date" event_id: "$ref": "#/components/schemas/_filter_id" id: "$ref": "#/components/schemas/_filter_id" last_activity_at: "$ref": "#/components/schemas/_filter_date" note: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking/properties/note" not_eq: "$ref": "#/components/schemas/resource_booking/properties/note" contains: "$ref": "#/components/schemas/resource_booking/properties/note" not_contain: "$ref": "#/components/schemas/resource_booking/properties/note" - "$ref": "#/components/schemas/resource_booking/properties/note" description: Filter by booking note text content. example: eq: value origin_id: "$ref": "#/components/schemas/_filter_booking_id_eq_blank" people_custom_fields: "$ref": "#/components/schemas/_filter_custom_fields" person_id: "$ref": "#/components/schemas/_filter_id" person_subsidiary_id: "$ref": "#/components/schemas/_filter_id_eq" person_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking/properties/person_type" not_eq: "$ref": "#/components/schemas/resource_booking/properties/person_type" - "$ref": "#/components/schemas/resource_booking/properties/person_type" description: Filter by the type of person assigned (e.g. employee, contractor, placeholder). example: eq: active project_id: "$ref": "#/components/schemas/_filter_booking_id_eq_blank" project_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/project_type" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking/properties/project_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/project_type" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking/properties/project_type" title: List - "$ref": "#/components/schemas/resource_booking/properties/project_type" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking/properties/project_type" title: List description: Filter by project type (e.g. billable or internal). example: eq: active rejected_at: "$ref": "#/components/schemas/_filter_date" resource_request_id: "$ref": "#/components/schemas/_filter_id" stage_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking/properties/stage_type" not_eq: "$ref": "#/components/schemas/resource_booking/properties/stage_type" - "$ref": "#/components/schemas/resource_booking/properties/stage_type" description: Filter by the stage type of the booking's associated deal. example: eq: active started_on: "$ref": "#/components/schemas/_filter_date" status: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/status" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking/properties/status" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/status" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking/properties/status" title: List - "$ref": "#/components/schemas/resource_booking/properties/status" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking/properties/status" title: List description: Filter by booking status (e.g. pending, approved, rejected). example: eq: 2 task_id: "$ref": "#/components/schemas/_filter_id" updated_at: "$ref": "#/components/schemas/_filter_date" with_draft: "$ref": "#/components/schemas/_filter_boolean" parent_company_id: "$ref": "#/components/schemas/_filter_booking_id_eq_blank" absence_type: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String - type: array items: type: string title: List of strings date: "$ref": "#/components/schemas/_filter_date" service_id: "$ref": "#/components/schemas/_filter_id" service_type_id: "$ref": "#/components/schemas/_filter_id_eq" time: "$ref": "#/components/schemas/_filter_number" example: started_on: gte: '2026-01-01' person_id: - 12 resource_memory: type: object title: Memory Resource properties: applies_to_project: type: - integer - 'null' title: Applies To Project description: Recall set for one session — the memories that hold everywhere plus those scoped to the given project. Blank leaves only the global ones. body: type: - string - 'null' title: Body maxLength: 2000 created_at: type: string title: Created At format: date-time id: type: integer title: Id last_updated_by_session_id: type: - integer - 'null' title: Last Updated By Session readOnly: true description: Id of the agent session that last wrote the memory, re-stamped on every save by resolving the X-Agent-Session-Id request header to a session; null when the header is absent or matches no session memory_type: type: string title: Memory Type maxLength: 255 person: title: Person project: title: Project project_id: type: - integer - 'null' title: Project query: type: string title: Query title: type: string title: Title maxLength: 255 updated_at: type: string title: Updated At format: date-time filter_search_deal_mention: type: object title: Filter search deal mention properties: ai_search: "$ref": "#/components/schemas/resource_search_quick_result/properties/ai_search" deal_id: type: string title: Deal Id description: Deal or budget the comment is written on deep_search: "$ref": "#/components/schemas/resource_search_quick_result/properties/deep_search" query: "$ref": "#/components/schemas/resource_search_quick_result/properties/query" root_page_id: "$ref": "#/components/schemas/resource_search_quick_result/properties/root_page_id" status: "$ref": "#/components/schemas/resource_search_quick_result/properties/status" type: "$ref": "#/components/schemas/resource_search_quick_result/properties/type" required: - deal_id resource_company_report: type: object title: Company report Resource description: An aggregated company report row grouping client companies by configurable dimensions with revenue, invoicing, and relationship metrics. properties: tags: type: string title: Tags description: List of tags applied to the company. 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' billing_name: type: string title: Billing Name description: Billing name for this company report group. example: eq: value company: title: Company description: Company for this company report group. example: eq: value company_billing_name: title: Company Billing Name description: Company billing name for this company report group. example: eq: value company_code: type: string title: Company Code description: Unique identifier code assigned to the company. example: eq: value company_created_at: title: Company Created At description: Date and time when the company was created. example: gt: '2026-01-01' company_custom_fields: title: Company Custom Fields description: Custom field values associated with the company. example: eq: value company_id: type: integer title: Company description: Unique identifier of the company. example: - 123 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' company_name: title: Company Name description: Display name of the company. example: eq: value contact_address: title: Contact Address description: Street address of the company's primary contact. example: eq: value contact_city: title: Contact City description: City of the company's primary contact. example: eq: value contact_country: title: Contact Country description: Country of the company's primary contact. example: gt: 0 contact_email: title: Contact Email description: Email address of the company's primary contact. example: eq: value contact_phone: title: Contact Phone description: Phone number of the company's primary contact. example: eq: value contact_state: title: Contact State description: State or province of the company's primary contact. example: eq: active contact_website: title: Contact Website description: Website URL of the company's primary contact. example: eq: value contact_zipcode: title: Contact Zipcode description: Contact zipcode for this company report group. example: eq: value count: type: integer title: Count description: Number of companys in this report group. example: gt: 0 created_at: type: string title: Created At format: date description: Created at for this company report group. 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' currency: title: Currency description: Currency code used for monetary values in this report row. example: eq: value currency_default: title: Currency Default description: Default currency code of the company. example: eq: value currency_normalized: title: Currency Normalized description: Currency code after normalization to the organization's reporting currency. example: eq: value custom_fields: type: string title: Custom Fields description: Custom field values associated with this report row. example: eq: value default_currency: type: string title: Default Currency description: Default currency code configured for the company. example: eq: value default_subsidiary_id: type: integer title: Default Subsidiary description: ID of the default subsidiary associated with this company. 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 due_days: type: integer title: Due Days description: Payment due days — number of days after invoice date that payment is due. example: eq: value formula_fields: title: Formula Fields description: Computed formula field values for this report row. example: eq: value full_query: type: string title: Full Query description: Full query string used to generate this report row. example: eq: value 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' fuzzy_people: type: string title: Fuzzy People description: Fuzzy people references used in the report query for flexible person matching. example: eq: value group: type: string title: Group description: The grouping dimension for this company report row. example: eq: value id: type: integer title: Id description: Unique identifier for this company report row. example: - 123 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 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' 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' month: type: string title: Month description: Month number of the time dimension bucket for this report row. example: eq: value name: type: string title: Name description: Display name of the company. example: eq: value organization: title: Organization description: Relationship link to the organization this report belongs to. 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 project_id: type: integer title: Project description: ID of the project associated with this report row. example: - 123 quarter: type: string title: Quarter description: Quarter number (1–4) of the time dimension bucket for this report row. example: eq: value query: type: string title: Query description: Query parameters used to generate this report row. example: eq: value report: title: Report description: Relationship link to the saved report filter this row is generated from. example: eq: value 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 subsidiary: title: Subsidiary description: Subsidiary for this company report group. example: eq: value subsidiary_id: type: integer title: Subsidiary description: Subsidiary id for this company report group. example: - 123 vat: type: string title: Vat description: Vat for this company report group. example: eq: value week: type: string title: Week description: Week grouping for this company report row. example: eq: value year: type: string title: Year description: Year grouping for this company report row. 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 has_parent_company: type: boolean title: Has Parent Company description: When true, this company has a parent company in the hierarchy. example: eq: value parent_company: title: Parent Company description: The parent company of this company in the hierarchy. example: eq: value parent_company_id: type: integer title: Parent Company description: ID of the parent company in the organizational hierarchy. 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 payment_terms_type: type: integer title: Payment Terms Type category: enum: - client - vendor - type: - string - 'null' title: Category description: The company category this row is grouped under when grouping by `category`; a company with several categories appears in one row per category, and `null` is the "No category" bucket. example: id: '123' type: company_reports attributes: total_revenue: 250000 invoiced: 175000 payments: 140000 company_id: 67 relationships: {} resource_user: type: object title: User Resource 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. properties: 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' avatar_url: type: string title: Avatar Url description: URL of the user's profile avatar image. example: eq: value default_organization_id: type: integer title: Default Organization description: ID of the organization this user logs into by default. example: - 123 default_organization_slug: title: Default Organization Slug description: URL slug of the user's default organization. example: eq: value email: type: string title: Email description: The email address used to log in to Productive. example: eq: value first_name: type: string title: First Name description: The first name of the user. example: eq: value flags: type: object title: Flags description: Feature flag overrides applied to this user's account. 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 last_name: type: string title: Last Name description: The last name of the user. example: eq: value 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 newsletter_consent: title: Newsletter Consent description: When true, the user has consented to receive marketing newsletters. 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' preferences: type: string title: Preferences description: User interface preferences and settings stored as key-value pairs. 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 sysadmin: type: boolean title: Sysadmin description: When true, this user has system administrator privileges. example: eq: value sysadmin_permissions: type: object title: Sysadmin Permissions description: The specific system administrator permissions granted to this user. 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 two_factor_auth: type: boolean title: Two Factor Auth description: When true, two-factor authentication is enabled for this 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' slack_product_updates: type: boolean title: Slack Product Updates 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\":\"
Yes \U0001F642 


\"}},\"is_me_filter_turned_on\":false,\"task_in_sidebar_layout\":false,\"is_task_dependency_list_collapsed\":false,\"projects_layout_type\":\"100\",\"day_view_active_tab\":\"form\",\"collapsed_suggested_service_sections\":[],\"deal_financials_mode\":\"budget\",\"last_seen_product_update_preview_date\":\"2025-12-02T16:07:24\",\"include_time_off_in_time_aggregations\":false,\"last_product_update_fetch_date\":\"2026-04-15T19:36:35.156Z\",\"new_product_update_articles_count\":10,\"is_sidebar_expanded_deals\":false,\"time_locking_snoozed_until\":\"2023-11-18T13:18:36.678Z\",\"sales_layout_type\":\"101\",\"invoicing_method\":\"service-percentage\",\"last_seen_product_update_post_date\":\"2023-12-13T09:53:50\",\"is_closed_dependent_tasks_shown\":true,\"is_docs_ai_info_dismissed\":true,\"scheduling_zoom\":\"1\",\"scheduling_custom_collapsed_rows_map\":{\"event36\":false}}" sysadmin: true sysadmin_permissions: - settings - release_read_only - release - modify_user - modify_organization - impersonate - marketing - flags - modify_features two_factor_auth: true sso_provision: false account_access_expires_at: locale: en_US _attachment_attributes: type: object properties: attachable_type: anyOf: - enum: - bill - booking - comment - company - document_style - document_type - email - expense - invoice - meeting - organization - page - person - proposal - purchase_order - subsidiary - survey - task - user - widget type: string title: Value - type: 'null' title: 'Null' attachment_type: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/attachment_type" - type: 'null' title: 'Null' content_type: "$ref": "#/components/schemas/resource_attachment/properties/content_type" name: "$ref": "#/components/schemas/resource_attachment/properties/name" size: allOf: - "$ref": "#/components/schemas/resource_attachment/properties/size" - minimum: 0 temp_url: "$ref": "#/components/schemas/resource_attachment/properties/temp_url" _agent_config_slack_triggers: type: object additionalProperties: false properties: agent_mentioned: type: object additionalProperties: false properties: channel_ids: type: array items: type: string enabled: type: boolean monitor_thread_after_mention: type: boolean message_posted: type: object additionalProperties: false properties: channel_ids: type: array items: type: string enabled: type: boolean include_thread_replies: type: boolean _approval_policy_assignment_create_attributes: type: object properties: target_type: enum: - person - budget - deal type: string required: - target_type _approval_policy_assignment_create_relationships: type: object properties: approval_policy: "$ref": "#/components/schemas/_single_linkage" deal: "$ref": "#/components/schemas/_single_linkage" person: "$ref": "#/components/schemas/_single_linkage" _approval_workflow_attributes: type: object properties: approval_requirement_id: "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_requirement_id" approver_custom_field_ids: "$ref": "#/components/schemas/resource_approval_workflow/properties/approver_custom_field_ids" dynamic_approver_ids: "$ref": "#/components/schemas/resource_approval_workflow/properties/dynamic_approver_ids" dynamic_subscriber_ids: "$ref": "#/components/schemas/resource_approval_workflow/properties/dynamic_subscriber_ids" event_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer target_type_id: "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" _approval_workflow_create_attributes: allOf: - "$ref": "#/components/schemas/_approval_workflow_attributes" - type: object _approval_workflow_relationships: type: object properties: approval_policy: "$ref": "#/components/schemas/_single_linkage" approvers: "$ref": "#/components/schemas/_collection_linkage" event: "$ref": "#/components/schemas/_single_linkage" subscribers: "$ref": "#/components/schemas/_collection_linkage" _attachment_relationships: type: object properties: bill: "$ref": "#/components/schemas/_single_linkage_nullable" booking: "$ref": "#/components/schemas/_single_linkage_nullable" comment: "$ref": "#/components/schemas/_single_linkage_nullable" document_style: "$ref": "#/components/schemas/_single_linkage_nullable" document_type: "$ref": "#/components/schemas/_single_linkage_nullable" expense: "$ref": "#/components/schemas/_single_linkage_nullable" invoice: "$ref": "#/components/schemas/_single_linkage_nullable" meeting: "$ref": "#/components/schemas/_single_linkage_nullable" page: "$ref": "#/components/schemas/_single_linkage_nullable" purchase_order: "$ref": "#/components/schemas/_single_linkage_nullable" task: "$ref": "#/components/schemas/_single_linkage_nullable" widget: "$ref": "#/components/schemas/_single_linkage_nullable" _automatic_invoicing_rule_attributes: type: object properties: creation_offset: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creation_offset" creation_offset_unit: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creation_offset_unit" reference_date: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/reference_date" skip_weekends: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/skip_weekends" _automatic_invoicing_rule_create_attributes: allOf: - "$ref": "#/components/schemas/_automatic_invoicing_rule_attributes" - type: object _automatic_invoicing_rule_relationships: type: object properties: budget: "$ref": "#/components/schemas/_single_linkage" _automation_attributes: type: object properties: description: "$ref": "#/components/schemas/resource_automation/properties/description" enabled: "$ref": "#/components/schemas/resource_automation/properties/enabled" include_thread_replies: "$ref": "#/components/schemas/resource_automation/properties/include_thread_replies" name: "$ref": "#/components/schemas/resource_automation/properties/name" personal: "$ref": "#/components/schemas/resource_automation/properties/personal" repeat_schedule_id: "$ref": "#/components/schemas/resource_automation/properties/repeat_schedule_id" resolve_on_all_channels: "$ref": "#/components/schemas/resource_automation/properties/resolve_on_all_channels" resolve_on_all_projects: "$ref": "#/components/schemas/resource_automation/properties/resolve_on_all_projects" schedule_day_id: "$ref": "#/components/schemas/resource_automation/properties/schedule_day_id" schedule_frame_id: "$ref": "#/components/schemas/resource_automation/properties/schedule_frame_id" schedule_hour: "$ref": "#/components/schemas/resource_automation/properties/schedule_hour" slack_channel_ids: "$ref": "#/components/schemas/resource_automation/properties/slack_channel_ids" steps: "$ref": "#/components/schemas/resource_automation/properties/steps" target_id: "$ref": "#/components/schemas/resource_automation/properties/target_id" triggers: "$ref": "#/components/schemas/resource_automation/properties/triggers" type_id: enum: - 1 - 2 type: integer _automation_create_attributes: allOf: - "$ref": "#/components/schemas/_automation_attributes" - type: object _automation_create_relationships: allOf: - "$ref": "#/components/schemas/_automation_relationships" - type: object properties: agent: "$ref": "#/components/schemas/_single_linkage" _automation_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer _automation_relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" survey: "$ref": "#/components/schemas/_single_linkage" _bank_account_create_attributes: type: object properties: bank_address: anyOf: - "$ref": "#/components/schemas/resource_bank_account/properties/bank_address" - type: 'null' title: 'Null' bank_name: anyOf: - "$ref": "#/components/schemas/resource_bank_account/properties/bank_name" - type: 'null' title: 'Null' currency: "$ref": "#/components/schemas/resource_bank_account/properties/currency" local_bank_code: anyOf: - "$ref": "#/components/schemas/resource_bank_account/properties/local_bank_code" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_bank_account/properties/name" number: "$ref": "#/components/schemas/resource_bank_account/properties/number" swift_code: anyOf: - "$ref": "#/components/schemas/resource_bank_account/properties/swift_code" - type: 'null' title: 'Null' required: - name - number - currency _bank_account_relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage" _bank_account_update_attributes: type: object properties: bank_address: anyOf: - "$ref": "#/components/schemas/resource_bank_account/properties/bank_address" - type: 'null' title: 'Null' bank_name: anyOf: - "$ref": "#/components/schemas/resource_bank_account/properties/bank_name" - type: 'null' title: 'Null' currency: "$ref": "#/components/schemas/resource_bank_account/properties/currency" local_bank_code: anyOf: - "$ref": "#/components/schemas/resource_bank_account/properties/local_bank_code" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_bank_account/properties/name" number: "$ref": "#/components/schemas/resource_bank_account/properties/number" swift_code: anyOf: - "$ref": "#/components/schemas/resource_bank_account/properties/swift_code" - type: 'null' title: 'Null' _bill_create_attributes: type: object properties: date: anyOf: - "$ref": "#/components/schemas/resource_bill/properties/date" - type: 'null' title: 'Null' description: anyOf: - type: string title: String - type: 'null' title: 'Null' due_date: anyOf: - "$ref": "#/components/schemas/resource_bill/properties/due_date" - type: 'null' title: 'Null' invoice_number: anyOf: - "$ref": "#/components/schemas/resource_bill/properties/invoice_number" - type: 'null' title: 'Null' _bill_item_create_attributes: type: object properties: quantity: anyOf: - "$ref": "#/components/schemas/resource_bill_item/properties/quantity" - type: number title: Number - type: 'null' title: 'Null' _bill_item_relationships: type: object properties: bill: "$ref": "#/components/schemas/_single_linkage" expense: "$ref": "#/components/schemas/_single_linkage" _bill_item_update_attributes: type: object properties: quantity: anyOf: - "$ref": "#/components/schemas/resource_bill_item/properties/quantity" - type: number title: Number - type: 'null' title: 'Null' _bill_relationships: type: object properties: attachment: "$ref": "#/components/schemas/_single_linkage_nullable" purchase_order: "$ref": "#/components/schemas/_single_linkage" _bill_update_attributes: type: object properties: date: anyOf: - "$ref": "#/components/schemas/resource_bill/properties/date" - type: 'null' title: 'Null' description: anyOf: - type: string title: String - type: 'null' title: 'Null' due_date: anyOf: - "$ref": "#/components/schemas/resource_bill/properties/due_date" - type: 'null' title: 'Null' invoice_number: anyOf: - "$ref": "#/components/schemas/resource_bill/properties/invoice_number" - type: 'null' title: 'Null' _booking_create_attributes: type: object properties: autotracking: "$ref": "#/components/schemas/resource_booking/properties/autotracking" booking_method_id: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/booking_method_id" - enum: - '1' - '2' - '3' type: string title: Value custom_fields: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/custom_fields" - type: 'null' title: 'Null' draft: "$ref": "#/components/schemas/resource_booking/properties/draft" ended_on: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/ended_on" - type: string title: String pattern: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}" event_id: anyOf: - "$ref": "#/components/schemas/_request_id" - type: 'null' title: 'Null' note: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/note" - type: 'null' title: 'Null' percentage: anyOf: - allOf: - "$ref": "#/components/schemas/resource_booking/properties/percentage" - maximum: 100 minimum: 0 title: Value - type: 'null' title: 'Null' rejected_reason: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/rejected_reason" - type: 'null' title: 'Null' started_on: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/started_on" - type: string title: String pattern: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}" time: anyOf: - allOf: - "$ref": "#/components/schemas/resource_booking/properties/time" - maximum: 1440 minimum: 0 title: Value - type: 'null' title: 'Null' total_time: anyOf: - allOf: - "$ref": "#/components/schemas/resource_booking/properties/total_time" - minimum: 0 title: Value - type: 'null' title: 'Null' required: - started_on - ended_on _booking_relationships: type: object properties: approver: "$ref": "#/components/schemas/_single_linkage_nullable" attachments: "$ref": "#/components/schemas/_collection_linkage" event: "$ref": "#/components/schemas/_single_linkage_nullable" origin: "$ref": "#/components/schemas/_single_linkage_nullable" person: "$ref": "#/components/schemas/_single_linkage" resource_request: "$ref": "#/components/schemas/_single_linkage_nullable" service: "$ref": "#/components/schemas/_single_linkage_nullable" task: "$ref": "#/components/schemas/_single_linkage_nullable" _booking_update_attributes: type: object properties: autotracking: "$ref": "#/components/schemas/resource_booking/properties/autotracking" booking_method_id: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/booking_method_id" - enum: - '1' - '2' - '3' type: string title: Value custom_fields: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/custom_fields" - type: 'null' title: 'Null' draft: "$ref": "#/components/schemas/resource_booking/properties/draft" ended_on: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/ended_on" - type: string title: String pattern: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}" event_id: anyOf: - "$ref": "#/components/schemas/_request_id" - type: 'null' title: 'Null' note: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/note" - type: 'null' title: 'Null' percentage: anyOf: - allOf: - "$ref": "#/components/schemas/resource_booking/properties/percentage" - maximum: 100 minimum: 0 title: Value - type: 'null' title: 'Null' rejected_reason: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/rejected_reason" - type: 'null' title: 'Null' started_on: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/started_on" - type: string title: String pattern: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}" time: anyOf: - allOf: - "$ref": "#/components/schemas/resource_booking/properties/time" - maximum: 1440 minimum: 0 title: Value - type: 'null' title: 'Null' total_time: anyOf: - allOf: - "$ref": "#/components/schemas/resource_booking/properties/total_time" - minimum: 0 title: Value - type: 'null' title: 'Null' _comment_create_attributes: type: object properties: body: "$ref": "#/components/schemas/resource_comment/properties/body" draft: "$ref": "#/components/schemas/resource_comment/properties/draft" hidden: "$ref": "#/components/schemas/resource_comment/properties/hidden" version_number: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/version_number" - type: 'null' title: 'Null' _comment_create_relationships: type: object properties: attachments: "$ref": "#/components/schemas/_collection_linkage" company: "$ref": "#/components/schemas/_single_linkage" deal: "$ref": "#/components/schemas/_single_linkage" discussion: "$ref": "#/components/schemas/_single_linkage" invoice: "$ref": "#/components/schemas/_single_linkage" person: "$ref": "#/components/schemas/_single_linkage" project: "$ref": "#/components/schemas/_single_linkage" proposal: "$ref": "#/components/schemas/_single_linkage" purchase_order: "$ref": "#/components/schemas/_single_linkage" resource_request: "$ref": "#/components/schemas/_single_linkage" task: "$ref": "#/components/schemas/_single_linkage" _comment_update_attributes: type: object properties: body: "$ref": "#/components/schemas/resource_comment/properties/body" draft: "$ref": "#/components/schemas/resource_comment/properties/draft" hidden: "$ref": "#/components/schemas/resource_comment/properties/hidden" version_number: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/version_number" - type: 'null' title: 'Null' _comment_update_relationships: type: object properties: attachments: "$ref": "#/components/schemas/_collection_linkage" _company_create_attributes: allOf: - "$ref": "#/components/schemas/_company_update_attributes" - type: object _company_relationships: type: object properties: default_document_type: "$ref": "#/components/schemas/_single_linkage_nullable" default_payment_reminder_sequence: "$ref": "#/components/schemas/_single_linkage_nullable" default_subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" default_tax_rate: "$ref": "#/components/schemas/_single_linkage_nullable" parent_company: "$ref": "#/components/schemas/_single_linkage_nullable" subscribers: "$ref": "#/components/schemas/_collection_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" _company_update_attributes: type: object properties: avatar_url: anyOf: - "$ref": "#/components/schemas/resource_company/properties/avatar_url" - type: 'null' title: 'Null' billing_name: anyOf: - "$ref": "#/components/schemas/resource_company/properties/billing_name" - type: 'null' title: 'Null' company_code: anyOf: - "$ref": "#/components/schemas/resource_company/properties/company_code" - type: 'null' title: 'Null' contact: "$ref": "#/components/schemas/resource_company/properties/contact" custom_fields: "$ref": "#/components/schemas/resource_company/properties/custom_fields" default_currency: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_currency" - type: 'null' title: 'Null' domains: type: array items: type: string maxLength: 255 due_days: anyOf: - allOf: - "$ref": "#/components/schemas/resource_company/properties/due_days" - minimum: 0 title: Value - type: 'null' title: 'Null' name: allOf: - "$ref": "#/components/schemas/resource_company/properties/name" - maxLength: 255 payment_terms_type: anyOf: - "$ref": "#/components/schemas/resource_company/properties/payment_terms_type" - type: 'null' title: 'Null' settings: "$ref": "#/components/schemas/resource_company/properties/settings" tag_list: anyOf: - "$ref": "#/components/schemas/resource_company/properties/tag_list" - type: array items: type: string title: List of strings vat: anyOf: - "$ref": "#/components/schemas/resource_company/properties/vat" - type: 'null' title: 'Null' _contact_entry_attributes: type: object properties: address: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/address" - type: 'null' title: 'Null' billing_address: "$ref": "#/components/schemas/resource_contact_entry/properties/billing_address" billing_email: "$ref": "#/components/schemas/resource_contact_entry/properties/billing_email" city: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/city" - type: 'null' title: 'Null' contactable_type: allOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" - enum: - person - company - invoice - subsidiary - organization - purchase_order - invoice_template country: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/country" - type: 'null' title: 'Null' email: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/email" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_contact_entry/properties/name" phone: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/phone" - type: 'null' title: 'Null' state: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/state" - type: 'null' title: 'Null' type: allOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/type" - enum: - address - email - phone - website - bill_from - bill_to vat: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/vat" - type: 'null' title: 'Null' website: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/website" - type: 'null' title: 'Null' zipcode: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/zipcode" - type: 'null' title: 'Null' _contact_entry_relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" invoice: "$ref": "#/components/schemas/_single_linkage" invoice_template: "$ref": "#/components/schemas/_single_linkage" person: "$ref": "#/components/schemas/_single_linkage" purchase_order: "$ref": "#/components/schemas/_single_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage" _contract_create_attributes: type: object properties: copy_expenses: "$ref": "#/components/schemas/resource_contract/properties/copy_expenses" copy_purchase_order_number: "$ref": "#/components/schemas/resource_contract/properties/copy_purchase_order_number" ends_on: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/ends_on" - type: 'null' title: 'Null' interval_id: allOf: - "$ref": "#/components/schemas/resource_contract/properties/interval_id" - enum: - 1 - 2 - 3 - 4 - 5 - 6 next_occurrence_on: "$ref": "#/components/schemas/resource_contract/properties/next_occurrence_on" use_rollover_hours: "$ref": "#/components/schemas/resource_contract/properties/use_rollover_hours" required: - interval_id - next_occurrence_on _contract_create_relationships: type: object properties: template: "$ref": "#/components/schemas/_single_linkage" _contract_update_attributes: type: object properties: copy_expenses: "$ref": "#/components/schemas/resource_contract/properties/copy_expenses" copy_purchase_order_number: "$ref": "#/components/schemas/resource_contract/properties/copy_purchase_order_number" ends_on: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/ends_on" - type: 'null' title: 'Null' next_occurrence_on: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/next_occurrence_on" - type: 'null' title: 'Null' use_rollover_hours: "$ref": "#/components/schemas/resource_contract/properties/use_rollover_hours" _custom_field_create_attributes: type: object properties: aggregation_type_id: "$ref": "#/components/schemas/resource_custom_field/properties/aggregation_type_id" customizable_type: enum: - bookings - budgets - companies - contacts - deals - employees - invoices - pages - project_expenses - projects - tasks - services type: string data_type_id: "$ref": "#/components/schemas/resource_custom_field/properties/data_type_id" description: anyOf: - type: string title: String - type: 'null' title: 'Null' formatting_type_id: "$ref": "#/components/schemas/resource_custom_field/properties/formatting_type_id" global: "$ref": "#/components/schemas/resource_custom_field/properties/global" maximum_value: anyOf: - "$ref": "#/components/schemas/resource_custom_field/properties/maximum_value" - type: 'null' title: 'Null' minimum_value: anyOf: - "$ref": "#/components/schemas/resource_custom_field/properties/minimum_value" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_custom_field/properties/name" position: "$ref": "#/components/schemas/resource_custom_field/properties/position" quick_add_enabled: "$ref": "#/components/schemas/resource_custom_field/properties/quick_add_enabled" required: "$ref": "#/components/schemas/resource_custom_field/properties/required" sensitive: "$ref": "#/components/schemas/resource_custom_field/properties/sensitive" show_in_add_edit_views: "$ref": "#/components/schemas/resource_custom_field/properties/show_in_add_edit_views" required: - name - data_type_id - customizable_type _custom_field_relationships: type: object properties: project: "$ref": "#/components/schemas/_single_linkage_nullable" section: "$ref": "#/components/schemas/_single_linkage_nullable" _custom_field_update_attributes: type: object properties: aggregation_type_id: "$ref": "#/components/schemas/resource_custom_field/properties/aggregation_type_id" customizable_type: enum: - bookings - budgets - companies - contacts - deals - employees - invoices - pages - project_expenses - projects - tasks - services type: string data_type_id: "$ref": "#/components/schemas/resource_custom_field/properties/data_type_id" description: anyOf: - type: string title: String - type: 'null' title: 'Null' formatting_type_id: "$ref": "#/components/schemas/resource_custom_field/properties/formatting_type_id" global: "$ref": "#/components/schemas/resource_custom_field/properties/global" maximum_value: anyOf: - "$ref": "#/components/schemas/resource_custom_field/properties/maximum_value" - type: 'null' title: 'Null' minimum_value: anyOf: - "$ref": "#/components/schemas/resource_custom_field/properties/minimum_value" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_custom_field/properties/name" position: "$ref": "#/components/schemas/resource_custom_field/properties/position" quick_add_enabled: "$ref": "#/components/schemas/resource_custom_field/properties/quick_add_enabled" required: "$ref": "#/components/schemas/resource_custom_field/properties/required" sensitive: "$ref": "#/components/schemas/resource_custom_field/properties/sensitive" show_in_add_edit_views: "$ref": "#/components/schemas/resource_custom_field/properties/show_in_add_edit_views" _deal_copy_attributes: type: object properties: color_id: "$ref": "#/components/schemas/_deal_id" currency: "$ref": "#/components/schemas/resource_deal/properties/currency" custom_fields: "$ref": "#/components/schemas/resource_deal/properties/custom_fields" date: "$ref": "#/components/schemas/resource_deal/properties/date" deal_value: "$ref": "#/components/schemas/resource_deal/properties/deal_value" deal_value_source: "$ref": "#/components/schemas/resource_deal/properties/deal_value_source" editor_config: "$ref": "#/components/schemas/resource_deal/properties/editor_config" end_date: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/end_date" - type: 'null' title: 'Null' make_recurring: type: boolean name: allOf: - "$ref": "#/components/schemas/resource_deal/properties/name" - maxLength: 255 next_occurrence_on: "$ref": "#/components/schemas/resource_deal/properties/next_occurrence_on" retainer_deal_value_type: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/retainer_deal_value_type" - type: 'null' title: 'Null' retainer_interval: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/retainer_interval" - type: 'null' title: 'Null' retainer_interval_count: anyOf: - type: integer title: Integer maximum: 24 minimum: 1 - type: 'null' title: 'Null' tag_list: type: array items: type: string required: - name _deal_copy_relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" deal_status: "$ref": "#/components/schemas/_single_linkage" document_type: "$ref": "#/components/schemas/_single_linkage" project: "$ref": "#/components/schemas/_single_linkage" responsible: "$ref": "#/components/schemas/_single_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage" template: "$ref": "#/components/schemas/_single_linkage" _deal_create_attributes: type: object allOf: - "$ref": "#/components/schemas/_deal_update_attributes" - type: object properties: probability: {} currency: {} end_date: {} delivered_on: {} deal_value: {} retainer_interval: {} retainer_interval_count: {} _deal_create_from_origin_relationships: type: object properties: document_type: "$ref": "#/components/schemas/_single_linkage" origin_deal: "$ref": "#/components/schemas/_single_linkage" project: "$ref": "#/components/schemas/_single_linkage" responsible: "$ref": "#/components/schemas/_single_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage" _deal_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer _deal_status_relationships: type: object properties: pipeline: "$ref": "#/components/schemas/_single_linkage" _deal_update_relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" contact: "$ref": "#/components/schemas/_single_linkage_nullable" contacts: "$ref": "#/components/schemas/_collection_linkage" deal_status: "$ref": "#/components/schemas/_single_linkage" designated_approver: "$ref": "#/components/schemas/_single_linkage_nullable" document_type: "$ref": "#/components/schemas/_single_linkage" lost_reason: "$ref": "#/components/schemas/_single_linkage_nullable" origin_deal: "$ref": "#/components/schemas/_single_linkage_nullable" project: "$ref": "#/components/schemas/_single_linkage_nullable" proposal_document_type: "$ref": "#/components/schemas/_single_linkage" responsible: "$ref": "#/components/schemas/_single_linkage" subscribers: "$ref": "#/components/schemas/_collection_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage" tax_rate: "$ref": "#/components/schemas/_single_linkage_nullable" _discussion_relationships: type: object properties: page: "$ref": "#/components/schemas/_single_linkage" _discussion_update_attributes: type: object properties: excerpt: "$ref": "#/components/schemas/resource_discussion/properties/excerpt" _document_type_create_attributes: type: object properties: document_template_id: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/document_template_id" - type: 'null' title: 'Null' dual_currency: "$ref": "#/components/schemas/resource_document_type/properties/dual_currency" email_data: "$ref": "#/components/schemas/resource_document_type/properties/email_data" email_subject: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/email_subject" - type: 'null' title: 'Null' email_template: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/email_template" - type: 'null' title: 'Null' exportable_type_id: "$ref": "#/components/schemas/resource_document_type/properties/exportable_type_id" exporter_options: type: object filename_schema: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/filename_schema" - type: 'null' title: 'Null' footer: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/footer" - type: 'null' title: 'Null' locale: "$ref": "#/components/schemas/resource_document_type/properties/locale" name: "$ref": "#/components/schemas/resource_document_type/properties/name" note: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/note" - type: 'null' title: 'Null' tax1_name: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/tax1_name" - type: 'null' title: 'Null' tax1_value: anyOf: - type: number title: Number maximum: 100 minimum: -100 - type: 'null' title: 'Null' tax2_name: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/tax2_name" - type: 'null' title: 'Null' tax2_value: anyOf: - type: number title: Number maximum: 100 minimum: -100 - type: 'null' title: 'Null' template_options: type: object required: - name - locale - exportable_type_id _document_type_relationships: type: object properties: attachments: "$ref": "#/components/schemas/_collection_linkage" document_style: "$ref": "#/components/schemas/_single_linkage_nullable" subsidiary: "$ref": "#/components/schemas/_single_linkage" _document_type_update_attributes: type: object properties: document_template_id: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/document_template_id" - type: 'null' title: 'Null' dual_currency: "$ref": "#/components/schemas/resource_document_type/properties/dual_currency" email_data: "$ref": "#/components/schemas/resource_document_type/properties/email_data" email_subject: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/email_subject" - type: 'null' title: 'Null' email_template: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/email_template" - type: 'null' title: 'Null' exporter_options: type: object filename_schema: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/filename_schema" - type: 'null' title: 'Null' footer: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/footer" - type: 'null' title: 'Null' locale: "$ref": "#/components/schemas/resource_document_type/properties/locale" name: "$ref": "#/components/schemas/resource_document_type/properties/name" note: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/note" - type: 'null' title: 'Null' tax1_name: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/tax1_name" - type: 'null' title: 'Null' tax1_value: anyOf: - type: number title: Number maximum: 100 minimum: -100 - type: 'null' title: 'Null' tax2_name: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/tax2_name" - type: 'null' title: 'Null' tax2_value: anyOf: - type: number title: Number maximum: 100 minimum: -100 - type: 'null' title: 'Null' template_options: type: object _email_thread_link_targets: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id_value" type: enum: - deal - invoice - project - task type: string required: - type - id maxItems: 20 _expense_create_attributes: allOf: - "$ref": "#/components/schemas/_expense_update_attributes" - type: object _expense_export_attributes: type: object properties: account_reference_id: type: string company_reference_id: anyOf: - type: string title: String - type: integer title: Integer payment_type: type: string _expense_line_item_create_attributes: allOf: - "$ref": "#/components/schemas/_expense_line_item_update_attributes" - type: object _expense_line_item_relationships: type: object properties: expense: "$ref": "#/components/schemas/_single_linkage" tax_rate: "$ref": "#/components/schemas/_single_linkage_nullable" _expense_line_item_update_attributes: type: object properties: name: anyOf: - "$ref": "#/components/schemas/resource_expense_line_item/properties/name" - type: 'null' title: 'Null' position: "$ref": "#/components/schemas/resource_expense_line_item/properties/position" quantity: anyOf: - "$ref": "#/components/schemas/resource_expense_line_item/properties/quantity" - type: string title: String unit_price: anyOf: - "$ref": "#/components/schemas/resource_expense_line_item/properties/unit_price" - type: string title: String _expense_relationships: type: object properties: attachment: "$ref": "#/components/schemas/_single_linkage_nullable" person: "$ref": "#/components/schemas/_single_linkage_nullable" purchase_order: "$ref": "#/components/schemas/_single_linkage_nullable" service: "$ref": "#/components/schemas/_single_linkage_nullable" tax_rate: "$ref": "#/components/schemas/_single_linkage_nullable" vendor: "$ref": "#/components/schemas/_single_linkage_nullable" _expense_update_attributes: type: object properties: amount: "$ref": "#/components/schemas/resource_expense/properties/amount" billable_amount: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/billable_amount" - type: 'null' title: 'Null' currency: "$ref": "#/components/schemas/resource_expense/properties/currency" custom_fields: "$ref": "#/components/schemas/resource_expense/properties/custom_fields" date: "$ref": "#/components/schemas/resource_expense/properties/date" description: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/description" - type: 'null' title: 'Null' expense_line_items: type: array items: type: object properties: name: "$ref": "#/components/schemas/resource_expense_line_item/properties/name" position: "$ref": "#/components/schemas/resource_expense_line_item/properties/position" quantity: "$ref": "#/components/schemas/resource_expense_line_item/properties/quantity" unit_price: "$ref": "#/components/schemas/resource_expense_line_item/properties/unit_price" markup: "$ref": "#/components/schemas/resource_expense/properties/markup" markup_amount: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/markup_amount" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_expense/properties/name" paid_on: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/paid_on" - type: 'null' title: 'Null' pay_on: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/pay_on" - type: 'null' title: 'Null' position: "$ref": "#/components/schemas/resource_expense/properties/position" quantity: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/quantity" - type: 'null' title: 'Null' reimbursable: "$ref": "#/components/schemas/resource_expense/properties/reimbursable" reimbursed_on: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/reimbursed_on" - type: 'null' title: 'Null' rejected_reason: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/rejected_reason" - type: 'null' title: 'Null' tax_inclusion: "$ref": "#/components/schemas/resource_expense/properties/tax_inclusion" _filter_backoffice_organization_report_date_blank: anyOf: - "$ref": "#/components/schemas/_filter_date" - type: string title: Blank (IS NULL) maxLength: 0 _filter_backoffice_organization_report_ids: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List gt: "$ref": "#/components/schemas/_automation_id" lt: "$ref": "#/components/schemas/_automation_id" gt_eq: "$ref": "#/components/schemas/_automation_id" lt_eq: "$ref": "#/components/schemas/_automation_id" contains: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_automation_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_automation_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List _filter_backoffice_organization_report_ids_blank: anyOf: - "$ref": "#/components/schemas/_filter_backoffice_organization_report_ids" - type: string title: Blank (IS NULL) maxLength: 0 _filter_backoffice_organization_report_integer: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_automation_id" not_eq: "$ref": "#/components/schemas/_automation_id" gt: "$ref": "#/components/schemas/_automation_id" lt: "$ref": "#/components/schemas/_automation_id" gt_eq: "$ref": "#/components/schemas/_automation_id" lt_eq: "$ref": "#/components/schemas/_automation_id" contains: "$ref": "#/components/schemas/_automation_id" not_contain: "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_automation_id" _filter_backoffice_organization_report_string_blank: anyOf: - "$ref": "#/components/schemas/_filter_string" - type: string title: Blank (IS NULL) maxLength: 0 _filter_backoffice_organization_report_string_list: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings any_of: type: array items: type: string none_of: type: array items: type: string - type: string title: String - type: array items: type: string title: List of strings _filter_backoffice_organization_report_string_list_blank: anyOf: - "$ref": "#/components/schemas/_filter_backoffice_organization_report_string_list" - type: string title: Blank (IS NULL) maxLength: 0 _filter_booking_date_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 title: Filter date (blank allowed) _filter_booking_formulas: type: object title: Filter formulas additionalProperties: anyOf: - type: object title: Operation properties: eq: type: number gt: type: number lt: type: number gt_eq: type: number lt_eq: type: number not_eq: type: number - type: number title: Number _filter_booking_id_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - type: string title: Blank (IS NULL) maxLength: 0 none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 title: Filter id (blank allowed) _filter_booking_id_eq_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 title: Filter id (eq and not_eq only, blank allowed) _filter_booking_tags: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String - type: array items: type: string title: List of strings title: Filter tags _filter_booking_text: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String title: Filter text _filter_boolean: anyOf: - type: object title: Operation properties: eq: type: boolean not_eq: type: boolean - type: boolean title: Boolean title: Filter boolean _filter_custom_fields: type: object title: Filter custom fields additionalProperties: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string any_of: type: array items: type: string not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings none_of: type: array items: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String _filter_date: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date title: Filter date _filter_dates_eq: anyOf: - type: object title: Operation properties: eq: type: string format: date - type: string title: Date format: date title: Filter date (eq only) _filter_datetime: anyOf: - type: object title: Operation properties: eq: type: string format: date-time not_eq: type: string format: date-time gt: type: string format: date-time lt: type: string format: date-time gt_eq: type: string format: date-time lt_eq: type: string format: date-time - type: string title: Date time format: date-time title: Filter datetime _filter_deal_blank: type: string title: Blank (IS NULL) maxLength: 0 _filter_deal_boolean: anyOf: - type: object title: Operation properties: eq: type: boolean not_eq: type: boolean - type: boolean title: Boolean title: Boolean filter _filter_deal_date: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date title: Date filter _filter_deal_date_nullable: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: Date format: date - "$ref": "#/components/schemas/_filter_deal_blank" not_eq: anyOf: - type: string title: Date format: date - "$ref": "#/components/schemas/_filter_deal_blank" gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date - "$ref": "#/components/schemas/_filter_deal_blank" title: Date filter (nullable) _filter_deal_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer _filter_deal_id_operand: anyOf: - "$ref": "#/components/schemas/_filter_deal_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_filter_deal_id" title: List _filter_deal_id_set: anyOf: - type: array items: "$ref": "#/components/schemas/_filter_deal_id" title: List - "$ref": "#/components/schemas/_id_list" _filter_deal_ids: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_filter_deal_id_operand" not_eq: "$ref": "#/components/schemas/_filter_deal_id_operand" gt: "$ref": "#/components/schemas/_filter_deal_id" lt: "$ref": "#/components/schemas/_filter_deal_id" gt_eq: "$ref": "#/components/schemas/_filter_deal_id" lt_eq: "$ref": "#/components/schemas/_filter_deal_id" contains: "$ref": "#/components/schemas/_filter_deal_id_operand" not_contain: "$ref": "#/components/schemas/_filter_deal_id_operand" any_of: "$ref": "#/components/schemas/_filter_deal_id_set" none_of: "$ref": "#/components/schemas/_filter_deal_id_set" - "$ref": "#/components/schemas/_filter_deal_id_operand" title: Deal id filter _filter_deal_ids_eq: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_filter_deal_id_operand" not_eq: "$ref": "#/components/schemas/_filter_deal_id_operand" - "$ref": "#/components/schemas/_filter_deal_id_operand" title: Deal id filter (eq and not_eq only) _filter_deal_ids_eq_nullable: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_filter_deal_id_operand" - "$ref": "#/components/schemas/_filter_deal_blank" not_eq: anyOf: - "$ref": "#/components/schemas/_filter_deal_id_operand" - "$ref": "#/components/schemas/_filter_deal_blank" - "$ref": "#/components/schemas/_filter_deal_id_operand" - "$ref": "#/components/schemas/_filter_deal_blank" title: Deal id filter (eq and not_eq only, nullable) _filter_deal_ids_nullable: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_filter_deal_id_operand" - "$ref": "#/components/schemas/_filter_deal_blank" not_eq: anyOf: - "$ref": "#/components/schemas/_filter_deal_id_operand" - "$ref": "#/components/schemas/_filter_deal_blank" gt: "$ref": "#/components/schemas/_filter_deal_id" lt: "$ref": "#/components/schemas/_filter_deal_id" gt_eq: "$ref": "#/components/schemas/_filter_deal_id" lt_eq: "$ref": "#/components/schemas/_filter_deal_id" contains: "$ref": "#/components/schemas/_filter_deal_id_operand" not_contain: "$ref": "#/components/schemas/_filter_deal_id_operand" any_of: "$ref": "#/components/schemas/_filter_deal_id_set" none_of: "$ref": "#/components/schemas/_filter_deal_id_set" - "$ref": "#/components/schemas/_filter_deal_id_operand" - "$ref": "#/components/schemas/_filter_deal_blank" title: Deal id filter (nullable) _filter_deal_integer: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_filter_deal_integer_operand" not_eq: "$ref": "#/components/schemas/_filter_deal_integer_operand" gt: type: integer lt: type: integer gt_eq: type: integer lt_eq: type: integer contains: "$ref": "#/components/schemas/_filter_deal_integer_operand" not_contain: "$ref": "#/components/schemas/_filter_deal_integer_operand" any_of: "$ref": "#/components/schemas/_filter_deal_integer_operand" none_of: "$ref": "#/components/schemas/_filter_deal_integer_operand" - "$ref": "#/components/schemas/_filter_deal_integer_operand" title: Integer filter _filter_deal_integer_operand: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers _filter_deal_integer_scalar: anyOf: - type: object title: Operation properties: eq: type: integer not_eq: type: integer gt: type: integer lt: type: integer gt_eq: type: integer lt_eq: type: integer - type: integer title: Integer title: Integer comparison filter _filter_deal_number: anyOf: - type: object title: Operation properties: eq: type: number not_eq: type: number gt: type: number lt: type: number gt_eq: type: number lt_eq: type: number - type: number title: Number title: Number comparison filter _filter_deal_revenue_distribution_base: enum: - weighted - deal_value type: string _filter_deal_string: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: type: string not_contain: type: string any_of: type: array items: type: string none_of: type: array items: type: string - type: string title: String title: String filter _filter_deal_text: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String title: Text filter _filter_deal_time_entry_requirement: anyOf: - enum: - note - task type: string title: Value - type: array items: enum: - note - task type: string title: List of strings _filter_e_blank: type: string title: Blank (IS NULL) maxLength: 0 _filter_e_id_operand: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List _filter_e_id_operand_blank: anyOf: - "$ref": "#/components/schemas/_filter_e_id_operand" - "$ref": "#/components/schemas/_filter_e_blank" _filter_e_ids_all: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_filter_e_id_operand" not_eq: "$ref": "#/components/schemas/_filter_e_id_operand" gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: "$ref": "#/components/schemas/_filter_e_id_operand" not_contain: "$ref": "#/components/schemas/_filter_e_id_operand" any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_filter_e_id_operand" _filter_e_ids_all_blank: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_filter_e_id_operand_blank" not_eq: "$ref": "#/components/schemas/_filter_e_id_operand_blank" gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: "$ref": "#/components/schemas/_filter_e_id_operand" not_contain: "$ref": "#/components/schemas/_filter_e_id_operand" any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_filter_e_id_operand_blank" _filter_e_ids_eq: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_filter_e_id_operand" not_eq: "$ref": "#/components/schemas/_filter_e_id_operand" - "$ref": "#/components/schemas/_filter_e_id_operand" _filter_e_ids_eq_blank: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_filter_e_id_operand_blank" not_eq: "$ref": "#/components/schemas/_filter_e_id_operand_blank" - "$ref": "#/components/schemas/_filter_e_id_operand_blank" _filter_e_integer_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_filter_e_blank" not_eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_filter_e_blank" gt: type: integer lt: type: integer gt_eq: type: integer lt_eq: type: integer - type: integer title: Integer - "$ref": "#/components/schemas/_filter_e_blank" _filter_e_number_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - type: number title: Number - "$ref": "#/components/schemas/_filter_e_blank" not_eq: anyOf: - type: number title: Number - "$ref": "#/components/schemas/_filter_e_blank" gt: type: number lt: type: number gt_eq: type: number lt_eq: type: number - type: number title: Number - "$ref": "#/components/schemas/_filter_e_blank" _filter_expense_date_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 title: Expense filter date (blank allowed) _filter_expense_ids: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List title: Expense filter ids _filter_expense_ids_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 title: Expense filter ids (blank allowed) _filter_expense_ids_eq: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List title: Expense filter ids (eq and not_eq only) _filter_expense_ids_eq_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 title: Expense filter ids (eq and not_eq only, blank allowed) _filter_expense_ids_value: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List title: Expense filter ids (value only, operation ignored) _filter_expense_number_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - type: number title: Number - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: number title: Number - type: string title: Blank (IS NULL) maxLength: 0 gt: type: number lt: type: number gt_eq: type: number lt_eq: type: number - type: number title: Number - type: string title: Blank (IS NULL) maxLength: 0 title: Expense filter number (blank allowed) _filter_expense_string_blank: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: type: string not_contain: type: string - type: string title: String title: Expense filter string (blank allowed) _filter_expense_string_list: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings any_of: type: array items: type: string none_of: type: array items: type: string - type: string title: String - type: array items: type: string title: List of strings title: Expense filter string list _filter_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List title: Filter id _filter_id_eq: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List title: Filter id (eq and not_eq only) _filter_id_no_range: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List title: Filter id (no range operations) _filter_id_ops: anyOf: - type: object title: Operation properties: eq: anyOf: - anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Id - "$ref": "#/components/schemas/_id_list" - type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: List not_eq: anyOf: - anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Id - "$ref": "#/components/schemas/_id_list" - type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: List gt: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer lt: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer gt_eq: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer lt_eq: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer contains: anyOf: - anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Id - "$ref": "#/components/schemas/_id_list" - type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: List not_contain: anyOf: - anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Id - "$ref": "#/components/schemas/_id_list" - type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: List any_of: anyOf: - type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: List - "$ref": "#/components/schemas/_id_list" - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: List title: Id filter operations _filter_id_ops_nullable: anyOf: - type: object title: Operation properties: eq: anyOf: - anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Id - "$ref": "#/components/schemas/_id_list" - type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Id - "$ref": "#/components/schemas/_id_list" - type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: List - type: string title: Blank (IS NOT NULL) maxLength: 0 gt: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer lt: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer gt_eq: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer lt_eq: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer contains: anyOf: - anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Id - "$ref": "#/components/schemas/_id_list" - type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: List not_contain: anyOf: - anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Id - "$ref": "#/components/schemas/_id_list" - type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: List any_of: anyOf: - type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: List - "$ref": "#/components/schemas/_id_list" - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: List - type: string title: Blank (IS NULL) maxLength: 0 title: Nullable id filter operations _filter_ids_array: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id_value" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id_value" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List gt: "$ref": "#/components/schemas/_request_id_value" lt: "$ref": "#/components/schemas/_request_id_value" gt_eq: "$ref": "#/components/schemas/_request_id_value" lt_eq: "$ref": "#/components/schemas/_request_id_value" contains: anyOf: - "$ref": "#/components/schemas/_request_id_value" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id_value" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id_value" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List title: Filter ids (list-capable) _filter_ids_array_nullable: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id_value" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/_request_id_value" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List - type: string title: Blank (IS NOT NULL) maxLength: 0 gt: "$ref": "#/components/schemas/_request_id_value" lt: "$ref": "#/components/schemas/_request_id_value" gt_eq: "$ref": "#/components/schemas/_request_id_value" lt_eq: "$ref": "#/components/schemas/_request_id_value" contains: anyOf: - "$ref": "#/components/schemas/_request_id_value" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id_value" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id_value" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List - type: string title: Blank (IS NULL) maxLength: 0 title: Filter ids (list-capable, blank allowed) _filter_ids_eq_array: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id_value" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List - "$ref": "#/components/schemas/_request_id_value" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id_value" title: List title: Filter ids (eq only, list-capable) _filter_ids_eq_scalar: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_request_id_value" - "$ref": "#/components/schemas/_request_id_value" title: Filter id (eq only, single value) _filter_ids_scalar: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_request_id_value" not_eq: "$ref": "#/components/schemas/_request_id_value" gt: "$ref": "#/components/schemas/_request_id_value" lt: "$ref": "#/components/schemas/_request_id_value" gt_eq: "$ref": "#/components/schemas/_request_id_value" lt_eq: "$ref": "#/components/schemas/_request_id_value" contains: "$ref": "#/components/schemas/_request_id_value" not_contain: "$ref": "#/components/schemas/_request_id_value" - "$ref": "#/components/schemas/_request_id_value" title: Filter id (single value) _filter_integer: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_request_id" not_eq: "$ref": "#/components/schemas/_request_id" gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: "$ref": "#/components/schemas/_request_id" not_contain: "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_request_id" title: Filter integer _filter_integer_eq: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_request_id" not_eq: "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_request_id" title: Filter integer (eq and not_eq only) _filter_number: anyOf: - type: object title: Operation properties: eq: type: number not_eq: type: number gt: type: number lt: type: number gt_eq: type: number lt_eq: type: number - type: number title: Number title: Filter number _filter_person_date_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 title: Filter date (blank allowed) _filter_person_date_ignored: anyOf: - type: object title: Operation properties: eq: type: string format: date - type: string title: Date format: date title: Filter date (operation ignored) _filter_person_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List title: Filter id _filter_person_id_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 title: Filter id (blank allowed) _filter_person_id_set_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 title: Filter id (eq, not_eq, contains, not_contain, blank allowed) _filter_person_id_single: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_request_id" title: Filter id (single value, operation ignored) _filter_person_string: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: string title: String - type: string title: Blank (IS NULL) maxLength: 0 gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: type: string not_contain: type: string - type: string title: String - type: string title: Blank (IS NULL) maxLength: 0 title: Filter string _filter_person_string_contains: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String title: Filter string (eq, not_eq, contains, not_contain) _filter_person_string_ignored: anyOf: - type: object title: Operation properties: eq: type: string - type: string title: String title: Filter string (operation ignored) _filter_person_string_list: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: Blank (IS NULL) maxLength: 0 contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String - type: array items: type: string title: List of strings - type: string title: Blank (IS NULL) maxLength: 0 title: Filter string list (eq, not_eq, contains, not_contain, blank allowed) _filter_proposal_link_status: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/link_status" - type: array items: "$ref": "#/components/schemas/resource_proposal/properties/link_status" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/link_status" - type: array items: "$ref": "#/components/schemas/resource_proposal/properties/link_status" title: List any_of: type: array items: "$ref": "#/components/schemas/resource_proposal/properties/link_status" none_of: type: array items: "$ref": "#/components/schemas/resource_proposal/properties/link_status" - "$ref": "#/components/schemas/resource_proposal/properties/link_status" - type: array items: "$ref": "#/components/schemas/resource_proposal/properties/link_status" title: List title: Filter proposal link status _filter_proposal_money: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_proposal_money_operand" not_eq: "$ref": "#/components/schemas/_proposal_money_operand" gt: "$ref": "#/components/schemas/_proposal_money_operand" lt: "$ref": "#/components/schemas/_proposal_money_operand" gt_eq: "$ref": "#/components/schemas/_proposal_money_operand" lt_eq: "$ref": "#/components/schemas/_proposal_money_operand" - "$ref": "#/components/schemas/_proposal_money_operand" title: Filter proposal money _filter_proposal_status: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/status" - type: array items: "$ref": "#/components/schemas/resource_proposal/properties/status" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/status" - type: array items: "$ref": "#/components/schemas/resource_proposal/properties/status" title: List any_of: type: array items: "$ref": "#/components/schemas/resource_proposal/properties/status" none_of: type: array items: "$ref": "#/components/schemas/resource_proposal/properties/status" - "$ref": "#/components/schemas/resource_proposal/properties/status" - type: array items: "$ref": "#/components/schemas/resource_proposal/properties/status" title: List title: Filter proposal status _filter_query: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String title: Filter query _filter_relationships: type: object properties: report_category: "$ref": "#/components/schemas/_single_linkage_nullable" subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" _filter_root_automation: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_automation" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_automation" _filter_root_email_thread: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_email_thread" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_email_thread" _filter_scenario_id_scalar: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_request_id" not_eq: "$ref": "#/components/schemas/_request_id" gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: "$ref": "#/components/schemas/_request_id" not_contain: "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_request_id" title: Filter scenario id (single value) _filter_service_blank: type: string title: Blank (IS NULL) maxLength: 0 _filter_service_custom_fields: type: object title: Filter custom fields additionalProperties: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string any_of: type: array items: type: string not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings none_of: type: array items: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String _filter_service_id_operand: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List title: Id operand _filter_service_ids_eq: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_filter_service_id_operand" not_eq: "$ref": "#/components/schemas/_filter_service_id_operand" - "$ref": "#/components/schemas/_filter_service_id_operand" title: Filter id (eq and not_eq only) _filter_service_ids_eq_nullable: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_filter_service_id_operand" - "$ref": "#/components/schemas/_filter_service_blank" not_eq: anyOf: - "$ref": "#/components/schemas/_filter_service_id_operand" - "$ref": "#/components/schemas/_filter_service_blank" - "$ref": "#/components/schemas/_filter_service_id_operand" - "$ref": "#/components/schemas/_filter_service_blank" title: Filter id (eq and not_eq only, nullable) _filter_service_ids_nullable: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_filter_service_id_operand" - "$ref": "#/components/schemas/_filter_service_blank" not_eq: anyOf: - "$ref": "#/components/schemas/_filter_service_id_operand" - "$ref": "#/components/schemas/_filter_service_blank" gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: "$ref": "#/components/schemas/_filter_service_id_operand" not_contain: "$ref": "#/components/schemas/_filter_service_id_operand" any_of: "$ref": "#/components/schemas/_filter_service_id_operand" none_of: "$ref": "#/components/schemas/_filter_service_id_operand" - "$ref": "#/components/schemas/_filter_service_id_operand" - "$ref": "#/components/schemas/_filter_service_blank" title: Filter id (nullable) _filter_service_integer: anyOf: - type: object title: Operation properties: eq: type: integer not_eq: type: integer gt: type: integer lt: type: integer gt_eq: type: integer lt_eq: type: integer - type: integer title: Integer title: Filter integer (comparison operators) _filter_service_integer_nullable: anyOf: - type: object title: Operation properties: eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_filter_service_blank" not_eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_filter_service_blank" gt: type: integer lt: type: integer gt_eq: type: integer lt_eq: type: integer - type: integer title: Integer - "$ref": "#/components/schemas/_filter_service_blank" title: Filter integer (comparison operators, nullable) _filter_service_number: anyOf: - type: object title: Operation properties: eq: type: number not_eq: type: number gt: type: number lt: type: number gt_eq: type: number lt_eq: type: number - type: number title: Number title: Filter number (comparison operators) _filter_string: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: type: string not_contain: type: string - type: string title: String title: Filter string _filter_string_list: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String - type: array items: type: string title: List of strings title: Filter string or list of strings _filter_time_entry_date_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 title: Filter date (blank allowed) _filter_time_entry_id_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - type: string title: Blank (IS NULL) maxLength: 0 none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 title: Filter id (blank allowed) _filter_time_entry_id_eq_blank: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 title: Filter id (eq and not_eq only, blank allowed) _filter_time_entry_integer: anyOf: - type: object title: Operation properties: eq: type: integer not_eq: type: integer gt: type: integer lt: type: integer gt_eq: type: integer lt_eq: type: integer - type: integer title: Integer title: Filter integer _filter_time_entry_recurring_series_id: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings maxItems: 200 not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings maxItems: 200 - type: string title: String - type: array items: type: string title: List of strings maxItems: 200 title: Filter calendar event recurring id (eq and not_eq only) _filter_time_entry_string_blank: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: type: string not_contain: type: string - type: string title: String title: Filter string (blank allowed) _filter_time_entry_string_list: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings any_of: type: array items: type: string none_of: type: array items: type: string - type: string title: String - type: array items: type: string title: List of strings title: Filter string list _filter_update_attributes: type: object properties: chart_type_id: "$ref": "#/components/schemas/resource_filter/properties/chart_type_id" column_settings: "$ref": "#/components/schemas/resource_filter/properties/column_settings" columns: "$ref": "#/components/schemas/resource_filter/properties/columns" description: type: string exchange_currency: "$ref": "#/components/schemas/resource_filter/properties/exchange_currency" exchange_date: "$ref": "#/components/schemas/resource_filter/properties/exchange_date" filterable_collection: "$ref": "#/components/schemas/resource_filter/properties/filterable_collection" filterable_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer - type: 'null' title: 'Null' filterable_type: anyOf: - enum: - project type: string title: Value - type: 'null' title: 'Null' formulas: "$ref": "#/components/schemas/resource_filter/properties/formulas" group_by: "$ref": "#/components/schemas/resource_filter/properties/group_by" hidden: "$ref": "#/components/schemas/resource_filter/properties/hidden" layout_id: "$ref": "#/components/schemas/resource_filter/properties/layout_id" name: allOf: - "$ref": "#/components/schemas/resource_filter/properties/name" - maxLength: 140 params: type: object predefined_id: "$ref": "#/components/schemas/resource_filter/properties/predefined_id" public: "$ref": "#/components/schemas/resource_filter/properties/public" report: "$ref": "#/components/schemas/resource_filter/properties/report" report_layout_id: "$ref": "#/components/schemas/resource_filter/properties/report_layout_id" settings: "$ref": "#/components/schemas/resource_filter/properties/settings" sort_by: "$ref": "#/components/schemas/resource_filter/properties/sort_by" transpose_by: "$ref": "#/components/schemas/resource_filter/properties/transpose_by" type_id: "$ref": "#/components/schemas/resource_filter/properties/type_id" _folder_copy_attributes: type: object properties: copy_assignees: type: boolean copy_closed_tasks: type: boolean copy_custom_fields: type: boolean copy_date: type: boolean copy_estimate: type: boolean copy_open_tasks: type: boolean copy_repeat: type: boolean copy_tags: type: boolean copy_task_attachments: type: boolean copy_task_closed_subtasks: type: boolean copy_task_closed_todos: type: boolean copy_task_comments: type: boolean copy_task_dependencies: type: boolean copy_task_description: type: boolean copy_task_lists: type: boolean copy_task_open_subtasks: type: boolean copy_task_open_todos: type: boolean copy_task_subscribers: type: boolean name: allOf: - "$ref": "#/components/schemas/resource_folder/properties/name" - maxLength: 255 required: - name _folder_create_attributes: type: object properties: hidden: "$ref": "#/components/schemas/resource_folder/properties/hidden" name: allOf: - "$ref": "#/components/schemas/resource_folder/properties/name" - maxLength: 255 position: "$ref": "#/components/schemas/resource_folder/properties/position" required: - name _folder_relationships: type: object properties: project: "$ref": "#/components/schemas/_single_linkage" _folder_update_attributes: type: object properties: hidden: "$ref": "#/components/schemas/resource_folder/properties/hidden" name: allOf: - "$ref": "#/components/schemas/resource_folder/properties/name" - maxLength: 255 position: "$ref": "#/components/schemas/resource_folder/properties/position" _invoice_attribution_create_attributes: type: object properties: amount: "$ref": "#/components/schemas/resource_invoice_attribution/properties/amount" date_from: anyOf: - "$ref": "#/components/schemas/resource_invoice_attribution/properties/date_from" - type: 'null' title: 'Null' date_to: anyOf: - "$ref": "#/components/schemas/resource_invoice_attribution/properties/date_to" - type: 'null' title: 'Null' required: - amount _invoice_attribution_create_relationships: type: object properties: budget: "$ref": "#/components/schemas/_single_linkage" invoice: "$ref": "#/components/schemas/_single_linkage" service: "$ref": "#/components/schemas/_single_linkage" _invoice_attribution_update_attributes: type: object properties: amount: "$ref": "#/components/schemas/resource_invoice_attribution/properties/amount" date_from: anyOf: - "$ref": "#/components/schemas/resource_invoice_attribution/properties/date_from" - type: 'null' title: 'Null' date_to: anyOf: - "$ref": "#/components/schemas/resource_invoice_attribution/properties/date_to" - type: 'null' title: 'Null' _invoice_create_attributes: type: object allOf: - "$ref": "#/components/schemas/_invoice_update_attributes" - type: object properties: currency: "$ref": "#/components/schemas/resource_invoice/properties/currency" invoice_type_id: "$ref": "#/components/schemas/resource_invoice/properties/invoice_type_id" _invoice_relationships: type: object properties: attachment: "$ref": "#/components/schemas/_single_linkage_nullable" bank_account: "$ref": "#/components/schemas/_single_linkage_nullable" company: "$ref": "#/components/schemas/_single_linkage" document_type: "$ref": "#/components/schemas/_single_linkage_nullable" issuer: "$ref": "#/components/schemas/_single_linkage_nullable" parent_invoice: "$ref": "#/components/schemas/_single_linkage_nullable" subscribers: "$ref": "#/components/schemas/_collection_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" _invoice_update_attributes: type: object properties: bank_account_details: "$ref": "#/components/schemas/resource_invoice/properties/bank_account_details" creation_options: "$ref": "#/components/schemas/resource_invoice/properties/creation_options" custom_fields: "$ref": "#/components/schemas/resource_invoice/properties/custom_fields" delivery_on: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/delivery_on" - type: 'null' title: 'Null' discount: anyOf: - type: number title: Number maximum: 100 minimum: 0 - type: 'null' title: 'Null' export_id: "$ref": "#/components/schemas/resource_invoice/properties/export_id" export_invoice_url: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/export_invoice_url" - type: 'null' title: 'Null' exported: "$ref": "#/components/schemas/resource_invoice/properties/exported" invoiced_on: "$ref": "#/components/schemas/resource_invoice/properties/invoiced_on" note: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/note" - type: 'null' title: 'Null' number: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/number" - type: 'null' title: 'Null' pay_on: "$ref": "#/components/schemas/resource_invoice/properties/pay_on" payment_terms_days: anyOf: - type: integer title: Integer minimum: 0 - type: 'null' title: 'Null' payment_terms_type: "$ref": "#/components/schemas/resource_invoice/properties/payment_terms_type" purchase_order_number: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/purchase_order_number" - type: 'null' title: 'Null' sent_on: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/sent_on" - type: 'null' title: 'Null' subject: "$ref": "#/components/schemas/resource_invoice/properties/subject" tag_list: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/tag_list" - type: array items: type: string title: List of strings tax1_name: "$ref": "#/components/schemas/resource_invoice/properties/tax1_name" tax1_value: anyOf: - type: number title: Number maximum: 100 minimum: -100 - type: 'null' title: 'Null' tax2_name: "$ref": "#/components/schemas/resource_invoice/properties/tax2_name" tax2_value: anyOf: - type: number title: Number maximum: 100 minimum: -100 - type: 'null' title: 'Null' _line_item_create_attributes: type: object properties: description: type: string discount: anyOf: - allOf: - "$ref": "#/components/schemas/resource_line_item/properties/discount" - maximum: 100 minimum: 0 title: Value - type: 'null' title: 'Null' position: "$ref": "#/components/schemas/resource_line_item/properties/position" quantity: anyOf: - "$ref": "#/components/schemas/resource_line_item/properties/quantity" - type: string title: String tax_name: "$ref": "#/components/schemas/resource_line_item/properties/tax_name" tax_value: "$ref": "#/components/schemas/resource_line_item/properties/tax_value" unit_id: "$ref": "#/components/schemas/resource_line_item/properties/unit_id" unit_price: anyOf: - "$ref": "#/components/schemas/resource_line_item/properties/unit_price" - type: string title: String required: - unit_price - quantity - description _line_item_relationships: type: object properties: budget: "$ref": "#/components/schemas/_collection_linkage" expense: "$ref": "#/components/schemas/_single_linkage_nullable" invoice: "$ref": "#/components/schemas/_single_linkage" kpd_code: "$ref": "#/components/schemas/_single_linkage_nullable" service: "$ref": "#/components/schemas/_single_linkage_nullable" service_type: "$ref": "#/components/schemas/_single_linkage_nullable" tax_rate: "$ref": "#/components/schemas/_single_linkage" _line_item_update_attributes: type: object properties: description: type: string discount: anyOf: - allOf: - "$ref": "#/components/schemas/resource_line_item/properties/discount" - maximum: 100 minimum: 0 title: Value - type: 'null' title: 'Null' position: "$ref": "#/components/schemas/resource_line_item/properties/position" quantity: "$ref": "#/components/schemas/resource_line_item/properties/quantity" tax_name: "$ref": "#/components/schemas/resource_line_item/properties/tax_name" tax_value: "$ref": "#/components/schemas/resource_line_item/properties/tax_value" unit_id: "$ref": "#/components/schemas/resource_line_item/properties/unit_id" unit_price: "$ref": "#/components/schemas/resource_line_item/properties/unit_price" _payment_create_attributes: type: object properties: amount: "$ref": "#/components/schemas/resource_payment/properties/amount" note: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/note" - type: 'null' title: 'Null' paid_on: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/paid_on" - type: 'null' title: 'Null' written_off_on: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/written_off_on" - type: 'null' title: 'Null' required: - amount _payment_create_relationships: type: object properties: invoice: "$ref": "#/components/schemas/_single_linkage" _payment_reminder_attributes: type: object properties: bcc: "$ref": "#/components/schemas/resource_payment_reminder/properties/bcc" before_due_date: "$ref": "#/components/schemas/resource_payment_reminder/properties/before_due_date" body: type: string minLength: 1 cc: "$ref": "#/components/schemas/resource_payment_reminder/properties/cc" from: type: string minLength: 1 reminder_period: "$ref": "#/components/schemas/resource_payment_reminder/properties/reminder_period" subject: type: string minLength: 1 to: anyOf: - "$ref": "#/components/schemas/resource_payment_reminder/properties/to" - type: 'null' title: 'Null' _payment_reminder_create_attributes: allOf: - "$ref": "#/components/schemas/_payment_reminder_attributes" - type: object _payment_reminder_relationships: type: object properties: invoice: "$ref": "#/components/schemas/_single_linkage_nullable" payment_reminder_sequence: "$ref": "#/components/schemas/_single_linkage_nullable" _payment_update_attributes: type: object properties: amount: "$ref": "#/components/schemas/resource_payment/properties/amount" note: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/note" - type: 'null' title: 'Null' paid_on: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/paid_on" - type: 'null' title: 'Null' written_off_on: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/written_off_on" - type: 'null' title: 'Null' _person_create_attributes: allOf: - "$ref": "#/components/schemas/_person_update_attributes" - type: object properties: role_id: {} _person_relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" custom_role: "$ref": "#/components/schemas/_single_linkage" job_role: "$ref": "#/components/schemas/_single_linkage_nullable" manager: "$ref": "#/components/schemas/_single_linkage_nullable" role: "$ref": "#/components/schemas/_single_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" time_tracking_policy: "$ref": "#/components/schemas/_single_linkage_nullable" _person_update_attributes: type: object properties: ai_assistant_avatar_url: anyOf: - enum: - https://files.productive.io/chiefs/avatars/1.svg - https://files.productive.io/chiefs/avatars/2.svg - https://files.productive.io/chiefs/avatars/3.svg - https://files.productive.io/chiefs/avatars/4.svg - https://files.productive.io/chiefs/avatars/5.svg - https://files.productive.io/chiefs/avatars/6.svg - https://files.productive.io/chiefs/avatars/7.svg - https://files.productive.io/chiefs/avatars/8.svg - https://files.productive.io/chiefs/avatars/9.svg - https://files.productive.io/chiefs/avatars/10.svg - https://files.productive.io/chiefs/avatars/11.svg - https://files.productive.io/chiefs/avatars/12.svg type: string title: Value - type: string title: String maxLength: 0 - type: 'null' title: 'Null' ai_assistant_instructions: anyOf: - allOf: - "$ref": "#/components/schemas/resource_person/properties/ai_assistant_instructions" - maxLength: 10000 title: Value - type: 'null' title: 'Null' ai_assistant_name: anyOf: - allOf: - "$ref": "#/components/schemas/resource_person/properties/ai_assistant_name" - maxLength: 255 title: Value - type: 'null' title: 'Null' autotracking: "$ref": "#/components/schemas/resource_person/properties/autotracking" avatar_url: anyOf: - "$ref": "#/components/schemas/resource_person/properties/avatar_url" - type: 'null' title: 'Null' contact: anyOf: - "$ref": "#/components/schemas/resource_person/properties/contact" - type: 'null' title: 'Null' custom_fields: anyOf: - "$ref": "#/components/schemas/resource_person/properties/custom_fields" - type: 'null' title: 'Null' email: anyOf: - "$ref": "#/components/schemas/resource_person/properties/email" - type: 'null' title: 'Null' first_name: "$ref": "#/components/schemas/resource_person/properties/first_name" granular_notification_preferences: "$ref": "#/components/schemas/resource_person/properties/granular_notification_preferences" last_name: anyOf: - "$ref": "#/components/schemas/resource_person/properties/last_name" - type: 'null' title: 'Null' nickname: anyOf: - "$ref": "#/components/schemas/resource_person/properties/nickname" - type: 'null' title: 'Null' shared_seat: "$ref": "#/components/schemas/resource_person/properties/shared_seat" status_emoji: anyOf: - "$ref": "#/components/schemas/resource_person/properties/status_emoji" - type: 'null' title: 'Null' status_expires_at: anyOf: - "$ref": "#/components/schemas/resource_person/properties/status_expires_at" - type: 'null' title: 'Null' status_text: anyOf: - "$ref": "#/components/schemas/resource_person/properties/status_text" - type: 'null' title: 'Null' subscriber_ids: type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer tag_list: "$ref": "#/components/schemas/resource_person/properties/tag_list" time_off_status_sync: "$ref": "#/components/schemas/resource_person/properties/time_off_status_sync" time_unlocked: "$ref": "#/components/schemas/resource_person/properties/time_unlocked" time_unlocked_end_date: anyOf: - "$ref": "#/components/schemas/resource_person/properties/time_unlocked_end_date" - type: 'null' title: 'Null' time_unlocked_interval: anyOf: - "$ref": "#/components/schemas/resource_person/properties/time_unlocked_interval" - type: 'null' title: 'Null' time_unlocked_on: anyOf: - "$ref": "#/components/schemas/resource_person/properties/time_unlocked_on" - type: 'null' title: 'Null' time_unlocked_period_id: anyOf: - "$ref": "#/components/schemas/resource_person/properties/time_unlocked_period_id" - "$ref": "#/components/schemas/_request_id" - type: 'null' title: 'Null' time_unlocked_start_date: anyOf: - "$ref": "#/components/schemas/resource_person/properties/time_unlocked_start_date" - type: 'null' title: 'Null' timesheet_submission_disabled: "$ref": "#/components/schemas/resource_person/properties/timesheet_submission_disabled" title: anyOf: - "$ref": "#/components/schemas/resource_person/properties/title" - type: 'null' title: 'Null' virtual: "$ref": "#/components/schemas/resource_person/properties/virtual" _pipeline_attributes: type: object properties: icon_id: "$ref": "#/components/schemas/resource_pipeline/properties/icon_id" name: allOf: - "$ref": "#/components/schemas/resource_pipeline/properties/name" - maxLength: 140 pipeline_type_id: anyOf: - "$ref": "#/components/schemas/resource_pipeline/properties/pipeline_type_id" - type: 'null' title: 'Null' position: "$ref": "#/components/schemas/resource_pipeline/properties/position" _pipeline_create_attributes: allOf: - "$ref": "#/components/schemas/_pipeline_attributes" - type: object _pipeline_relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" _placeholder_attributes: type: object properties: category: "$ref": "#/components/schemas/resource_placeholder/properties/category" color: "$ref": "#/components/schemas/resource_placeholder/properties/color" icon: "$ref": "#/components/schemas/resource_placeholder/properties/icon" name: "$ref": "#/components/schemas/resource_placeholder/properties/name" type: "$ref": "#/components/schemas/resource_placeholder/properties/type" _placeholder_create_attributes: allOf: - "$ref": "#/components/schemas/_placeholder_attributes" - type: object _placeholder_relationships: type: object properties: project: "$ref": "#/components/schemas/_single_linkage" _placeholder_usage_create_attributes: allOf: - "$ref": "#/components/schemas/_placeholder_usage_update_attributes" - type: object properties: field: "$ref": "#/components/schemas/resource_placeholder_usage/properties/field" required: - field _placeholder_usage_create_relationships: type: object properties: placeholder: "$ref": "#/components/schemas/_single_linkage" task: "$ref": "#/components/schemas/_single_linkage" todo: "$ref": "#/components/schemas/_single_linkage" _placeholder_usage_update_attributes: type: object properties: interval_direction: anyOf: - "$ref": "#/components/schemas/resource_placeholder_usage/properties/interval_direction" - type: 'null' title: 'Null' interval_unit: anyOf: - "$ref": "#/components/schemas/resource_placeholder_usage/properties/interval_unit" - type: 'null' title: 'Null' interval_value: anyOf: - allOf: - "$ref": "#/components/schemas/resource_placeholder_usage/properties/interval_value" - minimum: 0 title: Value - type: 'null' title: 'Null' skip_weekends: "$ref": "#/components/schemas/resource_placeholder_usage/properties/skip_weekends" _placeholder_usage_update_relationships: type: object properties: placeholder: "$ref": "#/components/schemas/_single_linkage" _price_attributes: type: object properties: billing_type_id: enum: - 1 - 2 - 3 type: integer booking_tracking_enabled: "$ref": "#/components/schemas/resource_price/properties/booking_tracking_enabled" budget_cap_enabled: "$ref": "#/components/schemas/resource_price/properties/budget_cap_enabled" currency: "$ref": "#/components/schemas/resource_price/properties/currency" custom_fields: "$ref": "#/components/schemas/resource_price/properties/custom_fields" description: type: string discount: anyOf: - allOf: - "$ref": "#/components/schemas/resource_price/properties/discount" - maximum: 100 minimum: 0 title: Value - type: 'null' title: 'Null' discount_amount: anyOf: - allOf: - "$ref": "#/components/schemas/resource_price/properties/discount_amount" - minimum: 0 title: Value - type: 'null' title: 'Null' editor_config: "$ref": "#/components/schemas/resource_price/properties/editor_config" estimated_cost: anyOf: - "$ref": "#/components/schemas/resource_price/properties/estimated_cost" - type: 'null' title: 'Null' estimated_hours: "$ref": "#/components/schemas/resource_price/properties/estimated_hours" expense_tracking_enabled: "$ref": "#/components/schemas/resource_price/properties/expense_tracking_enabled" markup: anyOf: - allOf: - "$ref": "#/components/schemas/resource_price/properties/markup" - minimum: 0 title: Value - type: 'null' title: 'Null' name: allOf: - "$ref": "#/components/schemas/resource_price/properties/name" - maxLength: 140 quantity: "$ref": "#/components/schemas/resource_price/properties/quantity" rate: "$ref": "#/components/schemas/resource_price/properties/rate" time_tracking_enabled: "$ref": "#/components/schemas/resource_price/properties/time_tracking_enabled" unit_id: "$ref": "#/components/schemas/resource_price/properties/unit_id" _price_create_attributes: allOf: - "$ref": "#/components/schemas/_price_attributes" - type: object _price_relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" rate_card: "$ref": "#/components/schemas/_single_linkage" service_type: "$ref": "#/components/schemas/_single_linkage_nullable" _project_change_workflow_attributes: type: object properties: map: type: object additionalProperties: "$ref": "#/components/schemas/_request_id" required: - map _project_copy_attributes: type: object properties: copy_as_template: type: boolean copy_assignees: type: boolean copy_automations: type: boolean copy_budgets: type: boolean copy_closed_tasks: type: boolean copy_custom_fields: type: boolean copy_dashboards: type: boolean copy_date: type: boolean copy_deals: type: boolean copy_estimate: type: boolean copy_folders: type: boolean copy_memberships: type: boolean copy_notes: type: boolean copy_open_tasks: type: boolean copy_project_milestones: type: boolean copy_repeat: type: boolean copy_surveys: type: boolean copy_tags: type: boolean copy_task_attachments: type: boolean copy_task_closed_subtasks: type: boolean copy_task_closed_todos: type: boolean copy_task_comments: type: boolean copy_task_dependencies: type: boolean copy_task_description: type: boolean copy_task_lists: type: boolean copy_task_open_subtasks: type: boolean copy_task_open_todos: type: boolean copy_task_subscribers: type: boolean copy_task_templates: type: boolean copy_views: type: boolean custom_fields: type: object description: "$ref": "#/components/schemas/resource_project/properties/description" name: allOf: - "$ref": "#/components/schemas/resource_project/properties/name" - maxLength: 255 placeholder_map: type: object project_color_id: "$ref": "#/components/schemas/_request_id" project_type_id: "$ref": "#/components/schemas/resource_project/properties/project_type_id" subsidiary_id: anyOf: - "$ref": "#/components/schemas/_request_id" - type: 'null' title: 'Null' required: - name - project_type_id _project_create_attributes: type: object properties: custom_fields: "$ref": "#/components/schemas/resource_project/properties/custom_fields" description: "$ref": "#/components/schemas/resource_project/properties/description" name: allOf: - "$ref": "#/components/schemas/resource_project/properties/name" - maxLength: 255 page_custom_fields_ids: "$ref": "#/components/schemas/resource_project/properties/page_custom_fields_ids" page_custom_fields_positions: "$ref": "#/components/schemas/resource_project/properties/page_custom_fields_positions" preferences: "$ref": "#/components/schemas/resource_project/properties/preferences" project_color_id: "$ref": "#/components/schemas/_request_id" project_type_id: "$ref": "#/components/schemas/resource_project/properties/project_type_id" tag_colors: "$ref": "#/components/schemas/resource_project/properties/tag_colors" task_custom_fields_ids: "$ref": "#/components/schemas/resource_project/properties/task_custom_fields_ids" task_custom_fields_positions: "$ref": "#/components/schemas/resource_project/properties/task_custom_fields_positions" required: - name - project_type_id _project_create_relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage_nullable" project_manager: "$ref": "#/components/schemas/_single_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" workflow: "$ref": "#/components/schemas/_single_linkage" _project_milestone_create_attributes: type: object properties: color_id: "$ref": "#/components/schemas/_request_id" date: "$ref": "#/components/schemas/resource_project_milestone/properties/date" icon_id: allOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/icon_id" - maxLength: 255 note: anyOf: - allOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/note" - maxLength: 65535 title: Value - type: 'null' title: 'Null' title: allOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/title" - maxLength: 255 required: - title - date - icon_id _project_milestone_relationships: type: object properties: assignee: "$ref": "#/components/schemas/_single_linkage_nullable" project: "$ref": "#/components/schemas/_single_linkage" _project_milestone_update_attributes: type: object properties: color_id: "$ref": "#/components/schemas/_request_id" date: "$ref": "#/components/schemas/resource_project_milestone/properties/date" icon_id: allOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/icon_id" - maxLength: 255 note: anyOf: - allOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/note" - maxLength: 65535 title: Value - type: 'null' title: 'Null' title: allOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/title" - maxLength: 255 _project_preference_attributes: type: object properties: preferences: "$ref": "#/components/schemas/resource_project_preference/properties/preferences" subscribe: "$ref": "#/components/schemas/resource_project_preference/properties/subscribe" tasks_layout_id: "$ref": "#/components/schemas/resource_project_preference/properties/tasks_layout_id" unsubscribe: "$ref": "#/components/schemas/resource_project_preference/properties/unsubscribe" watched: "$ref": "#/components/schemas/resource_project_preference/properties/watched" _project_preference_create_attributes: allOf: - "$ref": "#/components/schemas/_project_preference_attributes" - type: object _project_preference_relationships: type: object properties: person: "$ref": "#/components/schemas/_single_linkage" project: "$ref": "#/components/schemas/_single_linkage" _project_update_attributes: type: object properties: custom_fields: "$ref": "#/components/schemas/resource_project/properties/custom_fields" description: "$ref": "#/components/schemas/resource_project/properties/description" name: allOf: - "$ref": "#/components/schemas/resource_project/properties/name" - maxLength: 255 page_custom_fields_ids: "$ref": "#/components/schemas/resource_project/properties/page_custom_fields_ids" page_custom_fields_positions: "$ref": "#/components/schemas/resource_project/properties/page_custom_fields_positions" preferences: "$ref": "#/components/schemas/resource_project/properties/preferences" project_color_id: "$ref": "#/components/schemas/_request_id" project_type_id: "$ref": "#/components/schemas/resource_project/properties/project_type_id" tag_colors: "$ref": "#/components/schemas/resource_project/properties/tag_colors" task_custom_fields_ids: "$ref": "#/components/schemas/resource_project/properties/task_custom_fields_ids" task_custom_fields_positions: "$ref": "#/components/schemas/resource_project/properties/task_custom_fields_positions" _project_update_relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage_nullable" project_manager: "$ref": "#/components/schemas/_single_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" _proposal_create_attributes: type: object properties: name: allOf: - "$ref": "#/components/schemas/resource_proposal/properties/name" - maxLength: 255 note: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/note" - type: 'null' title: 'Null' status: "$ref": "#/components/schemas/resource_proposal/properties/status" required: - name _proposal_create_relationships: type: object properties: attachment: "$ref": "#/components/schemas/_single_linkage_nullable" deal: "$ref": "#/components/schemas/_single_linkage" document_type: "$ref": "#/components/schemas/_single_linkage" scenario: "$ref": "#/components/schemas/_single_linkage_nullable" tax_rate: "$ref": "#/components/schemas/_single_linkage_nullable" _proposal_money_operand: anyOf: - type: number title: Number - type: string title: String pattern: "^-?[0-9]+(\\.[0-9]+)?$" title: Money operand _proposal_update_attributes: type: object properties: decline_reason: anyOf: - type: 'null' title: 'Null' - allOf: - "$ref": "#/components/schemas/resource_proposal/properties/decline_reason" - maxLength: 5000 title: Value disclaimer: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/disclaimer" - type: 'null' title: 'Null' disclaimer_enabled: "$ref": "#/components/schemas/resource_proposal/properties/disclaimer_enabled" identity_confirmation_enabled: "$ref": "#/components/schemas/resource_proposal/properties/identity_confirmation_enabled" link_expires_at: anyOf: - type: string title: Date time format: date-time - type: 'null' title: 'Null' name: allOf: - "$ref": "#/components/schemas/resource_proposal/properties/name" - maxLength: 255 note: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/note" - type: 'null' title: 'Null' password: anyOf: - type: string title: String - type: 'null' title: 'Null' status: "$ref": "#/components/schemas/resource_proposal/properties/status" _proposal_update_relationships: type: object properties: attachment: "$ref": "#/components/schemas/_single_linkage_nullable" document_type: "$ref": "#/components/schemas/_single_linkage" scenario: "$ref": "#/components/schemas/_single_linkage_nullable" tax_rate: "$ref": "#/components/schemas/_single_linkage_nullable" _pulse_create_attributes: allOf: - "$ref": "#/components/schemas/_pulse_update_attributes" - type: object _pulse_update_attributes: type: object properties: document_format_id: "$ref": "#/components/schemas/resource_pulse/properties/document_format_id" export_params: "$ref": "#/components/schemas/resource_pulse/properties/export_params" recipients: type: array items: type: string repeat_schedule_id: "$ref": "#/components/schemas/resource_pulse/properties/repeat_schedule_id" schedule_day_id: "$ref": "#/components/schemas/resource_pulse/properties/schedule_day_id" schedule_frame_id: "$ref": "#/components/schemas/resource_pulse/properties/schedule_frame_id" schedule_hour: allOf: - "$ref": "#/components/schemas/resource_pulse/properties/schedule_hour" - maximum: 23 minimum: 0 skip_if_empty: "$ref": "#/components/schemas/resource_pulse/properties/skip_if_empty" slack_channel: "$ref": "#/components/schemas/resource_pulse/properties/slack_channel" teams_channel: "$ref": "#/components/schemas/resource_pulse/properties/teams_channel" teams_team: "$ref": "#/components/schemas/resource_pulse/properties/teams_team" test_pulse: "$ref": "#/components/schemas/resource_pulse/properties/test_pulse" type_id: "$ref": "#/components/schemas/resource_pulse/properties/type_id" version: "$ref": "#/components/schemas/resource_pulse/properties/version" _purchase_order_create_attributes: allOf: - "$ref": "#/components/schemas/_purchase_order_update_attributes" - type: object properties: deal_id: {} _purchase_order_update_attributes: type: object properties: currency: "$ref": "#/components/schemas/resource_purchase_order/properties/currency" delivery_on: "$ref": "#/components/schemas/resource_purchase_order/properties/delivery_on" issued_on: "$ref": "#/components/schemas/resource_purchase_order/properties/issued_on" note: "$ref": "#/components/schemas/resource_purchase_order/properties/note" sent_on: "$ref": "#/components/schemas/resource_purchase_order/properties/sent_on" status_id: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" subject: "$ref": "#/components/schemas/resource_purchase_order/properties/subject" subscriber_ids: type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer _request_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Request id _request_id_value: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Request id value _resource_request_create_attributes: type: object properties: booking_method_id: "$ref": "#/components/schemas/resource_resource_request/properties/booking_method_id" currency: "$ref": "#/components/schemas/resource_resource_request/properties/currency" custom_fields: "$ref": "#/components/schemas/resource_resource_request/properties/custom_fields" ended_on: "$ref": "#/components/schemas/resource_resource_request/properties/ended_on" fields: type: object properties: tags: type: array items: type: string job_role_id: "$ref": "#/components/schemas/_request_id" job_title: type: string preferred_person_ids: type: array items: "$ref": "#/components/schemas/_request_id" service_type_ids: type: array items: "$ref": "#/components/schemas/_request_id" subsidiary_id: "$ref": "#/components/schemas/_request_id" team_ids: type: array items: "$ref": "#/components/schemas/_request_id" max_cost_per_hour: type: integer note: "$ref": "#/components/schemas/resource_resource_request/properties/note" percentage: allOf: - "$ref": "#/components/schemas/resource_resource_request/properties/percentage" - maximum: 100 minimum: 0 started_on: "$ref": "#/components/schemas/resource_resource_request/properties/started_on" time: allOf: - "$ref": "#/components/schemas/resource_resource_request/properties/time" - minimum: 0 title: "$ref": "#/components/schemas/resource_resource_request/properties/title" total_time: allOf: - "$ref": "#/components/schemas/resource_resource_request/properties/total_time" - minimum: 0 required: - title - currency - started_on - ended_on - booking_method_id _resource_request_relationships: type: object properties: service: "$ref": "#/components/schemas/_single_linkage" subscribers: "$ref": "#/components/schemas/_collection_linkage" _resource_request_update_attributes: type: object properties: booking_method_id: "$ref": "#/components/schemas/resource_resource_request/properties/booking_method_id" currency: "$ref": "#/components/schemas/resource_resource_request/properties/currency" custom_fields: "$ref": "#/components/schemas/resource_resource_request/properties/custom_fields" ended_on: "$ref": "#/components/schemas/resource_resource_request/properties/ended_on" fields: type: object properties: tags: type: array items: type: string job_role_id: "$ref": "#/components/schemas/_request_id" job_title: type: string preferred_person_ids: type: array items: "$ref": "#/components/schemas/_request_id" service_type_ids: type: array items: "$ref": "#/components/schemas/_request_id" subsidiary_id: "$ref": "#/components/schemas/_request_id" team_ids: type: array items: "$ref": "#/components/schemas/_request_id" max_cost_per_hour: type: integer note: "$ref": "#/components/schemas/resource_resource_request/properties/note" percentage: allOf: - "$ref": "#/components/schemas/resource_resource_request/properties/percentage" - maximum: 100 minimum: 0 started_on: "$ref": "#/components/schemas/resource_resource_request/properties/started_on" time: allOf: - "$ref": "#/components/schemas/resource_resource_request/properties/time" - minimum: 0 title: "$ref": "#/components/schemas/resource_resource_request/properties/title" total_time: allOf: - "$ref": "#/components/schemas/resource_resource_request/properties/total_time" - minimum: 0 _response_object_activity: type: object title: Activity properties: attributes: type: object properties: root_type: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/root_type" - type: 'null' title: 'Null' booking_id: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/booking_id" - type: 'null' title: 'Null' changeset: "$ref": "#/components/schemas/resource_activity/properties/changeset" company_id: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/company_id" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_activity/properties/created_at" deal_id: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/deal_id" - type: 'null' title: 'Null' deal_is_budget: "$ref": "#/components/schemas/resource_activity/properties/deal_is_budget" discussion_id: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/discussion_id" - type: 'null' title: 'Null' engagement_id: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/engagement_id" - type: 'null' title: 'Null' event: "$ref": "#/components/schemas/resource_activity/properties/event" external_author_name: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/external_author_name" - type: 'null' title: 'Null' invoice_id: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/invoice_id" - type: 'null' title: 'Null' item_deleted_at: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/item_deleted_at" - type: 'null' title: 'Null' item_id: "$ref": "#/components/schemas/resource_activity/properties/item_id" item_name: "$ref": "#/components/schemas/resource_activity/properties/item_name" item_type: "$ref": "#/components/schemas/resource_activity/properties/item_type" made_by_automation: "$ref": "#/components/schemas/resource_activity/properties/made_by_automation" page_id: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/page_id" - type: 'null' title: 'Null' parent_deleted_at: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/parent_deleted_at" - type: 'null' title: 'Null' parent_id: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/parent_id" - type: 'null' title: 'Null' parent_name: "$ref": "#/components/schemas/resource_activity/properties/parent_name" parent_type: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/parent_type" - type: 'null' title: 'Null' person_id: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/person_id" - type: 'null' title: 'Null' purchase_order_id: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/purchase_order_id" - type: 'null' title: 'Null' root_deleted_at: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/root_deleted_at" - type: 'null' title: 'Null' root_id: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/root_id" - type: 'null' title: 'Null' root_name: "$ref": "#/components/schemas/resource_activity/properties/root_name" task_id: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/task_id" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: attachment: "$ref": "#/components/schemas/_single_relationship" comment: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" email: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" role: "$ref": "#/components/schemas/_single_relationship" type: enum: - activities type: string required: - id - type _response_object_agent: type: object title: Agent properties: attributes: type: object properties: avatar_url: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/avatar_url" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_agent/properties/created_at" deactivated_at: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/deactivated_at" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_agent/properties/name" status: "$ref": "#/components/schemas/resource_agent/properties/status" title: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/title" - type: 'null' title: 'Null' updated_at: "$ref": "#/components/schemas/resource_agent/properties/updated_at" id: type: string relationships: type: object properties: agent_config: "$ref": "#/components/schemas/_single_relationship" custom_role: "$ref": "#/components/schemas/_single_relationship" manager: "$ref": "#/components/schemas/_single_relationship" memberships: "$ref": "#/components/schemas/_collection_relationship" person: "$ref": "#/components/schemas/_single_relationship" type: enum: - agents type: string required: - id - type _response_object_agent_config: type: object title: Agent Config properties: attributes: type: object properties: ai_model: anyOf: - "$ref": "#/components/schemas/resource_agent_config/properties/ai_model" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_agent_config/properties/created_at" instructions: anyOf: - "$ref": "#/components/schemas/resource_agent_config/properties/instructions" - type: 'null' title: 'Null' reasoning_effort: anyOf: - "$ref": "#/components/schemas/resource_agent_config/properties/reasoning_effort" - type: 'null' title: 'Null' slack_triggers: type: object slack_user_group_id: anyOf: - type: string title: String - type: 'null' title: 'Null' updated_at: "$ref": "#/components/schemas/resource_agent_config/properties/updated_at" id: type: string relationships: type: object properties: agent: "$ref": "#/components/schemas/_single_relationship" attachments: "$ref": "#/components/schemas/_collection_relationship" type: enum: - agent_configs type: string required: - id - type _response_object_agent_session: type: object title: Agent Session properties: attributes: type: object properties: client_type: "$ref": "#/components/schemas/resource_agent_session/properties/client_type" created_at: "$ref": "#/components/schemas/resource_agent_session/properties/created_at" last_activity_at: "$ref": "#/components/schemas/resource_agent_session/properties/last_activity_at" last_seen_at: "$ref": "#/components/schemas/resource_agent_session/properties/last_seen_at" status_text: "$ref": "#/components/schemas/resource_agent_session/properties/status_text" status_type: "$ref": "#/components/schemas/resource_agent_session/properties/status_type" status_updated_at: "$ref": "#/components/schemas/resource_agent_session/properties/status_updated_at" target_id: "$ref": "#/components/schemas/resource_agent_session/properties/target_id" target_type: "$ref": "#/components/schemas/resource_agent_session/properties/target_type" title: "$ref": "#/components/schemas/resource_agent_session/properties/title" uid: "$ref": "#/components/schemas/resource_agent_session/properties/uid" updated_at: "$ref": "#/components/schemas/resource_agent_session/properties/updated_at" id: type: string relationships: type: object properties: agent: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" transcript: "$ref": "#/components/schemas/_single_relationship" type: enum: - agent_sessions type: string required: - id - type _response_object_allocation: type: object title: Allocation properties: attributes: type: object properties: booking_method_id: "$ref": "#/components/schemas/resource_allocation/properties/booking_method_id" booking_type: "$ref": "#/components/schemas/resource_allocation/properties/booking_type" created_at: "$ref": "#/components/schemas/resource_allocation/properties/created_at" draft: anyOf: - "$ref": "#/components/schemas/resource_allocation/properties/draft" - type: 'null' title: 'Null' ended_on: "$ref": "#/components/schemas/resource_allocation/properties/ended_on" hours: anyOf: - "$ref": "#/components/schemas/resource_allocation/properties/hours" - type: 'null' title: 'Null' percentage: anyOf: - "$ref": "#/components/schemas/resource_allocation/properties/percentage" - type: 'null' title: 'Null' started_on: "$ref": "#/components/schemas/resource_allocation/properties/started_on" time: anyOf: - "$ref": "#/components/schemas/resource_allocation/properties/time" - type: 'null' title: 'Null' total_time: "$ref": "#/components/schemas/resource_allocation/properties/total_time" total_working_days: anyOf: - "$ref": "#/components/schemas/resource_allocation/properties/total_working_days" - type: 'null' title: 'Null' updated_at: "$ref": "#/components/schemas/resource_allocation/properties/updated_at" id: type: string relationships: type: object properties: client: "$ref": "#/components/schemas/_single_relationship" event: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" responsible: "$ref": "#/components/schemas/_single_relationship" type: enum: - allocations type: string required: - id - type _response_object_approval_policy: type: object title: Approval policy properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_approval_policy/properties/archived_at" - type: 'null' title: 'Null' custom: "$ref": "#/components/schemas/resource_approval_policy/properties/custom" default: "$ref": "#/components/schemas/resource_approval_policy/properties/default" name: "$ref": "#/components/schemas/resource_approval_policy/properties/name" type_id: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - approval_policies type: string required: - id - type _response_object_approval_policy_assignment: type: object title: Approval policy assignment properties: attributes: type: object properties: target_type: "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_type" id: type: string relationships: type: object properties: approval_policy: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" type: enum: - approval_policy_assignments type: string required: - id - type _response_object_approval_status: type: object title: Approval status properties: attributes: type: object properties: approved_at: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/approved_at" - type: 'null' title: 'Null' approver_group_key: "$ref": "#/components/schemas/resource_approval_status/properties/approver_group_key" custom_field_id: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/custom_field_id" - type: 'null' title: 'Null' dynamic_approver_type_id: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/dynamic_approver_type_id" - type: 'null' title: 'Null' fallback_approver_type_id: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/fallback_approver_type_id" - type: 'null' title: 'Null' note: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/note" - type: 'null' title: 'Null' rejected_at: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/rejected_at" - type: 'null' title: 'Null' target_type: "$ref": "#/components/schemas/resource_approval_status/properties/target_type" id: type: string relationships: type: object properties: actual_approver: "$ref": "#/components/schemas/_single_relationship" approval_workflow: "$ref": "#/components/schemas/_single_relationship" approver: "$ref": "#/components/schemas/_single_relationship" booking: "$ref": "#/components/schemas/_single_relationship" custom_field: "$ref": "#/components/schemas/_single_relationship" expense: "$ref": "#/components/schemas/_single_relationship" time_entry: "$ref": "#/components/schemas/_single_relationship" type: enum: - approval_statuses type: string required: - id - type _response_object_approval_workflow: type: object title: Approval workflow properties: attributes: type: object properties: approval_requirement_id: "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_requirement_id" approver_custom_field_ids: "$ref": "#/components/schemas/resource_approval_workflow/properties/approver_custom_field_ids" dynamic_approver_ids: "$ref": "#/components/schemas/resource_approval_workflow/properties/dynamic_approver_ids" dynamic_subscriber_ids: "$ref": "#/components/schemas/resource_approval_workflow/properties/dynamic_subscriber_ids" target_type_id: "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" id: type: string relationships: type: object properties: approval_policy: "$ref": "#/components/schemas/_single_relationship" approvers: "$ref": "#/components/schemas/_collection_relationship" event: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" subscribers: "$ref": "#/components/schemas/_collection_relationship" type: enum: - approval_workflows type: string required: - id - type _response_object_artifact_version: type: object title: Artifact version properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_artifact_version/properties/created_at" restored_from_version_id: anyOf: - "$ref": "#/components/schemas/resource_artifact_version/properties/restored_from_version_id" - type: 'null' title: 'Null' version_number: "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" id: type: string relationships: type: object properties: artifact: "$ref": "#/components/schemas/_single_relationship" attachment: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" type: enum: - artifact_versions type: string required: - id - type _response_object_attachment: type: object title: Attachment properties: attributes: type: object properties: attachable_type: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/attachable_type" - type: 'null' title: 'Null' attachment_type: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/attachment_type" - type: 'null' title: 'Null' aws_policy: "$ref": "#/components/schemas/resource_attachment/properties/aws_policy" content_type: "$ref": "#/components/schemas/resource_attachment/properties/content_type" created_at: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/created_at" - type: 'null' title: 'Null' deleted_at: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/deleted_at" - type: 'null' title: 'Null' external_id: anyOf: - type: string title: String - type: 'null' title: 'Null' message_id: anyOf: - type: string title: String - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_attachment/properties/name" resized: "$ref": "#/components/schemas/resource_attachment/properties/resized" size: "$ref": "#/components/schemas/resource_attachment/properties/size" temp_url: "$ref": "#/components/schemas/resource_attachment/properties/temp_url" thumb: "$ref": "#/components/schemas/resource_attachment/properties/thumb" url: "$ref": "#/components/schemas/resource_attachment/properties/url" id: type: string relationships: type: object properties: bill: "$ref": "#/components/schemas/_single_relationship" comment: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" document_style: "$ref": "#/components/schemas/_single_relationship" document_type: "$ref": "#/components/schemas/_single_relationship" email: "$ref": "#/components/schemas/_single_relationship" expense: "$ref": "#/components/schemas/_single_relationship" invoice: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" page: "$ref": "#/components/schemas/_single_relationship" purchase_order: "$ref": "#/components/schemas/_single_relationship" task: "$ref": "#/components/schemas/_single_relationship" type: enum: - attachments type: string required: - id - type _response_object_automatic_invoicing_rule: type: object title: Automatic invoicing rule properties: attributes: type: object properties: creation_offset: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creation_offset" creation_offset_unit: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creation_offset_unit" next_invoice_date: anyOf: - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/next_invoice_date" - type: 'null' title: 'Null' processed_at: anyOf: - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/processed_at" - type: 'null' title: 'Null' reference_date: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/reference_date" skip_weekends: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/skip_weekends" id: type: string relationships: type: object properties: budget: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - automatic_invoicing_rules type: string required: - id - type _response_object_automation: type: object title: Automation properties: attributes: type: object properties: automation_project_assignments_count: "$ref": "#/components/schemas/resource_automation/properties/automation_project_assignments_count" created_at: "$ref": "#/components/schemas/resource_automation/properties/created_at" description: anyOf: - "$ref": "#/components/schemas/resource_automation/properties/description" - type: 'null' title: 'Null' enabled: "$ref": "#/components/schemas/resource_automation/properties/enabled" include_thread_replies: "$ref": "#/components/schemas/resource_automation/properties/include_thread_replies" is_accessible_by_creator_only: "$ref": "#/components/schemas/resource_automation/properties/is_accessible_by_creator_only" last_scheduled_at: anyOf: - "$ref": "#/components/schemas/resource_automation/properties/last_scheduled_at" - type: 'null' title: 'Null' monthly_action_runs: "$ref": "#/components/schemas/resource_automation/properties/monthly_action_runs" monthly_runs: "$ref": "#/components/schemas/resource_automation/properties/monthly_runs" name: "$ref": "#/components/schemas/resource_automation/properties/name" personal: "$ref": "#/components/schemas/resource_automation/properties/personal" repeat_schedule_id: anyOf: - "$ref": "#/components/schemas/resource_automation/properties/repeat_schedule_id" - type: 'null' title: 'Null' resolve_on_all_channels: "$ref": "#/components/schemas/resource_automation/properties/resolve_on_all_channels" resolve_on_all_projects: "$ref": "#/components/schemas/resource_automation/properties/resolve_on_all_projects" schedule_day_id: anyOf: - "$ref": "#/components/schemas/resource_automation/properties/schedule_day_id" - type: 'null' title: 'Null' schedule_frame_id: anyOf: - "$ref": "#/components/schemas/resource_automation/properties/schedule_frame_id" - type: 'null' title: 'Null' schedule_hour: anyOf: - "$ref": "#/components/schemas/resource_automation/properties/schedule_hour" - type: 'null' title: 'Null' slack_channel_ids: anyOf: - "$ref": "#/components/schemas/resource_automation/properties/slack_channel_ids" - type: 'null' title: 'Null' steps: "$ref": "#/components/schemas/resource_automation/properties/steps" target_id: anyOf: - "$ref": "#/components/schemas/resource_automation/properties/target_id" - type: 'null' title: 'Null' triggers: anyOf: - "$ref": "#/components/schemas/resource_automation/properties/triggers" - type: 'null' title: 'Null' type_id: "$ref": "#/components/schemas/resource_automation/properties/type_id" updated_at: "$ref": "#/components/schemas/resource_automation/properties/updated_at" id: type: string relationships: type: object properties: agent: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" survey: "$ref": "#/components/schemas/_single_relationship" type: enum: - automations type: string required: - id - type _response_object_automation_project_assignment: type: object title: Automation project assignment properties: attributes: type: object id: type: string relationships: type: object properties: automation: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" type: enum: - automation_project_assignments type: string required: - id - type _response_object_automation_report: type: object title: Automation report properties: attributes: type: object properties: count: "$ref": "#/components/schemas/resource_automation_report/properties/count" created_at: "$ref": "#/components/schemas/resource_automation_report/properties/created_at" description: anyOf: - "$ref": "#/components/schemas/resource_automation_report/properties/description" - type: 'null' title: 'Null' enabled: "$ref": "#/components/schemas/resource_automation_report/properties/enabled" formula_fields: "$ref": "#/components/schemas/resource_automation_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_automation_report/properties/group" name: "$ref": "#/components/schemas/resource_automation_report/properties/name" resolve_on_all_projects: "$ref": "#/components/schemas/resource_automation_report/properties/resolve_on_all_projects" target_id: anyOf: - "$ref": "#/components/schemas/resource_automation_report/properties/target_id" - type: 'null' title: 'Null' type_id: "$ref": "#/components/schemas/resource_automation_report/properties/type_id" updated_at: "$ref": "#/components/schemas/resource_automation_report/properties/updated_at" id: type: string relationships: type: object properties: automation: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" projects: "$ref": "#/components/schemas/_collection_relationship" report: "$ref": "#/components/schemas/_single_relationship" type: enum: - automation_reports type: string required: - id - type _response_object_automation_run: type: object title: Automation run properties: attributes: type: object id: type: string relationships: type: object properties: automation_version: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - automation_runs type: string required: - id - type _response_object_aws_policy: type: object title: AWS policy properties: attributes: type: object properties: policy: type: object additionalProperties: type: string id: type: string type: enum: - aws_policies type: string required: - id - type _response_object_backoffice_data_migration: type: object title: Backoffice data migration properties: attributes: type: object properties: arguments: "$ref": "#/components/schemas/resource_backoffice_data_migration/properties/arguments" created_at: anyOf: - "$ref": "#/components/schemas/resource_backoffice_data_migration/properties/created_at" - type: 'null' title: 'Null' description: anyOf: - "$ref": "#/components/schemas/resource_backoffice_data_migration/properties/description" - type: 'null' title: 'Null' example: anyOf: - "$ref": "#/components/schemas/resource_backoffice_data_migration/properties/example" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_backoffice_data_migration/properties/name" updated_at: anyOf: - "$ref": "#/components/schemas/resource_backoffice_data_migration/properties/updated_at" - type: 'null' title: 'Null' id: type: string type: enum: - data_migrations type: string required: - id - type _response_object_backoffice_einvoice_configuration: type: object title: Backoffice e-invoice configuration properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_backoffice_einvoice_configuration/properties/created_at" subsidiary_id: "$ref": "#/components/schemas/resource_backoffice_einvoice_configuration/properties/subsidiary_id" subsidiary_name: "$ref": "#/components/schemas/resource_backoffice_einvoice_configuration/properties/subsidiary_name" target: "$ref": "#/components/schemas/resource_backoffice_einvoice_configuration/properties/target" updated_at: "$ref": "#/components/schemas/resource_backoffice_einvoice_configuration/properties/updated_at" vat: "$ref": "#/components/schemas/resource_backoffice_einvoice_configuration/properties/vat" verification_status: "$ref": "#/components/schemas/resource_backoffice_einvoice_configuration/properties/verification_status" id: type: string type: enum: - einvoice_configurations type: string required: - id - type _response_object_backoffice_feature: type: object title: Backoffice feature properties: attributes: type: object properties: account_scope: "$ref": "#/components/schemas/resource_backoffice_feature/properties/account_scope" activated_at: "$ref": "#/components/schemas/resource_backoffice_feature/properties/activated_at" active: "$ref": "#/components/schemas/resource_backoffice_feature/properties/active" category: "$ref": "#/components/schemas/resource_backoffice_feature/properties/category" created_at: "$ref": "#/components/schemas/resource_backoffice_feature/properties/created_at" description: "$ref": "#/components/schemas/resource_backoffice_feature/properties/description" discoverable: "$ref": "#/components/schemas/resource_backoffice_feature/properties/discoverable" highlight_index: "$ref": "#/components/schemas/resource_backoffice_feature/properties/highlight_index" key: "$ref": "#/components/schemas/resource_backoffice_feature/properties/key" name: "$ref": "#/components/schemas/resource_backoffice_feature/properties/name" products: anyOf: - "$ref": "#/components/schemas/resource_backoffice_feature/properties/products" - type: 'null' title: 'Null' description: Null on a create that sent no products; the stored value is an empty array type: "$ref": "#/components/schemas/resource_backoffice_feature/properties/type" upcoming: "$ref": "#/components/schemas/resource_backoffice_feature/properties/upcoming" updated_at: "$ref": "#/components/schemas/resource_backoffice_feature/properties/updated_at" id: type: string type: enum: - features type: string required: - id - type _response_object_backoffice_feature_report: type: object title: Backoffice Feature Report properties: attributes: type: object properties: activated_at: "$ref": "#/components/schemas/resource_backoffice_feature_report/properties/activated_at" active: "$ref": "#/components/schemas/resource_backoffice_feature_report/properties/active" category: "$ref": "#/components/schemas/resource_backoffice_feature_report/properties/category" count: "$ref": "#/components/schemas/resource_backoffice_feature_report/properties/count" description: "$ref": "#/components/schemas/resource_backoffice_feature_report/properties/description" discoverable: "$ref": "#/components/schemas/resource_backoffice_feature_report/properties/discoverable" group: "$ref": "#/components/schemas/resource_backoffice_feature_report/properties/group" highlight_index: "$ref": "#/components/schemas/resource_backoffice_feature_report/properties/highlight_index" key: "$ref": "#/components/schemas/resource_backoffice_feature_report/properties/key" name: "$ref": "#/components/schemas/resource_backoffice_feature_report/properties/name" product: "$ref": "#/components/schemas/resource_backoffice_feature_report/properties/product" products: "$ref": "#/components/schemas/resource_backoffice_feature_report/properties/products" type: "$ref": "#/components/schemas/resource_backoffice_feature_report/properties/type" upcoming: "$ref": "#/components/schemas/resource_backoffice_feature_report/properties/upcoming" id: type: string relationships: type: object properties: feature: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" type: enum: - feature_reports type: string required: - id - type _response_object_backoffice_flag: type: object title: Backoffice flag properties: attributes: type: object properties: account_count: "$ref": "#/components/schemas/resource_backoffice_flag/properties/account_count" account_disabled_count: "$ref": "#/components/schemas/resource_backoffice_flag/properties/account_disabled_count" account_enabled_count: "$ref": "#/components/schemas/resource_backoffice_flag/properties/account_enabled_count" account_enabled_percentage: "$ref": "#/components/schemas/resource_backoffice_flag/properties/account_enabled_percentage" alpha_channel_count: "$ref": "#/components/schemas/resource_backoffice_flag/properties/alpha_channel_count" alpha_channel_enabled_count: "$ref": "#/components/schemas/resource_backoffice_flag/properties/alpha_channel_enabled_count" alpha_released_at: "$ref": "#/components/schemas/resource_backoffice_flag/properties/alpha_released_at" beta_account_enabled_count: "$ref": "#/components/schemas/resource_backoffice_flag/properties/beta_account_enabled_count" beta_account_enabled_percentage: "$ref": "#/components/schemas/resource_backoffice_flag/properties/beta_account_enabled_percentage" beta_channel_count: "$ref": "#/components/schemas/resource_backoffice_flag/properties/beta_channel_count" beta_channel_enabled_count: "$ref": "#/components/schemas/resource_backoffice_flag/properties/beta_channel_enabled_count" beta_released_at: "$ref": "#/components/schemas/resource_backoffice_flag/properties/beta_released_at" beta_seats_enabled_count: "$ref": "#/components/schemas/resource_backoffice_flag/properties/beta_seats_enabled_count" cache_on_app_load: "$ref": "#/components/schemas/resource_backoffice_flag/properties/cache_on_app_load" created_at: "$ref": "#/components/schemas/resource_backoffice_flag/properties/created_at" created_by_full_name: "$ref": "#/components/schemas/resource_backoffice_flag/properties/created_by_full_name" default_for_new_accounts: "$ref": "#/components/schemas/resource_backoffice_flag/properties/default_for_new_accounts" deleted_at: "$ref": "#/components/schemas/resource_backoffice_flag/properties/deleted_at" description: "$ref": "#/components/schemas/resource_backoffice_flag/properties/description" flag_type_id: "$ref": "#/components/schemas/resource_backoffice_flag/properties/flag_type_id" key: "$ref": "#/components/schemas/resource_backoffice_flag/properties/key" last_activity_at: "$ref": "#/components/schemas/resource_backoffice_flag/properties/last_activity_at" name: "$ref": "#/components/schemas/resource_backoffice_flag/properties/name" opt_in_override_enabled_count: "$ref": "#/components/schemas/resource_backoffice_flag/properties/opt_in_override_enabled_count" owner_full_name: "$ref": "#/components/schemas/resource_backoffice_flag/properties/owner_full_name" release_channel: "$ref": "#/components/schemas/resource_backoffice_flag/properties/release_channel" release_status: "$ref": "#/components/schemas/resource_backoffice_flag/properties/release_status" seats_enabled_count: "$ref": "#/components/schemas/resource_backoffice_flag/properties/seats_enabled_count" sent_as_header: "$ref": "#/components/schemas/resource_backoffice_flag/properties/sent_as_header" stable_channel_count: "$ref": "#/components/schemas/resource_backoffice_flag/properties/stable_channel_count" stable_channel_enabled_count: "$ref": "#/components/schemas/resource_backoffice_flag/properties/stable_channel_enabled_count" stable_released_at: "$ref": "#/components/schemas/resource_backoffice_flag/properties/stable_released_at" system_release: "$ref": "#/components/schemas/resource_backoffice_flag/properties/system_release" system_released_at: "$ref": "#/components/schemas/resource_backoffice_flag/properties/system_released_at" target_type_id: "$ref": "#/components/schemas/resource_backoffice_flag/properties/target_type_id" updated_at: "$ref": "#/components/schemas/resource_backoffice_flag/properties/updated_at" id: type: string relationships: type: object properties: created_by: "$ref": "#/components/schemas/_single_relationship" owner: "$ref": "#/components/schemas/_single_relationship" type: enum: - flags type: string required: - id - type _response_object_backoffice_flag_activity: type: object title: Backoffice flag activity properties: attributes: type: object properties: change_type_id: "$ref": "#/components/schemas/resource_backoffice_flag_activity/properties/change_type_id" created_at: "$ref": "#/components/schemas/resource_backoffice_flag_activity/properties/created_at" created_by: "$ref": "#/components/schemas/resource_backoffice_flag_activity/properties/created_by" metadata: "$ref": "#/components/schemas/resource_backoffice_flag_activity/properties/metadata" id: type: string type: enum: - flag_activities type: string required: - id - type _response_object_backoffice_organization: type: object title: Backoffice organization properties: attributes: type: object properties: addons: "$ref": "#/components/schemas/resource_backoffice_organization/properties/addons" ai_enabled: "$ref": "#/components/schemas/resource_backoffice_organization/properties/ai_enabled" analytics_uid: "$ref": "#/components/schemas/resource_backoffice_organization/properties/analytics_uid" avatar_url: "$ref": "#/components/schemas/resource_backoffice_organization/properties/avatar_url" billing_group_admin: "$ref": "#/components/schemas/resource_backoffice_organization/properties/billing_group_admin" billing_group_owner_id: "$ref": "#/components/schemas/resource_backoffice_organization/properties/billing_group_owner_id" booked_demo: "$ref": "#/components/schemas/resource_backoffice_organization/properties/booked_demo" company_id: "$ref": "#/components/schemas/resource_backoffice_organization/properties/company_id" company_size: "$ref": "#/components/schemas/resource_backoffice_organization/properties/company_size" company_type: "$ref": "#/components/schemas/resource_backoffice_organization/properties/company_type" contract_date: "$ref": "#/components/schemas/resource_backoffice_organization/properties/contract_date" contract_end_date: "$ref": "#/components/schemas/resource_backoffice_organization/properties/contract_end_date" country: "$ref": "#/components/schemas/resource_backoffice_organization/properties/country" created_at: "$ref": "#/components/schemas/resource_backoffice_organization/properties/created_at" currency: "$ref": "#/components/schemas/resource_backoffice_organization/properties/currency" currency_default: "$ref": "#/components/schemas/resource_backoffice_organization/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_backoffice_organization/properties/currency_normalized" customer_success_specialist_id: "$ref": "#/components/schemas/resource_backoffice_organization/properties/customer_success_specialist_id" deactivated_at: "$ref": "#/components/schemas/resource_backoffice_organization/properties/deactivated_at" deactivation_note: "$ref": "#/components/schemas/resource_backoffice_organization/properties/deactivation_note" deactivation_reason_id: "$ref": "#/components/schemas/resource_backoffice_organization/properties/deactivation_reason_id" domain: "$ref": "#/components/schemas/resource_backoffice_organization/properties/domain" domain_verified: "$ref": "#/components/schemas/resource_backoffice_organization/properties/domain_verified" due_days: "$ref": "#/components/schemas/resource_backoffice_organization/properties/due_days" email_domain_name: "$ref": "#/components/schemas/resource_backoffice_organization/properties/email_domain_name" email_key: "$ref": "#/components/schemas/resource_backoffice_organization/properties/email_key" erector_id: "$ref": "#/components/schemas/resource_backoffice_organization/properties/erector_id" exchange_rate_provider_id: "$ref": "#/components/schemas/resource_backoffice_organization/properties/exchange_rate_provider_id" external_id: "$ref": "#/components/schemas/resource_backoffice_organization/properties/external_id" facility_costs: "$ref": "#/components/schemas/resource_backoffice_organization/properties/facility_costs" facility_costs_breakdown: "$ref": "#/components/schemas/resource_backoffice_organization/properties/facility_costs_breakdown" facility_costs_default: "$ref": "#/components/schemas/resource_backoffice_organization/properties/facility_costs_default" facility_costs_normalized: "$ref": "#/components/schemas/resource_backoffice_organization/properties/facility_costs_normalized" features: "$ref": "#/components/schemas/resource_backoffice_organization/properties/features" flags: "$ref": "#/components/schemas/resource_backoffice_organization/properties/flags" gtm_motion: "$ref": "#/components/schemas/resource_backoffice_organization/properties/gtm_motion" handover_date: "$ref": "#/components/schemas/resource_backoffice_organization/properties/handover_date" hubspot_domain_group: "$ref": "#/components/schemas/resource_backoffice_organization/properties/hubspot_domain_group" hubspot_external_id: "$ref": "#/components/schemas/resource_backoffice_organization/properties/hubspot_external_id" hubspot_id: "$ref": "#/components/schemas/resource_backoffice_organization/properties/hubspot_id" hubspot_sync: "$ref": "#/components/schemas/resource_backoffice_organization/properties/hubspot_sync" invitation_token: "$ref": "#/components/schemas/resource_backoffice_organization/properties/invitation_token" lead_score: "$ref": "#/components/schemas/resource_backoffice_organization/properties/lead_score" mailgun_api_key: "$ref": "#/components/schemas/resource_backoffice_organization/properties/mailgun_api_key" mailgun_dkim: "$ref": "#/components/schemas/resource_backoffice_organization/properties/mailgun_dkim" mailgun_spf: "$ref": "#/components/schemas/resource_backoffice_organization/properties/mailgun_spf" man_day_minutes: "$ref": "#/components/schemas/resource_backoffice_organization/properties/man_day_minutes" metrics: "$ref": "#/components/schemas/resource_backoffice_organization/properties/metrics" name: "$ref": "#/components/schemas/resource_backoffice_organization/properties/name" note: "$ref": "#/components/schemas/resource_backoffice_organization/properties/note" number_of_calls: "$ref": "#/components/schemas/resource_backoffice_organization/properties/number_of_calls" onboarding_progress: "$ref": "#/components/schemas/resource_backoffice_organization/properties/onboarding_progress" organization_type_id: "$ref": "#/components/schemas/resource_backoffice_organization/properties/organization_type_id" overhead_recalculation_day: "$ref": "#/components/schemas/resource_backoffice_organization/properties/overhead_recalculation_day" polaris_created_at: "$ref": "#/components/schemas/resource_backoffice_organization/properties/polaris_created_at" referrer: "$ref": "#/components/schemas/resource_backoffice_organization/properties/referrer" release_channel: "$ref": "#/components/schemas/resource_backoffice_organization/properties/release_channel" rollout_status: "$ref": "#/components/schemas/resource_backoffice_organization/properties/rollout_status" sales_deal_id: "$ref": "#/components/schemas/resource_backoffice_organization/properties/sales_deal_id" sample_data_imported_at: "$ref": "#/components/schemas/resource_backoffice_organization/properties/sample_data_imported_at" sample_data_reverted_at: "$ref": "#/components/schemas/resource_backoffice_organization/properties/sample_data_reverted_at" seat_potential: "$ref": "#/components/schemas/resource_backoffice_organization/properties/seat_potential" self_attribution: "$ref": "#/components/schemas/resource_backoffice_organization/properties/self_attribution" self_attribution_comment: "$ref": "#/components/schemas/resource_backoffice_organization/properties/self_attribution_comment" team_size: "$ref": "#/components/schemas/resource_backoffice_organization/properties/team_size" time_reminder_at: "$ref": "#/components/schemas/resource_backoffice_organization/properties/time_reminder_at" time_reminder_id: "$ref": "#/components/schemas/resource_backoffice_organization/properties/time_reminder_id" time_zone: "$ref": "#/components/schemas/resource_backoffice_organization/properties/time_zone" trial_plan_ends: "$ref": "#/components/schemas/resource_backoffice_organization/properties/trial_plan_ends" utm_campaign: "$ref": "#/components/schemas/resource_backoffice_organization/properties/utm_campaign" utm_campaign_group: "$ref": "#/components/schemas/resource_backoffice_organization/properties/utm_campaign_group" utm_campaign_type: "$ref": "#/components/schemas/resource_backoffice_organization/properties/utm_campaign_type" utm_medium: "$ref": "#/components/schemas/resource_backoffice_organization/properties/utm_medium" utm_source: "$ref": "#/components/schemas/resource_backoffice_organization/properties/utm_source" utm_term: "$ref": "#/components/schemas/resource_backoffice_organization/properties/utm_term" verification_status_id: "$ref": "#/components/schemas/resource_backoffice_organization/properties/verification_status_id" verified_at: "$ref": "#/components/schemas/resource_backoffice_organization/properties/verified_at" week_start_day_id: "$ref": "#/components/schemas/resource_backoffice_organization/properties/week_start_day_id" weight: "$ref": "#/components/schemas/resource_backoffice_organization/properties/weight" working_hours: "$ref": "#/components/schemas/resource_backoffice_organization/properties/working_hours" id: type: string relationships: type: object properties: organization_subscription: "$ref": "#/components/schemas/_single_relationship" owner: "$ref": "#/components/schemas/_single_relationship" primary_contact: "$ref": "#/components/schemas/_single_relationship" type: enum: - organizations type: string required: - id - type _response_object_backoffice_organization_activity: type: object title: Backoffice organization activity properties: attributes: type: object properties: changed_fields: "$ref": "#/components/schemas/resource_backoffice_organization_activity/properties/changed_fields" created_at: "$ref": "#/components/schemas/resource_backoffice_organization_activity/properties/created_at" created_by: "$ref": "#/components/schemas/resource_backoffice_organization_activity/properties/created_by" event: "$ref": "#/components/schemas/resource_backoffice_organization_activity/properties/event" id: type: string type: enum: - organization_activities type: string required: - id - type _response_object_backoffice_organization_champion: type: object title: Backoffice organization champion properties: attributes: type: object properties: type_id: "$ref": "#/components/schemas/resource_backoffice_organization_champion/properties/type_id" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" type: enum: - organization_champions type: string required: - id - type _response_object_backoffice_organization_contract: type: object title: Backoffice organization contract properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_backoffice_organization_contract/properties/created_at" end_date: "$ref": "#/components/schemas/resource_backoffice_organization_contract/properties/end_date" has_sla: "$ref": "#/components/schemas/resource_backoffice_organization_contract/properties/has_sla" is_poc: "$ref": "#/components/schemas/resource_backoffice_organization_contract/properties/is_poc" note: "$ref": "#/components/schemas/resource_backoffice_organization_contract/properties/note" order_form_pdf_url: "$ref": "#/components/schemas/resource_backoffice_organization_contract/properties/order_form_pdf_url" phases: "$ref": "#/components/schemas/resource_backoffice_organization_contract/properties/phases" start_date: "$ref": "#/components/schemas/resource_backoffice_organization_contract/properties/start_date" updated_at: "$ref": "#/components/schemas/resource_backoffice_organization_contract/properties/updated_at" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - organization_contracts type: string required: - id - type _response_object_backoffice_organization_membership: type: object title: Backoffice organization membership properties: id: type: string relationships: type: object properties: person: "$ref": "#/components/schemas/_single_relationship" type: enum: - organization_memberships type: string required: - id - type _response_object_backoffice_organization_report: type: object title: Backoffice Organization Report properties: attributes: type: object properties: addons: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/addons" - type: 'null' title: 'Null' billing_group_admin: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/billing_group_admin" collection_method: type: integer company_size: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/company_size" - type: 'null' title: 'Null' company_type: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/company_type" - type: 'null' title: 'Null' contract_date_period: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/contract_date_period" - type: 'null' title: 'Null' contract_end_date_period: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/contract_end_date_period" - type: 'null' title: 'Null' count: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/count" country: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/country" - type: 'null' title: 'Null' created_at_period: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/created_at_period" - type: 'null' title: 'Null' currency: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/currency_default" currency_normalized: type: - string - 'null' cycle: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/cycle" discount: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/discount" - type: 'null' title: 'Null' formula_fields: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/group" gtm_motion: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/gtm_motion" next_billing_cycle_at_period: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/next_billing_cycle_at_period" - type: 'null' title: 'Null' payment_method: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/payment_method" plan: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/plan" products: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/products" - type: 'null' title: 'Null' referrer: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/referrer" - type: 'null' title: 'Null' release_channel: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/release_channel" status: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/status" subscription_state: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/subscription_state" total_mrr: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/total_mrr" total_mrr_default: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/total_mrr_default" total_mrr_normalized: type: - number - 'null' total_seats: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/total_seats" total_seats_max: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/total_seats_max" - type: 'null' title: 'Null' total_seats_used: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/total_seats_used" verification_status: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/verification_status" id: type: string relationships: type: object properties: billing_group_owner: "$ref": "#/components/schemas/_single_relationship" customer_success_specialist: "$ref": "#/components/schemas/_single_relationship" erector: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" type: enum: - organization_reports type: string required: - id - type _response_object_backoffice_price: type: object title: Backoffice price properties: attributes: type: object properties: active: "$ref": "#/components/schemas/resource_backoffice_price/properties/active" currency: "$ref": "#/components/schemas/resource_backoffice_price/properties/currency" cycle: "$ref": "#/components/schemas/resource_backoffice_price/properties/cycle" cycle_path: "$ref": "#/components/schemas/resource_backoffice_price/properties/cycle_path" default: "$ref": "#/components/schemas/resource_backoffice_price/properties/default" name: anyOf: - "$ref": "#/components/schemas/resource_backoffice_price/properties/name" - type: 'null' title: 'Null' price_cents: anyOf: - "$ref": "#/components/schemas/resource_backoffice_price/properties/price_cents" - type: 'null' title: 'Null' product: "$ref": "#/components/schemas/resource_backoffice_price/properties/product" product_path: "$ref": "#/components/schemas/resource_backoffice_price/properties/product_path" stripe_id: "$ref": "#/components/schemas/resource_backoffice_price/properties/stripe_id" tiered: "$ref": "#/components/schemas/resource_backoffice_price/properties/tiered" tiers: "$ref": "#/components/schemas/resource_backoffice_price/properties/tiers" usd_equivalent_cents: anyOf: - "$ref": "#/components/schemas/resource_backoffice_price/properties/usd_equivalent_cents" - type: 'null' title: 'Null' required: - product - stripe_id - cycle - active - default - currency - tiers - cycle_path - product_path id: type: string type: enum: - prices type: string required: - id - type _response_object_backoffice_proposal_identity_confirmation: type: object title: Backoffice proposal identity confirmation properties: attributes: type: object properties: confirmed_at: anyOf: - "$ref": "#/components/schemas/resource_backoffice_proposal_identity_confirmation/properties/confirmed_at" - type: 'null' title: 'Null' expires_at: "$ref": "#/components/schemas/resource_backoffice_proposal_identity_confirmation/properties/expires_at" token: "$ref": "#/components/schemas/resource_backoffice_proposal_identity_confirmation/properties/token" id: type: string type: enum: - proposal_identity_confirmations type: string required: - id - type _response_object_backoffice_session: type: object title: Backoffice session properties: attributes: type: object properties: agent_avatar: "$ref": "#/components/schemas/resource_session/properties/agent_avatar" agent_first_name: "$ref": "#/components/schemas/resource_session/properties/agent_first_name" agent_last_name: "$ref": "#/components/schemas/resource_session/properties/agent_last_name" browser: anyOf: - "$ref": "#/components/schemas/resource_session/properties/browser" - type: 'null' title: 'Null' created_at: type: string format: date-time creator_id: "$ref": "#/components/schemas/resource_session/properties/creator_id" device: anyOf: - "$ref": "#/components/schemas/resource_session/properties/device" - type: 'null' title: 'Null' impersonator_id: type: integer last_activity_at: "$ref": "#/components/schemas/resource_session/properties/last_activity_at" last_ip: anyOf: - "$ref": "#/components/schemas/resource_session/properties/last_ip" - type: 'null' title: 'Null' location: anyOf: - "$ref": "#/components/schemas/resource_session/properties/location" - type: 'null' title: 'Null' machine: "$ref": "#/components/schemas/resource_session/properties/machine" name: anyOf: - "$ref": "#/components/schemas/resource_session/properties/name" - type: 'null' title: 'Null' note: anyOf: - "$ref": "#/components/schemas/resource_session/properties/note" - type: 'null' title: 'Null' platform: anyOf: - "$ref": "#/components/schemas/resource_session/properties/platform" - type: 'null' title: 'Null' read_only: "$ref": "#/components/schemas/resource_session/properties/read_only" single_sign_on: "$ref": "#/components/schemas/resource_session/properties/single_sign_on" token: "$ref": "#/components/schemas/resource_session/properties/token" token_expires_at: "$ref": "#/components/schemas/resource_session/properties/token_expires_at" two_factor_auth: "$ref": "#/components/schemas/resource_session/properties/two_factor_auth" user_id: "$ref": "#/components/schemas/resource_session/properties/user_id" id: type: string relationships: type: object properties: user: "$ref": "#/components/schemas/_single_relationship" type: enum: - sessions type: string required: - id - type _response_object_backoffice_session_report: type: object title: Backoffice Session Report properties: attributes: type: object properties: browser: "$ref": "#/components/schemas/resource_backoffice_session_report/properties/browser" count: "$ref": "#/components/schemas/resource_backoffice_session_report/properties/count" created_at_period: "$ref": "#/components/schemas/resource_backoffice_session_report/properties/created_at_period" device: "$ref": "#/components/schemas/resource_backoffice_session_report/properties/device" device_type_id: "$ref": "#/components/schemas/resource_backoffice_session_report/properties/device_type_id" group: "$ref": "#/components/schemas/resource_backoffice_session_report/properties/group" last_activity_at_period: "$ref": "#/components/schemas/resource_backoffice_session_report/properties/last_activity_at_period" location: "$ref": "#/components/schemas/resource_backoffice_session_report/properties/location" note: "$ref": "#/components/schemas/resource_backoffice_session_report/properties/note" platform: "$ref": "#/components/schemas/resource_backoffice_session_report/properties/platform" read_only: "$ref": "#/components/schemas/resource_backoffice_session_report/properties/read_only" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" session: "$ref": "#/components/schemas/_single_relationship" user: "$ref": "#/components/schemas/_single_relationship" type: enum: - session_reports type: string required: - id - type _response_object_backoffice_setting: type: object title: Backoffice setting properties: attributes: type: object properties: description: "$ref": "#/components/schemas/resource_backoffice_setting/properties/description" name: "$ref": "#/components/schemas/resource_backoffice_setting/properties/name" private: "$ref": "#/components/schemas/resource_backoffice_setting/properties/private" schema: "$ref": "#/components/schemas/resource_backoffice_setting/properties/schema" setting_type: "$ref": "#/components/schemas/resource_backoffice_setting/properties/setting_type" setting_value: "$ref": "#/components/schemas/resource_backoffice_setting/properties/setting_value" id: type: string type: enum: - settings type: string required: - id - type _response_object_backoffice_setting_definition: type: object title: Backoffice setting definition properties: attributes: type: object properties: schema: anyOf: - type: object title: Object - type: 'null' title: 'Null' setting_type: enum: - boolean - json - array - hash - string type: string required: - setting_type - schema id: type: string type: enum: - setting_definitions type: string required: - id - type _response_object_backoffice_user: type: object title: Backoffice user properties: attributes: type: object properties: account_access_expires_at: anyOf: - "$ref": "#/components/schemas/resource_user/properties/account_access_expires_at" - type: 'null' title: 'Null' avatar_url: anyOf: - "$ref": "#/components/schemas/resource_user/properties/avatar_url" - type: 'null' title: 'Null' default_organization_id: anyOf: - "$ref": "#/components/schemas/resource_user/properties/default_organization_id" - type: 'null' title: 'Null' default_organization_slug: anyOf: - "$ref": "#/components/schemas/resource_user/properties/default_organization_slug" - type: 'null' title: 'Null' email: "$ref": "#/components/schemas/resource_user/properties/email" first_name: "$ref": "#/components/schemas/resource_user/properties/first_name" flags: "$ref": "#/components/schemas/resource_user/properties/flags" ical_token: anyOf: - "$ref": "#/components/schemas/resource_user/properties/ical_token" - type: 'null' title: 'Null' intercom_hash: "$ref": "#/components/schemas/resource_user/properties/intercom_hash" last_name: anyOf: - "$ref": "#/components/schemas/resource_user/properties/last_name" - type: 'null' title: 'Null' locale: anyOf: - "$ref": "#/components/schemas/resource_user/properties/locale" - type: 'null' title: 'Null' newsletter_consent: "$ref": "#/components/schemas/resource_user/properties/newsletter_consent" newsletter_consent_at: anyOf: - "$ref": "#/components/schemas/resource_user/properties/newsletter_consent_at" - type: 'null' title: 'Null' organization_id: type: array items: type: integer preferences: anyOf: - type: object title: Object - type: 'null' title: 'Null' recovery_codes: type: array items: type: string slack_product_updates: "$ref": "#/components/schemas/resource_user/properties/slack_product_updates" sso_provision: "$ref": "#/components/schemas/resource_user/properties/sso_provision" sysadmin: "$ref": "#/components/schemas/resource_user/properties/sysadmin" sysadmin_permissions: type: array items: type: string time_zone: anyOf: - "$ref": "#/components/schemas/resource_user/properties/time_zone" - type: 'null' title: 'Null' two_factor_auth: "$ref": "#/components/schemas/resource_user/properties/two_factor_auth" updated_at: "$ref": "#/components/schemas/resource_user/properties/updated_at" id: type: string type: enum: - users type: string required: - id - type _response_object_backoffice_user_report: type: object title: Backoffice User Report properties: attributes: type: object properties: count: "$ref": "#/components/schemas/resource_backoffice_user_report/properties/count" group: "$ref": "#/components/schemas/resource_backoffice_user_report/properties/group" sysadmin: "$ref": "#/components/schemas/resource_backoffice_user_report/properties/sysadmin" sysadmin_permissions: "$ref": "#/components/schemas/resource_backoffice_user_report/properties/sysadmin_permissions" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" user: "$ref": "#/components/schemas/_single_relationship" type: enum: - user_reports type: string required: - id - type _response_object_backoffice_user_segment: type: object title: Backoffice user segment properties: attributes: type: object properties: active: "$ref": "#/components/schemas/resource_backoffice_user_segment/properties/active" conditions: "$ref": "#/components/schemas/resource_backoffice_user_segment/properties/conditions" name: "$ref": "#/components/schemas/resource_backoffice_user_segment/properties/name" segment_type_id: "$ref": "#/components/schemas/resource_backoffice_user_segment/properties/segment_type_id" id: type: string type: enum: - user_segments type: string required: - id - type _response_object_backyard_user: type: object title: Backyard User properties: attributes: type: object properties: avatar_url: anyOf: - "$ref": "#/components/schemas/resource_backyard_user/properties/avatar_url" - type: 'null' title: 'Null' client_type: "$ref": "#/components/schemas/resource_backyard_user/properties/client_type" email: "$ref": "#/components/schemas/resource_backyard_user/properties/email" feature_flags: "$ref": "#/components/schemas/resource_backyard_user/properties/feature_flags" first_name: "$ref": "#/components/schemas/resource_backyard_user/properties/first_name" github_username: anyOf: - "$ref": "#/components/schemas/resource_backyard_user/properties/github_username" - type: 'null' title: 'Null' guild: anyOf: - "$ref": "#/components/schemas/resource_backyard_user/properties/guild" - type: 'null' title: 'Null' last_name: "$ref": "#/components/schemas/resource_backyard_user/properties/last_name" name: "$ref": "#/components/schemas/resource_backyard_user/properties/name" sysadmin: "$ref": "#/components/schemas/resource_backyard_user/properties/sysadmin" sysadmin_permissions: anyOf: - "$ref": "#/components/schemas/resource_backyard_user/properties/sysadmin_permissions" - type: object title: Object maxProperties: 0 team: anyOf: - "$ref": "#/components/schemas/resource_backyard_user/properties/team" - type: 'null' title: 'Null' title: anyOf: - "$ref": "#/components/schemas/resource_backyard_user/properties/title" - type: 'null' title: 'Null' id: type: string type: enum: - backyard_users type: string required: - id - type _response_object_balancing_hour_report: type: object title: Balancing hour report properties: attributes: type: object properties: capacity: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/capacity" count: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/count" formula_fields: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/group" hours_over_availability: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/hours_over_availability" hours_over_capacity: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/hours_over_capacity" hours_under_availability: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/hours_under_availability" hours_under_capacity: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/hours_under_capacity" id: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/id" overtime_hours: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/overtime_hours" paid_time_off: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/paid_time_off" undertime_hours: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/undertime_hours" worked_hours: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/worked_hours" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" type: enum: - balancing_hour_reports type: string required: - id - type _response_object_bill: type: object title: Bill properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_bill/properties/created_at" currency: "$ref": "#/components/schemas/resource_bill/properties/currency" currency_default: "$ref": "#/components/schemas/resource_bill/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_bill/properties/currency_normalized" date: anyOf: - "$ref": "#/components/schemas/resource_bill/properties/date" - type: 'null' title: 'Null' deleted_at: anyOf: - "$ref": "#/components/schemas/resource_bill/properties/deleted_at" - type: 'null' title: 'Null' due_date: anyOf: - "$ref": "#/components/schemas/resource_bill/properties/due_date" - type: 'null' title: 'Null' invoice_number: anyOf: - "$ref": "#/components/schemas/resource_bill/properties/invoice_number" - type: 'null' title: 'Null' total_cost: "$ref": "#/components/schemas/resource_bill/properties/total_cost" total_cost_default: "$ref": "#/components/schemas/resource_bill/properties/total_cost_default" total_cost_normalized: "$ref": "#/components/schemas/resource_bill/properties/total_cost_normalized" total_received: "$ref": "#/components/schemas/resource_bill/properties/total_received" total_received_default: "$ref": "#/components/schemas/resource_bill/properties/total_received_default" total_received_normalized: "$ref": "#/components/schemas/resource_bill/properties/total_received_normalized" id: type: string relationships: type: object properties: attachment: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" purchase_order: "$ref": "#/components/schemas/_single_relationship" type: enum: - bills type: string required: - id - type _response_object_bill_item: type: object title: Bill Item properties: attributes: type: object properties: deleted_at: anyOf: - "$ref": "#/components/schemas/resource_bill_item/properties/deleted_at" - type: 'null' title: 'Null' quantity: anyOf: - "$ref": "#/components/schemas/resource_bill_item/properties/quantity" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: bill: "$ref": "#/components/schemas/_single_relationship" expense: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" purchase_order: "$ref": "#/components/schemas/_single_relationship" type: enum: - bill_items type: string required: - id - type _response_object_bill_report: type: object title: Bill report properties: attributes: type: object properties: count: "$ref": "#/components/schemas/resource_bill_report/properties/count" currency: "$ref": "#/components/schemas/resource_bill_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_bill_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_bill_report/properties/currency_normalized" date_period: "$ref": "#/components/schemas/resource_bill_report/properties/date_period" due_date_period: "$ref": "#/components/schemas/resource_bill_report/properties/due_date_period" formula_fields: "$ref": "#/components/schemas/resource_bill_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_bill_report/properties/group" number: "$ref": "#/components/schemas/resource_bill_report/properties/number" payment_status_id: "$ref": "#/components/schemas/resource_bill_report/properties/payment_status_id" sent_status: "$ref": "#/components/schemas/resource_bill_report/properties/sent_status" status_id: "$ref": "#/components/schemas/resource_bill_report/properties/status_id" total_cost: "$ref": "#/components/schemas/resource_bill_report/properties/total_cost" total_cost_default: "$ref": "#/components/schemas/resource_bill_report/properties/total_cost_default" total_cost_normalized: "$ref": "#/components/schemas/resource_bill_report/properties/total_cost_normalized" total_received: "$ref": "#/components/schemas/resource_bill_report/properties/total_received" total_received_default: "$ref": "#/components/schemas/resource_bill_report/properties/total_received_default" total_received_normalized: "$ref": "#/components/schemas/resource_bill_report/properties/total_received_normalized" id: type: string relationships: type: object properties: bill: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" purchase_order: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" vendor: "$ref": "#/components/schemas/_single_relationship" type: enum: - bill_reports type: string required: - id - type _response_object_booking: type: object title: Booking properties: attributes: type: object properties: approved: "$ref": "#/components/schemas/resource_booking/properties/approved" approved_at: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/approved_at" - type: 'null' title: 'Null' autotracking: "$ref": "#/components/schemas/resource_booking/properties/autotracking" booking_method_id: "$ref": "#/components/schemas/resource_booking/properties/booking_method_id" canceled: "$ref": "#/components/schemas/resource_booking/properties/canceled" canceled_at: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/canceled_at" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_booking/properties/created_at" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/custom_fields" - type: 'null' title: 'Null' draft: "$ref": "#/components/schemas/resource_booking/properties/draft" ended_on: "$ref": "#/components/schemas/resource_booking/properties/ended_on" external_id: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/external_id" - type: 'null' title: 'Null' hours: "$ref": "#/components/schemas/resource_booking/properties/hours" last_activity_at: "$ref": "#/components/schemas/resource_booking/properties/last_activity_at" note: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/note" - type: 'null' title: 'Null' people_custom_fields: anyOf: - type: object title: Object - type: 'null' title: 'Null' percentage: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/percentage" - type: 'null' title: 'Null' rejected: "$ref": "#/components/schemas/resource_booking/properties/rejected" rejected_at: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/rejected_at" - type: 'null' title: 'Null' rejected_reason: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/rejected_reason" - type: 'null' title: 'Null' stage_type: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/stage_type" - type: 'null' title: 'Null' started_on: "$ref": "#/components/schemas/resource_booking/properties/started_on" time: "$ref": "#/components/schemas/resource_booking/properties/time" total_time: "$ref": "#/components/schemas/resource_booking/properties/total_time" total_working_days: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/total_working_days" - type: 'null' title: 'Null' updated_at: "$ref": "#/components/schemas/resource_booking/properties/updated_at" id: type: string relationships: type: object properties: approval_statuses: "$ref": "#/components/schemas/_collection_relationship" approver: "$ref": "#/components/schemas/_single_relationship" attachments: "$ref": "#/components/schemas/_collection_relationship" canceler: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" custom_field_attachments: "$ref": "#/components/schemas/_collection_relationship" custom_field_people: "$ref": "#/components/schemas/_collection_relationship" event: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" origin: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" rejecter: "$ref": "#/components/schemas/_single_relationship" resource_request: "$ref": "#/components/schemas/_single_relationship" scenario_item: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" task: "$ref": "#/components/schemas/_single_relationship" updater: "$ref": "#/components/schemas/_single_relationship" type: enum: - bookings type: string required: - id - type _response_object_booking_report: type: object title: Booking report properties: attributes: type: object properties: absence_type: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/absence_type" - type: 'null' title: 'Null' approval_status: "$ref": "#/components/schemas/resource_booking_report/properties/approval_status" approved_at: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/approved_at" - type: 'null' title: 'Null' approved_at_period: "$ref": "#/components/schemas/resource_booking_report/properties/approved_at_period" autotracking: type: boolean average_blended_rate: "$ref": "#/components/schemas/resource_booking_report/properties/average_blended_rate" average_blended_rate_default: "$ref": "#/components/schemas/resource_booking_report/properties/average_blended_rate_default" average_blended_rate_normalized: "$ref": "#/components/schemas/resource_booking_report/properties/average_blended_rate_normalized" average_recognized_margin: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/average_recognized_margin" - type: 'null' title: 'Null' billing_type: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/billing_type" - type: 'null' title: 'Null' booking_type: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/booking_type" - type: 'null' title: 'Null' canceled_at: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/canceled_at" - type: 'null' title: 'Null' canceled_at_period: "$ref": "#/components/schemas/resource_booking_report/properties/canceled_at_period" count: "$ref": "#/components/schemas/resource_booking_report/properties/count" created_at: "$ref": "#/components/schemas/resource_booking_report/properties/created_at" created_at_period: "$ref": "#/components/schemas/resource_booking_report/properties/created_at_period" currency: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/currency" - type: 'null' title: 'Null' currency_default: "$ref": "#/components/schemas/resource_booking_report/properties/currency_default" currency_normalized: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/currency_normalized" - type: 'null' title: 'Null' custom_fields: type: object date_period: "$ref": "#/components/schemas/resource_booking_report/properties/date_period" draft: type: boolean end_date: "$ref": "#/components/schemas/resource_booking_report/properties/end_date" formula_fields: "$ref": "#/components/schemas/resource_booking_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_booking_report/properties/group" mandays: "$ref": "#/components/schemas/resource_booking_report/properties/mandays" people_custom_fields: type: object project_type: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/project_type" - type: 'null' title: 'Null' rejected_at: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/rejected_at" - type: 'null' title: 'Null' rejected_at_period: "$ref": "#/components/schemas/resource_booking_report/properties/rejected_at_period" stage_type: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/stage_type" - type: 'null' title: 'Null' start_date: "$ref": "#/components/schemas/resource_booking_report/properties/start_date" time: anyOf: - type: string title: String - type: number title: Number total_base_cost: "$ref": "#/components/schemas/resource_booking_report/properties/total_base_cost" total_base_cost_default: "$ref": "#/components/schemas/resource_booking_report/properties/total_base_cost_default" total_base_cost_normalized: "$ref": "#/components/schemas/resource_booking_report/properties/total_base_cost_normalized" total_cost: "$ref": "#/components/schemas/resource_booking_report/properties/total_cost" total_cost_default: "$ref": "#/components/schemas/resource_booking_report/properties/total_cost_default" total_cost_normalized: "$ref": "#/components/schemas/resource_booking_report/properties/total_cost_normalized" total_recognized_profit: "$ref": "#/components/schemas/resource_booking_report/properties/total_recognized_profit" total_recognized_profit_default: "$ref": "#/components/schemas/resource_booking_report/properties/total_recognized_profit_default" total_recognized_profit_normalized: "$ref": "#/components/schemas/resource_booking_report/properties/total_recognized_profit_normalized" total_recognized_revenue: "$ref": "#/components/schemas/resource_booking_report/properties/total_recognized_revenue" total_recognized_revenue_default: "$ref": "#/components/schemas/resource_booking_report/properties/total_recognized_revenue_default" total_recognized_revenue_normalized: "$ref": "#/components/schemas/resource_booking_report/properties/total_recognized_revenue_normalized" total_recognized_time: anyOf: - type: string title: String - type: number title: Number id: type: string relationships: type: object properties: booking: "$ref": "#/components/schemas/_single_relationship" budget: "$ref": "#/components/schemas/_single_relationship" company: "$ref": "#/components/schemas/_single_relationship" company_report: "$ref": "#/components/schemas/_single_relationship" deal_or_budget_report: "$ref": "#/components/schemas/_single_relationship" event: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" person_report: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" project_report: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" responsible_report: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" service_report: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" task: "$ref": "#/components/schemas/_single_relationship" task_report: "$ref": "#/components/schemas/_single_relationship" type: enum: - booking_reports type: string required: - id - type _response_object_budget_report: type: object title: Budget report properties: attributes: type: object properties: applied_scenario_margin: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/applied_scenario_margin" - type: 'null' title: 'Null' average_actual_rate: "$ref": "#/components/schemas/resource_budget_report/properties/average_actual_rate" average_actual_rate_default: "$ref": "#/components/schemas/resource_budget_report/properties/average_actual_rate_default" average_actual_rate_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/average_actual_rate_normalized" average_budget_usage: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/average_budget_usage" - type: 'null' title: 'Null' average_budget_usage_default: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/average_budget_usage_default" - type: 'null' title: 'Null' average_budget_usage_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/average_budget_usage_normalized" average_forecasted_budget_overrun: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/average_forecasted_budget_overrun" - type: 'null' title: 'Null' average_forecasted_budget_overrun_default: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/average_forecasted_budget_overrun_default" - type: 'null' title: 'Null' average_forecasted_budget_overrun_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/average_forecasted_budget_overrun_normalized" average_forecasted_budget_usage: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/average_forecasted_budget_usage" - type: 'null' title: 'Null' average_forecasted_budget_usage_default: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/average_forecasted_budget_usage_default" - type: 'null' title: 'Null' average_forecasted_budget_usage_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/average_forecasted_budget_usage_normalized" average_forecasted_time_usage: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/average_forecasted_time_usage" - type: 'null' title: 'Null' average_invoiced_percentage: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/average_invoiced_percentage" - type: 'null' title: 'Null' average_invoiced_percentage_default: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/average_invoiced_percentage_default" - type: 'null' title: 'Null' average_invoiced_percentage_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/average_invoiced_percentage_normalized" average_invoiced_rate: "$ref": "#/components/schemas/resource_budget_report/properties/average_invoiced_rate" average_invoiced_rate_default: "$ref": "#/components/schemas/resource_budget_report/properties/average_invoiced_rate_default" average_invoiced_rate_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/average_invoiced_rate_normalized" average_profit_margin: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/average_profit_margin" - type: 'null' title: 'Null' average_profit_margin_default: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/average_profit_margin_default" - type: 'null' title: 'Null' average_profit_margin_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/average_profit_margin_normalized" closed_at_period: "$ref": "#/components/schemas/resource_budget_report/properties/closed_at_period" count: "$ref": "#/components/schemas/resource_budget_report/properties/count" created_at_period: "$ref": "#/components/schemas/resource_budget_report/properties/created_at_period" currency: "$ref": "#/components/schemas/resource_budget_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_budget_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/currency_normalized" custom_fields: type: object date_period: "$ref": "#/components/schemas/resource_budget_report/properties/date_period" deal_type: "$ref": "#/components/schemas/resource_budget_report/properties/deal_type" delivered_on_period: "$ref": "#/components/schemas/resource_budget_report/properties/delivered_on_period" end_date_period: "$ref": "#/components/schemas/resource_budget_report/properties/end_date_period" formula_fields: "$ref": "#/components/schemas/resource_budget_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_budget_report/properties/group" last_activity_at_period: "$ref": "#/components/schemas/resource_budget_report/properties/last_activity_at_period" month: "$ref": "#/components/schemas/resource_budget_report/properties/month" next_occurrence_on_period: "$ref": "#/components/schemas/resource_budget_report/properties/next_occurrence_on_period" project_type: "$ref": "#/components/schemas/resource_budget_report/properties/project_type" purchase_order_number: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/purchase_order_number" - type: 'null' title: 'Null' quarter: "$ref": "#/components/schemas/resource_budget_report/properties/quarter" recurring: type: boolean recurring_ends_on_period: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_ends_on_period" recurring_interval_id: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/recurring_interval_id" - type: 'null' title: 'Null' recurring_starts_on_period: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_starts_on_period" revenue_distribution_type: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/revenue_distribution_type" - type: 'null' title: 'Null' status: "$ref": "#/components/schemas/resource_budget_report/properties/status" total_billable_time: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/total_billable_time" - type: string title: String total_budget_remaining: "$ref": "#/components/schemas/resource_budget_report/properties/total_budget_remaining" total_budget_remaining_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_budget_remaining_default" total_budget_remaining_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_budget_remaining_normalized" total_budget_total: "$ref": "#/components/schemas/resource_budget_report/properties/total_budget_total" total_budget_total_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_budget_total_default" total_budget_total_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_budget_total_normalized" total_budget_used: "$ref": "#/components/schemas/resource_budget_report/properties/total_budget_used" total_budget_used_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_budget_used_default" total_budget_used_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_budget_used_normalized" total_budgeted_time: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/total_budgeted_time" - type: string title: String total_cost: "$ref": "#/components/schemas/resource_budget_report/properties/total_cost" total_cost_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_cost_default" total_cost_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_cost_normalized" total_credited: "$ref": "#/components/schemas/resource_budget_report/properties/total_credited" total_credited_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_credited_default" total_credited_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_credited_normalized" total_draft_invoiced: "$ref": "#/components/schemas/resource_budget_report/properties/total_draft_invoiced" total_draft_invoiced_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_draft_invoiced_default" total_draft_invoiced_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_draft_invoiced_normalized" total_estimated_cost: "$ref": "#/components/schemas/resource_budget_report/properties/total_estimated_cost" total_estimated_cost_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_estimated_cost_default" total_estimated_cost_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_estimated_cost_normalized" total_estimated_remaining_time: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/total_estimated_remaining_time" - type: string title: String total_estimated_time: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/total_estimated_time" - type: string title: String total_expense: "$ref": "#/components/schemas/resource_budget_report/properties/total_expense" total_expense_billable: "$ref": "#/components/schemas/resource_budget_report/properties/total_expense_billable" total_expense_billable_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_expense_billable_default" total_expense_billable_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_expense_billable_normalized" total_expense_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_expense_default" total_expense_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_expense_normalized" total_forecasted_billable_time: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/total_forecasted_billable_time" - type: string title: String total_forecasted_budget_overrun: "$ref": "#/components/schemas/resource_budget_report/properties/total_forecasted_budget_overrun" total_forecasted_budget_overrun_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_forecasted_budget_overrun_default" total_forecasted_budget_overrun_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_forecasted_budget_overrun_normalized" total_forecasted_budget_used: "$ref": "#/components/schemas/resource_budget_report/properties/total_forecasted_budget_used" total_forecasted_budget_used_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_forecasted_budget_used_default" total_forecasted_budget_used_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_forecasted_budget_used_normalized" total_forecasted_cost: "$ref": "#/components/schemas/resource_budget_report/properties/total_forecasted_cost" total_forecasted_cost_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_forecasted_cost_default" total_forecasted_cost_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_forecasted_cost_normalized" total_future_booked_time: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/total_future_booked_time" - type: string title: String total_future_budget_used: "$ref": "#/components/schemas/resource_budget_report/properties/total_future_budget_used" total_future_budget_used_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_future_budget_used_default" total_future_budget_used_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_future_budget_used_normalized" total_future_cost: "$ref": "#/components/schemas/resource_budget_report/properties/total_future_cost" total_future_cost_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_future_cost_default" total_future_cost_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_future_cost_normalized" total_invoiced: "$ref": "#/components/schemas/resource_budget_report/properties/total_invoiced" total_invoiced_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_invoiced_default" total_invoiced_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_invoiced_normalized" total_manually_invoiced: "$ref": "#/components/schemas/resource_budget_report/properties/total_manually_invoiced" total_manually_invoiced_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_manually_invoiced_default" total_manually_invoiced_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_manually_invoiced_normalized" total_overtime_time: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/total_overtime_time" - type: string title: String total_pending_invoicing: "$ref": "#/components/schemas/resource_budget_report/properties/total_pending_invoicing" total_pending_invoicing_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_pending_invoicing_default" total_pending_invoicing_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_pending_invoicing_normalized" total_profit: "$ref": "#/components/schemas/resource_budget_report/properties/total_profit" total_profit_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_profit_default" total_profit_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_profit_normalized" total_revenue: "$ref": "#/components/schemas/resource_budget_report/properties/total_revenue" total_revenue_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_revenue_default" total_revenue_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_revenue_normalized" total_services_revenue: "$ref": "#/components/schemas/resource_budget_report/properties/total_services_revenue" total_services_revenue_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_services_revenue_default" total_services_revenue_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_services_revenue_normalized" total_unapproved_time: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/total_unapproved_time" - type: string title: String total_work_cost: "$ref": "#/components/schemas/resource_budget_report/properties/total_work_cost" total_work_cost_default: "$ref": "#/components/schemas/resource_budget_report/properties/total_work_cost_default" total_work_cost_normalized: "$ref": "#/components/schemas/resource_budget_report/properties/total_work_cost_normalized" total_worked_time: anyOf: - "$ref": "#/components/schemas/resource_budget_report/properties/total_worked_time" - type: string title: String tracking_type_id: "$ref": "#/components/schemas/resource_budget_report/properties/tracking_type_id" week: "$ref": "#/components/schemas/resource_budget_report/properties/week" year: "$ref": "#/components/schemas/resource_budget_report/properties/year" id: type: string relationships: type: object properties: budget: "$ref": "#/components/schemas/_single_relationship" company: "$ref": "#/components/schemas/_single_relationship" company_report: "$ref": "#/components/schemas/_single_relationship" contract: "$ref": "#/components/schemas/_single_relationship" deal_status: "$ref": "#/components/schemas/_single_relationship" designated_approver: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" origin_deal: "$ref": "#/components/schemas/_single_relationship" origin_deal_report: "$ref": "#/components/schemas/_single_relationship" owner_report: "$ref": "#/components/schemas/_single_relationship" pipeline: "$ref": "#/components/schemas/_single_relationship" primary_contact: "$ref": "#/components/schemas/_single_relationship" primary_contact_report: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" project_report: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" responsible: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - budget_reports type: string required: - id - type _response_object_calendar_event: type: object title: Calendar event properties: attributes: type: object properties: attendees: "$ref": "#/components/schemas/resource_calendar_event/properties/attendees" calendar: "$ref": "#/components/schemas/resource_calendar_event/properties/calendar" calendar_id: "$ref": "#/components/schemas/resource_calendar_event/properties/calendar_id" created_at: "$ref": "#/components/schemas/resource_calendar_event/properties/created_at" creator_email: "$ref": "#/components/schemas/resource_calendar_event/properties/creator_email" creator_name: "$ref": "#/components/schemas/resource_calendar_event/properties/creator_name" description: "$ref": "#/components/schemas/resource_calendar_event/properties/description" end_date: "$ref": "#/components/schemas/resource_calendar_event/properties/end_date" end_time: "$ref": "#/components/schemas/resource_calendar_event/properties/end_time" event_id: "$ref": "#/components/schemas/resource_calendar_event/properties/event_id" event_type: "$ref": "#/components/schemas/resource_calendar_event/properties/event_type" link: "$ref": "#/components/schemas/resource_calendar_event/properties/link" meeting_url: "$ref": "#/components/schemas/resource_calendar_event/properties/meeting_url" name: "$ref": "#/components/schemas/resource_calendar_event/properties/name" notetaker_active_elsewhere: "$ref": "#/components/schemas/resource_calendar_event/properties/notetaker_active_elsewhere" organizer_email: "$ref": "#/components/schemas/resource_calendar_event/properties/organizer_email" organizer_name: "$ref": "#/components/schemas/resource_calendar_event/properties/organizer_name" recurring_event_id: "$ref": "#/components/schemas/resource_calendar_event/properties/recurring_event_id" response_status: "$ref": "#/components/schemas/resource_calendar_event/properties/response_status" start_date: "$ref": "#/components/schemas/resource_calendar_event/properties/start_date" start_time: "$ref": "#/components/schemas/resource_calendar_event/properties/start_time" updated_at: "$ref": "#/components/schemas/resource_calendar_event/properties/updated_at" visibility: "$ref": "#/components/schemas/resource_calendar_event/properties/visibility" id: type: string relationships: type: object properties: meeting: "$ref": "#/components/schemas/_single_relationship" organization: type: object properties: data: type: object properties: id: type: - string - 'null' type: type: string person: "$ref": "#/components/schemas/_single_relationship" type: enum: - calendar_events type: string required: - id - type _response_object_comment: type: object title: Comment properties: attributes: type: object properties: body: "$ref": "#/components/schemas/resource_comment/properties/body" commentable_type: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/commentable_type" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_comment/properties/created_at" deleted_at: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/deleted_at" - type: 'null' title: 'Null' draft: "$ref": "#/components/schemas/resource_comment/properties/draft" edited_at: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/edited_at" - type: 'null' title: 'Null' hidden: "$ref": "#/components/schemas/resource_comment/properties/hidden" pinned_at: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/pinned_at" - type: 'null' title: 'Null' reactions: "$ref": "#/components/schemas/resource_comment/properties/reactions" updated_at: "$ref": "#/components/schemas/resource_comment/properties/updated_at" version_number: anyOf: - "$ref": "#/components/schemas/resource_comment/properties/version_number" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: attachments: "$ref": "#/components/schemas/_collection_relationship" company: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" discussion: "$ref": "#/components/schemas/_single_relationship" invoice: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" pinned_by: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" purchase_order: "$ref": "#/components/schemas/_single_relationship" task: "$ref": "#/components/schemas/_single_relationship" type: enum: - comments type: string required: - id - type _response_object_company: type: object title: Company properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_company/properties/archived_at" - type: 'null' title: 'Null' avatar_url: anyOf: - "$ref": "#/components/schemas/resource_company/properties/avatar_url" - type: 'null' title: 'Null' billing_name: anyOf: - "$ref": "#/components/schemas/resource_company/properties/billing_name" - type: 'null' title: 'Null' company_code: "$ref": "#/components/schemas/resource_company/properties/company_code" contact: "$ref": "#/components/schemas/resource_company/properties/contact" created_at: "$ref": "#/components/schemas/resource_company/properties/created_at" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_company/properties/custom_fields" - type: 'null' title: 'Null' default_currency: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_currency" - type: 'null' title: 'Null' default_document_type_id: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_document_type_id" - type: 'null' title: 'Null' default_payment_reminder_sequence_id: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_payment_reminder_sequence_id" - type: 'null' title: 'Null' default_subsidiary_id: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" - type: 'null' title: 'Null' default_tax_rate_id: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" - type: 'null' title: 'Null' domains: "$ref": "#/components/schemas/resource_company/properties/domains" due_days: anyOf: - "$ref": "#/components/schemas/resource_company/properties/due_days" - type: 'null' title: 'Null' external_id: anyOf: - "$ref": "#/components/schemas/resource_company/properties/external_id" - type: 'null' title: 'Null' external_sync: "$ref": "#/components/schemas/resource_company/properties/external_sync" invoice_email_recipients: type: object last_activity_at: anyOf: - "$ref": "#/components/schemas/resource_company/properties/last_activity_at" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_company/properties/name" original_avatar_url: "$ref": "#/components/schemas/resource_company/properties/original_avatar_url" parent_company_id: anyOf: - "$ref": "#/components/schemas/resource_company/properties/parent_company_id" - type: 'null' title: 'Null' payment_terms_type: anyOf: - "$ref": "#/components/schemas/resource_company/properties/payment_terms_type" - type: 'null' title: 'Null' projectless_budgets: "$ref": "#/components/schemas/resource_company/properties/projectless_budgets" sample_data: "$ref": "#/components/schemas/resource_company/properties/sample_data" settings: "$ref": "#/components/schemas/resource_company/properties/settings" tag_list: type: array items: type: string vat: anyOf: - "$ref": "#/components/schemas/resource_company/properties/vat" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: custom_field_attachments: "$ref": "#/components/schemas/_collection_relationship" custom_field_people: "$ref": "#/components/schemas/_collection_relationship" default_document_type: "$ref": "#/components/schemas/_single_relationship" default_payment_reminder_sequence: "$ref": "#/components/schemas/_single_relationship" default_subsidiary: "$ref": "#/components/schemas/_single_relationship" default_tax_rate: "$ref": "#/components/schemas/_single_relationship" einvoice_identity: "$ref": "#/components/schemas/_single_relationship" import: "$ref": "#/components/schemas/_single_relationship" integration_exporter_configuration: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" parent_company: "$ref": "#/components/schemas/_single_relationship" type: enum: - companies type: string required: - id - type _response_object_company_report: type: object title: Company report properties: attributes: type: object properties: contact_address: "$ref": "#/components/schemas/resource_company_report/properties/contact_address" contact_city: "$ref": "#/components/schemas/resource_company_report/properties/contact_city" contact_country: "$ref": "#/components/schemas/resource_company_report/properties/contact_country" contact_email: "$ref": "#/components/schemas/resource_company_report/properties/contact_email" contact_phone: "$ref": "#/components/schemas/resource_company_report/properties/contact_phone" contact_state: "$ref": "#/components/schemas/resource_company_report/properties/contact_state" contact_website: "$ref": "#/components/schemas/resource_company_report/properties/contact_website" contact_zipcode: "$ref": "#/components/schemas/resource_company_report/properties/contact_zipcode" count: "$ref": "#/components/schemas/resource_company_report/properties/count" created_at_period: "$ref": "#/components/schemas/resource_company_report/properties/created_at_period" currency: "$ref": "#/components/schemas/resource_company_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_company_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_company_report/properties/currency_normalized" custom_fields: type: object formula_fields: "$ref": "#/components/schemas/resource_company_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_company_report/properties/group" last_activity_at_period: "$ref": "#/components/schemas/resource_company_report/properties/last_activity_at_period" month: "$ref": "#/components/schemas/resource_company_report/properties/month" payment_terms: "$ref": "#/components/schemas/resource_company_report/properties/payment_terms" payment_terms_type: type: string quarter: "$ref": "#/components/schemas/resource_company_report/properties/quarter" status: "$ref": "#/components/schemas/resource_company_report/properties/status" week: "$ref": "#/components/schemas/resource_company_report/properties/week" year: "$ref": "#/components/schemas/resource_company_report/properties/year" id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" parent_company: "$ref": "#/components/schemas/_single_relationship" parent_company_report: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - company_reports type: string required: - id - type _response_object_connection: type: object title: Connection properties: attributes: type: object properties: connected_at: anyOf: - "$ref": "#/components/schemas/resource_connection/properties/connected_at" - type: 'null' title: 'Null' connection_code: "$ref": "#/components/schemas/resource_connection/properties/connection_code" connection_type: "$ref": "#/components/schemas/resource_connection/properties/connection_type" id: "$ref": "#/components/schemas/resource_connection/properties/id" id: type: string relationships: type: object properties: connection_record: "$ref": "#/components/schemas/_single_relationship" type: enum: - connection type: string required: - id - type _response_object_contact_entry: type: object title: Contact entry properties: attributes: type: object properties: address: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/address" - type: 'null' title: 'Null' billing_address: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/billing_address" - type: 'null' title: 'Null' billing_email: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/billing_email" - type: 'null' title: 'Null' city: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/city" - type: 'null' title: 'Null' contactable_type: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" country: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/country" - type: 'null' title: 'Null' email: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/email" - type: 'null' title: 'Null' external_id: "$ref": "#/components/schemas/resource_contact_entry/properties/external_id" name: "$ref": "#/components/schemas/resource_contact_entry/properties/name" phone: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/phone" - type: 'null' title: 'Null' state: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/state" - type: 'null' title: 'Null' type: "$ref": "#/components/schemas/resource_contact_entry/properties/type" vat: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/vat" - type: 'null' title: 'Null' website: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/website" - type: 'null' title: 'Null' zipcode: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/zipcode" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" invoice: "$ref": "#/components/schemas/_single_relationship" invoice_template: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" purchase_order: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - contact_entries type: string required: - id - type _response_object_contract: type: object title: Contract properties: attributes: type: object properties: copy_expenses: "$ref": "#/components/schemas/resource_contract/properties/copy_expenses" copy_purchase_order_number: "$ref": "#/components/schemas/resource_contract/properties/copy_purchase_order_number" ends_on: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/ends_on" - type: 'null' title: 'Null' interval_id: "$ref": "#/components/schemas/resource_contract/properties/interval_id" next_occurrence_on: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/next_occurrence_on" - type: 'null' title: 'Null' starts_on: "$ref": "#/components/schemas/resource_contract/properties/starts_on" use_rollover_hours: "$ref": "#/components/schemas/resource_contract/properties/use_rollover_hours" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" template: "$ref": "#/components/schemas/_single_relationship" type: enum: - contracts type: string required: - id - type _response_object_custom_domain: type: object title: Custom domain properties: attributes: type: object properties: allow_user_email: "$ref": "#/components/schemas/resource_custom_domain/properties/allow_user_email" email_sender_address: anyOf: - "$ref": "#/components/schemas/resource_custom_domain/properties/email_sender_address" - type: 'null' title: 'Null' email_sender_name: anyOf: - "$ref": "#/components/schemas/resource_custom_domain/properties/email_sender_name" - type: 'null' title: 'Null' mailgun_dkim: anyOf: - "$ref": "#/components/schemas/resource_custom_domain/properties/mailgun_dkim" - type: 'null' title: 'Null' mailgun_mx: "$ref": "#/components/schemas/resource_custom_domain/properties/mailgun_mx" mailgun_spf: anyOf: - "$ref": "#/components/schemas/resource_custom_domain/properties/mailgun_spf" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_custom_domain/properties/name" verified_at: anyOf: - "$ref": "#/components/schemas/resource_custom_domain/properties/verified_at" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" subsidiaries: "$ref": "#/components/schemas/_collection_relationship" type: enum: - custom_domains type: string required: - id - type _response_object_custom_field: type: object title: Custom field properties: attributes: type: object properties: aggregation_type_id: anyOf: - "$ref": "#/components/schemas/resource_custom_field/properties/aggregation_type_id" - type: 'null' title: 'Null' archived_at: anyOf: - "$ref": "#/components/schemas/resource_custom_field/properties/archived_at" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_custom_field/properties/created_at" customizable_type: "$ref": "#/components/schemas/resource_custom_field/properties/customizable_type" data_type_id: "$ref": "#/components/schemas/resource_custom_field/properties/data_type_id" formatting_type_id: anyOf: - "$ref": "#/components/schemas/resource_custom_field/properties/formatting_type_id" - type: 'null' title: 'Null' global: anyOf: - "$ref": "#/components/schemas/resource_custom_field/properties/global" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_custom_field/properties/name" position: "$ref": "#/components/schemas/resource_custom_field/properties/position" quick_add_enabled: "$ref": "#/components/schemas/resource_custom_field/properties/quick_add_enabled" required: "$ref": "#/components/schemas/resource_custom_field/properties/required" sensitive: "$ref": "#/components/schemas/resource_custom_field/properties/sensitive" show_in_add_edit_views: "$ref": "#/components/schemas/resource_custom_field/properties/show_in_add_edit_views" tag_field: "$ref": "#/components/schemas/resource_custom_field/properties/tag_field" updated_at: "$ref": "#/components/schemas/resource_custom_field/properties/updated_at" id: type: string relationships: type: object properties: custom_field_people: "$ref": "#/components/schemas/_collection_relationship" options: "$ref": "#/components/schemas/_collection_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" section: "$ref": "#/components/schemas/_single_relationship" survey: "$ref": "#/components/schemas/_single_relationship" type: enum: - custom_fields type: string required: - id - type _response_object_custom_field_option: type: object title: Custom field option properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_custom_field_option/properties/archived_at" - type: 'null' title: 'Null' color_id: anyOf: - type: string title: String - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_custom_field_option/properties/name" position: "$ref": "#/components/schemas/resource_custom_field_option/properties/position" id: type: string relationships: type: object properties: custom_field: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - custom_field_options type: string required: - id - type _response_object_custom_field_section: type: object title: Custom field section properties: attributes: type: object properties: name: "$ref": "#/components/schemas/resource_custom_field_section/properties/name" position: "$ref": "#/components/schemas/resource_custom_field_section/properties/position" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - custom_field_sections type: string required: - id - type _response_object_dashboard: type: object title: Dashboard properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_dashboard/properties/created_at" is_private: "$ref": "#/components/schemas/resource_dashboard/properties/is_private" name: "$ref": "#/components/schemas/resource_dashboard/properties/name" updated_at: "$ref": "#/components/schemas/resource_dashboard/properties/updated_at" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" memberships: "$ref": "#/components/schemas/_collection_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" type: enum: - dashboards type: string required: - id - type _response_object_deal: type: object title: Deal properties: attributes: type: object properties: access_to_deal: "$ref": "#/components/schemas/resource_deal/properties/access_to_deal" amount_credited: "$ref": "#/components/schemas/resource_deal/properties/amount_credited" amount_credited_default: "$ref": "#/components/schemas/resource_deal/properties/amount_credited_default" amount_credited_normalized: "$ref": "#/components/schemas/resource_deal/properties/amount_credited_normalized" billable_time: "$ref": "#/components/schemas/resource_deal/properties/billable_time" budget: "$ref": "#/components/schemas/resource_deal/properties/budget" budget_total: "$ref": "#/components/schemas/resource_deal/properties/budget_total" budget_total_default: "$ref": "#/components/schemas/resource_deal/properties/budget_total_default" budget_total_normalized: "$ref": "#/components/schemas/resource_deal/properties/budget_total_normalized" budget_used: "$ref": "#/components/schemas/resource_deal/properties/budget_used" budget_used_default: "$ref": "#/components/schemas/resource_deal/properties/budget_used_default" budget_used_normalized: "$ref": "#/components/schemas/resource_deal/properties/budget_used_normalized" budget_warning: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/budget_warning" - type: 'null' title: 'Null' budgeted_time: "$ref": "#/components/schemas/resource_deal/properties/budgeted_time" client_access: "$ref": "#/components/schemas/resource_deal/properties/client_access" closed_at: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/closed_at" - type: 'null' title: 'Null' color_id: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/color_id" - type: 'null' title: 'Null' connection_status: "$ref": "#/components/schemas/resource_deal/properties/connection_status" cost: "$ref": "#/components/schemas/resource_deal/properties/cost" cost_default: "$ref": "#/components/schemas/resource_deal/properties/cost_default" cost_normalized: "$ref": "#/components/schemas/resource_deal/properties/cost_normalized" created_at: "$ref": "#/components/schemas/resource_deal/properties/created_at" currency: "$ref": "#/components/schemas/resource_deal/properties/currency" currency_default: "$ref": "#/components/schemas/resource_deal/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_deal/properties/currency_normalized" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/custom_fields" - type: 'null' title: 'Null' date: "$ref": "#/components/schemas/resource_deal/properties/date" days_in_current_stage: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/days_in_current_stage" - type: 'null' title: 'Null' days_since_created: "$ref": "#/components/schemas/resource_deal/properties/days_since_created" days_since_last_activity: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/days_since_last_activity" - type: 'null' title: 'Null' deal_number: "$ref": "#/components/schemas/resource_deal/properties/deal_number" deal_type_id: "$ref": "#/components/schemas/resource_deal/properties/deal_type_id" deal_value: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/deal_value" - type: string title: String deal_value_per_period: "$ref": "#/components/schemas/resource_deal/properties/deal_value_per_period" deal_value_per_period_default: "$ref": "#/components/schemas/resource_deal/properties/deal_value_per_period_default" deal_value_per_period_normalized: "$ref": "#/components/schemas/resource_deal/properties/deal_value_per_period_normalized" deal_value_source: "$ref": "#/components/schemas/resource_deal/properties/deal_value_source" deal_value_total: "$ref": "#/components/schemas/resource_deal/properties/deal_value_total" deal_value_total_default: "$ref": "#/components/schemas/resource_deal/properties/deal_value_total_default" deal_value_total_normalized: "$ref": "#/components/schemas/resource_deal/properties/deal_value_total_normalized" deleted_at: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/deleted_at" - type: 'null' title: 'Null' delivered_on: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/delivered_on" - type: 'null' title: 'Null' discount: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/discount" - type: 'null' title: 'Null' draft_invoiced: "$ref": "#/components/schemas/resource_deal/properties/draft_invoiced" draft_invoiced_default: "$ref": "#/components/schemas/resource_deal/properties/draft_invoiced_default" draft_invoiced_normalized: "$ref": "#/components/schemas/resource_deal/properties/draft_invoiced_normalized" editor_config: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/editor_config" - type: 'null' title: 'Null' email_key: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/email_key" - type: 'null' title: 'Null' end_date: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/end_date" - type: 'null' title: 'Null' estimated_time: "$ref": "#/components/schemas/resource_deal/properties/estimated_time" exchange_date: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/exchange_date" - type: 'null' title: 'Null' exchange_rate: anyOf: - type: string title: String - type: 'null' title: 'Null' expense: "$ref": "#/components/schemas/resource_deal/properties/expense" expense_approval: "$ref": "#/components/schemas/resource_deal/properties/expense_approval" expense_default: "$ref": "#/components/schemas/resource_deal/properties/expense_default" expense_normalized: "$ref": "#/components/schemas/resource_deal/properties/expense_normalized" export_error: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/export_error" - type: 'null' title: 'Null' export_id: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/export_id" - type: 'null' title: 'Null' export_status: "$ref": "#/components/schemas/resource_deal/properties/export_status" export_url: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/export_url" - type: 'null' title: 'Null' exported: "$ref": "#/components/schemas/resource_deal/properties/exported" exported_at: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/exported_at" - type: 'null' title: 'Null' external_id: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/external_id" - type: 'null' title: 'Null' external_sync: "$ref": "#/components/schemas/resource_deal/properties/external_sync" footer: "$ref": "#/components/schemas/resource_deal/properties/footer" footer_interpolated: "$ref": "#/components/schemas/resource_deal/properties/footer_interpolated" invoiced: "$ref": "#/components/schemas/resource_deal/properties/invoiced" invoiced_default: "$ref": "#/components/schemas/resource_deal/properties/invoiced_default" invoiced_normalized: "$ref": "#/components/schemas/resource_deal/properties/invoiced_normalized" last_activity_at: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/last_activity_at" - type: 'null' title: 'Null' lost_comment: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/lost_comment" - type: 'null' title: 'Null' man_day_minutes: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/man_day_minutes" - type: 'null' title: 'Null' manual_invoicing_status_id: "$ref": "#/components/schemas/resource_deal/properties/manual_invoicing_status_id" manually_invoiced: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/manually_invoiced" - type: integer title: Integer manually_invoiced_default: "$ref": "#/components/schemas/resource_deal/properties/manually_invoiced_default" manually_invoiced_normalized: "$ref": "#/components/schemas/resource_deal/properties/manually_invoiced_normalized" name: "$ref": "#/components/schemas/resource_deal/properties/name" note: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/note" - type: 'null' title: 'Null' note_interpolated: "$ref": "#/components/schemas/resource_deal/properties/note_interpolated" number: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/number" - type: 'null' title: 'Null' origin_deal_id: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/origin_deal_id" - type: 'null' title: 'Null' overtime_time: "$ref": "#/components/schemas/resource_deal/properties/overtime_time" pending_invoicing: "$ref": "#/components/schemas/resource_deal/properties/pending_invoicing" pending_invoicing_default: "$ref": "#/components/schemas/resource_deal/properties/pending_invoicing_default" pending_invoicing_normalized: "$ref": "#/components/schemas/resource_deal/properties/pending_invoicing_normalized" position: "$ref": "#/components/schemas/resource_deal/properties/position" previous_probability: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/previous_probability" - type: 'null' title: 'Null' probability: "$ref": "#/components/schemas/resource_deal/properties/probability" profit: "$ref": "#/components/schemas/resource_deal/properties/profit" profit_default: "$ref": "#/components/schemas/resource_deal/properties/profit_default" profit_margin: anyOf: - type: number title: Number - type: string title: String profit_margin_default: "$ref": "#/components/schemas/resource_deal/properties/profit_margin_default" profit_margin_normalized: "$ref": "#/components/schemas/resource_deal/properties/profit_margin_normalized" profit_normalized: "$ref": "#/components/schemas/resource_deal/properties/profit_normalized" projected_revenue: "$ref": "#/components/schemas/resource_deal/properties/projected_revenue" projected_revenue_default: "$ref": "#/components/schemas/resource_deal/properties/projected_revenue_default" projected_revenue_normalized: "$ref": "#/components/schemas/resource_deal/properties/projected_revenue_normalized" proposal_footer: "$ref": "#/components/schemas/resource_deal/properties/proposal_footer" proposal_footer_interpolated: "$ref": "#/components/schemas/resource_deal/properties/proposal_footer_interpolated" proposal_note: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/proposal_note" - type: 'null' title: 'Null' proposal_note_interpolated: "$ref": "#/components/schemas/resource_deal/properties/proposal_note_interpolated" purchase_order_number: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/purchase_order_number" - type: 'null' title: 'Null' retainer_deal_value_type: "$ref": "#/components/schemas/resource_deal/properties/retainer_deal_value_type" retainer_interval: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/retainer_interval" - type: 'null' title: 'Null' retainer_interval_count: "$ref": "#/components/schemas/resource_deal/properties/retainer_interval_count" revenue: "$ref": "#/components/schemas/resource_deal/properties/revenue" revenue_default: "$ref": "#/components/schemas/resource_deal/properties/revenue_default" revenue_distribution_method: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/revenue_distribution_method" - type: 'null' title: 'Null' revenue_distribution_type: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/revenue_distribution_type" - type: 'null' title: 'Null' revenue_normalized: "$ref": "#/components/schemas/resource_deal/properties/revenue_normalized" rounding_interval_id: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/rounding_interval_id" - type: 'null' title: 'Null' rounding_method_id: "$ref": "#/components/schemas/resource_deal/properties/rounding_method_id" sales_closed_at: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/sales_closed_at" - type: 'null' title: 'Null' sales_closed_on: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/sales_closed_on" - type: 'null' title: 'Null' sales_status_updated_at: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/sales_status_updated_at" - type: 'null' title: 'Null' sample_data: "$ref": "#/components/schemas/resource_deal/properties/sample_data" service_type_restricted_tracking: "$ref": "#/components/schemas/resource_deal/properties/service_type_restricted_tracking" services_revenue: "$ref": "#/components/schemas/resource_deal/properties/services_revenue" services_revenue_default: "$ref": "#/components/schemas/resource_deal/properties/services_revenue_default" services_revenue_normalized: "$ref": "#/components/schemas/resource_deal/properties/services_revenue_normalized" suffix: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/suffix" - type: 'null' title: 'Null' tag_list: "$ref": "#/components/schemas/resource_deal/properties/tag_list" time_approval: "$ref": "#/components/schemas/resource_deal/properties/time_approval" time_entry_requirements: "$ref": "#/components/schemas/resource_deal/properties/time_entry_requirements" time_to_close: "$ref": "#/components/schemas/resource_deal/properties/time_to_close" todo_count: "$ref": "#/components/schemas/resource_deal/properties/todo_count" todo_due_date: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/todo_due_date" - type: 'null' title: 'Null' tracking_type_id: "$ref": "#/components/schemas/resource_deal/properties/tracking_type_id" validate_expense_when_closing: "$ref": "#/components/schemas/resource_deal/properties/validate_expense_when_closing" worked_time: "$ref": "#/components/schemas/resource_deal/properties/worked_time" applied_scenario_margin: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/applied_scenario_margin" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: approval_policy_assignment: "$ref": "#/components/schemas/_single_relationship" automatic_invoicing_rule: "$ref": "#/components/schemas/_single_relationship" company: "$ref": "#/components/schemas/_single_relationship" contact: "$ref": "#/components/schemas/_single_relationship" contacts: "$ref": "#/components/schemas/_collection_relationship" contract: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" custom_field_attachments: "$ref": "#/components/schemas/_collection_relationship" custom_field_people: "$ref": "#/components/schemas/_collection_relationship" deal_status: "$ref": "#/components/schemas/_single_relationship" designated_approver: "$ref": "#/components/schemas/_single_relationship" document_type: "$ref": "#/components/schemas/_single_relationship" expense_approval_workflow: "$ref": "#/components/schemas/_single_relationship" import: "$ref": "#/components/schemas/_single_relationship" invoice_template: "$ref": "#/components/schemas/_single_relationship" lost_reason: "$ref": "#/components/schemas/_single_relationship" memberships: "$ref": "#/components/schemas/_collection_relationship" next_todo: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" origin_deal: "$ref": "#/components/schemas/_single_relationship" pipeline: "$ref": "#/components/schemas/_single_relationship" primary_contact: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" proposal_document_type: "$ref": "#/components/schemas/_single_relationship" responsible: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" tax_rate: "$ref": "#/components/schemas/_single_relationship" template: "$ref": "#/components/schemas/_single_relationship" time_approval_workflow: "$ref": "#/components/schemas/_single_relationship" type: enum: - deals type: string required: - id - type _response_object_deal_contact: type: object title: Deal contact properties: attributes: type: object properties: position: "$ref": "#/components/schemas/resource_deal_contact/properties/position" id: type: string relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" type: enum: - deal_contacts type: string required: - id - type _response_object_deal_cost_rate: type: object title: Deal cost rate properties: attributes: type: object properties: currency: "$ref": "#/components/schemas/resource_deal_cost_rate/properties/currency" rate_cents: type: string title: Rate Cents id: type: string relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" type: enum: - deal_cost_rates type: string required: - id - type _response_object_deal_funnel_report: type: object title: Deal funnel report properties: attributes: type: object properties: count: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/count" currency: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/currency_normalized" formula_fields: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/group" lost_count: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/lost_count" total_budget_total: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/total_budget_total" total_budget_total_default: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/total_budget_total_default" total_budget_total_normalized: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/total_budget_total_normalized" total_projected_revenue: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/total_projected_revenue" total_projected_revenue_default: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/total_projected_revenue_default" total_projected_revenue_normalized: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/total_projected_revenue_normalized" id: type: string relationships: type: object properties: deal_status: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" pipeline: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" type: enum: - deal_funnel_reports type: string required: - id - type _response_object_deal_report: type: object title: Deal report properties: attributes: type: object properties: applied_scenario_margin: anyOf: - "$ref": "#/components/schemas/resource_deal_report/properties/applied_scenario_margin" - type: 'null' title: 'Null' average_actual_rate: "$ref": "#/components/schemas/resource_deal_report/properties/average_actual_rate" average_actual_rate_default: "$ref": "#/components/schemas/resource_deal_report/properties/average_actual_rate_default" average_actual_rate_normalized: "$ref": "#/components/schemas/resource_deal_report/properties/average_actual_rate_normalized" average_days_in_current_stage: anyOf: - "$ref": "#/components/schemas/resource_deal_report/properties/average_days_in_current_stage" - type: 'null' title: 'Null' average_days_since_created: "$ref": "#/components/schemas/resource_deal_report/properties/average_days_since_created" average_days_since_last_activity: "$ref": "#/components/schemas/resource_deal_report/properties/average_days_since_last_activity" average_rate: "$ref": "#/components/schemas/resource_deal_report/properties/average_rate" average_rate_default: "$ref": "#/components/schemas/resource_deal_report/properties/average_rate_default" average_rate_normalized: "$ref": "#/components/schemas/resource_deal_report/properties/average_rate_normalized" average_retainer_interval_count: "$ref": "#/components/schemas/resource_deal_report/properties/average_retainer_interval_count" count: "$ref": "#/components/schemas/resource_deal_report/properties/count" created_at_period: "$ref": "#/components/schemas/resource_deal_report/properties/created_at_period" currency: "$ref": "#/components/schemas/resource_deal_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_deal_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_deal_report/properties/currency_normalized" custom_fields: type: object date_period: "$ref": "#/components/schemas/resource_deal_report/properties/date_period" formula_fields: "$ref": "#/components/schemas/resource_deal_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_deal_report/properties/group" last_activity_at_period: "$ref": "#/components/schemas/resource_deal_report/properties/last_activity_at_period" month: "$ref": "#/components/schemas/resource_deal_report/properties/month" previous_probability: anyOf: - "$ref": "#/components/schemas/resource_deal_report/properties/previous_probability" - type: 'null' title: 'Null' probability: "$ref": "#/components/schemas/resource_deal_report/properties/probability" quarter: "$ref": "#/components/schemas/resource_deal_report/properties/quarter" retainer: type: boolean retainer_interval: anyOf: - "$ref": "#/components/schemas/resource_deal_report/properties/retainer_interval" - type: 'null' title: 'Null' sales_closed_at_period: "$ref": "#/components/schemas/resource_deal_report/properties/sales_closed_at_period" sales_closed_on_period: "$ref": "#/components/schemas/resource_deal_report/properties/sales_closed_on_period" stage_status_id: "$ref": "#/components/schemas/resource_deal_report/properties/stage_status_id" stage_updated_at_period: "$ref": "#/components/schemas/resource_deal_report/properties/stage_updated_at_period" total_billable_time: anyOf: - "$ref": "#/components/schemas/resource_deal_report/properties/total_billable_time" - type: string title: String total_budget_from_services: "$ref": "#/components/schemas/resource_deal_report/properties/total_budget_from_services" total_budget_from_services_default: "$ref": "#/components/schemas/resource_deal_report/properties/total_budget_from_services_default" total_budget_from_services_normalized: "$ref": "#/components/schemas/resource_deal_report/properties/total_budget_from_services_normalized" total_budget_total: "$ref": "#/components/schemas/resource_deal_report/properties/total_budget_total" total_budget_total_default: "$ref": "#/components/schemas/resource_deal_report/properties/total_budget_total_default" total_budget_total_normalized: "$ref": "#/components/schemas/resource_deal_report/properties/total_budget_total_normalized" total_budget_used: "$ref": "#/components/schemas/resource_deal_report/properties/total_budget_used" total_budget_used_default: "$ref": "#/components/schemas/resource_deal_report/properties/total_budget_used_default" total_budget_used_normalized: "$ref": "#/components/schemas/resource_deal_report/properties/total_budget_used_normalized" total_budgeted_time: anyOf: - "$ref": "#/components/schemas/resource_deal_report/properties/total_budgeted_time" - type: string title: String total_cost: "$ref": "#/components/schemas/resource_deal_report/properties/total_cost" total_cost_default: "$ref": "#/components/schemas/resource_deal_report/properties/total_cost_default" total_cost_normalized: "$ref": "#/components/schemas/resource_deal_report/properties/total_cost_normalized" total_estimated_cost: "$ref": "#/components/schemas/resource_deal_report/properties/total_estimated_cost" total_estimated_cost_default: "$ref": "#/components/schemas/resource_deal_report/properties/total_estimated_cost_default" total_estimated_cost_normalized: "$ref": "#/components/schemas/resource_deal_report/properties/total_estimated_cost_normalized" total_estimated_remaining_time: anyOf: - "$ref": "#/components/schemas/resource_deal_report/properties/total_estimated_remaining_time" - type: string title: String total_estimated_time: anyOf: - "$ref": "#/components/schemas/resource_deal_report/properties/total_estimated_time" - type: string title: String total_expense: "$ref": "#/components/schemas/resource_deal_report/properties/total_expense" total_expense_default: "$ref": "#/components/schemas/resource_deal_report/properties/total_expense_default" total_expense_normalized: "$ref": "#/components/schemas/resource_deal_report/properties/total_expense_normalized" total_overtime_time: anyOf: - "$ref": "#/components/schemas/resource_deal_report/properties/total_overtime_time" - type: string title: String total_profit: "$ref": "#/components/schemas/resource_deal_report/properties/total_profit" total_profit_default: "$ref": "#/components/schemas/resource_deal_report/properties/total_profit_default" total_profit_normalized: "$ref": "#/components/schemas/resource_deal_report/properties/total_profit_normalized" total_projected_revenue: "$ref": "#/components/schemas/resource_deal_report/properties/total_projected_revenue" total_projected_revenue_default: "$ref": "#/components/schemas/resource_deal_report/properties/total_projected_revenue_default" total_projected_revenue_normalized: "$ref": "#/components/schemas/resource_deal_report/properties/total_projected_revenue_normalized" total_revenue: "$ref": "#/components/schemas/resource_deal_report/properties/total_revenue" total_revenue_default: "$ref": "#/components/schemas/resource_deal_report/properties/total_revenue_default" total_revenue_normalized: "$ref": "#/components/schemas/resource_deal_report/properties/total_revenue_normalized" total_services_revenue: "$ref": "#/components/schemas/resource_deal_report/properties/total_services_revenue" total_services_revenue_default: "$ref": "#/components/schemas/resource_deal_report/properties/total_services_revenue_default" total_services_revenue_normalized: "$ref": "#/components/schemas/resource_deal_report/properties/total_services_revenue_normalized" total_work_cost: "$ref": "#/components/schemas/resource_deal_report/properties/total_work_cost" total_work_cost_default: "$ref": "#/components/schemas/resource_deal_report/properties/total_work_cost_default" total_work_cost_normalized: "$ref": "#/components/schemas/resource_deal_report/properties/total_work_cost_normalized" total_worked_time: anyOf: - "$ref": "#/components/schemas/resource_deal_report/properties/total_worked_time" - type: string title: String tracking_type_id: "$ref": "#/components/schemas/resource_deal_report/properties/tracking_type_id" week: "$ref": "#/components/schemas/resource_deal_report/properties/week" year: "$ref": "#/components/schemas/resource_deal_report/properties/year" id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" company_report: "$ref": "#/components/schemas/_single_relationship" contact: "$ref": "#/components/schemas/_single_relationship" contact_report: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" creator_report: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" deal_status: "$ref": "#/components/schemas/_single_relationship" designated_approver: "$ref": "#/components/schemas/_single_relationship" lost_reason: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" owner_report: "$ref": "#/components/schemas/_single_relationship" pipeline: "$ref": "#/components/schemas/_single_relationship" previous_deal_status: "$ref": "#/components/schemas/_single_relationship" primary_contact: "$ref": "#/components/schemas/_single_relationship" primary_contact_report: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" project_report: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" responsible: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - deal_reports type: string required: - id - type _response_object_deal_status: type: object title: Deal status properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_deal_status/properties/archived_at" - type: 'null' title: 'Null' booking_tracking_enabled: "$ref": "#/components/schemas/resource_deal_status/properties/booking_tracking_enabled" color_id: anyOf: - type: string title: String - type: 'null' title: 'Null' expense_tracking_enabled: "$ref": "#/components/schemas/resource_deal_status/properties/expense_tracking_enabled" lost_reason_enabled: "$ref": "#/components/schemas/resource_deal_status/properties/lost_reason_enabled" name: "$ref": "#/components/schemas/resource_deal_status/properties/name" position: anyOf: - "$ref": "#/components/schemas/resource_deal_status/properties/position" - type: 'null' title: 'Null' probability: anyOf: - "$ref": "#/components/schemas/resource_deal_status/properties/probability" - type: 'null' title: 'Null' probability_enabled: "$ref": "#/components/schemas/resource_deal_status/properties/probability_enabled" status_id: "$ref": "#/components/schemas/resource_deal_status/properties/status_id" time_tracking_enabled: "$ref": "#/components/schemas/resource_deal_status/properties/time_tracking_enabled" used: "$ref": "#/components/schemas/resource_deal_status/properties/used" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" pipeline: "$ref": "#/components/schemas/_single_relationship" type: enum: - deal_statuses type: string required: - id - type _response_object_deleted_item: type: object title: Deleted item properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_deleted_item/properties/created_at" deleter_id: "$ref": "#/components/schemas/resource_deleted_item/properties/deleter_id" item_id: "$ref": "#/components/schemas/resource_deleted_item/properties/item_id" item_type: "$ref": "#/components/schemas/resource_deleted_item/properties/item_type" location: anyOf: - "$ref": "#/components/schemas/resource_deleted_item/properties/location" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_deleted_item/properties/name" private: "$ref": "#/components/schemas/resource_deleted_item/properties/private" recovered_at: anyOf: - "$ref": "#/components/schemas/resource_deleted_item/properties/recovered_at" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: deleter: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - deleted_items type: string required: - id - type _response_object_developer_portal_user: type: object title: Developer Portal User properties: attributes: type: object properties: feature_flags: "$ref": "#/components/schemas/resource_developer_portal_user/properties/feature_flags" name: "$ref": "#/components/schemas/resource_developer_portal_user/properties/name" sysadmin: "$ref": "#/components/schemas/resource_developer_portal_user/properties/sysadmin" sysadmin_permissions: anyOf: - "$ref": "#/components/schemas/resource_developer_portal_user/properties/sysadmin_permissions" - type: object title: Object id: type: string type: enum: - developer_portal_users type: string required: - id - type _response_object_discussion: type: object title: Discussion properties: attributes: type: object properties: excerpt: anyOf: - "$ref": "#/components/schemas/resource_discussion/properties/excerpt" - type: 'null' title: 'Null' resolved_at: anyOf: - "$ref": "#/components/schemas/resource_discussion/properties/resolved_at" - type: 'null' title: 'Null' subscriber_ids: "$ref": "#/components/schemas/resource_discussion/properties/subscriber_ids" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" page: "$ref": "#/components/schemas/_single_relationship" type: enum: - discussions type: string required: - id - type _response_object_document_style: type: object title: Document style properties: attributes: type: object properties: name: "$ref": "#/components/schemas/resource_document_style/properties/name" styles: "$ref": "#/components/schemas/resource_document_style/properties/styles" id: type: string relationships: type: object properties: attachments: "$ref": "#/components/schemas/_collection_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - document_styles type: string required: - id - type _response_object_document_type: type: object title: Document type properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/archived_at" - type: 'null' title: 'Null' body_template: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/body_template" - type: 'null' title: 'Null' document_template_id: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/document_template_id" - type: 'null' title: 'Null' dual_currency: "$ref": "#/components/schemas/resource_document_type/properties/dual_currency" email_data: "$ref": "#/components/schemas/resource_document_type/properties/email_data" email_subject: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/email_subject" - type: 'null' title: 'Null' email_template: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/email_template" - type: 'null' title: 'Null' exportable_type_id: "$ref": "#/components/schemas/resource_document_type/properties/exportable_type_id" exporter_options: type: object filename_schema: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/filename_schema" - type: 'null' title: 'Null' footer: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/footer" - type: 'null' title: 'Null' footer_template: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/footer_template" - type: 'null' title: 'Null' header_template: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/header_template" - type: 'null' title: 'Null' locale: "$ref": "#/components/schemas/resource_document_type/properties/locale" name: "$ref": "#/components/schemas/resource_document_type/properties/name" note: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/note" - type: 'null' title: 'Null' scss_template: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/scss_template" - type: 'null' title: 'Null' tax1_name: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/tax1_name" - type: 'null' title: 'Null' tax1_value: anyOf: - type: string title: String - type: 'null' title: 'Null' tax2_name: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/tax2_name" - type: 'null' title: 'Null' tax2_value: anyOf: - "$ref": "#/components/schemas/resource_document_type/properties/tax2_value" - type: 'null' title: 'Null' template_options: type: object id: type: string relationships: type: object properties: attachments: "$ref": "#/components/schemas/_collection_relationship" document_style: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - document_types type: string required: - id - type _response_object_einvoice_configuration: type: object title: E-invoice Configuration properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/created_at" face_enabled: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/face_enabled" include_pdf_attachment: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/include_pdf_attachment" include_timesheet_attachment: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/include_timesheet_attachment" kpd_code_mapping: anyOf: - "$ref": "#/components/schemas/resource_einvoice_configuration/properties/kpd_code_mapping" - type: 'null' title: 'Null' ksef_enabled: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/ksef_enabled" mer_enabled: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/mer_enabled" mer_username: anyOf: - "$ref": "#/components/schemas/resource_einvoice_configuration/properties/mer_username" - type: 'null' title: 'Null' payment_means_type_id: anyOf: - "$ref": "#/components/schemas/resource_einvoice_configuration/properties/payment_means_type_id" - type: 'null' title: 'Null' tax_rate_mapping: anyOf: - "$ref": "#/components/schemas/resource_einvoice_configuration/properties/tax_rate_mapping" - type: 'null' title: 'Null' updated_at: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/updated_at" xrechnung_enabled: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/xrechnung_enabled" id: type: string relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - einvoice_configurations type: string required: - id - type _response_object_einvoice_identity: type: object title: E-invoice Identity properties: attributes: type: object properties: buyer_reference: anyOf: - "$ref": "#/components/schemas/resource_einvoice_identity/properties/buyer_reference" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_einvoice_identity/properties/created_at" dir3_fiscal_code: anyOf: - "$ref": "#/components/schemas/resource_einvoice_identity/properties/dir3_fiscal_code" - type: 'null' title: 'Null' dir3_pagador_code: anyOf: - "$ref": "#/components/schemas/resource_einvoice_identity/properties/dir3_pagador_code" - type: 'null' title: 'Null' dir3_receptor_code: anyOf: - "$ref": "#/components/schemas/resource_einvoice_identity/properties/dir3_receptor_code" - type: 'null' title: 'Null' dire_code: anyOf: - "$ref": "#/components/schemas/resource_einvoice_identity/properties/dire_code" - type: 'null' title: 'Null' is_government_entity: "$ref": "#/components/schemas/resource_einvoice_identity/properties/is_government_entity" peppol_id: anyOf: - "$ref": "#/components/schemas/resource_einvoice_identity/properties/peppol_id" - type: 'null' title: 'Null' sdi_code: anyOf: - "$ref": "#/components/schemas/resource_einvoice_identity/properties/sdi_code" - type: 'null' title: 'Null' updated_at: "$ref": "#/components/schemas/resource_einvoice_identity/properties/updated_at" id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - einvoice_identities type: string required: - id - type _response_object_einvoice_transaction: type: object title: E-invoice Transaction properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_einvoice_transaction/properties/created_at" delivered_at: anyOf: - "$ref": "#/components/schemas/resource_einvoice_transaction/properties/delivered_at" - type: 'null' title: 'Null' failed_at: anyOf: - "$ref": "#/components/schemas/resource_einvoice_transaction/properties/failed_at" - type: 'null' title: 'Null' failed_reason: anyOf: - "$ref": "#/components/schemas/resource_einvoice_transaction/properties/failed_reason" - type: 'null' title: 'Null' fiscalization_failed_at: anyOf: - "$ref": "#/components/schemas/resource_einvoice_transaction/properties/fiscalization_failed_at" - type: 'null' title: 'Null' fiscalization_failed_reason: anyOf: - "$ref": "#/components/schemas/resource_einvoice_transaction/properties/fiscalization_failed_reason" - type: 'null' title: 'Null' format_id: anyOf: - "$ref": "#/components/schemas/resource_einvoice_transaction/properties/format_id" - type: 'null' title: 'Null' receiver_routing_id: anyOf: - "$ref": "#/components/schemas/resource_einvoice_transaction/properties/receiver_routing_id" - type: 'null' title: 'Null' sender_routing_id: "$ref": "#/components/schemas/resource_einvoice_transaction/properties/sender_routing_id" tax_cleared_at: anyOf: - "$ref": "#/components/schemas/resource_einvoice_transaction/properties/tax_cleared_at" - type: 'null' title: 'Null' updated_at: "$ref": "#/components/schemas/resource_einvoice_transaction/properties/updated_at" id: type: string relationships: type: object properties: invoice: "$ref": "#/components/schemas/_single_relationship" sender: "$ref": "#/components/schemas/_single_relationship" type: enum: - einvoice_transactions type: string required: - id - type _response_object_email_link: type: object title: Email link properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_email_link/properties/created_at" linked_id: "$ref": "#/components/schemas/resource_email_link/properties/linked_id" linked_type: "$ref": "#/components/schemas/resource_email_link/properties/linked_type" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" email: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - email_links type: string required: - id - type _response_object_email_thread: type: object title: Email thread properties: attributes: type: object properties: created_at: anyOf: - "$ref": "#/components/schemas/resource_email_thread/properties/created_at" - type: 'null' title: 'Null' external_id: anyOf: - "$ref": "#/components/schemas/resource_email_thread/properties/external_id" - type: 'null' title: 'Null' has_attachments: "$ref": "#/components/schemas/resource_email_thread/properties/has_attachments" linked_id: anyOf: - "$ref": "#/components/schemas/resource_email_thread/properties/linked_id" - type: 'null' title: 'Null' linked_type: anyOf: - "$ref": "#/components/schemas/resource_email_thread/properties/linked_type" - type: 'null' title: 'Null' participants: "$ref": "#/components/schemas/resource_email_thread/properties/participants" received_at: anyOf: - "$ref": "#/components/schemas/resource_email_thread/properties/received_at" - type: 'null' title: 'Null' subject: anyOf: - "$ref": "#/components/schemas/resource_email_thread/properties/subject" - type: 'null' title: 'Null' unread: "$ref": "#/components/schemas/resource_email_thread/properties/unread" updated_at: anyOf: - "$ref": "#/components/schemas/resource_email_thread/properties/updated_at" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: emails: "$ref": "#/components/schemas/_collection_relationship" integration: "$ref": "#/components/schemas/_single_relationship" type: enum: - email_threads type: string required: - id - type _response_object_entitlement: type: object title: Entitlement properties: attributes: type: object properties: allocated: type: string end_date: "$ref": "#/components/schemas/resource_entitlement/properties/end_date" note: anyOf: - "$ref": "#/components/schemas/resource_entitlement/properties/note" - type: 'null' title: 'Null' pending: type: string start_date: "$ref": "#/components/schemas/resource_entitlement/properties/start_date" used: type: string id: type: string relationships: type: object properties: approval_workflow: "$ref": "#/components/schemas/_single_relationship" event: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" type: enum: - entitlements type: string required: - id - type _response_object_entitlement_report: type: object title: Entitlement report properties: attributes: type: object properties: absence_type: "$ref": "#/components/schemas/resource_entitlement_report/properties/absence_type" count: "$ref": "#/components/schemas/resource_entitlement_report/properties/count" currency: "$ref": "#/components/schemas/resource_entitlement_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_entitlement_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_entitlement_report/properties/currency_normalized" description: anyOf: - "$ref": "#/components/schemas/resource_entitlement_report/properties/description" - type: 'null' title: 'Null' end_date_period: "$ref": "#/components/schemas/resource_entitlement_report/properties/end_date_period" formula_fields: "$ref": "#/components/schemas/resource_entitlement_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_entitlement_report/properties/group" people_custom_fields: "$ref": "#/components/schemas/resource_entitlement_report/properties/people_custom_fields" start_date_period: "$ref": "#/components/schemas/resource_entitlement_report/properties/start_date_period" total_allocated: anyOf: - "$ref": "#/components/schemas/resource_entitlement_report/properties/total_allocated" - type: string title: String total_allocated_minutes: anyOf: - "$ref": "#/components/schemas/resource_entitlement_report/properties/total_allocated_minutes" - type: string title: String total_available: anyOf: - "$ref": "#/components/schemas/resource_entitlement_report/properties/total_available" - type: string title: String total_available_minutes: anyOf: - "$ref": "#/components/schemas/resource_entitlement_report/properties/total_available_minutes" - type: string title: String total_pending: anyOf: - "$ref": "#/components/schemas/resource_entitlement_report/properties/total_pending" - type: string title: String total_pending_minutes: anyOf: - "$ref": "#/components/schemas/resource_entitlement_report/properties/total_pending_minutes" - type: string title: String total_used: anyOf: - "$ref": "#/components/schemas/resource_entitlement_report/properties/total_used" - type: string title: String total_used_minutes: anyOf: - "$ref": "#/components/schemas/resource_entitlement_report/properties/total_used_minutes" - type: string title: String id: type: string relationships: type: object properties: entitlement: "$ref": "#/components/schemas/_single_relationship" event: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" person_report: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - entitlement_reports type: string required: - id - type _response_object_event: type: object title: Event properties: attributes: type: object properties: absence_type: "$ref": "#/components/schemas/resource_event/properties/absence_type" archived_at: anyOf: - "$ref": "#/components/schemas/resource_event/properties/archived_at" - type: 'null' title: 'Null' color_id: anyOf: - "$ref": "#/components/schemas/resource_event/properties/color_id" - type: 'null' title: 'Null' description: anyOf: - "$ref": "#/components/schemas/resource_event/properties/description" - type: 'null' title: 'Null' event_type_id: "$ref": "#/components/schemas/resource_event/properties/event_type_id" half_day_bookings: "$ref": "#/components/schemas/resource_event/properties/half_day_bookings" icon_id: anyOf: - "$ref": "#/components/schemas/resource_event/properties/icon_id" - type: 'null' title: 'Null' limitation_type_id: type: integer name: "$ref": "#/components/schemas/resource_event/properties/name" sync_personal_integrations: "$ref": "#/components/schemas/resource_event/properties/sync_personal_integrations" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - events type: string required: - id - type _response_object_exchange_rate: type: object title: Exchange rate properties: attributes: type: object properties: date: "$ref": "#/components/schemas/resource_exchange_rate/properties/date" out_of_date: "$ref": "#/components/schemas/resource_exchange_rate/properties/out_of_date" rates: type: array items: type: object properties: base: type: string rate: type: number target: type: string title: Rates id: type: string relationships: type: object properties: {} type: enum: - exchange_rates type: string required: - id - type _response_object_expense: type: object title: Expense properties: attributes: type: object properties: allocation_status: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/allocation_status" - type: string title: String amount: "$ref": "#/components/schemas/resource_expense/properties/amount" amount_default: "$ref": "#/components/schemas/resource_expense/properties/amount_default" amount_normalized: "$ref": "#/components/schemas/resource_expense/properties/amount_normalized" amount_with_tax: "$ref": "#/components/schemas/resource_expense/properties/amount_with_tax" amount_with_tax_default: "$ref": "#/components/schemas/resource_expense/properties/amount_with_tax_default" amount_with_tax_normalized: "$ref": "#/components/schemas/resource_expense/properties/amount_with_tax_normalized" approved: "$ref": "#/components/schemas/resource_expense/properties/approved" approved_at: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/approved_at" - type: 'null' title: 'Null' billable_amount: "$ref": "#/components/schemas/resource_expense/properties/billable_amount" billable_amount_default: "$ref": "#/components/schemas/resource_expense/properties/billable_amount_default" billable_amount_normalized: "$ref": "#/components/schemas/resource_expense/properties/billable_amount_normalized" company_reference_id: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/company_reference_id" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_expense/properties/created_at" currency: "$ref": "#/components/schemas/resource_expense/properties/currency" currency_default: "$ref": "#/components/schemas/resource_expense/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_expense/properties/currency_normalized" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/custom_fields" - type: 'null' title: 'Null' date: "$ref": "#/components/schemas/resource_expense/properties/date" deleted_at: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/deleted_at" - type: 'null' title: 'Null' draft: "$ref": "#/components/schemas/resource_expense/properties/draft" exchange_date: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/exchange_date" - type: 'null' title: 'Null' exchange_rate: anyOf: - anyOf: - "$ref": "#/components/schemas/resource_expense/properties/exchange_rate" - type: string title: String title: Id - type: 'null' title: 'Null' exchange_rate_normalized: anyOf: - anyOf: - "$ref": "#/components/schemas/resource_expense/properties/exchange_rate_normalized" - type: string title: String title: Id - type: 'null' title: 'Null' export_id: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/export_id" - type: 'null' title: 'Null' export_integration_type_id: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/export_integration_type_id" - type: 'null' title: 'Null' export_url: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/export_url" - type: 'null' title: 'Null' exported: "$ref": "#/components/schemas/resource_expense/properties/exported" exported_at: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/exported_at" - type: 'null' title: 'Null' external_payment_id: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/external_payment_id" - type: 'null' title: 'Null' invoiced: "$ref": "#/components/schemas/resource_expense/properties/invoiced" line_items_count: "$ref": "#/components/schemas/resource_expense/properties/line_items_count" markup: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/markup" - type: string title: String name: "$ref": "#/components/schemas/resource_expense/properties/name" paid_on: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/paid_on" - type: 'null' title: 'Null' pay_on: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/pay_on" - type: 'null' title: 'Null' position: "$ref": "#/components/schemas/resource_expense/properties/position" profit: "$ref": "#/components/schemas/resource_expense/properties/profit" profit_default: "$ref": "#/components/schemas/resource_expense/properties/profit_default" profit_normalized: "$ref": "#/components/schemas/resource_expense/properties/profit_normalized" quantity: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/quantity" - type: string title: String - type: 'null' title: 'Null' quantity_received: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/quantity_received" - type: string title: String recognized_revenue: "$ref": "#/components/schemas/resource_expense/properties/recognized_revenue" recognized_revenue_default: "$ref": "#/components/schemas/resource_expense/properties/recognized_revenue_default" recognized_revenue_normalized: "$ref": "#/components/schemas/resource_expense/properties/recognized_revenue_normalized" reimbursable: "$ref": "#/components/schemas/resource_expense/properties/reimbursable" reimbursed_on: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/reimbursed_on" - type: 'null' title: 'Null' rejected: "$ref": "#/components/schemas/resource_expense/properties/rejected" rejected_at: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/rejected_at" - type: 'null' title: 'Null' rejected_reason: anyOf: - "$ref": "#/components/schemas/resource_expense/properties/rejected_reason" - type: 'null' title: 'Null' tax_inclusion: "$ref": "#/components/schemas/resource_expense/properties/tax_inclusion" total_amount: "$ref": "#/components/schemas/resource_expense/properties/total_amount" total_amount_default: "$ref": "#/components/schemas/resource_expense/properties/total_amount_default" total_amount_normalized: "$ref": "#/components/schemas/resource_expense/properties/total_amount_normalized" total_amount_with_tax: "$ref": "#/components/schemas/resource_expense/properties/total_amount_with_tax" total_amount_with_tax_default: "$ref": "#/components/schemas/resource_expense/properties/total_amount_with_tax_default" total_amount_with_tax_normalized: "$ref": "#/components/schemas/resource_expense/properties/total_amount_with_tax_normalized" updated_at: "$ref": "#/components/schemas/resource_expense/properties/updated_at" id: type: string relationships: type: object properties: approval_statuses: "$ref": "#/components/schemas/_collection_relationship" approver: "$ref": "#/components/schemas/_single_relationship" attachment: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" custom_field_attachments: "$ref": "#/components/schemas/_collection_relationship" custom_field_people: "$ref": "#/components/schemas/_collection_relationship" deal: "$ref": "#/components/schemas/_single_relationship" expense_line_items: "$ref": "#/components/schemas/_collection_relationship" invoice_attribution: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" purchase_order: "$ref": "#/components/schemas/_single_relationship" rejecter: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" tax_rate: "$ref": "#/components/schemas/_single_relationship" updater: "$ref": "#/components/schemas/_single_relationship" vendor: "$ref": "#/components/schemas/_single_relationship" type: enum: - expenses type: string required: - id - type _response_object_expense_line_item: type: object title: Expense line item properties: attributes: type: object properties: name: anyOf: - "$ref": "#/components/schemas/resource_expense_line_item/properties/name" - type: 'null' title: 'Null' quantity: type: string unit_price: "$ref": "#/components/schemas/resource_expense_line_item/properties/unit_price" unit_price_default: "$ref": "#/components/schemas/resource_expense_line_item/properties/unit_price_default" unit_price_normalized: "$ref": "#/components/schemas/resource_expense_line_item/properties/unit_price_normalized" id: type: string relationships: type: object properties: expense: "$ref": "#/components/schemas/_single_relationship" tax_rate: "$ref": "#/components/schemas/_single_relationship" type: enum: - expense_line_items type: string required: - id - type _response_object_expense_report: type: object title: Expense report properties: attributes: type: object properties: approval_status: "$ref": "#/components/schemas/resource_expense_report/properties/approval_status" approved_at_period: "$ref": "#/components/schemas/resource_expense_report/properties/approved_at_period" average_profit_margin: anyOf: - "$ref": "#/components/schemas/resource_expense_report/properties/average_profit_margin" - type: 'null' title: 'Null' average_profit_margin_default: anyOf: - "$ref": "#/components/schemas/resource_expense_report/properties/average_profit_margin_default" - type: 'null' title: 'Null' average_profit_margin_normalized: anyOf: - "$ref": "#/components/schemas/resource_expense_report/properties/average_profit_margin_normalized" - type: 'null' title: 'Null' count: "$ref": "#/components/schemas/resource_expense_report/properties/count" created_at_period: "$ref": "#/components/schemas/resource_expense_report/properties/created_at_period" currency: "$ref": "#/components/schemas/resource_expense_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_expense_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_expense_report/properties/currency_normalized" custom_fields: type: object date_period: "$ref": "#/components/schemas/resource_expense_report/properties/date_period" formula_fields: "$ref": "#/components/schemas/resource_expense_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_expense_report/properties/group" invoiced: type: boolean invoicing_status: "$ref": "#/components/schemas/resource_expense_report/properties/invoicing_status" month: "$ref": "#/components/schemas/resource_expense_report/properties/month" paid_on_period: "$ref": "#/components/schemas/resource_expense_report/properties/paid_on_period" pay_on_period: "$ref": "#/components/schemas/resource_expense_report/properties/pay_on_period" project_id: anyOf: - "$ref": "#/components/schemas/resource_expense_report/properties/project_id" - type: 'null' title: 'Null' quantity: "$ref": "#/components/schemas/resource_expense_report/properties/quantity" quarter: "$ref": "#/components/schemas/resource_expense_report/properties/quarter" quote_type: "$ref": "#/components/schemas/resource_expense_report/properties/quote_type" reimbursed_on_period: "$ref": "#/components/schemas/resource_expense_report/properties/reimbursed_on_period" reimbursement: "$ref": "#/components/schemas/resource_expense_report/properties/reimbursement" section_name: anyOf: - "$ref": "#/components/schemas/resource_expense_report/properties/section_name" - type: 'null' title: 'Null' stage_type: "$ref": "#/components/schemas/resource_expense_report/properties/stage_type" status: "$ref": "#/components/schemas/resource_expense_report/properties/status" total_amount: "$ref": "#/components/schemas/resource_expense_report/properties/total_amount" total_amount_default: "$ref": "#/components/schemas/resource_expense_report/properties/total_amount_default" total_amount_normalized: "$ref": "#/components/schemas/resource_expense_report/properties/total_amount_normalized" total_amount_with_tax: "$ref": "#/components/schemas/resource_expense_report/properties/total_amount_with_tax" total_amount_with_tax_default: "$ref": "#/components/schemas/resource_expense_report/properties/total_amount_with_tax_default" total_amount_with_tax_normalized: "$ref": "#/components/schemas/resource_expense_report/properties/total_amount_with_tax_normalized" total_billable_amount: "$ref": "#/components/schemas/resource_expense_report/properties/total_billable_amount" total_billable_amount_default: "$ref": "#/components/schemas/resource_expense_report/properties/total_billable_amount_default" total_billable_amount_normalized: "$ref": "#/components/schemas/resource_expense_report/properties/total_billable_amount_normalized" total_profit: "$ref": "#/components/schemas/resource_expense_report/properties/total_profit" total_profit_default: "$ref": "#/components/schemas/resource_expense_report/properties/total_profit_default" total_profit_normalized: "$ref": "#/components/schemas/resource_expense_report/properties/total_profit_normalized" total_recognized_revenue: "$ref": "#/components/schemas/resource_expense_report/properties/total_recognized_revenue" total_recognized_revenue_default: "$ref": "#/components/schemas/resource_expense_report/properties/total_recognized_revenue_default" total_recognized_revenue_normalized: "$ref": "#/components/schemas/resource_expense_report/properties/total_recognized_revenue_normalized" total_tax_amount: "$ref": "#/components/schemas/resource_expense_report/properties/total_tax_amount" total_tax_amount_default: "$ref": "#/components/schemas/resource_expense_report/properties/total_tax_amount_default" total_tax_amount_normalized: "$ref": "#/components/schemas/resource_expense_report/properties/total_tax_amount_normalized" updated_at_period: "$ref": "#/components/schemas/resource_expense_report/properties/updated_at_period" week: "$ref": "#/components/schemas/resource_expense_report/properties/week" year: "$ref": "#/components/schemas/resource_expense_report/properties/year" id: type: string relationships: type: object properties: approver: "$ref": "#/components/schemas/_single_relationship" company: "$ref": "#/components/schemas/_single_relationship" company_report: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" deal_or_budget_report: "$ref": "#/components/schemas/_single_relationship" designated_approver: "$ref": "#/components/schemas/_single_relationship" expense: "$ref": "#/components/schemas/_single_relationship" invoice: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" person_report: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" project_report: "$ref": "#/components/schemas/_single_relationship" purchase_order: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" tax_rate: "$ref": "#/components/schemas/_single_relationship" updater: "$ref": "#/components/schemas/_single_relationship" vendor: "$ref": "#/components/schemas/_single_relationship" vendor_report: "$ref": "#/components/schemas/_single_relationship" type: enum: - expense_reports type: string required: - id - type _response_object_export_job: type: object title: Export job properties: attributes: type: object properties: file_url: anyOf: - type: string title: String - type: 'null' title: 'Null' status: anyOf: - type: string title: String - type: 'null' title: 'Null' id: type: string type: enum: - export_jobs type: string required: - id - type _response_object_feature: type: object title: Feature properties: attributes: type: object properties: account_scope: "$ref": "#/components/schemas/resource_feature/properties/account_scope" activated_at: "$ref": "#/components/schemas/resource_feature/properties/activated_at" active: "$ref": "#/components/schemas/resource_feature/properties/active" category: "$ref": "#/components/schemas/resource_feature/properties/category" created_at: "$ref": "#/components/schemas/resource_feature/properties/created_at" description: "$ref": "#/components/schemas/resource_feature/properties/description" discoverable: "$ref": "#/components/schemas/resource_feature/properties/discoverable" highlight_index: "$ref": "#/components/schemas/resource_feature/properties/highlight_index" key: "$ref": "#/components/schemas/resource_feature/properties/key" name: "$ref": "#/components/schemas/resource_feature/properties/name" products: "$ref": "#/components/schemas/resource_feature/properties/products" type: "$ref": "#/components/schemas/resource_feature/properties/type" upcoming: "$ref": "#/components/schemas/resource_feature/properties/upcoming" updated_at: "$ref": "#/components/schemas/resource_feature/properties/updated_at" id: type: string type: enum: - features type: string required: - id - type _response_object_feature_usage: type: object title: Feature usage properties: attributes: type: object properties: actions: anyOf: - "$ref": "#/components/schemas/resource_feature_usage/properties/actions" - type: 'null' title: 'Null' credits: anyOf: - "$ref": "#/components/schemas/resource_feature_usage/properties/credits" - type: 'null' title: 'Null' hours: anyOf: - "$ref": "#/components/schemas/resource_feature_usage/properties/hours" - type: 'null' title: 'Null' key: "$ref": "#/components/schemas/resource_feature_usage/properties/key" percentage_of_total: "$ref": "#/components/schemas/resource_feature_usage/properties/percentage_of_total" id: type: string relationships: type: object properties: person: "$ref": "#/components/schemas/_single_relationship" type: enum: - feature_usages type: string required: - id - type _response_object_filter: type: object title: Filter properties: attributes: type: object properties: chart_type_id: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/chart_type_id" - type: 'null' title: 'Null' column_settings: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/column_settings" - type: 'null' title: 'Null' columns: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/columns" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_filter/properties/created_at" default: "$ref": "#/components/schemas/resource_filter/properties/default" exchange_currency: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/exchange_currency" - type: 'null' title: 'Null' exchange_date: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/exchange_date" - type: 'null' title: 'Null' filterable_collection: "$ref": "#/components/schemas/resource_filter/properties/filterable_collection" filterable_id: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/filterable_id" - type: 'null' title: 'Null' filterable_type: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/filterable_type" - type: 'null' title: 'Null' formulas: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/formulas" - type: 'null' title: 'Null' group_by: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/group_by" - type: 'null' title: 'Null' hidden: "$ref": "#/components/schemas/resource_filter/properties/hidden" last_pulse_sent_at: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/last_pulse_sent_at" - type: 'null' title: 'Null' last_viewed_at: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/last_viewed_at" - type: 'null' title: 'Null' layout_id: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/layout_id" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_filter/properties/name" original_id: "$ref": "#/components/schemas/resource_filter/properties/original_id" params: type: object predefined_id: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/predefined_id" - type: 'null' title: 'Null' public: "$ref": "#/components/schemas/resource_filter/properties/public" pulse_count: "$ref": "#/components/schemas/resource_filter/properties/pulse_count" report: "$ref": "#/components/schemas/resource_filter/properties/report" report_layout_id: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/report_layout_id" - type: 'null' title: 'Null' settings: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/settings" - type: 'null' title: 'Null' shared: "$ref": "#/components/schemas/resource_filter/properties/shared" sort_by: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/sort_by" - type: 'null' title: 'Null' transpose_by: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/transpose_by" - type: 'null' title: 'Null' type_id: "$ref": "#/components/schemas/resource_filter/properties/type_id" updated_at: "$ref": "#/components/schemas/resource_filter/properties/updated_at" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" memberships: "$ref": "#/components/schemas/_collection_relationship" organization: "$ref": "#/components/schemas/_single_relationship" report_category: "$ref": "#/components/schemas/_single_relationship" template_object: "$ref": "#/components/schemas/_single_relationship" type: enum: - filters type: string required: - id - type _response_object_filter_preference: type: object title: Filter preference properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_filter_preference/properties/created_at" field_id: "$ref": "#/components/schemas/resource_filter_preference/properties/field_id" filterable_collection: "$ref": "#/components/schemas/resource_filter_preference/properties/filterable_collection" last_used_at: "$ref": "#/components/schemas/resource_filter_preference/properties/last_used_at" option_type: "$ref": "#/components/schemas/resource_filter_preference/properties/option_type" updated_at: "$ref": "#/components/schemas/resource_filter_preference/properties/updated_at" usage_count: "$ref": "#/components/schemas/resource_filter_preference/properties/usage_count" id: type: string relationships: type: object properties: person: "$ref": "#/components/schemas/_single_relationship" type: enum: - filter_preferences type: string required: - id - type _response_object_financial_item_report: type: object title: Financial item report properties: attributes: type: object properties: approval_status: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/approval_status" - type: 'null' title: 'Null' average_blended_rate: "$ref": "#/components/schemas/resource_financial_item_report/properties/average_blended_rate" average_blended_rate_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/average_blended_rate_default" average_blended_rate_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/average_blended_rate_normalized" average_margin: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/average_margin" - type: 'null' title: 'Null' average_margin_default: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/average_margin_default" - type: 'null' title: 'Null' average_margin_normalized: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/average_margin_normalized" - type: 'null' title: 'Null' average_recognized_margin: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/average_recognized_margin" - type: 'null' title: 'Null' billing_type_id: "$ref": "#/components/schemas/resource_financial_item_report/properties/billing_type_id" count: "$ref": "#/components/schemas/resource_financial_item_report/properties/count" currency: "$ref": "#/components/schemas/resource_financial_item_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/currency_normalized" custom_fields: type: object date_period: "$ref": "#/components/schemas/resource_financial_item_report/properties/date_period" financial_item_date: "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_date" financial_item_description: "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_description" financial_item_id: type: integer financial_item_type: "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" formula_fields: "$ref": "#/components/schemas/resource_financial_item_report/properties/formula_fields" future: "$ref": "#/components/schemas/resource_financial_item_report/properties/future" group: "$ref": "#/components/schemas/resource_financial_item_report/properties/group" project_type_id: "$ref": "#/components/schemas/resource_financial_item_report/properties/project_type_id" stage_status: "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_status" stage_type: "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_type" total_billable_scheduled_time: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_billable_scheduled_time" - type: string title: String total_billable_time: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_billable_time" - type: string title: String total_billable_worked_time: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_billable_worked_time" - type: string title: String total_budget_total: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_budget_total" total_budget_total_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_budget_total_default" total_budget_total_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_budget_total_normalized" total_budget_used: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_budget_used" total_budget_used_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_budget_used_default" total_budget_used_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_budget_used_normalized" total_budgeted_time: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_budgeted_time" - type: string title: String total_cost: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_cost" total_cost_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_cost_default" total_cost_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_cost_normalized" total_credited: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_credited" total_credited_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_credited_default" total_credited_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_credited_normalized" total_draft_invoiced: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_draft_invoiced" total_draft_invoiced_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_draft_invoiced_default" total_draft_invoiced_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_draft_invoiced_normalized" total_estimated_cost: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_estimated_cost" total_estimated_cost_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_estimated_cost_default" total_estimated_cost_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_estimated_cost_normalized" total_estimated_time: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_estimated_time" - type: string title: String - type: 'null' title: 'Null' total_expense_cost: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_expense_cost" total_expense_cost_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_expense_cost_default" total_expense_cost_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_expense_cost_normalized" total_invoiced: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_invoiced" total_invoiced_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_invoiced_default" total_invoiced_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_invoiced_normalized" total_overhead_cost: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_overhead_cost" total_overhead_cost_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_overhead_cost_default" total_overhead_cost_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_overhead_cost_normalized" total_overtime_time: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_overtime_time" - type: string title: String total_projected_revenue: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_projected_revenue" total_projected_revenue_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_projected_revenue_default" total_projected_revenue_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_projected_revenue_normalized" total_recognized_profit: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_recognized_profit" total_recognized_profit_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_recognized_profit_default" total_recognized_profit_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_recognized_profit_normalized" total_recognized_revenue: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_recognized_revenue" total_recognized_revenue_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_recognized_revenue_default" total_recognized_revenue_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_recognized_revenue_normalized" total_recognized_time: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_recognized_time" - type: string title: String total_scheduled_cost: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_scheduled_cost" total_scheduled_cost_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_scheduled_cost_default" total_scheduled_cost_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_scheduled_cost_normalized" total_scheduled_revenue: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_scheduled_revenue" total_scheduled_revenue_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_scheduled_revenue_default" total_scheduled_revenue_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_scheduled_revenue_normalized" total_scheduled_time: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_scheduled_time" - type: string title: String total_time: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_time" - type: string title: String total_time_entry_cost: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_time_entry_cost" total_time_entry_cost_default: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_time_entry_cost_default" total_time_entry_cost_normalized: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_time_entry_cost_normalized" total_worked_time: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_worked_time" - type: string title: String id: type: string relationships: type: object properties: booking_item: "$ref": "#/components/schemas/_single_relationship" budget: "$ref": "#/components/schemas/_single_relationship" company: "$ref": "#/components/schemas/_single_relationship" company_report: "$ref": "#/components/schemas/_single_relationship" deal_or_budget_report: "$ref": "#/components/schemas/_single_relationship" deal_status: "$ref": "#/components/schemas/_single_relationship" expense: "$ref": "#/components/schemas/_single_relationship" invoice_attribution: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" origin_deal: "$ref": "#/components/schemas/_single_relationship" origin_deal_report: "$ref": "#/components/schemas/_single_relationship" owner_report: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" person_report: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" project_report: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" responsible: "$ref": "#/components/schemas/_single_relationship" revenue_item: "$ref": "#/components/schemas/_single_relationship" section: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" service_report: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" time_entry: "$ref": "#/components/schemas/_single_relationship" type: enum: - financial_item_reports type: string required: - id - type _response_object_financial_month: type: object title: Financial month properties: attributes: type: object properties: ended_on: "$ref": "#/components/schemas/resource_financial_month/properties/ended_on" locked_on: "$ref": "#/components/schemas/resource_financial_month/properties/locked_on" month: "$ref": "#/components/schemas/resource_financial_month/properties/month" started_on: "$ref": "#/components/schemas/resource_financial_month/properties/started_on" status_id: "$ref": "#/components/schemas/resource_financial_month/properties/status_id" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" updater: "$ref": "#/components/schemas/_single_relationship" type: enum: - financial_months type: string required: - id - type _response_object_flag: type: object title: Flag properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_flag/properties/created_at" created_by_full_name: "$ref": "#/components/schemas/resource_flag/properties/created_by_full_name" default_for_new_accounts: "$ref": "#/components/schemas/resource_flag/properties/default_for_new_accounts" deleted_at: anyOf: - "$ref": "#/components/schemas/resource_flag/properties/deleted_at" - type: 'null' title: 'Null' description: "$ref": "#/components/schemas/resource_flag/properties/description" flag_type_id: "$ref": "#/components/schemas/resource_flag/properties/flag_type_id" key: "$ref": "#/components/schemas/resource_flag/properties/key" name: "$ref": "#/components/schemas/resource_flag/properties/name" owner_full_name: "$ref": "#/components/schemas/resource_flag/properties/owner_full_name" release_channel: "$ref": "#/components/schemas/resource_flag/properties/release_channel" sent_as_header: "$ref": "#/components/schemas/resource_flag/properties/sent_as_header" system_release: "$ref": "#/components/schemas/resource_flag/properties/system_release" target_type_id: "$ref": "#/components/schemas/resource_flag/properties/target_type_id" id: type: string type: enum: - flags type: string required: - id - type _response_object_folder: type: object title: Folder properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_folder/properties/archived_at" - type: 'null' title: 'Null' hidden: "$ref": "#/components/schemas/resource_folder/properties/hidden" name: "$ref": "#/components/schemas/resource_folder/properties/name" placement: anyOf: - "$ref": "#/components/schemas/resource_folder/properties/placement" - type: 'null' title: 'Null' position: anyOf: - "$ref": "#/components/schemas/resource_folder/properties/position" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" type: enum: - folders type: string required: - id - type _response_object_holiday: type: object title: Holiday properties: attributes: type: object properties: date: "$ref": "#/components/schemas/resource_holiday/properties/date" name: "$ref": "#/components/schemas/resource_holiday/properties/name" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" holiday_calendar: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - holidays type: string required: - id - type _response_object_holiday_calendar: type: object title: Holiday calendar properties: attributes: type: object properties: autogenerate_holidays: "$ref": "#/components/schemas/resource_holiday_calendar/properties/autogenerate_holidays" country: anyOf: - "$ref": "#/components/schemas/resource_holiday_calendar/properties/country" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_holiday_calendar/properties/name" state: anyOf: - "$ref": "#/components/schemas/resource_holiday_calendar/properties/state" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - holiday_calendars type: string required: - id - type _response_object_import: type: object title: Import properties: attributes: type: object properties: creator_id: "$ref": "#/components/schemas/resource_import/properties/creator_id" failed_at: anyOf: - "$ref": "#/components/schemas/resource_import/properties/failed_at" - type: 'null' title: 'Null' file_names: anyOf: - "$ref": "#/components/schemas/resource_import/properties/file_names" - type: 'null' title: 'Null' import_model_id: anyOf: - "$ref": "#/components/schemas/resource_import/properties/import_model_id" - type: 'null' title: 'Null' import_models: anyOf: - "$ref": "#/components/schemas/resource_import/properties/import_models" - type: 'null' title: 'Null' import_type_id: anyOf: - "$ref": "#/components/schemas/resource_import/properties/import_type_id" - type: 'null' title: 'Null' processed_at: anyOf: - "$ref": "#/components/schemas/resource_import/properties/processed_at" - type: 'null' title: 'Null' reverted_at: anyOf: - "$ref": "#/components/schemas/resource_import/properties/reverted_at" - type: 'null' title: 'Null' sample: anyOf: - "$ref": "#/components/schemas/resource_import/properties/sample" - type: 'null' title: 'Null' started_at: anyOf: - "$ref": "#/components/schemas/resource_import/properties/started_at" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - imports type: string required: - id - type _response_object_integration_exporter_configuration: type: object title: Integration exporter configuration properties: attributes: type: object properties: company_type: "$ref": "#/components/schemas/resource_integration_exporter_configuration/properties/company_type" datev_client_account_code: "$ref": "#/components/schemas/resource_integration_exporter_configuration/properties/datev_client_account_code" datev_vendor_account_code: "$ref": "#/components/schemas/resource_integration_exporter_configuration/properties/datev_vendor_account_code" id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - integration_exporter_configurations type: string required: - id - type _response_object_integration_option: type: object title: Integration option properties: attributes: type: object properties: account_category: type: - string - 'null' account_type: type: - string - 'null' board_type: type: - string - 'null' code: type: - string - integer - 'null' currency: type: - string - 'null' description: type: - string - number - 'null' effective_rate: type: - string - number - 'null' external_id: type: - string - integer - 'null' field_type: type: - string - 'null' key: type: - string - 'null' name: type: - string - 'null' project_style: type: - string - 'null' realm_id: type: - string - 'null' required: type: - boolean - 'null' stages: type: - array - 'null' items: type: object properties: id: type: string name: type: string status: type: - string - 'null' tax_type: type: - string - 'null' total: type: - integer - 'null' unread: type: - integer - 'null' id: type: string relationships: type: object properties: integration: "$ref": "#/components/schemas/_single_relationship" organization: type: object properties: data: type: object properties: id: type: - string - 'null' type: type: string type: enum: - integration_options type: string required: - id - type _response_object_integration_search_result: type: object title: Integration search result properties: attributes: type: object properties: data: {} name: type: - string - 'null' reference_id: type: - string - integer - 'null' result_type: type: string id: type: string relationships: type: object properties: integration: "$ref": "#/components/schemas/_single_relationship" organization: type: object properties: data: type: object properties: id: type: - string - 'null' type: type: string type: enum: - integration_search_result type: string required: - id - type _response_object_integration_task_management_configuration: type: object title: Integration task management configuration properties: attributes: type: object properties: jira_board: anyOf: - "$ref": "#/components/schemas/resource_integration_task_management_configuration/properties/jira_board" - type: 'null' title: 'Null' jira_board_name: anyOf: - "$ref": "#/components/schemas/resource_integration_task_management_configuration/properties/jira_board_name" - type: 'null' title: 'Null' jira_hierarchy_resolution_enabled: anyOf: - "$ref": "#/components/schemas/resource_integration_task_management_configuration/properties/jira_hierarchy_resolution_enabled" - type: 'null' title: 'Null' jira_project: "$ref": "#/components/schemas/resource_integration_task_management_configuration/properties/jira_project" jira_project_name: anyOf: - "$ref": "#/components/schemas/resource_integration_task_management_configuration/properties/jira_project_name" - type: 'null' title: 'Null' jira_project_style: anyOf: - "$ref": "#/components/schemas/resource_integration_task_management_configuration/properties/jira_project_style" - type: 'null' title: 'Null' jira_screens: anyOf: - "$ref": "#/components/schemas/resource_integration_task_management_configuration/properties/jira_screens" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_relationship" default_person: "$ref": "#/components/schemas/_single_relationship" default_service: "$ref": "#/components/schemas/_single_relationship" integration: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" type: enum: - integration_task_management_configurations type: string required: - id - type _response_object_invitation: type: object title: Invitation properties: attributes: type: object properties: email: "$ref": "#/components/schemas/resource_invitation/properties/email" first_name: "$ref": "#/components/schemas/resource_invitation/properties/first_name" last_name: "$ref": "#/components/schemas/resource_invitation/properties/last_name" time_zone: anyOf: - "$ref": "#/components/schemas/resource_invitation/properties/time_zone" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: {} type: enum: - invitations type: string required: - id - type _response_object_invoice_attribution: type: object title: Invoice attribution properties: attributes: type: object properties: amount: "$ref": "#/components/schemas/resource_invoice_attribution/properties/amount" amount_default: "$ref": "#/components/schemas/resource_invoice_attribution/properties/amount_default" amount_normalized: "$ref": "#/components/schemas/resource_invoice_attribution/properties/amount_normalized" currency: "$ref": "#/components/schemas/resource_invoice_attribution/properties/currency" currency_default: "$ref": "#/components/schemas/resource_invoice_attribution/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_invoice_attribution/properties/currency_normalized" date_from: anyOf: - "$ref": "#/components/schemas/resource_invoice_attribution/properties/date_from" - type: 'null' title: 'Null' date_to: anyOf: - "$ref": "#/components/schemas/resource_invoice_attribution/properties/date_to" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: budget: "$ref": "#/components/schemas/_single_relationship" invoice: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" type: enum: - invoice_attributions type: string required: - id - type _response_object_invoice_report: type: object title: Invoice report properties: attributes: type: object properties: automatically_created: type: boolean average_due_in: anyOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/average_due_in" - type: 'null' title: 'Null' average_paid_in: anyOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/average_paid_in" - type: 'null' title: 'Null' count: "$ref": "#/components/schemas/resource_invoice_report/properties/count" created_at_period: "$ref": "#/components/schemas/resource_invoice_report/properties/created_at_period" currency: anyOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/currency" - type: 'null' title: 'Null' currency_default: "$ref": "#/components/schemas/resource_invoice_report/properties/currency_default" currency_id: anyOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/currency_id" - type: 'null' title: 'Null' currency_normalized: "$ref": "#/components/schemas/resource_invoice_report/properties/currency_normalized" custom_fields: type: object delivery_method: anyOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/delivery_method" - type: 'null' title: 'Null' delivery_on_period: "$ref": "#/components/schemas/resource_invoice_report/properties/delivery_on_period" einvoice_status: anyOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/einvoice_status" - type: 'null' title: 'Null' fiscalization_status: anyOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/fiscalization_status" - type: 'null' title: 'Null' formula_fields: "$ref": "#/components/schemas/resource_invoice_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_invoice_report/properties/group" invoice_aging: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_aging" invoice_state: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_state" invoice_status: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_status" invoice_type: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_type" invoiced_on_period: "$ref": "#/components/schemas/resource_invoice_report/properties/invoiced_on_period" invoicing_method: anyOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/invoicing_method" - type: 'null' title: 'Null' last_activity_at_period: "$ref": "#/components/schemas/resource_invoice_report/properties/last_activity_at_period" month: "$ref": "#/components/schemas/resource_invoice_report/properties/month" overdue_status: "$ref": "#/components/schemas/resource_invoice_report/properties/overdue_status" paid_on_period: "$ref": "#/components/schemas/resource_invoice_report/properties/paid_on_period" pay_on_period: "$ref": "#/components/schemas/resource_invoice_report/properties/pay_on_period" payment_status: "$ref": "#/components/schemas/resource_invoice_report/properties/payment_status" quarter: "$ref": "#/components/schemas/resource_invoice_report/properties/quarter" sent_on_period: "$ref": "#/components/schemas/resource_invoice_report/properties/sent_on_period" sent_status: "$ref": "#/components/schemas/resource_invoice_report/properties/sent_status" tax_rates: anyOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/tax_rates" - type: 'null' title: 'Null' total_amount: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount" total_amount_credited: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_credited" total_amount_credited_default: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_credited_default" total_amount_credited_normalized: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_credited_normalized" total_amount_credited_with_tax: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_credited_with_tax" total_amount_credited_with_tax_default: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_credited_with_tax_default" total_amount_credited_with_tax_normalized: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_credited_with_tax_normalized" total_amount_default: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_default" total_amount_normalized: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_normalized" total_amount_paid: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_paid" total_amount_paid_default: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_paid_default" total_amount_paid_normalized: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_paid_normalized" total_amount_tax: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_tax" total_amount_tax_default: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_tax_default" total_amount_tax_normalized: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_tax_normalized" total_amount_unpaid: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_unpaid" total_amount_unpaid_default: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_unpaid_default" total_amount_unpaid_normalized: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_unpaid_normalized" total_amount_with_tax: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_with_tax" total_amount_with_tax_default: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_with_tax_default" total_amount_with_tax_normalized: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_with_tax_normalized" total_amount_written_off: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_written_off" total_amount_written_off_default: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_written_off_default" total_amount_written_off_normalized: "$ref": "#/components/schemas/resource_invoice_report/properties/total_amount_written_off_normalized" week: "$ref": "#/components/schemas/resource_invoice_report/properties/week" year: "$ref": "#/components/schemas/resource_invoice_report/properties/year" id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" company_report: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" creator_report: "$ref": "#/components/schemas/_single_relationship" invoice: "$ref": "#/components/schemas/_single_relationship" issuer: "$ref": "#/components/schemas/_single_relationship" issuer_report: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - invoice_reports type: string required: - id - type _response_object_invoice_template: type: object title: Invoice template properties: attributes: type: object properties: bank_account_details: anyOf: - "$ref": "#/components/schemas/resource_invoice_template/properties/bank_account_details" - type: 'null' title: 'Null' custom_fields: anyOf: - "$ref": "#/components/schemas/resource_invoice_template/properties/custom_fields" - type: 'null' title: 'Null' invoice_creation_options: anyOf: - "$ref": "#/components/schemas/resource_invoice_template/properties/invoice_creation_options" - type: 'null' title: 'Null' note: anyOf: - "$ref": "#/components/schemas/resource_invoice_template/properties/note" - type: 'null' title: 'Null' payment_terms_days: "$ref": "#/components/schemas/resource_invoice_template/properties/payment_terms_days" payment_terms_type: "$ref": "#/components/schemas/resource_invoice_template/properties/payment_terms_type" subject: "$ref": "#/components/schemas/resource_invoice_template/properties/subject" id: type: string relationships: type: object properties: bank_account: "$ref": "#/components/schemas/_single_relationship" budget: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" document_type: "$ref": "#/components/schemas/_single_relationship" issuer: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - invoice_templates type: string required: - id - type _response_object_invoiced_budget: type: object title: Invoiced budget properties: attributes: type: object properties: date_from: anyOf: - "$ref": "#/components/schemas/resource_invoiced_budget/properties/date_from" - type: 'null' title: 'Null' date_to: anyOf: - "$ref": "#/components/schemas/resource_invoiced_budget/properties/date_to" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: budget: "$ref": "#/components/schemas/_single_relationship" invoice: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - invoiced_budgets type: string required: - id - type _response_object_job_role_rate: type: object title: Job role rate properties: attributes: type: object properties: amount: "$ref": "#/components/schemas/resource_job_role_rate/properties/amount" created_at: "$ref": "#/components/schemas/resource_job_role_rate/properties/created_at" unit_id: "$ref": "#/components/schemas/resource_job_role_rate/properties/unit_id" updated_at: "$ref": "#/components/schemas/resource_job_role_rate/properties/updated_at" id: type: string relationships: type: object properties: job_role: "$ref": "#/components/schemas/_single_relationship" job_role_rate_card: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - job_role_rates type: string required: - id - type _response_object_job_role_rate_card: type: object title: Job role rate card properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_job_role_rate_card/properties/archived_at" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_job_role_rate_card/properties/created_at" currency: "$ref": "#/components/schemas/resource_job_role_rate_card/properties/currency" name: "$ref": "#/components/schemas/resource_job_role_rate_card/properties/name" rates_count: "$ref": "#/components/schemas/resource_job_role_rate_card/properties/rates_count" updated_at: "$ref": "#/components/schemas/resource_job_role_rate_card/properties/updated_at" id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - job_role_rate_cards type: string required: - id - type _response_object_kpd_code: type: object title: KPD Code properties: attributes: type: object properties: code: "$ref": "#/components/schemas/resource_kpd_code/properties/code" created_at: "$ref": "#/components/schemas/resource_kpd_code/properties/created_at" is_kpd: "$ref": "#/components/schemas/resource_kpd_code/properties/is_kpd" kpd_name: "$ref": "#/components/schemas/resource_kpd_code/properties/kpd_name" nkd_name: "$ref": "#/components/schemas/resource_kpd_code/properties/nkd_name" updated_at: "$ref": "#/components/schemas/resource_kpd_code/properties/updated_at" id: type: string type: enum: - kpd_codes type: string required: - id - type _response_object_line_item: type: object title: Line item properties: attributes: type: object properties: amount: "$ref": "#/components/schemas/resource_line_item/properties/amount" amount_default: "$ref": "#/components/schemas/resource_line_item/properties/amount_default" amount_normalized: "$ref": "#/components/schemas/resource_line_item/properties/amount_normalized" amount_tax: "$ref": "#/components/schemas/resource_line_item/properties/amount_tax" amount_tax_default: "$ref": "#/components/schemas/resource_line_item/properties/amount_tax_default" amount_tax_normalized: "$ref": "#/components/schemas/resource_line_item/properties/amount_tax_normalized" amount_with_tax: "$ref": "#/components/schemas/resource_line_item/properties/amount_with_tax" amount_with_tax_default: "$ref": "#/components/schemas/resource_line_item/properties/amount_with_tax_default" amount_with_tax_normalized: "$ref": "#/components/schemas/resource_line_item/properties/amount_with_tax_normalized" currency: "$ref": "#/components/schemas/resource_line_item/properties/currency" currency_default: "$ref": "#/components/schemas/resource_line_item/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_line_item/properties/currency_normalized" discount: anyOf: - type: string title: String - type: 'null' title: 'Null' position: "$ref": "#/components/schemas/resource_line_item/properties/position" quantity: type: string tax_name: anyOf: - "$ref": "#/components/schemas/resource_line_item/properties/tax_name" - type: 'null' title: 'Null' tax_value: anyOf: - type: string title: String - type: 'null' title: 'Null' unit_id: "$ref": "#/components/schemas/resource_line_item/properties/unit_id" unit_price: "$ref": "#/components/schemas/resource_line_item/properties/unit_price" unit_price_default: "$ref": "#/components/schemas/resource_line_item/properties/unit_price_default" unit_price_normalized: "$ref": "#/components/schemas/resource_line_item/properties/unit_price_normalized" id: type: string relationships: type: object properties: expense: "$ref": "#/components/schemas/_single_relationship" invoice: "$ref": "#/components/schemas/_single_relationship" kpd_code: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" tax_rate: "$ref": "#/components/schemas/_single_relationship" type: enum: - line_items type: string required: - id - type _response_object_line_item_report: type: object title: Line item report properties: attributes: type: object properties: count: "$ref": "#/components/schemas/resource_line_item_report/properties/count" currency: anyOf: - "$ref": "#/components/schemas/resource_line_item_report/properties/currency" - type: 'null' title: 'Null' currency_default: "$ref": "#/components/schemas/resource_line_item_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_line_item_report/properties/currency_normalized" discount: anyOf: - type: string title: String - type: 'null' title: 'Null' formula_fields: "$ref": "#/components/schemas/resource_line_item_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_line_item_report/properties/group" quantity: type: string tax_rate: anyOf: - "$ref": "#/components/schemas/resource_line_item_report/properties/tax_rate" - type: 'null' title: 'Null' total_amount: "$ref": "#/components/schemas/resource_line_item_report/properties/total_amount" total_amount_default: "$ref": "#/components/schemas/resource_line_item_report/properties/total_amount_default" total_amount_normalized: "$ref": "#/components/schemas/resource_line_item_report/properties/total_amount_normalized" total_amount_tax: "$ref": "#/components/schemas/resource_line_item_report/properties/total_amount_tax" total_amount_tax_default: "$ref": "#/components/schemas/resource_line_item_report/properties/total_amount_tax_default" total_amount_tax_normalized: "$ref": "#/components/schemas/resource_line_item_report/properties/total_amount_tax_normalized" total_amount_with_tax: "$ref": "#/components/schemas/resource_line_item_report/properties/total_amount_with_tax" total_amount_with_tax_default: "$ref": "#/components/schemas/resource_line_item_report/properties/total_amount_with_tax_default" total_amount_with_tax_normalized: "$ref": "#/components/schemas/resource_line_item_report/properties/total_amount_with_tax_normalized" unit_id: anyOf: - "$ref": "#/components/schemas/resource_line_item_report/properties/unit_id" - type: 'null' title: 'Null' unit_price: "$ref": "#/components/schemas/resource_line_item_report/properties/unit_price" unit_price_default: "$ref": "#/components/schemas/resource_line_item_report/properties/unit_price_default" unit_price_normalized: "$ref": "#/components/schemas/resource_line_item_report/properties/unit_price_normalized" id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" expense: "$ref": "#/components/schemas/_single_relationship" invoice: "$ref": "#/components/schemas/_single_relationship" invoice_report: "$ref": "#/components/schemas/_single_relationship" kpd_code: "$ref": "#/components/schemas/_single_relationship" line_item: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" updater: "$ref": "#/components/schemas/_single_relationship" type: enum: - line_item_reports type: string required: - id - type _response_object_mcp_server: type: object title: Mcp Server properties: attributes: type: object properties: auth_type: "$ref": "#/components/schemas/resource_mcp_server/properties/auth_type" color_id: "$ref": "#/components/schemas/resource_mcp_server/properties/color_id" created_at: "$ref": "#/components/schemas/resource_mcp_server/properties/created_at" custom: "$ref": "#/components/schemas/resource_mcp_server/properties/custom" description: "$ref": "#/components/schemas/resource_mcp_server/properties/description" icon_id: "$ref": "#/components/schemas/resource_mcp_server/properties/icon_id" name: "$ref": "#/components/schemas/resource_mcp_server/properties/name" oauth_authorize_url: "$ref": "#/components/schemas/resource_mcp_server/properties/oauth_authorize_url" redirect_uri: "$ref": "#/components/schemas/resource_mcp_server/properties/redirect_uri" updated_at: "$ref": "#/components/schemas/resource_mcp_server/properties/updated_at" url: "$ref": "#/components/schemas/resource_mcp_server/properties/url" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" type: enum: - mcp_servers type: string required: - id - type _response_object_meilisearch_document: type: object title: Meilisearch Document properties: attributes: type: object properties: document: anyOf: - "$ref": "#/components/schemas/resource_meilisearch_document/properties/document" - type: 'null' title: 'Null' error: anyOf: - "$ref": "#/components/schemas/resource_meilisearch_document/properties/error" - type: 'null' title: 'Null' pid: "$ref": "#/components/schemas/resource_meilisearch_document/properties/pid" status: "$ref": "#/components/schemas/resource_meilisearch_document/properties/status" id: type: string type: enum: - meilisearch_document type: string required: - id - type _response_object_meilisearch_health: type: object title: Meilisearch Health properties: attributes: type: object properties: error: anyOf: - "$ref": "#/components/schemas/resource_meilisearch_health/properties/error" - type: 'null' title: 'Null' stats: anyOf: - "$ref": "#/components/schemas/resource_meilisearch_health/properties/stats" - type: 'null' title: 'Null' status: "$ref": "#/components/schemas/resource_meilisearch_health/properties/status" target_url: "$ref": "#/components/schemas/resource_meilisearch_health/properties/target_url" task_queue: anyOf: - "$ref": "#/components/schemas/resource_meilisearch_health/properties/task_queue" - type: 'null' title: 'Null' version: anyOf: - "$ref": "#/components/schemas/resource_meilisearch_health/properties/version" - type: 'null' title: 'Null' id: type: string type: enum: - meilisearch_health type: string required: - id - type _response_object_meilisearch_index: type: object title: Meilisearch Index properties: attributes: type: object properties: document_count: anyOf: - "$ref": "#/components/schemas/resource_meilisearch_index/properties/document_count" - type: 'null' documents_by_type: anyOf: - "$ref": "#/components/schemas/resource_meilisearch_index/properties/documents_by_type" - type: 'null' drift: anyOf: - "$ref": "#/components/schemas/resource_meilisearch_index/properties/drift" - type: 'null' error: anyOf: - "$ref": "#/components/schemas/resource_meilisearch_index/properties/error" - type: 'null' in_sync: anyOf: - "$ref": "#/components/schemas/resource_meilisearch_index/properties/in_sync" - type: 'null' index_uid: "$ref": "#/components/schemas/resource_meilisearch_index/properties/index_uid" settings: anyOf: - "$ref": "#/components/schemas/resource_meilisearch_index/properties/settings" - type: 'null' status: "$ref": "#/components/schemas/resource_meilisearch_index/properties/status" id: type: string type: enum: - meilisearch_index type: string required: - id - type _response_object_memory: type: object title: Memory properties: attributes: type: object properties: body: "$ref": "#/components/schemas/resource_memory/properties/body" created_at: "$ref": "#/components/schemas/resource_memory/properties/created_at" last_updated_by_session_id: "$ref": "#/components/schemas/resource_memory/properties/last_updated_by_session_id" memory_type: "$ref": "#/components/schemas/resource_memory/properties/memory_type" title: "$ref": "#/components/schemas/resource_memory/properties/title" updated_at: "$ref": "#/components/schemas/resource_memory/properties/updated_at" id: type: string relationships: type: object properties: person: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" type: enum: - memories type: string required: - id - type _response_object_new_salary_report: type: object title: New salary report properties: attributes: type: object properties: capacity: anyOf: - "$ref": "#/components/schemas/resource_new_salary_report/properties/capacity" - type: string title: String count: "$ref": "#/components/schemas/resource_new_salary_report/properties/count" currency: "$ref": "#/components/schemas/resource_new_salary_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_new_salary_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_new_salary_report/properties/currency_normalized" date_period: "$ref": "#/components/schemas/resource_new_salary_report/properties/date_period" end_date_period: "$ref": "#/components/schemas/resource_new_salary_report/properties/end_date_period" formula_fields: "$ref": "#/components/schemas/resource_new_salary_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_new_salary_report/properties/group" overhead: "$ref": "#/components/schemas/resource_new_salary_report/properties/overhead" people_custom_fields: type: object salary_type_id: "$ref": "#/components/schemas/resource_new_salary_report/properties/salary_type_id" start_date_period: "$ref": "#/components/schemas/resource_new_salary_report/properties/start_date_period" time: anyOf: - "$ref": "#/components/schemas/resource_new_salary_report/properties/time" - type: string title: String total_annually_cost: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_annually_cost" total_annually_cost_default: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_annually_cost_default" total_annually_cost_normalized: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_annually_cost_normalized" total_bi_weekly_cost: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_bi_weekly_cost" total_bi_weekly_cost_default: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_bi_weekly_cost_default" total_bi_weekly_cost_normalized: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_bi_weekly_cost_normalized" total_estimated_weekly_hours: anyOf: - "$ref": "#/components/schemas/resource_new_salary_report/properties/total_estimated_weekly_hours" - type: string title: String - type: 'null' title: 'Null' total_hourly_cost: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_hourly_cost" total_hourly_cost_default: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_hourly_cost_default" total_hourly_cost_normalized: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_hourly_cost_normalized" total_monthly_cost: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_monthly_cost" total_monthly_cost_default: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_monthly_cost_default" total_monthly_cost_normalized: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_monthly_cost_normalized" total_overhead_cost_per_hour: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_overhead_cost_per_hour" total_overhead_cost_per_hour_default: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_overhead_cost_per_hour_default" total_overhead_cost_per_hour_normalized: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_overhead_cost_per_hour_normalized" total_period_cost: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_period_cost" total_period_cost_default: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_period_cost_default" total_period_cost_normalized: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_period_cost_normalized" total_weekly_cost: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_weekly_cost" total_weekly_cost_default: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_weekly_cost_default" total_weekly_cost_normalized: "$ref": "#/components/schemas/resource_new_salary_report/properties/total_weekly_cost_normalized" work_days: anyOf: - "$ref": "#/components/schemas/resource_new_salary_report/properties/work_days" - type: string title: String id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" person_report: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" salary: "$ref": "#/components/schemas/_single_relationship" type: enum: - new_salary_reports type: string required: - id - type _response_object_new_time_report: type: object title: New time report properties: attributes: type: object properties: available_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/available_time" - type: string title: String - type: 'null' title: 'Null' average_cost_rate: "$ref": "#/components/schemas/resource_new_time_report/properties/average_cost_rate" average_cost_rate_default: "$ref": "#/components/schemas/resource_new_time_report/properties/average_cost_rate_default" average_cost_rate_normalized: "$ref": "#/components/schemas/resource_new_time_report/properties/average_cost_rate_normalized" billable_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/billable_time" - type: string title: String - type: 'null' title: 'Null' billing_type: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/billing_type" - type: 'null' title: 'Null' capacity: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/capacity" - type: string title: String - type: 'null' title: 'Null' client_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/client_time" - type: string title: String - type: 'null' title: 'Null' count: "$ref": "#/components/schemas/resource_new_time_report/properties/count" currency: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/currency" - type: 'null' title: 'Null' currency_default: "$ref": "#/components/schemas/resource_new_time_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_new_time_report/properties/currency_normalized" date_period: "$ref": "#/components/schemas/resource_new_time_report/properties/date_period" day: "$ref": "#/components/schemas/resource_new_time_report/properties/day" draft_scheduled_billable_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/draft_scheduled_billable_time" - type: string title: String - type: 'null' title: 'Null' draft_scheduled_client_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/draft_scheduled_client_time" - type: string title: String - type: 'null' title: 'Null' draft_scheduled_internal_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/draft_scheduled_internal_time" - type: string title: String - type: 'null' title: 'Null' draft_scheduled_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/draft_scheduled_time" - type: string title: String - type: 'null' title: 'Null' event_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/event_time" - type: string title: String - type: 'null' title: 'Null' formula_fields: "$ref": "#/components/schemas/resource_new_time_report/properties/formula_fields" future: "$ref": "#/components/schemas/resource_new_time_report/properties/future" group: "$ref": "#/components/schemas/resource_new_time_report/properties/group" holiday_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/holiday_time" - type: string title: String - type: 'null' title: 'Null' internal_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/internal_time" - type: string title: String - type: 'null' title: 'Null' month: "$ref": "#/components/schemas/resource_new_time_report/properties/month" overtime_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/overtime_time" - type: string title: String - type: 'null' title: 'Null' paid_event_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/paid_event_time" - type: string title: String - type: 'null' title: 'Null' people_custom_fields: type: object quarter: "$ref": "#/components/schemas/resource_new_time_report/properties/quarter" recognized_scheduled_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/recognized_scheduled_time" - type: string title: String - type: 'null' title: 'Null' recognized_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/recognized_time" - type: string title: String - type: 'null' title: 'Null' scheduled_billable_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/scheduled_billable_time" - type: string title: String - type: 'null' title: 'Null' scheduled_client_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/scheduled_client_time" - type: string title: String - type: 'null' title: 'Null' scheduled_event_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/scheduled_event_time" - type: string title: String - type: 'null' title: 'Null' scheduled_internal_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/scheduled_internal_time" - type: string title: String - type: 'null' title: 'Null' scheduled_remote_work_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/scheduled_remote_work_time" - type: string title: String - type: 'null' title: 'Null' scheduled_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/scheduled_time" - type: string title: String - type: 'null' title: 'Null' stage_type: "$ref": "#/components/schemas/resource_new_time_report/properties/stage_type" total_cost: "$ref": "#/components/schemas/resource_new_time_report/properties/total_cost" total_cost_default: "$ref": "#/components/schemas/resource_new_time_report/properties/total_cost_default" total_cost_normalized: "$ref": "#/components/schemas/resource_new_time_report/properties/total_cost_normalized" total_draft_scheduled_cost: "$ref": "#/components/schemas/resource_new_time_report/properties/total_draft_scheduled_cost" total_draft_scheduled_cost_default: "$ref": "#/components/schemas/resource_new_time_report/properties/total_draft_scheduled_cost_default" total_draft_scheduled_cost_normalized: "$ref": "#/components/schemas/resource_new_time_report/properties/total_draft_scheduled_cost_normalized" total_draft_scheduled_revenue: "$ref": "#/components/schemas/resource_new_time_report/properties/total_draft_scheduled_revenue" total_draft_scheduled_revenue_default: "$ref": "#/components/schemas/resource_new_time_report/properties/total_draft_scheduled_revenue_default" total_draft_scheduled_revenue_normalized: "$ref": "#/components/schemas/resource_new_time_report/properties/total_draft_scheduled_revenue_normalized" total_scheduled_cost: "$ref": "#/components/schemas/resource_new_time_report/properties/total_scheduled_cost" total_scheduled_cost_default: "$ref": "#/components/schemas/resource_new_time_report/properties/total_scheduled_cost_default" total_scheduled_cost_normalized: "$ref": "#/components/schemas/resource_new_time_report/properties/total_scheduled_cost_normalized" total_scheduled_revenue: "$ref": "#/components/schemas/resource_new_time_report/properties/total_scheduled_revenue" total_scheduled_revenue_default: "$ref": "#/components/schemas/resource_new_time_report/properties/total_scheduled_revenue_default" total_scheduled_revenue_normalized: "$ref": "#/components/schemas/resource_new_time_report/properties/total_scheduled_revenue_normalized" total_work_cost: "$ref": "#/components/schemas/resource_new_time_report/properties/total_work_cost" total_work_cost_default: "$ref": "#/components/schemas/resource_new_time_report/properties/total_work_cost_default" total_work_cost_normalized: "$ref": "#/components/schemas/resource_new_time_report/properties/total_work_cost_normalized" unapproved_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/unapproved_time" - type: string title: String - type: 'null' title: 'Null' unpaid_event_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/unpaid_event_time" - type: string title: String - type: 'null' title: 'Null' user_capacity: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/user_capacity" - type: string title: String - type: 'null' title: 'Null' week: "$ref": "#/components/schemas/resource_new_time_report/properties/week" worked_time: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/worked_time" - type: string title: String - type: 'null' title: 'Null' working_days: "$ref": "#/components/schemas/resource_new_time_report/properties/working_days" workload: anyOf: - "$ref": "#/components/schemas/resource_new_time_report/properties/workload" - type: string title: String - type: 'null' title: 'Null' year: "$ref": "#/components/schemas/resource_new_time_report/properties/year" id: type: string relationships: type: object properties: budget: "$ref": "#/components/schemas/_single_relationship" company: "$ref": "#/components/schemas/_single_relationship" company_report: "$ref": "#/components/schemas/_single_relationship" deal_or_budget_report: "$ref": "#/components/schemas/_single_relationship" event: "$ref": "#/components/schemas/_single_relationship" job_role: "$ref": "#/components/schemas/_single_relationship" manager: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" person_report: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" project_report: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - new_time_reports type: string required: - id - type _response_object_notification: type: object title: Notification properties: attributes: type: object properties: agent_session_status: "$ref": "#/components/schemas/resource_notification/properties/agent_session_status" changeset: "$ref": "#/components/schemas/resource_notification/properties/changeset" dismissed: "$ref": "#/components/schemas/resource_notification/properties/dismissed" excerpt: "$ref": "#/components/schemas/resource_notification/properties/excerpt" first_unread_activity_id: anyOf: - "$ref": "#/components/schemas/resource_notification/properties/first_unread_activity_id" - type: 'null' title: 'Null' important: "$ref": "#/components/schemas/resource_notification/properties/important" last_action_at: anyOf: - "$ref": "#/components/schemas/resource_notification/properties/last_action_at" - type: 'null' title: 'Null' made_by_automation: "$ref": "#/components/schemas/resource_notification/properties/made_by_automation" mention: "$ref": "#/components/schemas/resource_notification/properties/mention" new_activities_count: "$ref": "#/components/schemas/resource_notification/properties/new_activities_count" parent_id: anyOf: - type: integer title: Integer - type: string title: String - type: 'null' title: 'Null' parent_title: "$ref": "#/components/schemas/resource_notification/properties/parent_title" parent_type: "$ref": "#/components/schemas/resource_notification/properties/parent_type" read: "$ref": "#/components/schemas/resource_notification/properties/read" root_id: anyOf: - "$ref": "#/components/schemas/resource_notification/properties/root_id" - type: 'null' title: 'Null' root_type: "$ref": "#/components/schemas/resource_notification/properties/root_type" target_id: "$ref": "#/components/schemas/resource_notification/properties/target_id" target_label: "$ref": "#/components/schemas/resource_notification/properties/target_label" target_title: "$ref": "#/components/schemas/resource_notification/properties/target_title" target_type: "$ref": "#/components/schemas/resource_notification/properties/target_type" title: "$ref": "#/components/schemas/resource_notification/properties/title" id: type: string relationships: type: object properties: actor: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" owner: "$ref": "#/components/schemas/_single_relationship" type: enum: - notifications type: string required: - id - type _response_object_offboarding: type: object title: Offboarding properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_offboarding/properties/created_at" person_id: "$ref": "#/components/schemas/resource_offboarding/properties/person_id" status: "$ref": "#/components/schemas/resource_offboarding/properties/status" updated_at: "$ref": "#/components/schemas/resource_offboarding/properties/updated_at" id: type: string relationships: type: object properties: person: "$ref": "#/components/schemas/_single_relationship" type: enum: - offboardings type: string required: - id - type _response_object_organization_champion: type: object title: Organization champion properties: attributes: type: object properties: type_id: "$ref": "#/components/schemas/resource_organization_champion/properties/type_id" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" type: enum: - organization_champions type: string required: - id - type _response_object_organization_invoice: type: object title: Organization invoice properties: attributes: type: object properties: amount: "$ref": "#/components/schemas/resource_organization_invoice/properties/amount" amount_due: "$ref": "#/components/schemas/resource_organization_invoice/properties/amount_due" amount_paid: "$ref": "#/components/schemas/resource_organization_invoice/properties/amount_paid" amount_remaining: "$ref": "#/components/schemas/resource_organization_invoice/properties/amount_remaining" billing_cycle_change: "$ref": "#/components/schemas/resource_organization_invoice/properties/billing_cycle_change" currency: "$ref": "#/components/schemas/resource_organization_invoice/properties/currency" date: "$ref": "#/components/schemas/resource_organization_invoice/properties/date" description: anyOf: - "$ref": "#/components/schemas/resource_organization_invoice/properties/description" - type: 'null' title: 'Null' discount: anyOf: - "$ref": "#/components/schemas/resource_organization_invoice/properties/discount" - type: 'null' title: 'Null' due_date: anyOf: - "$ref": "#/components/schemas/resource_organization_invoice/properties/due_date" - type: 'null' title: 'Null' hosted_invoice_url: anyOf: - "$ref": "#/components/schemas/resource_organization_invoice/properties/hosted_invoice_url" - type: 'null' title: 'Null' immediate_collection: "$ref": "#/components/schemas/resource_organization_invoice/properties/immediate_collection" invoice_pdf_url: anyOf: - "$ref": "#/components/schemas/resource_organization_invoice/properties/invoice_pdf_url" - type: 'null' title: 'Null' lines: "$ref": "#/components/schemas/resource_organization_invoice/properties/lines" number: anyOf: - "$ref": "#/components/schemas/resource_organization_invoice/properties/number" - type: 'null' title: 'Null' status: "$ref": "#/components/schemas/resource_organization_invoice/properties/status" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - organization_invoices type: string required: - id - type _response_object_organization_membership: type: object title: Organization membership properties: attributes: type: object properties: booking_approvals_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/booking_approvals_filter_id" - type: 'null' title: 'Null' bookings_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/bookings_filter_id" - type: 'null' title: 'Null' budget_services_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/budget_services_filter_id" - type: 'null' title: 'Null' budgets_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/budgets_filter_id" - type: 'null' title: 'Null' companies_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/companies_filter_id" - type: 'null' title: 'Null' company_time_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/company_time_filter_id" - type: 'null' title: 'Null' contacts_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/contacts_filter_id" - type: 'null' title: 'Null' deal_services_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/deal_services_filter_id" - type: 'null' title: 'Null' deals_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/deals_filter_id" - type: 'null' title: 'Null' docs_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/docs_filter_id" - type: 'null' title: 'Null' email_notifications: "$ref": "#/components/schemas/resource_organization_membership/properties/email_notifications" employees_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/employees_filter_id" - type: 'null' title: 'Null' expense_approvals_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/expense_approvals_filter_id" - type: 'null' title: 'Null' expenses_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/expenses_filter_id" - type: 'null' title: 'Null' granular_notification_preferences: "$ref": "#/components/schemas/resource_organization_membership/properties/granular_notification_preferences" internal_budget_services_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/internal_budget_services_filter_id" - type: 'null' title: 'Null' invoices_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/invoices_filter_id" - type: 'null' title: 'Null' payments_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/payments_filter_id" - type: 'null' title: 'Null' people_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/people_filter_id" - type: 'null' title: 'Null' position: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/position" - type: 'null' title: 'Null' preferences: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/preferences" - type: 'null' title: 'Null' projects_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/projects_filter_id" - type: 'null' title: 'Null' quick_start_config: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/quick_start_config" - type: 'null' title: 'Null' salary_reports_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/salary_reports_filter_id" - type: 'null' title: 'Null' tasks_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/tasks_filter_id" - type: 'null' title: 'Null' tasks_layout_id: "$ref": "#/components/schemas/resource_organization_membership/properties/tasks_layout_id" time_approvals_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/time_approvals_filter_id" - type: 'null' title: 'Null' time_entry_reports_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/time_entry_reports_filter_id" - type: 'null' title: 'Null' time_reminders: "$ref": "#/components/schemas/resource_organization_membership/properties/time_reminders" time_reports_filter_id: anyOf: - "$ref": "#/components/schemas/resource_organization_membership/properties/time_reports_filter_id" - type: 'null' title: 'Null' updated_at: "$ref": "#/components/schemas/resource_organization_membership/properties/updated_at" weekly_emails: "$ref": "#/components/schemas/resource_organization_membership/properties/weekly_emails" id: type: string relationships: type: object properties: booking_approvals_favorite_filter: "$ref": "#/components/schemas/_single_relationship" bookings_favorite_filter: "$ref": "#/components/schemas/_single_relationship" budget_services_favorite_filter: "$ref": "#/components/schemas/_single_relationship" budgets_favorite_filter: "$ref": "#/components/schemas/_single_relationship" companies_favorite_filter: "$ref": "#/components/schemas/_single_relationship" company_time_favorite_filter: "$ref": "#/components/schemas/_single_relationship" contacts_favorite_filter: "$ref": "#/components/schemas/_single_relationship" deal_services_favorite_filter: "$ref": "#/components/schemas/_single_relationship" deals_favorite_filter: "$ref": "#/components/schemas/_single_relationship" docs_favorite_filter: "$ref": "#/components/schemas/_single_relationship" employees_favorite_filter: "$ref": "#/components/schemas/_single_relationship" expense_approvals_favorite_filter: "$ref": "#/components/schemas/_single_relationship" expenses_favorite_filter: "$ref": "#/components/schemas/_single_relationship" internal_budget_services_favorite_filter: "$ref": "#/components/schemas/_single_relationship" invoices_favorite_filter: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" payments_favorite_filter: "$ref": "#/components/schemas/_single_relationship" people_favorite_filter: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" projects_favorite_filter: "$ref": "#/components/schemas/_single_relationship" salary_reports_favorite_filter: "$ref": "#/components/schemas/_single_relationship" tasks_favorite_filter: "$ref": "#/components/schemas/_single_relationship" time_approvals_favorite_filter: "$ref": "#/components/schemas/_single_relationship" time_entry_reports_favorite_filter: "$ref": "#/components/schemas/_single_relationship" time_reports_favorite_filter: "$ref": "#/components/schemas/_single_relationship" time_tracking_policy: "$ref": "#/components/schemas/_single_relationship" user: "$ref": "#/components/schemas/_single_relationship" type: enum: - organization_memberships type: string required: - id - type _response_object_overhead: type: object title: Overhead properties: attributes: type: object properties: averaging_period: "$ref": "#/components/schemas/resource_overhead/properties/averaging_period" capacity: type: string client_hours: type: string client_overhead_hours: type: string currency: anyOf: - "$ref": "#/components/schemas/resource_overhead/properties/currency" - type: 'null' title: 'Null' currency_default: "$ref": "#/components/schemas/resource_overhead/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_overhead/properties/currency_normalized" ended_on: anyOf: - "$ref": "#/components/schemas/resource_overhead/properties/ended_on" - type: 'null' title: 'Null' exchange_rate: anyOf: - type: string title: String - type: 'null' title: 'Null' facility_cost_per_hour: "$ref": "#/components/schemas/resource_overhead/properties/facility_cost_per_hour" facility_cost_per_hour_default: "$ref": "#/components/schemas/resource_overhead/properties/facility_cost_per_hour_default" facility_cost_per_hour_normalized: "$ref": "#/components/schemas/resource_overhead/properties/facility_cost_per_hour_normalized" facility_costs: "$ref": "#/components/schemas/resource_overhead/properties/facility_costs" facility_costs_breakdown: "$ref": "#/components/schemas/resource_overhead/properties/facility_costs_breakdown" facility_costs_default: "$ref": "#/components/schemas/resource_overhead/properties/facility_costs_default" facility_costs_normalized: "$ref": "#/components/schemas/resource_overhead/properties/facility_costs_normalized" intercompany_hours: type: string internal_componentized_costs: "$ref": "#/components/schemas/resource_overhead/properties/internal_componentized_costs" internal_componentized_costs_default: "$ref": "#/components/schemas/resource_overhead/properties/internal_componentized_costs_default" internal_componentized_costs_normalized: "$ref": "#/components/schemas/resource_overhead/properties/internal_componentized_costs_normalized" internal_expense_costs: "$ref": "#/components/schemas/resource_overhead/properties/internal_expense_costs" internal_expense_costs_default: "$ref": "#/components/schemas/resource_overhead/properties/internal_expense_costs_default" internal_expense_costs_normalized: "$ref": "#/components/schemas/resource_overhead/properties/internal_expense_costs_normalized" internal_hours: type: string internal_overhead_hours: type: string internal_work_costs: "$ref": "#/components/schemas/resource_overhead/properties/internal_work_costs" internal_work_costs_default: "$ref": "#/components/schemas/resource_overhead/properties/internal_work_costs_default" internal_work_costs_normalized: "$ref": "#/components/schemas/resource_overhead/properties/internal_work_costs_normalized" new_internal_cost_per_hour: "$ref": "#/components/schemas/resource_overhead/properties/new_internal_cost_per_hour" new_internal_cost_per_hour_default: "$ref": "#/components/schemas/resource_overhead/properties/new_internal_cost_per_hour_default" new_internal_cost_per_hour_normalized: "$ref": "#/components/schemas/resource_overhead/properties/new_internal_cost_per_hour_normalized" overhead_controls: "$ref": "#/components/schemas/resource_overhead/properties/overhead_controls" overhead_hours: type: string overhead_type_id: "$ref": "#/components/schemas/resource_overhead/properties/overhead_type_id" overtracked_costs: "$ref": "#/components/schemas/resource_overhead/properties/overtracked_costs" overtracked_costs_default: "$ref": "#/components/schemas/resource_overhead/properties/overtracked_costs_default" overtracked_costs_normalized: "$ref": "#/components/schemas/resource_overhead/properties/overtracked_costs_normalized" overtracked_hours: type: string recalculated_at: anyOf: - "$ref": "#/components/schemas/resource_overhead/properties/recalculated_at" - type: 'null' title: 'Null' recalculating_status: "$ref": "#/components/schemas/resource_overhead/properties/recalculating_status" started_on: "$ref": "#/components/schemas/resource_overhead/properties/started_on" time_off_costs: "$ref": "#/components/schemas/resource_overhead/properties/time_off_costs" time_off_costs_default: "$ref": "#/components/schemas/resource_overhead/properties/time_off_costs_default" time_off_costs_normalized: "$ref": "#/components/schemas/resource_overhead/properties/time_off_costs_normalized" time_off_hours: type: string time_off_overhead_hours: type: string total_hours: type: string undertracked_costs: "$ref": "#/components/schemas/resource_overhead/properties/undertracked_costs" undertracked_costs_default: "$ref": "#/components/schemas/resource_overhead/properties/undertracked_costs_default" undertracked_costs_normalized: "$ref": "#/components/schemas/resource_overhead/properties/undertracked_costs_normalized" undertracked_hours: type: string updated_at: "$ref": "#/components/schemas/resource_overhead/properties/updated_at" use_overhead: "$ref": "#/components/schemas/resource_overhead/properties/use_overhead" uses_averaging: "$ref": "#/components/schemas/resource_overhead/properties/uses_averaging" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" updater: "$ref": "#/components/schemas/_single_relationship" type: enum: - overheads type: string required: - id - type _response_object_owned_resources_count: type: object title: Owned Resources Count properties: attributes: type: object properties: absence_approvals_and_subscriptions: "$ref": "#/components/schemas/resource_owned_resources_count/properties/absence_approvals_and_subscriptions" bookings: "$ref": "#/components/schemas/resource_owned_resources_count/properties/bookings" budgets: "$ref": "#/components/schemas/resource_owned_resources_count/properties/budgets" deal_todos: "$ref": "#/components/schemas/resource_owned_resources_count/properties/deal_todos" deals: "$ref": "#/components/schemas/resource_owned_resources_count/properties/deals" direct_reports: "$ref": "#/components/schemas/resource_owned_resources_count/properties/direct_reports" expense_approvals_and_subscriptions: "$ref": "#/components/schemas/resource_owned_resources_count/properties/expense_approvals_and_subscriptions" general_championship: "$ref": "#/components/schemas/resource_owned_resources_count/properties/general_championship" hr_championship: "$ref": "#/components/schemas/resource_owned_resources_count/properties/hr_championship" invoicing_championship: "$ref": "#/components/schemas/resource_owned_resources_count/properties/invoicing_championship" person_custom_fields: "$ref": "#/components/schemas/resource_owned_resources_count/properties/person_custom_fields" pm_championship: "$ref": "#/components/schemas/resource_owned_resources_count/properties/pm_championship" private_tasks_and_todos: "$ref": "#/components/schemas/resource_owned_resources_count/properties/private_tasks_and_todos" project_milestones: "$ref": "#/components/schemas/resource_owned_resources_count/properties/project_milestones" projects: "$ref": "#/components/schemas/resource_owned_resources_count/properties/projects" resourcing_championship: "$ref": "#/components/schemas/resource_owned_resources_count/properties/resourcing_championship" sales_championship: "$ref": "#/components/schemas/resource_owned_resources_count/properties/sales_championship" tasks_and_todos: "$ref": "#/components/schemas/resource_owned_resources_count/properties/tasks_and_todos" template_budgets: "$ref": "#/components/schemas/resource_owned_resources_count/properties/template_budgets" template_deal_todos: "$ref": "#/components/schemas/resource_owned_resources_count/properties/template_deal_todos" template_deals: "$ref": "#/components/schemas/resource_owned_resources_count/properties/template_deals" template_projects: "$ref": "#/components/schemas/resource_owned_resources_count/properties/template_projects" template_tasks_and_todos: "$ref": "#/components/schemas/resource_owned_resources_count/properties/template_tasks_and_todos" time_approvals_and_subscriptions: "$ref": "#/components/schemas/resource_owned_resources_count/properties/time_approvals_and_subscriptions" id: type: string type: enum: - owned_resources_counts type: string required: - id - type _response_object_page: type: object title: Page properties: attributes: type: object properties: body: "$ref": "#/components/schemas/resource_page/properties/body" cover_image_meta: anyOf: - "$ref": "#/components/schemas/resource_page/properties/cover_image_meta" - type: 'null' title: 'Null' cover_image_url: anyOf: - "$ref": "#/components/schemas/resource_page/properties/cover_image_url" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_page/properties/created_at" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_page/properties/custom_fields" - type: 'null' title: 'Null' edited_at: anyOf: - "$ref": "#/components/schemas/resource_page/properties/edited_at" - type: 'null' title: 'Null' icon_id: anyOf: - "$ref": "#/components/schemas/resource_page/properties/icon_id" - type: 'null' title: 'Null' last_activity_at: "$ref": "#/components/schemas/resource_page/properties/last_activity_at" parent_page_id: anyOf: - "$ref": "#/components/schemas/resource_page/properties/parent_page_id" - type: 'null' title: 'Null' position: anyOf: - "$ref": "#/components/schemas/resource_page/properties/position" - type: 'null' title: 'Null' preferences: anyOf: - "$ref": "#/components/schemas/resource_page/properties/preferences" - type: 'null' title: 'Null' public: "$ref": "#/components/schemas/resource_page/properties/public" public_access: "$ref": "#/components/schemas/resource_page/properties/public_access" public_uuid: anyOf: - "$ref": "#/components/schemas/resource_page/properties/public_uuid" - type: 'null' title: 'Null' root_page_id: anyOf: - "$ref": "#/components/schemas/resource_page/properties/root_page_id" - type: 'null' title: 'Null' title: anyOf: - "$ref": "#/components/schemas/resource_page/properties/title" - type: 'null' title: 'Null' updated_at: "$ref": "#/components/schemas/resource_page/properties/updated_at" version_number: anyOf: - "$ref": "#/components/schemas/resource_page/properties/version_number" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: attachments: "$ref": "#/components/schemas/_collection_relationship" creator: "$ref": "#/components/schemas/_single_relationship" memberships: "$ref": "#/components/schemas/_collection_relationship" organization: "$ref": "#/components/schemas/_single_relationship" parent_page: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" root_page: "$ref": "#/components/schemas/_single_relationship" template_object: "$ref": "#/components/schemas/_single_relationship" updater: "$ref": "#/components/schemas/_single_relationship" type: enum: - pages type: string required: - id - type _response_object_page_report: type: object title: Page report properties: attributes: type: object properties: count: "$ref": "#/components/schemas/resource_page_report/properties/count" created_at: "$ref": "#/components/schemas/resource_page_report/properties/created_at" currency: "$ref": "#/components/schemas/resource_page_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_page_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_page_report/properties/currency_normalized" custom_fields: type: object edited_at: anyOf: - "$ref": "#/components/schemas/resource_page_report/properties/edited_at" - type: 'null' title: 'Null' formula_fields: "$ref": "#/components/schemas/resource_page_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_page_report/properties/group" last_activity_at: anyOf: - "$ref": "#/components/schemas/resource_page_report/properties/last_activity_at" - type: 'null' title: 'Null' title: "$ref": "#/components/schemas/resource_page_report/properties/title" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" page: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" updater: "$ref": "#/components/schemas/_single_relationship" type: enum: - page_reports type: string required: - id - type _response_object_page_version: type: object title: Page version properties: attributes: type: object properties: body_snapshot: "$ref": "#/components/schemas/resource_page_version/properties/body_snapshot" created_at: "$ref": "#/components/schemas/resource_page_version/properties/created_at" name: anyOf: - "$ref": "#/components/schemas/resource_page_version/properties/name" - type: 'null' title: 'Null' prosemirror_steps: anyOf: - type: array items: {} title: List - type: 'null' title: 'Null' title: Prosemirror Steps restored_from_version_id: anyOf: - "$ref": "#/components/schemas/resource_page_version/properties/restored_from_version_id" - type: 'null' title: 'Null' title_snapshot: anyOf: - "$ref": "#/components/schemas/resource_page_version/properties/title_snapshot" - type: 'null' title: 'Null' updated_at: "$ref": "#/components/schemas/resource_page_version/properties/updated_at" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" page: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" type: enum: - page_versions type: string required: - id - type _response_object_password: type: object title: Password properties: attributes: type: object properties: email: "$ref": "#/components/schemas/resource_password/properties/email" first_password: "$ref": "#/components/schemas/resource_password/properties/first_password" id: type: string relationships: type: object properties: {} type: enum: - passwords type: string required: - id - type _response_object_payment: type: object title: Payment properties: attributes: type: object properties: amount: "$ref": "#/components/schemas/resource_payment/properties/amount" amount_default: "$ref": "#/components/schemas/resource_payment/properties/amount_default" amount_normalized: "$ref": "#/components/schemas/resource_payment/properties/amount_normalized" currency: "$ref": "#/components/schemas/resource_payment/properties/currency" currency_default: "$ref": "#/components/schemas/resource_payment/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_payment/properties/currency_normalized" external_id: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/external_id" - type: 'null' title: 'Null' note: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/note" - type: 'null' title: 'Null' paid_on: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/paid_on" - type: 'null' title: 'Null' written_off_on: anyOf: - "$ref": "#/components/schemas/resource_payment/properties/written_off_on" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: invoice: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - payments type: string required: - id - type _response_object_payment_reminder: type: object title: Payment reminder properties: attributes: type: object properties: bcc: "$ref": "#/components/schemas/resource_payment_reminder/properties/bcc" before_due_date: "$ref": "#/components/schemas/resource_payment_reminder/properties/before_due_date" body: "$ref": "#/components/schemas/resource_payment_reminder/properties/body" body_parsed: "$ref": "#/components/schemas/resource_payment_reminder/properties/body_parsed" cc: "$ref": "#/components/schemas/resource_payment_reminder/properties/cc" created_at: "$ref": "#/components/schemas/resource_payment_reminder/properties/created_at" deleted_at: "$ref": "#/components/schemas/resource_payment_reminder/properties/deleted_at" delivered_at: "$ref": "#/components/schemas/resource_payment_reminder/properties/delivered_at" failed_at: "$ref": "#/components/schemas/resource_payment_reminder/properties/failed_at" from: "$ref": "#/components/schemas/resource_payment_reminder/properties/from" reminder_period: "$ref": "#/components/schemas/resource_payment_reminder/properties/reminder_period" reminder_stopped_reason_id: "$ref": "#/components/schemas/resource_payment_reminder/properties/reminder_stopped_reason_id" scheduled_on: "$ref": "#/components/schemas/resource_payment_reminder/properties/scheduled_on" sent_at: "$ref": "#/components/schemas/resource_payment_reminder/properties/sent_at" stopped_at: "$ref": "#/components/schemas/resource_payment_reminder/properties/stopped_at" subject: "$ref": "#/components/schemas/resource_payment_reminder/properties/subject" subject_parsed: "$ref": "#/components/schemas/resource_payment_reminder/properties/subject_parsed" to: "$ref": "#/components/schemas/resource_payment_reminder/properties/to" updated_at: "$ref": "#/components/schemas/resource_payment_reminder/properties/updated_at" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" invoice: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" payment_reminder_sequence: "$ref": "#/components/schemas/_single_relationship" updater: "$ref": "#/components/schemas/_single_relationship" type: enum: - payment_reminders type: string required: - id - type _response_object_payment_reminder_sequence: type: object title: Payment reminder sequence properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_payment_reminder_sequence/properties/created_at" default_sequence: "$ref": "#/components/schemas/resource_payment_reminder_sequence/properties/default_sequence" name: "$ref": "#/components/schemas/resource_payment_reminder_sequence/properties/name" updated_at: "$ref": "#/components/schemas/resource_payment_reminder_sequence/properties/updated_at" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" payment_reminders: "$ref": "#/components/schemas/_collection_relationship" updater: "$ref": "#/components/schemas/_single_relationship" type: enum: - payment_reminder_sequences type: string required: - id - type _response_object_payment_report: type: object title: Payment report properties: attributes: type: object properties: count: "$ref": "#/components/schemas/resource_payment_report/properties/count" currency: anyOf: - "$ref": "#/components/schemas/resource_payment_report/properties/currency" - type: 'null' title: 'Null' currency_default: "$ref": "#/components/schemas/resource_payment_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_payment_report/properties/currency_normalized" date_period: "$ref": "#/components/schemas/resource_payment_report/properties/date_period" formula_fields: "$ref": "#/components/schemas/resource_payment_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_payment_report/properties/group" month: "$ref": "#/components/schemas/resource_payment_report/properties/month" quarter: "$ref": "#/components/schemas/resource_payment_report/properties/quarter" total_amount: "$ref": "#/components/schemas/resource_payment_report/properties/total_amount" total_amount_default: "$ref": "#/components/schemas/resource_payment_report/properties/total_amount_default" total_amount_normalized: "$ref": "#/components/schemas/resource_payment_report/properties/total_amount_normalized" week: "$ref": "#/components/schemas/resource_payment_report/properties/week" year: "$ref": "#/components/schemas/resource_payment_report/properties/year" id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" company_report: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" invoice: "$ref": "#/components/schemas/_single_relationship" invoice_report: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" payment: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - payment_reports type: string required: - id - type _response_object_payroll_item_report: type: object title: Payroll item report properties: attributes: type: object properties: count: "$ref": "#/components/schemas/resource_payroll_item_report/properties/count" currency: anyOf: - "$ref": "#/components/schemas/resource_payroll_item_report/properties/currency" - type: 'null' title: 'Null' currency_default: "$ref": "#/components/schemas/resource_payroll_item_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_payroll_item_report/properties/currency_normalized" custom_fields: type: object end_date: anyOf: - "$ref": "#/components/schemas/resource_payroll_item_report/properties/end_date" - type: 'null' title: 'Null' formula_fields: "$ref": "#/components/schemas/resource_payroll_item_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_payroll_item_report/properties/group" payroll_item_id: "$ref": "#/components/schemas/resource_payroll_item_report/properties/payroll_item_id" payroll_item_type: "$ref": "#/components/schemas/resource_payroll_item_report/properties/payroll_item_type" person_status: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_status" person_type: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_type" role_id: "$ref": "#/components/schemas/resource_payroll_item_report/properties/role_id" salary_type_id: anyOf: - "$ref": "#/components/schemas/resource_payroll_item_report/properties/salary_type_id" - type: 'null' title: 'Null' start_date: anyOf: - "$ref": "#/components/schemas/resource_payroll_item_report/properties/start_date" - type: 'null' title: 'Null' total_availability: type: string total_capacity: type: string total_cost: "$ref": "#/components/schemas/resource_payroll_item_report/properties/total_cost" total_cost_default: "$ref": "#/components/schemas/resource_payroll_item_report/properties/total_cost_default" total_cost_normalized: "$ref": "#/components/schemas/resource_payroll_item_report/properties/total_cost_normalized" total_scheduled_time: type: string total_time: type: string total_time_off_cost: "$ref": "#/components/schemas/resource_payroll_item_report/properties/total_time_off_cost" total_time_off_cost_default: "$ref": "#/components/schemas/resource_payroll_item_report/properties/total_time_off_cost_default" total_time_off_cost_normalized: "$ref": "#/components/schemas/resource_payroll_item_report/properties/total_time_off_cost_normalized" total_time_off_time: type: string id: type: string relationships: type: object properties: booking: "$ref": "#/components/schemas/_single_relationship" company: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" person_report: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" salary: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" time_entry: "$ref": "#/components/schemas/_single_relationship" type: enum: - payroll_item_reports type: string required: - id - type _response_object_person_report: type: object title: Person report properties: attributes: type: object properties: autotracking: type: boolean contact_address: "$ref": "#/components/schemas/resource_person_report/properties/contact_address" contact_city: "$ref": "#/components/schemas/resource_person_report/properties/contact_city" contact_country: "$ref": "#/components/schemas/resource_person_report/properties/contact_country" contact_email: "$ref": "#/components/schemas/resource_person_report/properties/contact_email" contact_phone: "$ref": "#/components/schemas/resource_person_report/properties/contact_phone" contact_state: "$ref": "#/components/schemas/resource_person_report/properties/contact_state" contact_website: "$ref": "#/components/schemas/resource_person_report/properties/contact_website" contact_zipcode: "$ref": "#/components/schemas/resource_person_report/properties/contact_zipcode" count: "$ref": "#/components/schemas/resource_person_report/properties/count" created_at_period: "$ref": "#/components/schemas/resource_person_report/properties/created_at_period" currency: "$ref": "#/components/schemas/resource_person_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_person_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_person_report/properties/currency_normalized" custom_fields: type: object deactivated_at_period: "$ref": "#/components/schemas/resource_person_report/properties/deactivated_at_period" formula_fields: "$ref": "#/components/schemas/resource_person_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_person_report/properties/group" joined_at_period: "$ref": "#/components/schemas/resource_person_report/properties/joined_at_period" last_activity_at_period: "$ref": "#/components/schemas/resource_person_report/properties/last_activity_at_period" month: "$ref": "#/components/schemas/resource_person_report/properties/month" offboarding_status: "$ref": "#/components/schemas/resource_person_report/properties/offboarding_status" quarter: "$ref": "#/components/schemas/resource_person_report/properties/quarter" role_id: anyOf: - "$ref": "#/components/schemas/resource_person_report/properties/role_id" - type: 'null' title: 'Null' shared_seat: "$ref": "#/components/schemas/resource_person_report/properties/shared_seat" status: "$ref": "#/components/schemas/resource_person_report/properties/status" type: "$ref": "#/components/schemas/resource_person_report/properties/type" week: "$ref": "#/components/schemas/resource_person_report/properties/week" year: "$ref": "#/components/schemas/resource_person_report/properties/year" id: type: string relationships: type: object properties: approval_policy: "$ref": "#/components/schemas/_single_relationship" company: "$ref": "#/components/schemas/_single_relationship" company_report: "$ref": "#/components/schemas/_single_relationship" custom_role: "$ref": "#/components/schemas/_single_relationship" job_role: "$ref": "#/components/schemas/_single_relationship" manager: "$ref": "#/components/schemas/_single_relationship" manager_report: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - person_reports type: string required: - id - type _response_object_placeholder: type: object title: Placeholder properties: attributes: type: object properties: category: "$ref": "#/components/schemas/resource_placeholder/properties/category" color: "$ref": "#/components/schemas/resource_placeholder/properties/color" created_at: "$ref": "#/components/schemas/resource_placeholder/properties/created_at" icon: "$ref": "#/components/schemas/resource_placeholder/properties/icon" name: "$ref": "#/components/schemas/resource_placeholder/properties/name" type: "$ref": "#/components/schemas/resource_placeholder/properties/type" updated_at: "$ref": "#/components/schemas/resource_placeholder/properties/updated_at" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" type: enum: - placeholders type: string required: - id - type _response_object_placeholder_usage: type: object title: Placeholder usage properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_placeholder_usage/properties/created_at" field: "$ref": "#/components/schemas/resource_placeholder_usage/properties/field" id: "$ref": "#/components/schemas/resource_placeholder_usage/properties/id" interval_direction: anyOf: - "$ref": "#/components/schemas/resource_placeholder_usage/properties/interval_direction" - type: 'null' title: 'Null' interval_unit: anyOf: - "$ref": "#/components/schemas/resource_placeholder_usage/properties/interval_unit" - type: 'null' title: 'Null' interval_value: anyOf: - "$ref": "#/components/schemas/resource_placeholder_usage/properties/interval_value" - type: 'null' title: 'Null' placeholder_id: "$ref": "#/components/schemas/resource_placeholder_usage/properties/placeholder_id" skip_weekends: "$ref": "#/components/schemas/resource_placeholder_usage/properties/skip_weekends" target_id: "$ref": "#/components/schemas/resource_placeholder_usage/properties/target_id" target_type: "$ref": "#/components/schemas/resource_placeholder_usage/properties/target_type" updated_at: "$ref": "#/components/schemas/resource_placeholder_usage/properties/updated_at" id: type: string relationships: type: object properties: placeholder: "$ref": "#/components/schemas/_single_relationship" task: "$ref": "#/components/schemas/_single_relationship" todo: "$ref": "#/components/schemas/_single_relationship" type: enum: - placeholder_usages type: string required: - id - type _response_object_polaris_organization: type: object title: Polaris Organization properties: attributes: type: object properties: name: anyOf: - "$ref": "#/components/schemas/resource_polaris_organization/properties/name" - type: 'null' title: 'Null' id: type: string type: enum: - polaris_organizations type: string required: - id - type _response_object_price: type: object title: Price properties: attributes: type: object properties: billing_type_id: anyOf: - "$ref": "#/components/schemas/resource_price/properties/billing_type_id" - type: 'null' title: 'Null' booking_tracking_enabled: "$ref": "#/components/schemas/resource_price/properties/booking_tracking_enabled" budget_cap_enabled: "$ref": "#/components/schemas/resource_price/properties/budget_cap_enabled" currency: "$ref": "#/components/schemas/resource_price/properties/currency" currency_default: "$ref": "#/components/schemas/resource_price/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_price/properties/currency_normalized" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_price/properties/custom_fields" - type: 'null' title: 'Null' discount: anyOf: - type: string title: Discount - type: 'null' title: 'Null' editor_config: anyOf: - "$ref": "#/components/schemas/resource_price/properties/editor_config" - type: 'null' title: 'Null' estimated_cost: "$ref": "#/components/schemas/resource_price/properties/estimated_cost" estimated_cost_default: "$ref": "#/components/schemas/resource_price/properties/estimated_cost_default" estimated_cost_normalized: "$ref": "#/components/schemas/resource_price/properties/estimated_cost_normalized" estimated_hours: anyOf: - "$ref": "#/components/schemas/resource_price/properties/estimated_hours" - type: 'null' title: 'Null' expense_tracking_enabled: "$ref": "#/components/schemas/resource_price/properties/expense_tracking_enabled" markup: anyOf: - type: string title: String - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_price/properties/name" quantity: anyOf: - type: string title: Quantity - type: 'null' title: 'Null' rate: "$ref": "#/components/schemas/resource_price/properties/rate" rate_default: "$ref": "#/components/schemas/resource_price/properties/rate_default" rate_normalized: "$ref": "#/components/schemas/resource_price/properties/rate_normalized" time_tracking_enabled: "$ref": "#/components/schemas/resource_price/properties/time_tracking_enabled" unit_id: "$ref": "#/components/schemas/resource_price/properties/unit_id" updated_at: "$ref": "#/components/schemas/resource_price/properties/updated_at" id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" custom_field_attachments: "$ref": "#/components/schemas/_collection_relationship" custom_field_people: "$ref": "#/components/schemas/_collection_relationship" organization: "$ref": "#/components/schemas/_single_relationship" rate_card: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" updater: "$ref": "#/components/schemas/_single_relationship" type: enum: - prices type: string required: - id - type _response_object_price_report: type: object title: Price report properties: attributes: type: object properties: average_discount: anyOf: - type: string title: String - type: 'null' title: 'Null' average_discount_amount: "$ref": "#/components/schemas/resource_price_report/properties/average_discount_amount" average_discount_amount_default: "$ref": "#/components/schemas/resource_price_report/properties/average_discount_amount_default" average_discount_amount_normalized: "$ref": "#/components/schemas/resource_price_report/properties/average_discount_amount_normalized" average_discounted_rate: "$ref": "#/components/schemas/resource_price_report/properties/average_discounted_rate" average_discounted_rate_default: "$ref": "#/components/schemas/resource_price_report/properties/average_discounted_rate_default" average_discounted_rate_normalized: "$ref": "#/components/schemas/resource_price_report/properties/average_discounted_rate_normalized" average_estimated_cost: "$ref": "#/components/schemas/resource_price_report/properties/average_estimated_cost" average_estimated_cost_default: "$ref": "#/components/schemas/resource_price_report/properties/average_estimated_cost_default" average_estimated_cost_normalized: "$ref": "#/components/schemas/resource_price_report/properties/average_estimated_cost_normalized" average_markup: anyOf: - type: string title: String - type: 'null' title: 'Null' average_markup_amount: "$ref": "#/components/schemas/resource_price_report/properties/average_markup_amount" average_markup_amount_default: "$ref": "#/components/schemas/resource_price_report/properties/average_markup_amount_default" average_markup_amount_normalized: "$ref": "#/components/schemas/resource_price_report/properties/average_markup_amount_normalized" average_rate: "$ref": "#/components/schemas/resource_price_report/properties/average_rate" average_rate_default: "$ref": "#/components/schemas/resource_price_report/properties/average_rate_default" average_rate_normalized: "$ref": "#/components/schemas/resource_price_report/properties/average_rate_normalized" booking_tracking_enabled: type: boolean count: "$ref": "#/components/schemas/resource_price_report/properties/count" currency: "$ref": "#/components/schemas/resource_price_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_price_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_price_report/properties/currency_normalized" expense_tracking_enabled: type: boolean formula_fields: "$ref": "#/components/schemas/resource_price_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_price_report/properties/group" rate_card_status: "$ref": "#/components/schemas/resource_price_report/properties/rate_card_status" time_tracking_enabled: type: boolean id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" company_report: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" price: "$ref": "#/components/schemas/_single_relationship" rate_card: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" type: enum: - price_reports type: string required: - id - type _response_object_project_milestone: type: object title: Project milestone properties: attributes: type: object properties: color_id: "$ref": "#/components/schemas/resource_project_milestone/properties/color_id" created_at: "$ref": "#/components/schemas/resource_project_milestone/properties/created_at" date: "$ref": "#/components/schemas/resource_project_milestone/properties/date" icon_id: "$ref": "#/components/schemas/resource_project_milestone/properties/icon_id" note: anyOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/note" - type: 'null' title: 'Null' title: "$ref": "#/components/schemas/resource_project_milestone/properties/title" updated_at: "$ref": "#/components/schemas/resource_project_milestone/properties/updated_at" id: type: string relationships: type: object properties: assignee: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" type: enum: - project_milestones type: string required: - id - type _response_object_project_milestone_report: type: object title: Project milestone report properties: attributes: type: object properties: color_id: "$ref": "#/components/schemas/resource_project_milestone_report/properties/color_id" count: "$ref": "#/components/schemas/resource_project_milestone_report/properties/count" created_at_period: "$ref": "#/components/schemas/resource_project_milestone_report/properties/created_at_period" date: "$ref": "#/components/schemas/resource_project_milestone_report/properties/date" date_period: "$ref": "#/components/schemas/resource_project_milestone_report/properties/date_period" formula_fields: "$ref": "#/components/schemas/resource_project_milestone_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_project_milestone_report/properties/group" icon_id: "$ref": "#/components/schemas/resource_project_milestone_report/properties/icon_id" title: "$ref": "#/components/schemas/resource_project_milestone_report/properties/title" upcoming: "$ref": "#/components/schemas/resource_project_milestone_report/properties/upcoming" updated_at_period: "$ref": "#/components/schemas/resource_project_milestone_report/properties/updated_at_period" id: type: string relationships: type: object properties: assignee: "$ref": "#/components/schemas/_single_relationship" assignee_report: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" project_milestone: "$ref": "#/components/schemas/_single_relationship" project_report: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" type: enum: - project_milestone_reports type: string required: - id - type _response_object_project_preference: type: object title: Project preference properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_project_preference/properties/created_at" preferences: anyOf: - "$ref": "#/components/schemas/resource_project_preference/properties/preferences" - type: 'null' title: 'Null' tasks_layout_id: anyOf: - "$ref": "#/components/schemas/resource_project_preference/properties/tasks_layout_id" - type: 'null' title: 'Null' watched: anyOf: - "$ref": "#/components/schemas/resource_project_preference/properties/watched" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: person: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" type: enum: - project_preferences type: string required: - id - type _response_object_project_relevancy_report: type: object title: Project relevancy report properties: attributes: type: object properties: activity_score: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/activity_score" booked_score: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/booked_score" count: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/count" domain_score: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/domain_score" formula_fields: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/group" pinned_services_score: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/pinned_services_score" score: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/score" time_tracked_score: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/time_tracked_score" id: type: string relationships: type: object properties: project: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" type: enum: - project_relevancy_reports type: string required: - id - type _response_object_project_report: type: object title: Project report properties: attributes: type: object properties: average_profit_margin: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/average_profit_margin" - type: 'null' title: 'Null' average_profit_margin_default: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/average_profit_margin_default" - type: 'null' title: 'Null' average_profit_margin_normalized: "$ref": "#/components/schemas/resource_project_report/properties/average_profit_margin_normalized" count: "$ref": "#/components/schemas/resource_project_report/properties/count" created_at_period: "$ref": "#/components/schemas/resource_project_report/properties/created_at_period" currency: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/currency" - type: 'null' title: 'Null' currency_default: "$ref": "#/components/schemas/resource_project_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_project_report/properties/currency_normalized" custom_fields: type: object formula_fields: "$ref": "#/components/schemas/resource_project_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_project_report/properties/group" last_activity_at_period: "$ref": "#/components/schemas/resource_project_report/properties/last_activity_at_period" month: "$ref": "#/components/schemas/resource_project_report/properties/month" project_status: "$ref": "#/components/schemas/resource_project_report/properties/project_status" project_type: "$ref": "#/components/schemas/resource_project_report/properties/project_type" quarter: "$ref": "#/components/schemas/resource_project_report/properties/quarter" total_cost: "$ref": "#/components/schemas/resource_project_report/properties/total_cost" total_cost_default: "$ref": "#/components/schemas/resource_project_report/properties/total_cost_default" total_cost_normalized: "$ref": "#/components/schemas/resource_project_report/properties/total_cost_normalized" total_estimated_time: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/total_estimated_time" - type: string title: String - type: 'null' title: 'Null' total_needs_invoicing: "$ref": "#/components/schemas/resource_project_report/properties/total_needs_invoicing" total_needs_invoicing_default: "$ref": "#/components/schemas/resource_project_report/properties/total_needs_invoicing_default" total_needs_invoicing_normalized: "$ref": "#/components/schemas/resource_project_report/properties/total_needs_invoicing_normalized" total_pending_invoicing: "$ref": "#/components/schemas/resource_project_report/properties/total_pending_invoicing" total_pending_invoicing_default: "$ref": "#/components/schemas/resource_project_report/properties/total_pending_invoicing_default" total_pending_invoicing_normalized: "$ref": "#/components/schemas/resource_project_report/properties/total_pending_invoicing_normalized" total_profit: "$ref": "#/components/schemas/resource_project_report/properties/total_profit" total_profit_default: "$ref": "#/components/schemas/resource_project_report/properties/total_profit_default" total_profit_normalized: "$ref": "#/components/schemas/resource_project_report/properties/total_profit_normalized" total_projected_revenue: "$ref": "#/components/schemas/resource_project_report/properties/total_projected_revenue" total_projected_revenue_default: "$ref": "#/components/schemas/resource_project_report/properties/total_projected_revenue_default" total_projected_revenue_normalized: "$ref": "#/components/schemas/resource_project_report/properties/total_projected_revenue_normalized" total_revenue: "$ref": "#/components/schemas/resource_project_report/properties/total_revenue" total_revenue_default: "$ref": "#/components/schemas/resource_project_report/properties/total_revenue_default" total_revenue_normalized: "$ref": "#/components/schemas/resource_project_report/properties/total_revenue_normalized" total_worked_time: anyOf: - "$ref": "#/components/schemas/resource_project_report/properties/total_worked_time" - type: string title: String - type: 'null' title: 'Null' week: "$ref": "#/components/schemas/resource_project_report/properties/week" year: "$ref": "#/components/schemas/resource_project_report/properties/year" id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" company_report: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" project_manager: "$ref": "#/components/schemas/_single_relationship" project_manager_report: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" type: enum: - project_reports type: string required: - id - type _response_object_proposal_service: type: object title: Proposal Service properties: attributes: type: object properties: billable_time: "$ref": "#/components/schemas/resource_proposal_service/properties/billable_time" billing_type_id: "$ref": "#/components/schemas/resource_proposal_service/properties/billing_type_id" budget_cap_enabled: "$ref": "#/components/schemas/resource_proposal_service/properties/budget_cap_enabled" budget_total: "$ref": "#/components/schemas/resource_proposal_service/properties/budget_total" budget_total_default: type: number budget_total_normalized: type: number budget_used: "$ref": "#/components/schemas/resource_proposal_service/properties/budget_used" budget_used_default: type: number budget_used_normalized: type: number created_at: "$ref": "#/components/schemas/resource_proposal_service/properties/created_at" currency: "$ref": "#/components/schemas/resource_proposal_service/properties/currency" currency_default: "$ref": "#/components/schemas/resource_proposal_service/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_proposal_service/properties/currency_normalized" description: anyOf: - "$ref": "#/components/schemas/resource_proposal_service/properties/description" - type: 'null' title: 'Null' discount: anyOf: - "$ref": "#/components/schemas/resource_proposal_service/properties/discount" - type: 'null' title: 'Null' discount_amount: "$ref": "#/components/schemas/resource_proposal_service/properties/discount_amount" discount_amount_default: type: number discount_amount_normalized: type: number discount_type: "$ref": "#/components/schemas/resource_proposal_service/properties/discount_type" initial_service_id: "$ref": "#/components/schemas/resource_proposal_service/properties/initial_service_id" markup: anyOf: - "$ref": "#/components/schemas/resource_proposal_service/properties/markup" - type: 'null' title: 'Null' markup_amount: "$ref": "#/components/schemas/resource_proposal_service/properties/markup_amount" markup_amount_default: type: number markup_amount_normalized: type: number name: "$ref": "#/components/schemas/resource_proposal_service/properties/name" origin_service_id: anyOf: - "$ref": "#/components/schemas/resource_proposal_service/properties/origin_service_id" - type: 'null' title: 'Null' position: "$ref": "#/components/schemas/resource_proposal_service/properties/position" price: "$ref": "#/components/schemas/resource_proposal_service/properties/price" price_default: type: number price_normalized: type: number quantity: "$ref": "#/components/schemas/resource_proposal_service/properties/quantity" revenue: "$ref": "#/components/schemas/resource_proposal_service/properties/revenue" revenue_default: type: number revenue_normalized: type: number unit_id: "$ref": "#/components/schemas/resource_proposal_service/properties/unit_id" id: type: string relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" proposal: "$ref": "#/components/schemas/_single_relationship" proposal_section: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" type: enum: - proposal_services type: string required: - id - type _response_object_proposal_session: type: object title: Proposal Session properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_proposal_session/properties/created_at" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" proposal: "$ref": "#/components/schemas/_single_relationship" type: enum: - proposal_sessions type: string required: - id - type _response_object_public_artifact: type: object title: Public artifact properties: attributes: type: object properties: content_url: anyOf: - "$ref": "#/components/schemas/resource_artifact/properties/content_url" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_artifact/properties/created_at" description: anyOf: - "$ref": "#/components/schemas/resource_artifact/properties/description" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_artifact/properties/name" public_uuid: "$ref": "#/components/schemas/resource_artifact/properties/public_uuid" id: type: string type: enum: - artifacts type: string required: - id - type _response_object_public_page: type: object title: Public page properties: attributes: type: object properties: body: "$ref": "#/components/schemas/resource_page/properties/body" cover_image_meta: anyOf: - "$ref": "#/components/schemas/resource_page/properties/cover_image_meta" - type: 'null' title: 'Null' cover_image_url: anyOf: - "$ref": "#/components/schemas/resource_page/properties/cover_image_url" - type: 'null' title: 'Null' icon_id: anyOf: - "$ref": "#/components/schemas/resource_page/properties/icon_id" - type: 'null' title: 'Null' position: anyOf: - "$ref": "#/components/schemas/resource_page/properties/position" - type: 'null' title: 'Null' preferences: "$ref": "#/components/schemas/resource_page/properties/preferences" public_uuid: "$ref": "#/components/schemas/resource_page/properties/public_uuid" title: anyOf: - "$ref": "#/components/schemas/resource_page/properties/title" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: child_pages: "$ref": "#/components/schemas/_collection_relationship" type: enum: - pages type: string required: - id - type _response_object_public_proposal: type: object title: Public proposal properties: attributes: type: object properties: decline_reason: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/decline_reason" - type: 'null' title: 'Null' disclaimer: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/disclaimer" - type: 'null' title: 'Null' disclaimer_enabled: "$ref": "#/components/schemas/resource_proposal/properties/disclaimer_enabled" identity_confirmation_enabled: "$ref": "#/components/schemas/resource_proposal/properties/identity_confirmation_enabled" identity_confirmed_at: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/identity_confirmed_at" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_proposal/properties/name" pdf_url: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/pdf_url" - type: 'null' title: 'Null' proposal_pdf_preview_on_mobile: "$ref": "#/components/schemas/resource_proposal/properties/proposal_pdf_preview_on_mobile" responded_via_public_link: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/responded_via_public_link" - type: 'null' title: 'Null' responder_email: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/responder_email" - type: 'null' title: 'Null' responder_name: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/responder_name" - type: 'null' title: 'Null' signed: "$ref": "#/components/schemas/resource_proposal/properties/signed" status: "$ref": "#/components/schemas/resource_proposal/properties/status" status_changed_at: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/status_changed_at" - type: 'null' title: 'Null' id: type: string type: enum: - proposals type: string required: - id - type _response_object_public_survey: type: object title: Public survey properties: attributes: type: object properties: description: anyOf: - type: string title: String - type: 'null' title: 'Null' public_uuid: "$ref": "#/components/schemas/resource_survey/properties/public_uuid" submission_access: "$ref": "#/components/schemas/resource_survey/properties/submission_access" title: "$ref": "#/components/schemas/resource_survey/properties/title" id: type: string relationships: type: object properties: survey_fields: "$ref": "#/components/schemas/_collection_relationship" type: enum: - surveys type: string required: - id - type _response_object_public_survey_response: type: object title: Public survey response properties: attributes: type: object properties: survey_fields: "$ref": "#/components/schemas/resource_survey_response/properties/survey_fields" id: type: string relationships: type: object properties: survey: "$ref": "#/components/schemas/_single_relationship" type: enum: - survey_responses type: string required: - id - type _response_object_pulse: type: object title: Pulse properties: attributes: type: object properties: deactivated_at: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/deactivated_at" - type: 'null' title: 'Null' document_format_id: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/document_format_id" - type: 'null' title: 'Null' export_params: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/export_params" - type: 'null' title: 'Null' recipients: type: array items: type: string title: Recipients repeat_schedule_id: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/repeat_schedule_id" - type: 'null' title: 'Null' schedule_day_id: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/schedule_day_id" - type: 'null' title: 'Null' schedule_frame_id: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/schedule_frame_id" - type: 'null' title: 'Null' schedule_hour: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/schedule_hour" - type: 'null' title: 'Null' skip_if_empty: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/skip_if_empty" - type: 'null' title: 'Null' slack_channel: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/slack_channel" - type: 'null' title: 'Null' teams_channel: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/teams_channel" - type: 'null' title: 'Null' teams_team: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/teams_team" - type: 'null' title: 'Null' test_pulse: "$ref": "#/components/schemas/resource_pulse/properties/test_pulse" type_id: "$ref": "#/components/schemas/resource_pulse/properties/type_id" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" filter: "$ref": "#/components/schemas/_single_relationship" memberships: "$ref": "#/components/schemas/_collection_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - pulses type: string required: - id - type _response_object_purchase_order: type: object title: Purchase order properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_purchase_order/properties/created_at" currency: "$ref": "#/components/schemas/resource_purchase_order/properties/currency" currency_default: "$ref": "#/components/schemas/resource_purchase_order/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_purchase_order/properties/currency_normalized" delivery_on: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/delivery_on" - type: 'null' title: 'Null' email_key: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/email_key" - type: 'null' title: 'Null' exchange_date: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/exchange_date" - type: 'null' title: 'Null' exchange_rate: anyOf: - type: string title: Exchange Rate - type: 'null' title: 'Null' export_id: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/export_id" - type: 'null' title: 'Null' export_integration_type_id: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/export_integration_type_id" - type: 'null' title: 'Null' export_url: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/export_url" - type: 'null' title: 'Null' exported: "$ref": "#/components/schemas/resource_purchase_order/properties/exported" exported_at: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/exported_at" - type: 'null' title: 'Null' footer: "$ref": "#/components/schemas/resource_purchase_order/properties/footer" footer_interpolated: "$ref": "#/components/schemas/resource_purchase_order/properties/footer_interpolated" issued_on: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/issued_on" - type: 'null' title: 'Null' note: "$ref": "#/components/schemas/resource_purchase_order/properties/note" note_interpolated: "$ref": "#/components/schemas/resource_purchase_order/properties/note_interpolated" number: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/number" - type: 'null' title: 'Null' payment_status_id: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" received_on: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/received_on" - type: 'null' title: 'Null' sent_on: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/sent_on" - type: 'null' title: 'Null' status_id: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" - type: 'null' title: 'Null' subject: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/subject" - type: 'null' title: 'Null' total_cost: "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost" total_cost_default: "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost_default" total_cost_normalized: "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost_normalized" total_cost_with_tax: "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost_with_tax" total_cost_with_tax_default: "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost_with_tax_default" total_cost_with_tax_normalized: "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost_with_tax_normalized" total_received: "$ref": "#/components/schemas/resource_purchase_order/properties/total_received" total_received_default: "$ref": "#/components/schemas/resource_purchase_order/properties/total_received_default" total_received_normalized: "$ref": "#/components/schemas/resource_purchase_order/properties/total_received_normalized" id: type: string relationships: type: object properties: attachment: "$ref": "#/components/schemas/_single_relationship" bill_from: "$ref": "#/components/schemas/_single_relationship" bill_to: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" document_type: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" vendor: "$ref": "#/components/schemas/_single_relationship" type: enum: - purchase_orders type: string required: - id - type _response_object_purchase_order_report: type: object title: Purchase order report properties: attributes: type: object properties: count: "$ref": "#/components/schemas/resource_purchase_order_report/properties/count" created_at_period: "$ref": "#/components/schemas/resource_purchase_order_report/properties/created_at_period" currency: "$ref": "#/components/schemas/resource_purchase_order_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_purchase_order_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_purchase_order_report/properties/currency_normalized" delivery_on_period: "$ref": "#/components/schemas/resource_purchase_order_report/properties/delivery_on_period" formula_fields: "$ref": "#/components/schemas/resource_purchase_order_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_purchase_order_report/properties/group" issued_on_period: "$ref": "#/components/schemas/resource_purchase_order_report/properties/issued_on_period" payment_status_id: "$ref": "#/components/schemas/resource_purchase_order_report/properties/payment_status_id" received_on_period: "$ref": "#/components/schemas/resource_purchase_order_report/properties/received_on_period" sent_on_period: "$ref": "#/components/schemas/resource_purchase_order_report/properties/sent_on_period" sent_status: "$ref": "#/components/schemas/resource_purchase_order_report/properties/sent_status" status_id: anyOf: - "$ref": "#/components/schemas/resource_purchase_order_report/properties/status_id" - type: 'null' title: 'Null' subject: anyOf: - "$ref": "#/components/schemas/resource_purchase_order_report/properties/subject" - type: 'null' title: 'Null' total_cost: "$ref": "#/components/schemas/resource_purchase_order_report/properties/total_cost" total_cost_default: "$ref": "#/components/schemas/resource_purchase_order_report/properties/total_cost_default" total_cost_normalized: "$ref": "#/components/schemas/resource_purchase_order_report/properties/total_cost_normalized" total_cost_with_tax: "$ref": "#/components/schemas/resource_purchase_order_report/properties/total_cost_with_tax" total_cost_with_tax_default: "$ref": "#/components/schemas/resource_purchase_order_report/properties/total_cost_with_tax_default" total_cost_with_tax_normalized: "$ref": "#/components/schemas/resource_purchase_order_report/properties/total_cost_with_tax_normalized" total_received: "$ref": "#/components/schemas/resource_purchase_order_report/properties/total_received" total_received_default: "$ref": "#/components/schemas/resource_purchase_order_report/properties/total_received_default" total_received_normalized: "$ref": "#/components/schemas/resource_purchase_order_report/properties/total_received_normalized" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" purchase_order: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" vendor: "$ref": "#/components/schemas/_single_relationship" type: enum: - purchase_order_reports type: string required: - id - type _response_object_rate_card: type: object title: Rate card properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_rate_card/properties/archived_at" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_rate_card/properties/created_at" name: "$ref": "#/components/schemas/resource_rate_card/properties/name" prices_count: "$ref": "#/components/schemas/resource_rate_card/properties/prices_count" updated_at: "$ref": "#/components/schemas/resource_rate_card/properties/updated_at" id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - rate_cards type: string required: - id - type _response_object_report_category: type: object title: Report category properties: attributes: type: object properties: color_id: anyOf: - type: string title: String - type: 'null' title: 'Null' deleted_at: anyOf: - "$ref": "#/components/schemas/resource_report_category/properties/deleted_at" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_report_category/properties/name" position: "$ref": "#/components/schemas/resource_report_category/properties/position" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - report_categories type: string required: - id - type _response_object_resource_request: type: object title: Resource request properties: attributes: type: object properties: booking_method_id: "$ref": "#/components/schemas/resource_resource_request/properties/booking_method_id" canceled_at: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/canceled_at" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_resource_request/properties/created_at" currency: "$ref": "#/components/schemas/resource_resource_request/properties/currency" currency_default: "$ref": "#/components/schemas/resource_resource_request/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_resource_request/properties/currency_normalized" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/custom_fields" - type: 'null' title: 'Null' ended_on: "$ref": "#/components/schemas/resource_resource_request/properties/ended_on" exchange_date: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/exchange_date" - type: 'null' title: 'Null' exchange_rate: anyOf: - type: string title: String - type: 'null' title: 'Null' exchange_rate_normalized: anyOf: - type: string title: String - type: 'null' title: 'Null' fields: "$ref": "#/components/schemas/resource_resource_request/properties/fields" max_cost_per_hour: "$ref": "#/components/schemas/resource_resource_request/properties/max_cost_per_hour" max_cost_per_hour_default: "$ref": "#/components/schemas/resource_resource_request/properties/max_cost_per_hour_default" max_cost_per_hour_normalized: "$ref": "#/components/schemas/resource_resource_request/properties/max_cost_per_hour_normalized" note: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/note" - type: 'null' title: 'Null' percentage: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/percentage" - type: 'null' title: 'Null' rejected_reason: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/rejected_reason" - type: 'null' title: 'Null' resolved_at: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/resolved_at" - type: 'null' title: 'Null' started_on: "$ref": "#/components/schemas/resource_resource_request/properties/started_on" status: "$ref": "#/components/schemas/resource_resource_request/properties/status" time: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/time" - type: 'null' title: 'Null' time_to_close: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/time_to_close" - type: 'null' title: 'Null' title: "$ref": "#/components/schemas/resource_resource_request/properties/title" total_time: anyOf: - "$ref": "#/components/schemas/resource_resource_request/properties/total_time" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" custom_field_attachments: "$ref": "#/components/schemas/_collection_relationship" custom_field_people: "$ref": "#/components/schemas/_collection_relationship" organization: "$ref": "#/components/schemas/_single_relationship" resolver: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" type: enum: - resource_requests type: string required: - id - type _response_object_revenue_distribution: type: object title: Revenue distribution properties: attributes: type: object properties: amount: "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount" amount_default: "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount_default" amount_normalized: "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount_normalized" amount_percent: anyOf: - "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount_percent" - type: string title: String - type: 'null' title: 'Null' currency: "$ref": "#/components/schemas/resource_revenue_distribution/properties/currency" currency_default: "$ref": "#/components/schemas/resource_revenue_distribution/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_revenue_distribution/properties/currency_normalized" end_on: "$ref": "#/components/schemas/resource_revenue_distribution/properties/end_on" start_on: "$ref": "#/components/schemas/resource_revenue_distribution/properties/start_on" id: type: string relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - revenue_distributions type: string required: - id - type _response_object_role: type: object title: Role properties: attributes: type: object properties: access_description: anyOf: - "$ref": "#/components/schemas/resource_role/properties/access_description" - type: 'null' title: 'Null' active_agents_count: "$ref": "#/components/schemas/resource_role/properties/active_agents_count" active_users_count: "$ref": "#/components/schemas/resource_role/properties/active_users_count" base_role_id: "$ref": "#/components/schemas/resource_role/properties/base_role_id" best_when_description: anyOf: - "$ref": "#/components/schemas/resource_role/properties/best_when_description" - type: 'null' title: 'Null' description: anyOf: - "$ref": "#/components/schemas/resource_role/properties/description" - type: 'null' title: 'Null' editable_by_user: "$ref": "#/components/schemas/resource_role/properties/editable_by_user" inactive_agents_count: "$ref": "#/components/schemas/resource_role/properties/inactive_agents_count" inactive_users_count: "$ref": "#/components/schemas/resource_role/properties/inactive_users_count" name: "$ref": "#/components/schemas/resource_role/properties/name" people_count: "$ref": "#/components/schemas/resource_role/properties/people_count" permissions: "$ref": "#/components/schemas/resource_role/properties/permissions" resolved_permissions: "$ref": "#/components/schemas/resource_role/properties/resolved_permissions" user_type_id: "$ref": "#/components/schemas/resource_role/properties/user_type_id" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - roles type: string required: - id - type _response_object_salary: type: object title: Salary properties: attributes: type: object properties: alternating_hours: "$ref": "#/components/schemas/resource_salary/properties/alternating_hours" cost: "$ref": "#/components/schemas/resource_salary/properties/cost" cost_default: "$ref": "#/components/schemas/resource_salary/properties/cost_default" cost_normalized: "$ref": "#/components/schemas/resource_salary/properties/cost_normalized" currency: "$ref": "#/components/schemas/resource_salary/properties/currency" currency_default: "$ref": "#/components/schemas/resource_salary/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_salary/properties/currency_normalized" default_salary: "$ref": "#/components/schemas/resource_salary/properties/default_salary" ended_on: anyOf: - "$ref": "#/components/schemas/resource_salary/properties/ended_on" - type: 'null' title: 'Null' exchange_date: anyOf: - "$ref": "#/components/schemas/resource_salary/properties/exchange_date" - type: 'null' title: 'Null' exchange_rate: anyOf: - type: string title: String - type: 'null' title: 'Null' hourly_rate: "$ref": "#/components/schemas/resource_salary/properties/hourly_rate" hourly_rate_default: "$ref": "#/components/schemas/resource_salary/properties/hourly_rate_default" hourly_rate_normalized: "$ref": "#/components/schemas/resource_salary/properties/hourly_rate_normalized" note: "$ref": "#/components/schemas/resource_salary/properties/note" overhead: "$ref": "#/components/schemas/resource_salary/properties/overhead" salary_type_id: "$ref": "#/components/schemas/resource_salary/properties/salary_type_id" started_on: "$ref": "#/components/schemas/resource_salary/properties/started_on" working_hours: anyOf: - type: array items: type: number title: List - type: 'null' title: 'Null' id: type: string relationships: type: object properties: holiday_calendar: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" type: enum: - salaries type: string required: - id - type _response_object_scenario: type: object title: Scenario properties: attributes: type: object properties: budget_total: "$ref": "#/components/schemas/resource_scenario/properties/budget_total" budget_total_default: "$ref": "#/components/schemas/resource_scenario/properties/budget_total_default" budget_total_normalized: "$ref": "#/components/schemas/resource_scenario/properties/budget_total_normalized" budget_used: "$ref": "#/components/schemas/resource_scenario/properties/budget_used" budget_used_default: "$ref": "#/components/schemas/resource_scenario/properties/budget_used_default" budget_used_normalized: "$ref": "#/components/schemas/resource_scenario/properties/budget_used_normalized" cost: "$ref": "#/components/schemas/resource_scenario/properties/cost" cost_default: "$ref": "#/components/schemas/resource_scenario/properties/cost_default" cost_normalized: "$ref": "#/components/schemas/resource_scenario/properties/cost_normalized" created_at: "$ref": "#/components/schemas/resource_scenario/properties/created_at" currency: "$ref": "#/components/schemas/resource_scenario/properties/currency" currency_default: "$ref": "#/components/schemas/resource_scenario/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_scenario/properties/currency_normalized" deleted_at: "$ref": "#/components/schemas/resource_scenario/properties/deleted_at" end_date: "$ref": "#/components/schemas/resource_scenario/properties/end_date" last_applied_at: "$ref": "#/components/schemas/resource_scenario/properties/last_applied_at" metadata: "$ref": "#/components/schemas/resource_scenario/properties/metadata" name: "$ref": "#/components/schemas/resource_scenario/properties/name" profit: "$ref": "#/components/schemas/resource_scenario/properties/profit" profit_default: "$ref": "#/components/schemas/resource_scenario/properties/profit_default" profit_margin: "$ref": "#/components/schemas/resource_scenario/properties/profit_margin" profit_normalized: "$ref": "#/components/schemas/resource_scenario/properties/profit_normalized" revenue: "$ref": "#/components/schemas/resource_scenario/properties/revenue" revenue_default: "$ref": "#/components/schemas/resource_scenario/properties/revenue_default" revenue_normalized: "$ref": "#/components/schemas/resource_scenario/properties/revenue_normalized" start_date: "$ref": "#/components/schemas/resource_scenario/properties/start_date" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - scenarios type: string required: - id - type _response_object_scenario_booking: type: object title: Scenario Booking properties: attributes: type: object properties: booking_method_id: "$ref": "#/components/schemas/resource_scenario_booking/properties/booking_method_id" created_at: "$ref": "#/components/schemas/resource_scenario_booking/properties/created_at" custom_fields: "$ref": "#/components/schemas/resource_scenario_booking/properties/custom_fields" ended_on: "$ref": "#/components/schemas/resource_scenario_booking/properties/ended_on" hours: "$ref": "#/components/schemas/resource_scenario_booking/properties/hours" last_activity_at: "$ref": "#/components/schemas/resource_scenario_booking/properties/last_activity_at" note: "$ref": "#/components/schemas/resource_scenario_booking/properties/note" percentage: "$ref": "#/components/schemas/resource_scenario_booking/properties/percentage" started_on: "$ref": "#/components/schemas/resource_scenario_booking/properties/started_on" time: "$ref": "#/components/schemas/resource_scenario_booking/properties/time" total_time: "$ref": "#/components/schemas/resource_scenario_booking/properties/total_time" total_working_days: "$ref": "#/components/schemas/resource_scenario_booking/properties/total_working_days" updated_at: "$ref": "#/components/schemas/resource_scenario_booking/properties/updated_at" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" scenario_item: "$ref": "#/components/schemas/_single_relationship" updater: "$ref": "#/components/schemas/_single_relationship" type: enum: - scenario_bookings type: string required: - id - type _response_object_scenario_item: type: object title: Scenario Item properties: attributes: type: object properties: cost: "$ref": "#/components/schemas/resource_scenario_item/properties/cost" cost_default: "$ref": "#/components/schemas/resource_scenario_item/properties/cost_default" cost_normalized: "$ref": "#/components/schemas/resource_scenario_item/properties/cost_normalized" currency: "$ref": "#/components/schemas/resource_scenario_item/properties/currency" currency_default: "$ref": "#/components/schemas/resource_scenario_item/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_scenario_item/properties/currency_normalized" end_date: "$ref": "#/components/schemas/resource_scenario_item/properties/end_date" markup: "$ref": "#/components/schemas/resource_scenario_item/properties/markup" name: "$ref": "#/components/schemas/resource_scenario_item/properties/name" price: "$ref": "#/components/schemas/resource_scenario_item/properties/price" price_default: "$ref": "#/components/schemas/resource_scenario_item/properties/price_default" price_normalized: "$ref": "#/components/schemas/resource_scenario_item/properties/price_normalized" start_date: "$ref": "#/components/schemas/resource_scenario_item/properties/start_date" used_quantity: "$ref": "#/components/schemas/resource_scenario_item/properties/used_quantity" id: type: string relationships: type: object properties: booking: "$ref": "#/components/schemas/_single_relationship" expense: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" scenario_bookings: "$ref": "#/components/schemas/_collection_relationship" scenario_service: "$ref": "#/components/schemas/_single_relationship" type: enum: - scenario_items type: string required: - id - type _response_object_scenario_section: type: object title: Scenario Section properties: attributes: type: object properties: editor_config: "$ref": "#/components/schemas/resource_scenario_section/properties/editor_config" name: "$ref": "#/components/schemas/resource_scenario_section/properties/name" position: "$ref": "#/components/schemas/resource_scenario_section/properties/position" preferences: "$ref": "#/components/schemas/resource_scenario_section/properties/preferences" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" scenario: "$ref": "#/components/schemas/_single_relationship" type: enum: - scenario_sections type: string required: - id - type _response_object_scenario_service: type: object title: Scenario Service properties: attributes: type: object properties: billable: "$ref": "#/components/schemas/resource_scenario_service/properties/billable" billing_type_id: "$ref": "#/components/schemas/resource_scenario_service/properties/billing_type_id" budget_cap_enabled: "$ref": "#/components/schemas/resource_scenario_service/properties/budget_cap_enabled" budget_total: "$ref": "#/components/schemas/resource_scenario_service/properties/budget_total" budget_total_default: "$ref": "#/components/schemas/resource_scenario_service/properties/budget_total_default" budget_total_normalized: "$ref": "#/components/schemas/resource_scenario_service/properties/budget_total_normalized" budget_used: "$ref": "#/components/schemas/resource_scenario_service/properties/budget_used" budget_used_default: "$ref": "#/components/schemas/resource_scenario_service/properties/budget_used_default" budget_used_normalized: "$ref": "#/components/schemas/resource_scenario_service/properties/budget_used_normalized" cost: "$ref": "#/components/schemas/resource_scenario_service/properties/cost" cost_default: "$ref": "#/components/schemas/resource_scenario_service/properties/cost_default" cost_normalized: "$ref": "#/components/schemas/resource_scenario_service/properties/cost_normalized" created_at: "$ref": "#/components/schemas/resource_scenario_service/properties/created_at" currency: "$ref": "#/components/schemas/resource_scenario_service/properties/currency" currency_default: "$ref": "#/components/schemas/resource_scenario_service/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_scenario_service/properties/currency_normalized" description: "$ref": "#/components/schemas/resource_scenario_service/properties/description" discount: "$ref": "#/components/schemas/resource_scenario_service/properties/discount" discount_amount: "$ref": "#/components/schemas/resource_scenario_service/properties/discount_amount" discount_amount_default: "$ref": "#/components/schemas/resource_scenario_service/properties/discount_amount_default" discount_amount_normalized: "$ref": "#/components/schemas/resource_scenario_service/properties/discount_amount_normalized" discount_type: "$ref": "#/components/schemas/resource_scenario_service/properties/discount_type" editor_config: "$ref": "#/components/schemas/resource_scenario_service/properties/editor_config" initial_service_id: "$ref": "#/components/schemas/resource_scenario_service/properties/initial_service_id" markup: "$ref": "#/components/schemas/resource_scenario_service/properties/markup" markup_amount: "$ref": "#/components/schemas/resource_scenario_service/properties/markup_amount" markup_amount_default: "$ref": "#/components/schemas/resource_scenario_service/properties/markup_amount_default" markup_amount_normalized: "$ref": "#/components/schemas/resource_scenario_service/properties/markup_amount_normalized" name: "$ref": "#/components/schemas/resource_scenario_service/properties/name" origin_service_id: "$ref": "#/components/schemas/resource_scenario_service/properties/origin_service_id" position: "$ref": "#/components/schemas/resource_scenario_service/properties/position" price: "$ref": "#/components/schemas/resource_scenario_service/properties/price" price_default: "$ref": "#/components/schemas/resource_scenario_service/properties/price_default" price_normalized: "$ref": "#/components/schemas/resource_scenario_service/properties/price_normalized" profit: "$ref": "#/components/schemas/resource_scenario_service/properties/profit" profit_default: "$ref": "#/components/schemas/resource_scenario_service/properties/profit_default" profit_margin: "$ref": "#/components/schemas/resource_scenario_service/properties/profit_margin" profit_normalized: "$ref": "#/components/schemas/resource_scenario_service/properties/profit_normalized" quantity: "$ref": "#/components/schemas/resource_scenario_service/properties/quantity" revenue: "$ref": "#/components/schemas/resource_scenario_service/properties/revenue" revenue_default: "$ref": "#/components/schemas/resource_scenario_service/properties/revenue_default" revenue_normalized: "$ref": "#/components/schemas/resource_scenario_service/properties/revenue_normalized" unit_id: "$ref": "#/components/schemas/resource_scenario_service/properties/unit_id" id: type: string relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" scenario: "$ref": "#/components/schemas/_single_relationship" scenario_bookings: "$ref": "#/components/schemas/_collection_relationship" scenario_items: "$ref": "#/components/schemas/_collection_relationship" scenario_section: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" type: enum: - scenario_services type: string required: - id - type _response_object_search_deal_mention: type: object title: Search Deal Mention properties: attributes: type: object properties: debug_info: "$ref": "#/components/schemas/resource_search_quick_result/properties/debug_info" icon_url: "$ref": "#/components/schemas/resource_search_quick_result/properties/icon_url" matches_position: "$ref": "#/components/schemas/resource_search_quick_result/properties/matches_position" meta: type: object title: Meta properties: mention_reach: enum: - notified - shareable - unreachable type: string description: Person results only, except the commenter. Whether mentioning them in a comment on the deal notifies them, would once they are added to the deal, or would not. record_id: "$ref": "#/components/schemas/resource_search_quick_result/properties/record_id" record_type: "$ref": "#/components/schemas/resource_search_quick_result/properties/record_type" status: "$ref": "#/components/schemas/resource_search_quick_result/properties/status" subtitle: "$ref": "#/components/schemas/resource_search_quick_result/properties/subtitle" title: "$ref": "#/components/schemas/resource_search_quick_result/properties/title" updated_at: "$ref": "#/components/schemas/resource_search_quick_result/properties/updated_at" variance: "$ref": "#/components/schemas/resource_search_quick_result/properties/variance" id: type: string type: enum: - search-quick-results type: string required: - id - type _response_object_search_quick_result: type: object title: Search Quick Result properties: attributes: type: object properties: debug_info: "$ref": "#/components/schemas/resource_search_quick_result/properties/debug_info" icon_url: "$ref": "#/components/schemas/resource_search_quick_result/properties/icon_url" matches_position: "$ref": "#/components/schemas/resource_search_quick_result/properties/matches_position" meta: "$ref": "#/components/schemas/resource_search_quick_result/properties/meta" record_id: "$ref": "#/components/schemas/resource_search_quick_result/properties/record_id" record_type: "$ref": "#/components/schemas/resource_search_quick_result/properties/record_type" status: "$ref": "#/components/schemas/resource_search_quick_result/properties/status" subtitle: "$ref": "#/components/schemas/resource_search_quick_result/properties/subtitle" title: "$ref": "#/components/schemas/resource_search_quick_result/properties/title" updated_at: "$ref": "#/components/schemas/resource_search_quick_result/properties/updated_at" variance: "$ref": "#/components/schemas/resource_search_quick_result/properties/variance" id: type: string type: enum: - search-quick-results type: string required: - id - type _response_object_section: type: object title: Section properties: attributes: type: object properties: editor_config: anyOf: - "$ref": "#/components/schemas/resource_section/properties/editor_config" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_section/properties/name" position: "$ref": "#/components/schemas/resource_section/properties/position" preferences: anyOf: - "$ref": "#/components/schemas/resource_section/properties/preferences" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - sections type: string required: - id - type _response_object_service: type: object title: Service properties: attributes: type: object properties: billing_method: "$ref": "#/components/schemas/resource_service/properties/billing_method" billable: "$ref": "#/components/schemas/resource_service/properties/billable" billable_time: "$ref": "#/components/schemas/resource_service/properties/billable_time" billing_type_id: "$ref": "#/components/schemas/resource_service/properties/billing_type_id" booked_time: "$ref": "#/components/schemas/resource_service/properties/booked_time" booking_tracking_enabled: "$ref": "#/components/schemas/resource_service/properties/booking_tracking_enabled" budget_cap_enabled: "$ref": "#/components/schemas/resource_service/properties/budget_cap_enabled" budget_total: "$ref": "#/components/schemas/resource_service/properties/budget_total" budget_total_default: "$ref": "#/components/schemas/resource_service/properties/budget_total_default" budget_total_normalized: "$ref": "#/components/schemas/resource_service/properties/budget_total_normalized" budget_used: "$ref": "#/components/schemas/resource_service/properties/budget_used" budget_used_default: "$ref": "#/components/schemas/resource_service/properties/budget_used_default" budget_used_normalized: "$ref": "#/components/schemas/resource_service/properties/budget_used_normalized" budgeted_time: anyOf: - "$ref": "#/components/schemas/resource_service/properties/budgeted_time" - type: 'null' title: 'Null' cost: "$ref": "#/components/schemas/resource_service/properties/cost" cost_default: "$ref": "#/components/schemas/resource_service/properties/cost_default" cost_normalized: "$ref": "#/components/schemas/resource_service/properties/cost_normalized" currency: "$ref": "#/components/schemas/resource_service/properties/currency" currency_default: "$ref": "#/components/schemas/resource_service/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_service/properties/currency_normalized" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_service/properties/custom_fields" - type: 'null' title: 'Null' deleted_at: anyOf: - "$ref": "#/components/schemas/resource_service/properties/deleted_at" - type: 'null' title: 'Null' discount: anyOf: - "$ref": "#/components/schemas/resource_service/properties/discount" - type: string title: String - type: 'null' title: 'Null' discount_amount: "$ref": "#/components/schemas/resource_service/properties/discount_amount" discount_amount_default: "$ref": "#/components/schemas/resource_service/properties/discount_amount_default" discount_amount_normalized: "$ref": "#/components/schemas/resource_service/properties/discount_amount_normalized" discount_type: "$ref": "#/components/schemas/resource_service/properties/discount_type" editor_config: anyOf: - "$ref": "#/components/schemas/resource_service/properties/editor_config" - type: 'null' title: 'Null' estimated_cost: "$ref": "#/components/schemas/resource_service/properties/estimated_cost" estimated_cost_default: "$ref": "#/components/schemas/resource_service/properties/estimated_cost_default" estimated_cost_normalized: "$ref": "#/components/schemas/resource_service/properties/estimated_cost_normalized" estimated_time: anyOf: - "$ref": "#/components/schemas/resource_service/properties/estimated_time" - type: 'null' title: 'Null' expense_amount: "$ref": "#/components/schemas/resource_service/properties/expense_amount" expense_amount_default: "$ref": "#/components/schemas/resource_service/properties/expense_amount_default" expense_amount_normalized: "$ref": "#/components/schemas/resource_service/properties/expense_amount_normalized" expense_billable_amount: "$ref": "#/components/schemas/resource_service/properties/expense_billable_amount" expense_billable_amount_default: "$ref": "#/components/schemas/resource_service/properties/expense_billable_amount_default" expense_billable_amount_normalized: "$ref": "#/components/schemas/resource_service/properties/expense_billable_amount_normalized" expense_tracking_enabled: "$ref": "#/components/schemas/resource_service/properties/expense_tracking_enabled" future_booked_time: "$ref": "#/components/schemas/resource_service/properties/future_booked_time" future_budget_used: "$ref": "#/components/schemas/resource_service/properties/future_budget_used" future_budget_used_default: "$ref": "#/components/schemas/resource_service/properties/future_budget_used_default" future_budget_used_normalized: "$ref": "#/components/schemas/resource_service/properties/future_budget_used_normalized" future_cost: "$ref": "#/components/schemas/resource_service/properties/future_cost" future_cost_default: "$ref": "#/components/schemas/resource_service/properties/future_cost_default" future_cost_normalized: "$ref": "#/components/schemas/resource_service/properties/future_cost_normalized" future_revenue: "$ref": "#/components/schemas/resource_service/properties/future_revenue" future_revenue_default: "$ref": "#/components/schemas/resource_service/properties/future_revenue_default" future_revenue_normalized: "$ref": "#/components/schemas/resource_service/properties/future_revenue_normalized" initial_service_id: "$ref": "#/components/schemas/resource_service/properties/initial_service_id" limitation_type: "$ref": "#/components/schemas/resource_service/properties/limitation_type" markup: anyOf: - "$ref": "#/components/schemas/resource_service/properties/markup" - type: string title: String - type: 'null' title: 'Null' markup_amount: "$ref": "#/components/schemas/resource_service/properties/markup_amount" markup_amount_default: "$ref": "#/components/schemas/resource_service/properties/markup_amount_default" markup_amount_normalized: "$ref": "#/components/schemas/resource_service/properties/markup_amount_normalized" name: "$ref": "#/components/schemas/resource_service/properties/name" origin_service_id: anyOf: - "$ref": "#/components/schemas/resource_service/properties/origin_service_id" - type: 'null' title: 'Null' overtime_time: "$ref": "#/components/schemas/resource_service/properties/overtime_time" position: "$ref": "#/components/schemas/resource_service/properties/position" price: "$ref": "#/components/schemas/resource_service/properties/price" price_default: "$ref": "#/components/schemas/resource_service/properties/price_default" price_normalized: "$ref": "#/components/schemas/resource_service/properties/price_normalized" profit: type: number profit_default: "$ref": "#/components/schemas/resource_service/properties/profit_default" profit_margin: anyOf: - "$ref": "#/components/schemas/resource_service/properties/profit_margin" - type: string title: String - type: 'null' title: 'Null' profit_normalized: "$ref": "#/components/schemas/resource_service/properties/profit_normalized" projected_revenue: "$ref": "#/components/schemas/resource_service/properties/projected_revenue" projected_revenue_default: "$ref": "#/components/schemas/resource_service/properties/projected_revenue_default" projected_revenue_normalized: "$ref": "#/components/schemas/resource_service/properties/projected_revenue_normalized" quantity: anyOf: - "$ref": "#/components/schemas/resource_service/properties/quantity" - type: string title: String - type: 'null' title: 'Null' revenue: "$ref": "#/components/schemas/resource_service/properties/revenue" revenue_default: "$ref": "#/components/schemas/resource_service/properties/revenue_default" revenue_normalized: "$ref": "#/components/schemas/resource_service/properties/revenue_normalized" rolled_over_time: "$ref": "#/components/schemas/resource_service/properties/rolled_over_time" time_tracking_enabled: "$ref": "#/components/schemas/resource_service/properties/time_tracking_enabled" unapproved_time: "$ref": "#/components/schemas/resource_service/properties/unapproved_time" unit_id: "$ref": "#/components/schemas/resource_service/properties/unit_id" work_cost: "$ref": "#/components/schemas/resource_service/properties/work_cost" work_cost_default: "$ref": "#/components/schemas/resource_service/properties/work_cost_default" work_cost_normalized: "$ref": "#/components/schemas/resource_service/properties/work_cost_normalized" worked_time: "$ref": "#/components/schemas/resource_service/properties/worked_time" id: type: string relationships: type: object properties: custom_field_attachments: "$ref": "#/components/schemas/_collection_relationship" custom_field_people: "$ref": "#/components/schemas/_collection_relationship" deal: "$ref": "#/components/schemas/_single_relationship" import: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" section: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" type: enum: - services type: string required: - id - type _response_object_service_assignment: type: object title: Service assignment properties: attributes: type: object properties: {} id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" type: enum: - service_assignments type: string required: - id - type _response_object_service_report: type: object title: Service report properties: attributes: type: object properties: average_actual_rate: "$ref": "#/components/schemas/resource_service_report/properties/average_actual_rate" average_actual_rate_default: "$ref": "#/components/schemas/resource_service_report/properties/average_actual_rate_default" average_actual_rate_normalized: "$ref": "#/components/schemas/resource_service_report/properties/average_actual_rate_normalized" average_budget_usage: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/average_budget_usage" - type: 'null' title: 'Null' average_budget_usage_default: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/average_budget_usage_default" - type: 'null' title: 'Null' average_budget_usage_normalized: "$ref": "#/components/schemas/resource_service_report/properties/average_budget_usage_normalized" average_discount: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/average_discount" - type: 'null' title: 'Null' average_forecasted_budget_usage: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/average_forecasted_budget_usage" - type: 'null' title: 'Null' average_forecasted_budget_usage_default: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/average_forecasted_budget_usage_default" - type: 'null' title: 'Null' average_forecasted_budget_usage_normalized: "$ref": "#/components/schemas/resource_service_report/properties/average_forecasted_budget_usage_normalized" average_forecasted_time_usage: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/average_forecasted_time_usage" - type: 'null' title: 'Null' average_markup: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/average_markup" - type: 'null' title: 'Null' average_profit_margin: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/average_profit_margin" - type: 'null' title: 'Null' average_profit_margin_default: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/average_profit_margin_default" - type: 'null' title: 'Null' average_profit_margin_normalized: "$ref": "#/components/schemas/resource_service_report/properties/average_profit_margin_normalized" average_retainer_interval_count: "$ref": "#/components/schemas/resource_service_report/properties/average_retainer_interval_count" billable: "$ref": "#/components/schemas/resource_service_report/properties/billable" billing_type: "$ref": "#/components/schemas/resource_service_report/properties/billing_type" booking_tracking_enabled: type: boolean budget_cap_enabled: type: boolean budget_custom_fields: type: object budget_status: "$ref": "#/components/schemas/resource_service_report/properties/budget_status" count: "$ref": "#/components/schemas/resource_service_report/properties/count" currency: "$ref": "#/components/schemas/resource_service_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_service_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_service_report/properties/currency_normalized" custom_fields: type: object date_period: "$ref": "#/components/schemas/resource_service_report/properties/date_period" deal_custom_fields: type: object expense_tracking_enabled: type: boolean formula_fields: "$ref": "#/components/schemas/resource_service_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_service_report/properties/group" limitation_type: "$ref": "#/components/schemas/resource_service_report/properties/limitation_type" project_type: "$ref": "#/components/schemas/resource_service_report/properties/project_type" recurring: type: boolean section_name: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/section_name" - type: 'null' title: 'Null' stage_status_id: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/stage_status_id" - type: 'null' title: 'Null' stage_type: "$ref": "#/components/schemas/resource_service_report/properties/stage_type" time_tracking_enabled: type: boolean total_billable_time: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/total_billable_time" - type: string title: String - type: 'null' title: 'Null' total_booked_time: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/total_booked_time" - type: string title: String - type: 'null' title: 'Null' total_budget_remaining: "$ref": "#/components/schemas/resource_service_report/properties/total_budget_remaining" total_budget_remaining_default: "$ref": "#/components/schemas/resource_service_report/properties/total_budget_remaining_default" total_budget_remaining_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_budget_remaining_normalized" total_budget_total: "$ref": "#/components/schemas/resource_service_report/properties/total_budget_total" total_budget_total_default: "$ref": "#/components/schemas/resource_service_report/properties/total_budget_total_default" total_budget_total_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_budget_total_normalized" total_budget_used: "$ref": "#/components/schemas/resource_service_report/properties/total_budget_used" total_budget_used_default: "$ref": "#/components/schemas/resource_service_report/properties/total_budget_used_default" total_budget_used_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_budget_used_normalized" total_budgeted_time: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/total_budgeted_time" - type: string title: String - type: 'null' title: 'Null' total_cost: "$ref": "#/components/schemas/resource_service_report/properties/total_cost" total_cost_default: "$ref": "#/components/schemas/resource_service_report/properties/total_cost_default" total_cost_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_cost_normalized" total_discount_amount: "$ref": "#/components/schemas/resource_service_report/properties/total_discount_amount" total_discount_amount_default: "$ref": "#/components/schemas/resource_service_report/properties/total_discount_amount_default" total_discount_amount_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_discount_amount_normalized" total_estimated_cost: "$ref": "#/components/schemas/resource_service_report/properties/total_estimated_cost" total_estimated_cost_default: "$ref": "#/components/schemas/resource_service_report/properties/total_estimated_cost_default" total_estimated_cost_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_estimated_cost_normalized" total_estimated_remaining_time: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/total_estimated_remaining_time" - type: string title: String - type: 'null' title: 'Null' total_estimated_time: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/total_estimated_time" - type: string title: String - type: 'null' title: 'Null' total_expense_cost: "$ref": "#/components/schemas/resource_service_report/properties/total_expense_cost" total_expense_cost_default: "$ref": "#/components/schemas/resource_service_report/properties/total_expense_cost_default" total_expense_cost_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_expense_cost_normalized" total_forecasted_billable_time: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/total_forecasted_billable_time" - type: string title: String - type: 'null' title: 'Null' total_forecasted_budget_used: "$ref": "#/components/schemas/resource_service_report/properties/total_forecasted_budget_used" total_forecasted_budget_used_default: "$ref": "#/components/schemas/resource_service_report/properties/total_forecasted_budget_used_default" total_forecasted_budget_used_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_forecasted_budget_used_normalized" total_future_booked_time: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/total_future_booked_time" - type: string title: String - type: 'null' title: 'Null' total_future_budget_used: "$ref": "#/components/schemas/resource_service_report/properties/total_future_budget_used" total_future_budget_used_default: "$ref": "#/components/schemas/resource_service_report/properties/total_future_budget_used_default" total_future_budget_used_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_future_budget_used_normalized" total_left_to_schedule_time: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/total_left_to_schedule_time" - type: string title: String - type: 'null' title: 'Null' total_markup_amount: "$ref": "#/components/schemas/resource_service_report/properties/total_markup_amount" total_markup_amount_default: "$ref": "#/components/schemas/resource_service_report/properties/total_markup_amount_default" total_markup_amount_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_markup_amount_normalized" total_overtime_time: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/total_overtime_time" - type: string title: String - type: 'null' title: 'Null' total_price: "$ref": "#/components/schemas/resource_service_report/properties/total_price" total_price_default: "$ref": "#/components/schemas/resource_service_report/properties/total_price_default" total_price_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_price_normalized" total_profit: "$ref": "#/components/schemas/resource_service_report/properties/total_profit" total_profit_default: "$ref": "#/components/schemas/resource_service_report/properties/total_profit_default" total_profit_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_profit_normalized" total_projected_revenue: "$ref": "#/components/schemas/resource_service_report/properties/total_projected_revenue" total_projected_revenue_default: "$ref": "#/components/schemas/resource_service_report/properties/total_projected_revenue_default" total_projected_revenue_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_projected_revenue_normalized" total_recognized_revenue: "$ref": "#/components/schemas/resource_service_report/properties/total_recognized_revenue" total_recognized_revenue_default: "$ref": "#/components/schemas/resource_service_report/properties/total_recognized_revenue_default" total_recognized_revenue_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_recognized_revenue_normalized" total_remaining_scheduled_time: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/total_remaining_scheduled_time" - type: string title: String - type: 'null' title: 'Null' total_revenue: "$ref": "#/components/schemas/resource_service_report/properties/total_revenue" total_revenue_default: "$ref": "#/components/schemas/resource_service_report/properties/total_revenue_default" total_revenue_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_revenue_normalized" total_rolled_over_time: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/total_rolled_over_time" - type: string title: String - type: 'null' title: 'Null' total_unapproved_time: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/total_unapproved_time" - type: string title: String - type: 'null' title: 'Null' total_worked_cost: "$ref": "#/components/schemas/resource_service_report/properties/total_worked_cost" total_worked_cost_default: "$ref": "#/components/schemas/resource_service_report/properties/total_worked_cost_default" total_worked_cost_normalized: "$ref": "#/components/schemas/resource_service_report/properties/total_worked_cost_normalized" total_worked_time: anyOf: - "$ref": "#/components/schemas/resource_service_report/properties/total_worked_time" - type: string title: String - type: 'null' title: 'Null' unit: "$ref": "#/components/schemas/resource_service_report/properties/unit" id: type: string relationships: type: object properties: budget: "$ref": "#/components/schemas/_single_relationship" company: "$ref": "#/components/schemas/_single_relationship" company_report: "$ref": "#/components/schemas/_single_relationship" contract: "$ref": "#/components/schemas/_single_relationship" deal_or_budget_report: "$ref": "#/components/schemas/_single_relationship" deal_status: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" origin_deal: "$ref": "#/components/schemas/_single_relationship" origin_deal_report: "$ref": "#/components/schemas/_single_relationship" owner_report: "$ref": "#/components/schemas/_single_relationship" pipeline: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" project_report: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" responsible: "$ref": "#/components/schemas/_single_relationship" section: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - service_reports type: string required: - id - type _response_object_service_suggestion: type: object title: Service suggestion properties: attributes: type: object properties: date: "$ref": "#/components/schemas/resource_service_suggestion/properties/date" time: anyOf: - "$ref": "#/components/schemas/resource_service_suggestion/properties/time" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" task: "$ref": "#/components/schemas/_single_relationship" type: enum: - service_suggestions type: string required: - id - type _response_object_service_type_assignment: type: object title: Service type assignment properties: attributes: type: object properties: {} id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" type: enum: - service_type_assignments type: string required: - id - type _response_object_session: type: object title: Session properties: attributes: type: object properties: agent_avatar: "$ref": "#/components/schemas/resource_session/properties/agent_avatar" agent_first_name: "$ref": "#/components/schemas/resource_session/properties/agent_first_name" agent_last_name: "$ref": "#/components/schemas/resource_session/properties/agent_last_name" browser: anyOf: - "$ref": "#/components/schemas/resource_session/properties/browser" - type: 'null' title: 'Null' device: anyOf: - "$ref": "#/components/schemas/resource_session/properties/device" - type: 'null' title: 'Null' last_activity_at: "$ref": "#/components/schemas/resource_session/properties/last_activity_at" last_ip: anyOf: - "$ref": "#/components/schemas/resource_session/properties/last_ip" - type: 'null' title: 'Null' location: anyOf: - "$ref": "#/components/schemas/resource_session/properties/location" - type: 'null' title: 'Null' machine: "$ref": "#/components/schemas/resource_session/properties/machine" name: anyOf: - "$ref": "#/components/schemas/resource_session/properties/name" - type: 'null' title: 'Null' note: anyOf: - "$ref": "#/components/schemas/resource_session/properties/note" - type: 'null' title: 'Null' platform: anyOf: - "$ref": "#/components/schemas/resource_session/properties/platform" - type: 'null' title: 'Null' read_only: "$ref": "#/components/schemas/resource_session/properties/read_only" single_sign_on: "$ref": "#/components/schemas/resource_session/properties/single_sign_on" token: "$ref": "#/components/schemas/resource_session/properties/token" token_expires_at: anyOf: - "$ref": "#/components/schemas/resource_session/properties/token_expires_at" - type: 'null' title: 'Null' two_factor_auth: "$ref": "#/components/schemas/resource_session/properties/two_factor_auth" user_id: "$ref": "#/components/schemas/resource_session/properties/user_id" id: type: string relationships: type: object properties: user: "$ref": "#/components/schemas/_single_relationship" type: enum: - sessions type: string required: - id - type _response_object_shortened_link: type: object title: Shortened link properties: attributes: type: object properties: short_url: "$ref": "#/components/schemas/resource_shortened_link/properties/short_url" token: "$ref": "#/components/schemas/resource_shortened_link/properties/token" url: "$ref": "#/components/schemas/resource_shortened_link/properties/url" id: type: string type: enum: - shortened_links type: string required: - id - type _response_object_signup: type: object title: Signup properties: attributes: type: object properties: blocked: "$ref": "#/components/schemas/resource_signup/properties/blocked" country: anyOf: - "$ref": "#/components/schemas/resource_signup/properties/country" - type: 'null' title: 'Null' email: "$ref": "#/components/schemas/resource_signup/properties/email" ip: anyOf: - "$ref": "#/components/schemas/resource_signup/properties/ip" - type: 'null' title: 'Null' time_zone: anyOf: - "$ref": "#/components/schemas/resource_signup/properties/time_zone" - type: 'null' title: 'Null' user: "$ref": "#/components/schemas/resource_signup/properties/user" verified_at: anyOf: - "$ref": "#/components/schemas/resource_signup/properties/verified_at" - type: 'null' title: 'Null' id: type: string type: enum: - signups type: string required: - id - type _response_object_skill: type: object title: Skill properties: attributes: type: object properties: auto_load: "$ref": "#/components/schemas/resource_skill/properties/auto_load" created_at: "$ref": "#/components/schemas/resource_skill/properties/created_at" description: "$ref": "#/components/schemas/resource_skill/properties/description" instructions: anyOf: - "$ref": "#/components/schemas/resource_skill/properties/instructions" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_skill/properties/name" smart_action_locations: "$ref": "#/components/schemas/resource_skill/properties/smart_action_locations" updated_at: "$ref": "#/components/schemas/resource_skill/properties/updated_at" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" memberships: "$ref": "#/components/schemas/_collection_relationship" type: enum: - skills type: string required: - id - type _response_object_slack_channel: type: object title: Slack channel properties: attributes: type: object properties: is_archived: "$ref": "#/components/schemas/resource_slack_channel/properties/is_archived" is_ext_shared: "$ref": "#/components/schemas/resource_slack_channel/properties/is_ext_shared" name: "$ref": "#/components/schemas/resource_slack_channel/properties/name" private: "$ref": "#/components/schemas/resource_slack_channel/properties/private" id: type: string type: enum: - slack_channels type: string required: - id - type _response_object_sso_configuration: type: object title: Sso configuration properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_sso_configuration/properties/created_at" deleted_at: "$ref": "#/components/schemas/resource_sso_configuration/properties/deleted_at" force_sso_login: "$ref": "#/components/schemas/resource_sso_configuration/properties/force_sso_login" metadata: "$ref": "#/components/schemas/resource_sso_configuration/properties/metadata" metadata_url: "$ref": "#/components/schemas/resource_sso_configuration/properties/metadata_url" target_url: "$ref": "#/components/schemas/resource_sso_configuration/properties/target_url" updated_at: "$ref": "#/components/schemas/resource_sso_configuration/properties/updated_at" url: "$ref": "#/components/schemas/resource_sso_configuration/properties/url" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - sso_configurations type: string required: - id - type _response_object_subsidiary: type: object title: Subsidiary properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/archived_at" - type: 'null' title: 'Null' export_integration_type_id: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/export_integration_type_id" - type: 'null' title: 'Null' facility_costs: "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs" facility_costs_breakdown: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs_breakdown" - type: 'null' title: 'Null' facility_costs_default: "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs_default" facility_costs_normalized: "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs_normalized" invoice_logo_url: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_logo_url" - type: 'null' title: 'Null' invoice_number_format: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_number_format" - type: 'null' title: 'Null' invoice_number_scope: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_number_scope" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_subsidiary/properties/name" show_delivery_date: "$ref": "#/components/schemas/resource_subsidiary/properties/show_delivery_date" id: type: string relationships: type: object properties: bill_from: "$ref": "#/components/schemas/_single_relationship" custom_domain: "$ref": "#/components/schemas/_single_relationship" default_bank_account: "$ref": "#/components/schemas/_single_relationship" default_document_type: "$ref": "#/components/schemas/_single_relationship" default_tax_rate: "$ref": "#/components/schemas/_single_relationship" einvoice_configuration: "$ref": "#/components/schemas/_single_relationship" einvoice_identity: "$ref": "#/components/schemas/_single_relationship" integration: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - subsidiaries type: string required: - id - type _response_object_survey_field: type: object title: Survey field properties: attributes: type: object properties: aggregation_type_id: anyOf: - "$ref": "#/components/schemas/resource_survey_field/properties/aggregation_type_id" - type: 'null' title: 'Null' archived_at: anyOf: - "$ref": "#/components/schemas/resource_survey_field/properties/archived_at" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_survey_field/properties/created_at" customizable_type: "$ref": "#/components/schemas/resource_survey_field/properties/customizable_type" data_type_id: "$ref": "#/components/schemas/resource_survey_field/properties/data_type_id" formatting_type_id: anyOf: - "$ref": "#/components/schemas/resource_survey_field/properties/formatting_type_id" - type: 'null' title: 'Null' global: anyOf: - "$ref": "#/components/schemas/resource_survey_field/properties/global" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_survey_field/properties/name" position: "$ref": "#/components/schemas/resource_survey_field/properties/position" quick_add_enabled: "$ref": "#/components/schemas/resource_survey_field/properties/quick_add_enabled" required: "$ref": "#/components/schemas/resource_survey_field/properties/required" sensitive: "$ref": "#/components/schemas/resource_survey_field/properties/sensitive" show_in_add_edit_views: "$ref": "#/components/schemas/resource_survey_field/properties/show_in_add_edit_views" updated_at: "$ref": "#/components/schemas/resource_survey_field/properties/updated_at" id: type: string relationships: type: object properties: custom_field_people: "$ref": "#/components/schemas/_collection_relationship" options: "$ref": "#/components/schemas/_collection_relationship" organization: "$ref": "#/components/schemas/_single_relationship" origin_field: "$ref": "#/components/schemas/_single_relationship" survey: "$ref": "#/components/schemas/_single_relationship" type: enum: - survey_fields type: string required: - id - type _response_object_survey_field_option: type: object title: Survey field option properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_survey_field_option/properties/archived_at" - type: 'null' title: 'Null' color_id: anyOf: - type: string title: String - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_survey_field_option/properties/name" position: "$ref": "#/components/schemas/resource_survey_field_option/properties/position" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" survey_field: "$ref": "#/components/schemas/_single_relationship" type: enum: - survey_field_options type: string required: - id - type _response_object_survey_report: type: object title: Survey report properties: attributes: type: object properties: count: "$ref": "#/components/schemas/resource_survey_report/properties/count" created_at: "$ref": "#/components/schemas/resource_survey_report/properties/created_at" currency: "$ref": "#/components/schemas/resource_survey_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_survey_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_survey_report/properties/currency_normalized" formula_fields: "$ref": "#/components/schemas/resource_survey_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_survey_report/properties/group" title: "$ref": "#/components/schemas/resource_survey_report/properties/title" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" survey: "$ref": "#/components/schemas/_single_relationship" updater: "$ref": "#/components/schemas/_single_relationship" type: enum: - survey_reports type: string required: - id - type _response_object_survey_response: type: object title: Survey response properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_survey_response/properties/created_at" survey_fields: "$ref": "#/components/schemas/resource_survey_response/properties/survey_fields" updated_at: "$ref": "#/components/schemas/resource_survey_response/properties/updated_at" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" custom_field_attachments: "$ref": "#/components/schemas/_collection_relationship" organization: "$ref": "#/components/schemas/_single_relationship" survey: "$ref": "#/components/schemas/_single_relationship" type: enum: - survey_responses type: string required: - id - type _response_object_tag: type: object title: Tag properties: attributes: type: object properties: color_id: anyOf: - type: string title: String - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_tag/properties/name" id: type: string relationships: type: object properties: {} type: enum: - tags type: string required: - id - type _response_object_task_dependency: type: object title: Task dependency properties: attributes: type: object properties: type_id: "$ref": "#/components/schemas/resource_task_dependency/properties/type_id" id: type: string relationships: type: object properties: dependent_task: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" reverse_dependency: "$ref": "#/components/schemas/_single_relationship" task: "$ref": "#/components/schemas/_single_relationship" type: enum: - task_dependencies type: string required: - id - type _response_object_task_list: type: object title: Task list properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_task_list/properties/archived_at" - type: 'null' title: 'Null' email_key: "$ref": "#/components/schemas/resource_task_list/properties/email_key" name: "$ref": "#/components/schemas/resource_task_list/properties/name" placement: anyOf: - "$ref": "#/components/schemas/resource_task_list/properties/placement" - type: 'null' title: 'Null' position: anyOf: - "$ref": "#/components/schemas/resource_task_list/properties/position" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: folder: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" type: enum: - task_lists type: string required: - id - type _response_object_task_report: type: object title: Task report properties: attributes: type: object properties: closed_at_period: "$ref": "#/components/schemas/resource_task_report/properties/closed_at_period" count: "$ref": "#/components/schemas/resource_task_report/properties/count" created_at_period: "$ref": "#/components/schemas/resource_task_report/properties/created_at_period" currency: "$ref": "#/components/schemas/resource_task_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_task_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_task_report/properties/currency_normalized" custom_fields: type: object due_date_period: "$ref": "#/components/schemas/resource_task_report/properties/due_date_period" formula_fields: "$ref": "#/components/schemas/resource_task_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_task_report/properties/group" last_activity_at_period: "$ref": "#/components/schemas/resource_task_report/properties/last_activity_at_period" month: "$ref": "#/components/schemas/resource_task_report/properties/month" quarter: "$ref": "#/components/schemas/resource_task_report/properties/quarter" repeating: "$ref": "#/components/schemas/resource_task_report/properties/repeating" start_date_period: "$ref": "#/components/schemas/resource_task_report/properties/start_date_period" status: "$ref": "#/components/schemas/resource_task_report/properties/status" total_billable_time: anyOf: - "$ref": "#/components/schemas/resource_task_report/properties/total_billable_time" - type: string title: String total_booked_time: anyOf: - "$ref": "#/components/schemas/resource_task_report/properties/total_booked_time" - type: string title: String total_estimate_at_completion: anyOf: - "$ref": "#/components/schemas/resource_task_report/properties/total_estimate_at_completion" - type: string title: String total_estimation_offset_time: "$ref": "#/components/schemas/resource_task_report/properties/total_estimation_offset_time" total_future_booked_time: anyOf: - "$ref": "#/components/schemas/resource_task_report/properties/total_future_booked_time" - type: string title: String total_initial_estimate: anyOf: - "$ref": "#/components/schemas/resource_task_report/properties/total_initial_estimate" - type: string title: String total_left_to_schedule_time: anyOf: - "$ref": "#/components/schemas/resource_task_report/properties/total_left_to_schedule_time" - type: string title: String total_net_unplanned_time: anyOf: - "$ref": "#/components/schemas/resource_task_report/properties/total_net_unplanned_time" - type: string title: String total_remaining_time: anyOf: - "$ref": "#/components/schemas/resource_task_report/properties/total_remaining_time" - type: string title: String total_worked_time: anyOf: - "$ref": "#/components/schemas/resource_task_report/properties/total_worked_time" - type: string title: String week: "$ref": "#/components/schemas/resource_task_report/properties/week" workflow_status_category_id: "$ref": "#/components/schemas/resource_task_report/properties/workflow_status_category_id" year: "$ref": "#/components/schemas/resource_task_report/properties/year" id: type: string relationships: type: object properties: assignee: "$ref": "#/components/schemas/_single_relationship" assignee_report: "$ref": "#/components/schemas/_single_relationship" company: "$ref": "#/components/schemas/_single_relationship" company_report: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" creator_report: "$ref": "#/components/schemas/_single_relationship" folder: "$ref": "#/components/schemas/_single_relationship" last_actor: "$ref": "#/components/schemas/_single_relationship" last_actor_report: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" parent_task: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" project_report: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" task: "$ref": "#/components/schemas/_single_relationship" task_list: "$ref": "#/components/schemas/_single_relationship" workflow: "$ref": "#/components/schemas/_single_relationship" workflow_status: "$ref": "#/components/schemas/_single_relationship" type: enum: - task_reports type: string required: - id - type _response_object_tax_rate: type: object title: Tax rate properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/archived_at" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_tax_rate/properties/name" primary_component_name: anyOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" - type: 'null' title: 'Null' primary_component_value: anyOf: - type: string title: String - type: 'null' title: 'Null' secondary_component_name: anyOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_name" - type: 'null' title: 'Null' secondary_component_value: anyOf: - type: string title: String - type: 'null' title: 'Null' id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - tax_rates type: string required: - id - type _response_object_team: type: object title: Team properties: attributes: type: object properties: color_id: anyOf: - type: string title: String - type: 'null' title: 'Null' icon_id: anyOf: - "$ref": "#/components/schemas/resource_team/properties/icon_id" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_team/properties/name" id: type: string relationships: type: object properties: members: "$ref": "#/components/schemas/_collection_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - teams type: string required: - id - type _response_object_team_membership: type: object title: Team membership properties: attributes: type: object properties: {} id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" team: "$ref": "#/components/schemas/_single_relationship" type: enum: - team_memberships type: string required: - id - type _response_object_template: type: object title: Template properties: attributes: type: object properties: color_id: anyOf: - "$ref": "#/components/schemas/resource_template/properties/color_id" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_template/properties/created_at" deleted_at: anyOf: - "$ref": "#/components/schemas/resource_template/properties/deleted_at" - type: 'null' title: 'Null' description: anyOf: - "$ref": "#/components/schemas/resource_template/properties/description" - type: 'null' title: 'Null' name: anyOf: - "$ref": "#/components/schemas/resource_template/properties/name" - type: 'null' title: 'Null' target_id: "$ref": "#/components/schemas/resource_template/properties/target_id" target_type: "$ref": "#/components/schemas/resource_template/properties/target_type" updated_at: "$ref": "#/components/schemas/resource_template/properties/updated_at" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" filter: "$ref": "#/components/schemas/_single_relationship" page: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" task: "$ref": "#/components/schemas/_single_relationship" type: enum: - templates type: string required: - id - type _response_object_time_entry: type: object title: Time entry properties: attributes: type: object properties: approved: "$ref": "#/components/schemas/resource_time_entry/properties/approved" approved_at: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/approved_at" - type: 'null' title: 'Null' billable_time: "$ref": "#/components/schemas/resource_time_entry/properties/billable_time" calendar_event_id: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/calendar_event_id" - type: 'null' title: 'Null' cost: "$ref": "#/components/schemas/resource_time_entry/properties/cost" cost_default: "$ref": "#/components/schemas/resource_time_entry/properties/cost_default" cost_normalized: "$ref": "#/components/schemas/resource_time_entry/properties/cost_normalized" created_at: "$ref": "#/components/schemas/resource_time_entry/properties/created_at" currency: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/currency" - type: 'null' title: 'Null' currency_default: "$ref": "#/components/schemas/resource_time_entry/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_time_entry/properties/currency_normalized" date: "$ref": "#/components/schemas/resource_time_entry/properties/date" facility_overhead_cost: "$ref": "#/components/schemas/resource_time_entry/properties/facility_overhead_cost" facility_overhead_cost_default: "$ref": "#/components/schemas/resource_time_entry/properties/facility_overhead_cost_default" facility_overhead_cost_normalized: "$ref": "#/components/schemas/resource_time_entry/properties/facility_overhead_cost_normalized" internal_overhead_cost: "$ref": "#/components/schemas/resource_time_entry/properties/internal_overhead_cost" internal_overhead_cost_default: "$ref": "#/components/schemas/resource_time_entry/properties/internal_overhead_cost_default" internal_overhead_cost_normalized: "$ref": "#/components/schemas/resource_time_entry/properties/internal_overhead_cost_normalized" invoice_attribution_id: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/invoice_attribution_id" - type: 'null' title: 'Null' invoiced: "$ref": "#/components/schemas/resource_time_entry/properties/invoiced" jira_issue_id: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/jira_issue_id" - type: 'null' title: 'Null' jira_issue_status: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/jira_issue_status" - type: 'null' title: 'Null' jira_issue_summary: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/jira_issue_summary" - type: 'null' title: 'Null' jira_organization: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/jira_organization" - type: 'null' title: 'Null' jira_worklog_id: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/jira_worklog_id" - type: 'null' title: 'Null' last_activity_at: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/last_activity_at" - type: 'null' title: 'Null' note: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/note" - type: 'null' title: 'Null' overhead: "$ref": "#/components/schemas/resource_time_entry/properties/overhead" overhead_cost: "$ref": "#/components/schemas/resource_time_entry/properties/overhead_cost" overhead_cost_default: "$ref": "#/components/schemas/resource_time_entry/properties/overhead_cost_default" overhead_cost_normalized: "$ref": "#/components/schemas/resource_time_entry/properties/overhead_cost_normalized" recognized_time: "$ref": "#/components/schemas/resource_time_entry/properties/recognized_time" rejected: "$ref": "#/components/schemas/resource_time_entry/properties/rejected" rejected_at: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/rejected_at" - type: 'null' title: 'Null' rejected_reason: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/rejected_reason" - type: 'null' title: 'Null' started_at: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/started_at" - type: 'null' title: 'Null' submitted: "$ref": "#/components/schemas/resource_time_entry/properties/submitted" time: "$ref": "#/components/schemas/resource_time_entry/properties/time" timer_started_at: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/timer_started_at" - type: 'null' title: 'Null' timer_stopped_at: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/timer_stopped_at" - type: 'null' title: 'Null' track_method_id: "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" updated_at: "$ref": "#/components/schemas/resource_time_entry/properties/updated_at" work_cost: "$ref": "#/components/schemas/resource_time_entry/properties/work_cost" work_cost_default: "$ref": "#/components/schemas/resource_time_entry/properties/work_cost_default" work_cost_normalized: "$ref": "#/components/schemas/resource_time_entry/properties/work_cost_normalized" id: type: string relationships: type: object properties: approval_statuses: "$ref": "#/components/schemas/_collection_relationship" approver: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" deal_subsidiary: "$ref": "#/components/schemas/_single_relationship" invoice_attribution: "$ref": "#/components/schemas/_single_relationship" last_actor: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" person_subsidiary: "$ref": "#/components/schemas/_single_relationship" rejecter: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" task: "$ref": "#/components/schemas/_single_relationship" timesheet: "$ref": "#/components/schemas/_single_relationship" updater: "$ref": "#/components/schemas/_single_relationship" type: enum: - time_entries type: string required: - id - type _response_object_time_entry_report: type: object title: Time entry report properties: attributes: type: object properties: approved_at_period: "$ref": "#/components/schemas/resource_time_entry_report/properties/approved_at_period" autotracked: "$ref": "#/components/schemas/resource_time_entry_report/properties/autotracked" average_blended_rate: "$ref": "#/components/schemas/resource_time_entry_report/properties/average_blended_rate" average_blended_rate_default: "$ref": "#/components/schemas/resource_time_entry_report/properties/average_blended_rate_default" average_blended_rate_normalized: "$ref": "#/components/schemas/resource_time_entry_report/properties/average_blended_rate_normalized" average_recognized_margin: anyOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/average_recognized_margin" - type: 'null' title: 'Null' billing_type: "$ref": "#/components/schemas/resource_time_entry_report/properties/billing_type" count: "$ref": "#/components/schemas/resource_time_entry_report/properties/count" created_at_period: "$ref": "#/components/schemas/resource_time_entry_report/properties/created_at_period" currency: "$ref": "#/components/schemas/resource_time_entry_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_time_entry_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_time_entry_report/properties/currency_normalized" custom_fields: "$ref": "#/components/schemas/resource_time_entry_report/properties/custom_fields" date_period: "$ref": "#/components/schemas/resource_time_entry_report/properties/date_period" day: "$ref": "#/components/schemas/resource_time_entry_report/properties/day" ended_at: anyOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/ended_at" - type: 'null' title: 'Null' ended_at_period: "$ref": "#/components/schemas/resource_time_entry_report/properties/ended_at_period" formula_fields: "$ref": "#/components/schemas/resource_time_entry_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_time_entry_report/properties/group" intercompany_hours: "$ref": "#/components/schemas/resource_time_entry_report/properties/intercompany_hours" invoiced: type: boolean invoicing_status: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoicing_status" jira_issue_id: anyOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_id" - type: 'null' title: 'Null' jira_issue_status: anyOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_status" - type: 'null' title: 'Null' jira_issue_summary: anyOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_summary" - type: 'null' title: 'Null' last_activity_at_period: "$ref": "#/components/schemas/resource_time_entry_report/properties/last_activity_at_period" month: "$ref": "#/components/schemas/resource_time_entry_report/properties/month" overhead: type: boolean people_custom_fields: type: object project_type_id: "$ref": "#/components/schemas/resource_time_entry_report/properties/project_type_id" quarter: "$ref": "#/components/schemas/resource_time_entry_report/properties/quarter" section_name: anyOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/section_name" - type: 'null' title: 'Null' stage_type: "$ref": "#/components/schemas/resource_time_entry_report/properties/stage_type" started_at: anyOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/started_at" - type: 'null' title: 'Null' started_at_period: "$ref": "#/components/schemas/resource_time_entry_report/properties/started_at_period" status: "$ref": "#/components/schemas/resource_time_entry_report/properties/status" total_billable_approved_time: anyOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/total_billable_approved_time" - type: string title: String total_billable_revenue: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_billable_revenue" total_billable_revenue_default: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_billable_revenue_default" total_billable_revenue_normalized: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_billable_revenue_normalized" total_billable_time: anyOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/total_billable_time" - type: string title: String total_cost: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_cost" total_cost_default: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_cost_default" total_cost_normalized: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_cost_normalized" total_facility_overhead_cost: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_facility_overhead_cost" total_facility_overhead_cost_default: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_facility_overhead_cost_default" total_facility_overhead_cost_normalized: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_facility_overhead_cost_normalized" total_internal_overhead_cost: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_internal_overhead_cost" total_internal_overhead_cost_default: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_internal_overhead_cost_default" total_internal_overhead_cost_normalized: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_internal_overhead_cost_normalized" total_overhead_cost: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_overhead_cost" total_overhead_cost_default: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_overhead_cost_default" total_overhead_cost_normalized: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_overhead_cost_normalized" total_recognized_profit: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_recognized_profit" total_recognized_profit_default: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_recognized_profit_default" total_recognized_profit_normalized: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_recognized_profit_normalized" total_recognized_revenue: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_recognized_revenue" total_recognized_revenue_default: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_recognized_revenue_default" total_recognized_revenue_normalized: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_recognized_revenue_normalized" total_recognized_time: anyOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/total_recognized_time" - type: string title: String total_time: anyOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/total_time" - type: string title: String total_work_cost: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_work_cost" total_work_cost_default: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_work_cost_default" total_work_cost_normalized: "$ref": "#/components/schemas/resource_time_entry_report/properties/total_work_cost_normalized" track_method_id: "$ref": "#/components/schemas/resource_time_entry_report/properties/track_method_id" unit_id: "$ref": "#/components/schemas/resource_time_entry_report/properties/unit_id" week: "$ref": "#/components/schemas/resource_time_entry_report/properties/week" year: "$ref": "#/components/schemas/resource_time_entry_report/properties/year" id: type: string relationships: type: object properties: approval_policy: "$ref": "#/components/schemas/_single_relationship" approver: "$ref": "#/components/schemas/_single_relationship" approver_report: "$ref": "#/components/schemas/_single_relationship" budget: "$ref": "#/components/schemas/_single_relationship" company: "$ref": "#/components/schemas/_single_relationship" company_report: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" creator_report: "$ref": "#/components/schemas/_single_relationship" deal_or_budget_report: "$ref": "#/components/schemas/_single_relationship" deal_subsidiary: "$ref": "#/components/schemas/_single_relationship" designated_approver: "$ref": "#/components/schemas/_single_relationship" designated_approver_report: "$ref": "#/components/schemas/_single_relationship" invoice: "$ref": "#/components/schemas/_single_relationship" last_actor: "$ref": "#/components/schemas/_single_relationship" last_actor_report: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" person_report: "$ref": "#/components/schemas/_single_relationship" person_subsidiary: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" project_report: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" responsible: "$ref": "#/components/schemas/_single_relationship" responsible_report: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" service_report: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" task: "$ref": "#/components/schemas/_single_relationship" task_list: "$ref": "#/components/schemas/_single_relationship" task_report: "$ref": "#/components/schemas/_single_relationship" time_entry: "$ref": "#/components/schemas/_single_relationship" type: enum: - time_entry_reports type: string required: - id - type _response_object_time_entry_version: type: object title: Time entry version properties: attributes: type: object properties: changeset: "$ref": "#/components/schemas/resource_time_entry_version/properties/changeset" created_at: "$ref": "#/components/schemas/resource_time_entry_version/properties/created_at" event: "$ref": "#/components/schemas/resource_time_entry_version/properties/event" item_id: "$ref": "#/components/schemas/resource_time_entry_version/properties/item_id" item_name: "$ref": "#/components/schemas/resource_time_entry_version/properties/item_name" item_type: "$ref": "#/components/schemas/resource_time_entry_version/properties/item_type" object_changes: "$ref": "#/components/schemas/resource_time_entry_version/properties/object_changes" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" type: enum: - time_entry_versions type: string required: - id - type _response_object_timer: type: object title: Timer properties: attributes: type: object properties: person_id: "$ref": "#/components/schemas/resource_timer/properties/person_id" started_at: "$ref": "#/components/schemas/resource_timer/properties/started_at" stopped_at: anyOf: - "$ref": "#/components/schemas/resource_timer/properties/stopped_at" - type: 'null' title: 'Null' total_time: "$ref": "#/components/schemas/resource_timer/properties/total_time" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" time_entry: "$ref": "#/components/schemas/_single_relationship" type: enum: - timers type: string required: - id - type _response_object_timesheet: type: object title: Timesheet properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_timesheet/properties/created_at" date: "$ref": "#/components/schemas/resource_timesheet/properties/date" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" type: enum: - timesheets type: string required: - id - type _response_object_timesheet_report: type: object title: Timesheet report properties: attributes: type: object properties: count: "$ref": "#/components/schemas/resource_timesheet_report/properties/count" currency: "$ref": "#/components/schemas/resource_timesheet_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_timesheet_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_timesheet_report/properties/currency_normalized" formula_fields: "$ref": "#/components/schemas/resource_timesheet_report/properties/formula_fields" friday_available: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/friday_available" - type: 'null' title: 'Null' friday_capacity: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/friday_capacity" - type: 'null' title: 'Null' friday_time: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/friday_time" - type: 'null' title: 'Null' group: "$ref": "#/components/schemas/resource_timesheet_report/properties/group" monday_available: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/monday_available" - type: 'null' title: 'Null' monday_capacity: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/monday_capacity" - type: 'null' title: 'Null' monday_time: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/monday_time" - type: 'null' title: 'Null' saturday_available: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/saturday_available" - type: 'null' title: 'Null' saturday_capacity: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/saturday_capacity" - type: 'null' title: 'Null' saturday_time: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/saturday_time" - type: 'null' title: 'Null' sunday_available: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/sunday_available" - type: 'null' title: 'Null' sunday_capacity: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/sunday_capacity" - type: 'null' title: 'Null' sunday_time: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/sunday_time" - type: 'null' title: 'Null' thursday_available: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/thursday_available" - type: 'null' title: 'Null' thursday_capacity: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/thursday_capacity" - type: 'null' title: 'Null' thursday_time: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/thursday_time" - type: 'null' title: 'Null' tuesday_available: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/tuesday_available" - type: 'null' title: 'Null' tuesday_capacity: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/tuesday_capacity" - type: 'null' title: 'Null' tuesday_time: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/tuesday_time" - type: 'null' title: 'Null' wednesday_available: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/wednesday_available" - type: 'null' title: 'Null' wednesday_capacity: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/wednesday_capacity" - type: 'null' title: 'Null' wednesday_time: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/wednesday_time" - type: 'null' title: 'Null' week: "$ref": "#/components/schemas/resource_timesheet_report/properties/week" week_submission_status: "$ref": "#/components/schemas/resource_timesheet_report/properties/week_submission_status" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" type: enum: - timesheet_reports type: string required: - id - type _response_object_todo: type: object title: Todo properties: attributes: type: object properties: closed: "$ref": "#/components/schemas/resource_todo/properties/closed" closed_at: anyOf: - "$ref": "#/components/schemas/resource_todo/properties/closed_at" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_todo/properties/created_at" description: "$ref": "#/components/schemas/resource_todo/properties/description" due_date: anyOf: - "$ref": "#/components/schemas/resource_todo/properties/due_date" - type: 'null' title: 'Null' due_time: anyOf: - type: string title: Due Time pattern: "^\\d{2}:\\d{2}$" description: The time of day the todo is due, as `HH:MM`. - type: 'null' title: 'Null' position: "$ref": "#/components/schemas/resource_todo/properties/position" todoable_type: "$ref": "#/components/schemas/resource_todo/properties/todoable_type" id: type: string relationships: type: object properties: assignee: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" task: "$ref": "#/components/schemas/_single_relationship" type: enum: - todos type: string required: - id - type _response_object_two_factor_authentication: type: object title: Two Factor Authentication properties: attributes: type: object properties: email: anyOf: - "$ref": "#/components/schemas/resource_two_factor_authentication/properties/email" - type: 'null' title: 'Null' recovery_codes: "$ref": "#/components/schemas/resource_two_factor_authentication/properties/recovery_codes" two_factor_auth: "$ref": "#/components/schemas/resource_two_factor_authentication/properties/two_factor_auth" two_factor_provisioning_uri: "$ref": "#/components/schemas/resource_two_factor_authentication/properties/two_factor_provisioning_uri" two_factor_secret: anyOf: - "$ref": "#/components/schemas/resource_two_factor_authentication/properties/two_factor_secret" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: user: "$ref": "#/components/schemas/_single_relationship" type: enum: - two_factor_authentications type: string required: - id - type _response_object_user: type: object title: User properties: attributes: type: object properties: account_access_expires_at: anyOf: - "$ref": "#/components/schemas/resource_user/properties/account_access_expires_at" - type: 'null' title: 'Null' avatar_url: anyOf: - "$ref": "#/components/schemas/resource_user/properties/avatar_url" - type: 'null' title: 'Null' default_organization_id: anyOf: - "$ref": "#/components/schemas/resource_user/properties/default_organization_id" - type: 'null' title: 'Null' default_organization_slug: "$ref": "#/components/schemas/resource_user/properties/default_organization_slug" email: "$ref": "#/components/schemas/resource_user/properties/email" first_name: "$ref": "#/components/schemas/resource_user/properties/first_name" flags: "$ref": "#/components/schemas/resource_user/properties/flags" ical_token: anyOf: - "$ref": "#/components/schemas/resource_user/properties/ical_token" - type: 'null' title: 'Null' intercom_hash: "$ref": "#/components/schemas/resource_user/properties/intercom_hash" last_name: "$ref": "#/components/schemas/resource_user/properties/last_name" locale: "$ref": "#/components/schemas/resource_user/properties/locale" newsletter_consent: "$ref": "#/components/schemas/resource_user/properties/newsletter_consent" newsletter_consent_at: anyOf: - "$ref": "#/components/schemas/resource_user/properties/newsletter_consent_at" - type: 'null' title: 'Null' preferences: anyOf: - "$ref": "#/components/schemas/resource_user/properties/preferences" - type: 'null' title: 'Null' slack_product_updates: "$ref": "#/components/schemas/resource_user/properties/slack_product_updates" sso_provision: "$ref": "#/components/schemas/resource_user/properties/sso_provision" sysadmin: "$ref": "#/components/schemas/resource_user/properties/sysadmin" sysadmin_permissions: type: array items: type: string time_zone: anyOf: - "$ref": "#/components/schemas/resource_user/properties/time_zone" - type: 'null' title: 'Null' two_factor_auth: "$ref": "#/components/schemas/resource_user/properties/two_factor_auth" updated_at: "$ref": "#/components/schemas/resource_user/properties/updated_at" id: type: string relationships: type: object properties: {} type: enum: - users type: string required: - id - type _response_object_webhook: type: object title: Webhook properties: attributes: type: object properties: custom_headers: anyOf: - "$ref": "#/components/schemas/resource_webhook/properties/custom_headers" - type: 'null' title: 'Null' deactivated_at: anyOf: - "$ref": "#/components/schemas/resource_webhook/properties/deactivated_at" - type: 'null' title: 'Null' event_id: "$ref": "#/components/schemas/resource_webhook/properties/event_id" name: anyOf: - "$ref": "#/components/schemas/resource_webhook/properties/name" - type: 'null' title: 'Null' retry_attempts: anyOf: - "$ref": "#/components/schemas/resource_webhook/properties/retry_attempts" - type: 'null' title: 'Null' signature_token: "$ref": "#/components/schemas/resource_webhook/properties/signature_token" state_id: "$ref": "#/components/schemas/resource_webhook/properties/state_id" target_url: "$ref": "#/components/schemas/resource_webhook/properties/target_url" test: "$ref": "#/components/schemas/resource_webhook/properties/test" type_id: "$ref": "#/components/schemas/resource_webhook/properties/type_id" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - webhooks type: string required: - id - type _response_object_webhook_log: type: object title: Webhook log properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_webhook_log/properties/created_at" payload: type: object retry_attempt: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_attempt" retry_job_id: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_job_id" status_code: "$ref": "#/components/schemas/resource_webhook_log/properties/status_code" target_url: "$ref": "#/components/schemas/resource_webhook_log/properties/target_url" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" webhook: "$ref": "#/components/schemas/_single_relationship" type: enum: - webhook_logs type: string required: - id - type _response_object_widget: type: object title: Widget properties: attributes: type: object properties: column_position: "$ref": "#/components/schemas/resource_widget/properties/column_position" content: anyOf: - "$ref": "#/components/schemas/resource_widget/properties/content" - type: 'null' title: 'Null' height: "$ref": "#/components/schemas/resource_widget/properties/height" row_position: "$ref": "#/components/schemas/resource_widget/properties/row_position" title: anyOf: - "$ref": "#/components/schemas/resource_widget/properties/title" - type: 'null' title: 'Null' widget_type_id: anyOf: - "$ref": "#/components/schemas/resource_widget/properties/widget_type_id" - type: 'null' title: 'Null' width: "$ref": "#/components/schemas/resource_widget/properties/width" id: type: string relationships: type: object properties: attachments: "$ref": "#/components/schemas/_collection_relationship" dashboard: "$ref": "#/components/schemas/_single_relationship" filter: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - widgets type: string required: - id - type _response_object_workflow: type: object title: Workflow properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_workflow/properties/archived_at" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_workflow/properties/name" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" workflow_statuses: "$ref": "#/components/schemas/_collection_relationship" type: enum: - workflows type: string required: - id - type _response_object_workflow_status: type: object title: Workflow status properties: attributes: type: object properties: category_id: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" color_id: anyOf: - type: string title: String - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_workflow_status/properties/name" position: "$ref": "#/components/schemas/resource_workflow_status/properties/position" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" workflow: "$ref": "#/components/schemas/_single_relationship" type: enum: - workflow_statuses type: string required: - id - type _response_object_workload_item: type: object title: Workload Item properties: attributes: type: object properties: availability: anyOf: - "$ref": "#/components/schemas/resource_workload_item/properties/availability" - type: 'null' title: 'Null' capacity: anyOf: - "$ref": "#/components/schemas/resource_workload_item/properties/capacity" - type: 'null' title: 'Null' daily_task_workload: anyOf: - "$ref": "#/components/schemas/resource_workload_item/properties/daily_task_workload" - type: 'null' title: 'Null' date: "$ref": "#/components/schemas/resource_workload_item/properties/date" task_id: "$ref": "#/components/schemas/resource_workload_item/properties/task_id" time_off: "$ref": "#/components/schemas/resource_workload_item/properties/time_off" workload: anyOf: - "$ref": "#/components/schemas/resource_workload_item/properties/workload" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: person: "$ref": "#/components/schemas/_single_relationship" task: "$ref": "#/components/schemas/_single_relationship" type: enum: - workload_item type: string required: - id - type _scenario_booking_create_attributes: type: object properties: booking_method_id: anyOf: - "$ref": "#/components/schemas/resource_scenario_booking/properties/booking_method_id" - type: 'null' title: 'Null' custom_fields: type: object ended_on: "$ref": "#/components/schemas/resource_scenario_booking/properties/ended_on" note: anyOf: - "$ref": "#/components/schemas/resource_scenario_booking/properties/note" - type: 'null' title: 'Null' percentage: allOf: - "$ref": "#/components/schemas/resource_scenario_booking/properties/percentage" - maximum: 100 minimum: 0 started_on: "$ref": "#/components/schemas/resource_scenario_booking/properties/started_on" time: allOf: - "$ref": "#/components/schemas/resource_scenario_booking/properties/time" - maximum: 1440 total_time: allOf: - "$ref": "#/components/schemas/resource_scenario_booking/properties/total_time" - maximum: 2147483647 required: - started_on - ended_on _scenario_booking_relationships: type: object properties: scenario_item: "$ref": "#/components/schemas/_single_linkage" _scenario_booking_update_attributes: type: object properties: booking_method_id: anyOf: - "$ref": "#/components/schemas/resource_scenario_booking/properties/booking_method_id" - type: 'null' title: 'Null' custom_fields: type: object ended_on: "$ref": "#/components/schemas/resource_scenario_booking/properties/ended_on" note: anyOf: - "$ref": "#/components/schemas/resource_scenario_booking/properties/note" - type: 'null' title: 'Null' percentage: allOf: - "$ref": "#/components/schemas/resource_scenario_booking/properties/percentage" - maximum: 100 minimum: 0 started_on: "$ref": "#/components/schemas/resource_scenario_booking/properties/started_on" time: allOf: - "$ref": "#/components/schemas/resource_scenario_booking/properties/time" - maximum: 1440 total_time: allOf: - "$ref": "#/components/schemas/resource_scenario_booking/properties/total_time" - maximum: 2147483647 _scenario_create_attributes: type: object properties: copy_services: "$ref": "#/components/schemas/resource_scenario/properties/copy_services" end_date: anyOf: - "$ref": "#/components/schemas/resource_scenario/properties/end_date" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_scenario/properties/name" start_date: anyOf: - "$ref": "#/components/schemas/resource_scenario/properties/start_date" - type: 'null' title: 'Null' required: - name _scenario_create_relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage" _scenario_decimal: type: - number - string title: Decimal number _scenario_item_create_attributes: type: object properties: cost: anyOf: - "$ref": "#/components/schemas/_scenario_decimal" - type: 'null' title: 'Null' end_date: anyOf: - "$ref": "#/components/schemas/resource_scenario_item/properties/end_date" - type: 'null' title: 'Null' markup: anyOf: - "$ref": "#/components/schemas/_scenario_decimal" - type: 'null' title: 'Null' name: anyOf: - "$ref": "#/components/schemas/resource_scenario_item/properties/name" - type: 'null' title: 'Null' price: anyOf: - "$ref": "#/components/schemas/_scenario_decimal" - type: 'null' title: 'Null' start_date: anyOf: - "$ref": "#/components/schemas/resource_scenario_item/properties/start_date" - type: 'null' title: 'Null' used_quantity: anyOf: - "$ref": "#/components/schemas/_scenario_decimal" - type: 'null' title: 'Null' _scenario_item_relationships: type: object properties: person: "$ref": "#/components/schemas/_single_linkage_nullable" scenario_service: "$ref": "#/components/schemas/_single_linkage" _scenario_item_update_attributes: type: object properties: cost: anyOf: - "$ref": "#/components/schemas/_scenario_decimal" - type: 'null' title: 'Null' end_date: anyOf: - "$ref": "#/components/schemas/resource_scenario_item/properties/end_date" - type: 'null' title: 'Null' markup: anyOf: - "$ref": "#/components/schemas/_scenario_decimal" - type: 'null' title: 'Null' name: anyOf: - "$ref": "#/components/schemas/resource_scenario_item/properties/name" - type: 'null' title: 'Null' price: anyOf: - "$ref": "#/components/schemas/_scenario_decimal" - type: 'null' title: 'Null' start_date: anyOf: - "$ref": "#/components/schemas/resource_scenario_item/properties/start_date" - type: 'null' title: 'Null' used_quantity: anyOf: - "$ref": "#/components/schemas/_scenario_decimal" - type: 'null' title: 'Null' _scenario_section_create_attributes: type: object properties: editor_config: type: object name: anyOf: - "$ref": "#/components/schemas/resource_scenario_section/properties/name" - type: 'null' title: 'Null' position: anyOf: - "$ref": "#/components/schemas/resource_scenario_section/properties/position" - type: 'null' title: 'Null' preferences: type: object _scenario_section_relationships: type: object properties: scenario: "$ref": "#/components/schemas/_single_linkage" _scenario_section_update_attributes: type: object properties: editor_config: type: object name: anyOf: - "$ref": "#/components/schemas/resource_scenario_section/properties/name" - type: 'null' title: 'Null' position: anyOf: - "$ref": "#/components/schemas/resource_scenario_section/properties/position" - type: 'null' title: 'Null' preferences: type: object _scenario_service_create_attributes: type: object properties: billing_type_id: "$ref": "#/components/schemas/resource_scenario_service/properties/billing_type_id" budget_cap_enabled: "$ref": "#/components/schemas/resource_scenario_service/properties/budget_cap_enabled" description: anyOf: - "$ref": "#/components/schemas/resource_scenario_service/properties/description" - type: 'null' title: 'Null' discount: anyOf: - allOf: - "$ref": "#/components/schemas/_scenario_decimal" - maximum: 100 minimum: 0 title: Value - type: 'null' title: 'Null' discount_amount: anyOf: - allOf: - "$ref": "#/components/schemas/_scenario_decimal" - minimum: 0 title: Value - type: 'null' title: 'Null' markup: anyOf: - allOf: - "$ref": "#/components/schemas/_scenario_decimal" - minimum: 0 title: Value - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_scenario_service/properties/name" position: anyOf: - "$ref": "#/components/schemas/resource_scenario_service/properties/position" - type: 'null' title: 'Null' price: anyOf: - "$ref": "#/components/schemas/_scenario_decimal" - type: 'null' title: 'Null' quantity: "$ref": "#/components/schemas/_scenario_decimal" unit_id: anyOf: - "$ref": "#/components/schemas/resource_scenario_service/properties/unit_id" - type: 'null' title: 'Null' required: - name _scenario_service_relationships: type: object properties: scenario: "$ref": "#/components/schemas/_single_linkage" scenario_section: "$ref": "#/components/schemas/_single_linkage" service_type: "$ref": "#/components/schemas/_single_linkage" _scenario_service_update_attributes: type: object properties: billing_type_id: "$ref": "#/components/schemas/resource_scenario_service/properties/billing_type_id" budget_cap_enabled: "$ref": "#/components/schemas/resource_scenario_service/properties/budget_cap_enabled" description: anyOf: - "$ref": "#/components/schemas/resource_scenario_service/properties/description" - type: 'null' title: 'Null' discount: anyOf: - allOf: - "$ref": "#/components/schemas/_scenario_decimal" - maximum: 100 minimum: 0 title: Value - type: 'null' title: 'Null' discount_amount: anyOf: - allOf: - "$ref": "#/components/schemas/_scenario_decimal" - minimum: 0 title: Value - type: 'null' title: 'Null' markup: anyOf: - allOf: - "$ref": "#/components/schemas/_scenario_decimal" - minimum: 0 title: Value - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_scenario_service/properties/name" position: anyOf: - "$ref": "#/components/schemas/resource_scenario_service/properties/position" - type: 'null' title: 'Null' price: anyOf: - "$ref": "#/components/schemas/_scenario_decimal" - type: 'null' title: 'Null' quantity: "$ref": "#/components/schemas/_scenario_decimal" unit_id: anyOf: - "$ref": "#/components/schemas/resource_scenario_service/properties/unit_id" - type: 'null' title: 'Null' _scenario_update_attributes: type: object properties: copy_services: "$ref": "#/components/schemas/resource_scenario/properties/copy_services" end_date: anyOf: - "$ref": "#/components/schemas/resource_scenario/properties/end_date" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_scenario/properties/name" start_date: anyOf: - "$ref": "#/components/schemas/resource_scenario/properties/start_date" - type: 'null' title: 'Null' _service_assignment_attributes: type: object _service_assignment_relationships: type: object properties: person: "$ref": "#/components/schemas/_single_linkage" service: "$ref": "#/components/schemas/_single_linkage" _service_assignment_update_attributes: type: object _service_relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage" person: "$ref": "#/components/schemas/_single_linkage_nullable" section: "$ref": "#/components/schemas/_single_linkage_nullable" service_type: "$ref": "#/components/schemas/_single_linkage" _service_type_assignment_attributes: type: object _service_type_assignment_relationships: type: object properties: person: "$ref": "#/components/schemas/_single_linkage" service_type: "$ref": "#/components/schemas/_single_linkage" _service_type_assignment_update_attributes: type: object _session_form_attributes: type: object properties: app_version: "$ref": "#/components/schemas/resource_session/properties/app_version" browser: "$ref": "#/components/schemas/resource_session/properties/browser" cordova_device_model: "$ref": "#/components/schemas/resource_session/properties/cordova_device_model" cordova_device_platform: "$ref": "#/components/schemas/resource_session/properties/cordova_device_platform" cordova_device_uid: "$ref": "#/components/schemas/resource_session/properties/cordova_device_uid" cordova_device_version: "$ref": "#/components/schemas/resource_session/properties/cordova_device_version" device: "$ref": "#/components/schemas/resource_session/properties/device" firebase_token: "$ref": "#/components/schemas/resource_session/properties/firebase_token" name: "$ref": "#/components/schemas/resource_session/properties/name" platform: "$ref": "#/components/schemas/resource_session/properties/platform" read_only: "$ref": "#/components/schemas/resource_session/properties/read_only" _signup_finalize_attributes: type: object properties: challenges: {} challenges_other: {} company_avatar_url: {} company_name: "$ref": "#/components/schemas/resource_signup/properties/company_name" company_size: type: string company_type: type: string country: "$ref": "#/components/schemas/resource_signup/properties/country" currency: enum: - usd - eur type: string first_name: "$ref": "#/components/schemas/resource_signup/properties/first_name" gtag_uid: {} landing_page: {} last_name: "$ref": "#/components/schemas/resource_signup/properties/last_name" last_page: {} locale: enum: - en_US - de_DE - fr_FR - es_ES - it_IT type: string newsletter_consent: {} password: allOf: - "$ref": "#/components/schemas/resource_signup/properties/password" - maxLength: 72 minLength: 12 phone: "$ref": "#/components/schemas/resource_signup/properties/phone" plan_cycle: enum: - month - year type: string plan_type: "$ref": "#/components/schemas/resource_signup/properties/plan_type" ref: {} referral_key: {} referral_type: {} self_attribution: {} self_attribution_comment: {} team_size: type: string tools: {} user_avatar_url: {} utm_campaign: {} utm_content: {} utm_medium: {} utm_source: {} utm_term: {} utm_visits: {} required: - company_name _single_linkage_nullable: type: object title: Single nullable linkage properties: data: anyOf: - "$ref": "#/components/schemas/_resource" - type: 'null' title: 'Null' required: - data _skill_create_attributes: type: object properties: auto_load: "$ref": "#/components/schemas/resource_skill/properties/auto_load" description: allOf: - "$ref": "#/components/schemas/resource_skill/properties/description" - maxLength: 65535 minLength: 1 instructions: anyOf: - allOf: - "$ref": "#/components/schemas/resource_skill/properties/instructions" - maxLength: 16777215 title: Value - type: 'null' title: 'Null' name: allOf: - "$ref": "#/components/schemas/resource_skill/properties/name" - maxLength: 255 minLength: 1 smart_action_locations: "$ref": "#/components/schemas/resource_skill/properties/smart_action_locations" required: - name - description _skill_update_attributes: type: object properties: auto_load: "$ref": "#/components/schemas/resource_skill/properties/auto_load" description: allOf: - "$ref": "#/components/schemas/resource_skill/properties/description" - maxLength: 65535 minLength: 1 instructions: anyOf: - allOf: - "$ref": "#/components/schemas/resource_skill/properties/instructions" - maxLength: 16777215 title: Value - type: 'null' title: 'Null' name: allOf: - "$ref": "#/components/schemas/resource_skill/properties/name" - maxLength: 255 minLength: 1 smart_action_locations: "$ref": "#/components/schemas/resource_skill/properties/smart_action_locations" _subsidiary_create_attributes: type: object properties: facility_costs: "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs" facility_costs_breakdown: "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs_breakdown" invoice_logo_url: anyOf: - allOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_logo_url" - maxLength: 510 title: Value - type: 'null' title: 'Null' invoice_number_format: anyOf: - allOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_number_format" - maxLength: 255 title: Value - type: 'null' title: 'Null' invoice_number_scope: anyOf: - allOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_number_scope" - maxLength: 255 title: Value - type: 'null' title: 'Null' name: allOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/name" - maxLength: 255 show_delivery_date: "$ref": "#/components/schemas/resource_subsidiary/properties/show_delivery_date" required: - name _subsidiary_create_relationships: type: object properties: custom_domain: "$ref": "#/components/schemas/_single_linkage_nullable" default_document_type: "$ref": "#/components/schemas/_single_linkage_nullable" _subsidiary_filter_status: anyOf: - enum: - 1 - 2 type: integer title: Integer - enum: - '1' - '2' type: string title: Value title: Subsidiary status _subsidiary_update_attributes: type: object properties: facility_costs: "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs" facility_costs_breakdown: "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs_breakdown" invoice_logo_url: anyOf: - allOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_logo_url" - maxLength: 510 title: Value - type: 'null' title: 'Null' invoice_number_format: anyOf: - allOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_number_format" - maxLength: 255 title: Value - type: 'null' title: 'Null' invoice_number_scope: anyOf: - allOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_number_scope" - maxLength: 255 title: Value - type: 'null' title: 'Null' name: allOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/name" - maxLength: 255 show_delivery_date: "$ref": "#/components/schemas/resource_subsidiary/properties/show_delivery_date" _subsidiary_update_relationships: type: object properties: custom_domain: "$ref": "#/components/schemas/_single_linkage_nullable" default_bank_account: "$ref": "#/components/schemas/_single_linkage_nullable" default_document_type: "$ref": "#/components/schemas/_single_linkage_nullable" default_tax_rate: "$ref": "#/components/schemas/_single_linkage_nullable" _survey_copy_attributes: type: object properties: title: allOf: - "$ref": "#/components/schemas/resource_survey/properties/title" - maxLength: 255 required: - title _survey_field_create_attributes: type: object properties: aggregation_type_id: "$ref": "#/components/schemas/resource_survey_field/properties/aggregation_type_id" data_type_id: enum: - 1 - 2 - 3 - 4 - 5 - 7 type: integer description: anyOf: - type: string title: String - type: 'null' title: 'Null' formatting_type_id: "$ref": "#/components/schemas/resource_survey_field/properties/formatting_type_id" name: allOf: - "$ref": "#/components/schemas/resource_survey_field/properties/name" - maxLength: 255 position: "$ref": "#/components/schemas/resource_survey_field/properties/position" quick_add_enabled: "$ref": "#/components/schemas/resource_survey_field/properties/quick_add_enabled" required: "$ref": "#/components/schemas/resource_survey_field/properties/required" show_in_add_edit_views: "$ref": "#/components/schemas/resource_survey_field/properties/show_in_add_edit_views" required: - data_type_id - name - required _survey_field_option_create_attributes: type: object properties: color_id: "$ref": "#/components/schemas/resource_survey_field_option/properties/color_id" name: "$ref": "#/components/schemas/resource_survey_field_option/properties/name" position: "$ref": "#/components/schemas/resource_survey_field_option/properties/position" required: - name _survey_field_option_relationships: type: object properties: survey_field: "$ref": "#/components/schemas/_single_linkage" _survey_field_option_update_attributes: type: object properties: color_id: "$ref": "#/components/schemas/resource_survey_field_option/properties/color_id" name: "$ref": "#/components/schemas/resource_survey_field_option/properties/name" position: "$ref": "#/components/schemas/resource_survey_field_option/properties/position" _survey_field_relationships: type: object properties: origin_field: "$ref": "#/components/schemas/_single_linkage_nullable" survey: "$ref": "#/components/schemas/_single_linkage" _survey_field_update_attributes: type: object properties: aggregation_type_id: "$ref": "#/components/schemas/resource_survey_field/properties/aggregation_type_id" data_type_id: enum: - 1 - 2 - 3 - 4 - 5 - 7 type: integer description: anyOf: - type: string title: String - type: 'null' title: 'Null' formatting_type_id: "$ref": "#/components/schemas/resource_survey_field/properties/formatting_type_id" name: allOf: - "$ref": "#/components/schemas/resource_survey_field/properties/name" - maxLength: 255 position: "$ref": "#/components/schemas/resource_survey_field/properties/position" quick_add_enabled: "$ref": "#/components/schemas/resource_survey_field/properties/quick_add_enabled" required: "$ref": "#/components/schemas/resource_survey_field/properties/required" show_in_add_edit_views: "$ref": "#/components/schemas/resource_survey_field/properties/show_in_add_edit_views" _survey_relationships: type: object properties: project: "$ref": "#/components/schemas/_single_linkage" _survey_response_relationships: type: object properties: survey: "$ref": "#/components/schemas/_single_linkage" _survey_update_attributes: type: object properties: anonymous_responses: "$ref": "#/components/schemas/resource_survey/properties/anonymous_responses" description: anyOf: - type: string title: String - type: 'null' title: 'Null' submission_access: "$ref": "#/components/schemas/resource_survey/properties/submission_access" title: allOf: - "$ref": "#/components/schemas/resource_survey/properties/title" - maxLength: 255 _tag_taggable_type: anyOf: - enum: - budget - deal - task - company - person - invoice type: string title: Value - type: array items: enum: - budget - deal - task - company - person - invoice type: string title: List of strings title: Tag taggable type _task_copy_attributes: type: object properties: copy_as_task_template: type: boolean description: When true, registers the copied task as a reusable task template. copy_assignee: type: boolean description: Copy the assignee. copy_attachments: type: boolean description: Copy the attachments. copy_closed_subtasks: type: boolean description: Copy the closed subtasks. copy_closed_todos: type: boolean description: Copy the closed todos. copy_comments: type: boolean description: Copy the comments. copy_custom_fields: type: boolean description: Copy the custom field values. copy_date: type: boolean description: Copy the due and start dates. copy_description: type: boolean description: Copy the description. copy_estimate: type: boolean description: Copy the estimates. copy_open_subtasks: type: boolean description: Copy the open subtasks. copy_open_todos: type: boolean description: Copy the open todos. copy_repeat: type: boolean description: Copy the repeat schedule. copy_subscribers: type: boolean description: Copy the subscribers. copy_tags: type: boolean description: Copy the tags. copy_task_dependencies: type: boolean description: Copy the task dependencies. private: "$ref": "#/components/schemas/resource_task/properties/private" template_description: type: string description: Description for the new task template. Used together with copy_as_task_template. title: "$ref": "#/components/schemas/resource_task/properties/title" required: - title _task_dependency_create_attributes: type: object properties: type_id: "$ref": "#/components/schemas/resource_task_dependency/properties/type_id" required: - type_id _task_dependency_create_relationships: type: object properties: dependent_task: "$ref": "#/components/schemas/_single_linkage" task: "$ref": "#/components/schemas/_single_linkage" _task_dependency_update_attributes: type: object properties: type_id: "$ref": "#/components/schemas/resource_task_dependency/properties/type_id" required: - type_id _task_list_copy_attributes: type: object properties: copy_assignees: type: boolean copy_closed_tasks: type: boolean copy_custom_fields: type: boolean copy_date: type: boolean copy_estimate: type: boolean copy_open_tasks: type: boolean copy_repeat: type: boolean copy_tags: type: boolean copy_task_attachments: type: boolean copy_task_closed_subtasks: type: boolean copy_task_closed_todos: type: boolean copy_task_comments: type: boolean copy_task_dependencies: type: boolean copy_task_description: type: boolean copy_task_open_subtasks: type: boolean copy_task_open_todos: type: boolean copy_task_subscribers: type: boolean name: allOf: - "$ref": "#/components/schemas/resource_task_list/properties/name" - maxLength: 255 required: - name _task_list_create_attributes: type: object properties: name: allOf: - "$ref": "#/components/schemas/resource_task_list/properties/name" - maxLength: 255 position: "$ref": "#/components/schemas/resource_task_list/properties/position" required: - name _task_list_relationships: type: object properties: folder: "$ref": "#/components/schemas/_single_linkage" project: "$ref": "#/components/schemas/_single_linkage" _task_list_update_attributes: type: object properties: name: allOf: - "$ref": "#/components/schemas/resource_task_list/properties/name" - maxLength: 255 position: "$ref": "#/components/schemas/resource_task_list/properties/position" _time_entry_create_attributes: type: object properties: billable_time: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/billable_time" - type: 'null' title: 'Null' calendar_event_id: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/calendar_event_id" - type: 'null' title: 'Null' calendar_event_recurring_id: type: - string - 'null' date: "$ref": "#/components/schemas/resource_time_entry/properties/date" draft: type: boolean jira_issue_id: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/jira_issue_id" - type: 'null' title: 'Null' jira_issue_status: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/jira_issue_status" - type: 'null' title: 'Null' jira_issue_summary: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/jira_issue_summary" - type: 'null' title: 'Null' jira_organization: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/jira_organization" - type: 'null' title: 'Null' jira_worklog_id: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/jira_worklog_id" - type: 'null' title: 'Null' note: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/note" - type: 'null' title: 'Null' overtime: type: boolean started_at: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/started_at" - type: 'null' title: 'Null' time: "$ref": "#/components/schemas/resource_time_entry/properties/time" required: - date _time_entry_relationships: type: object properties: person: "$ref": "#/components/schemas/_single_linkage" service: "$ref": "#/components/schemas/_single_linkage" task: "$ref": "#/components/schemas/_single_linkage_nullable" _time_entry_update_attributes: type: object properties: billable_time: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/billable_time" - type: 'null' title: 'Null' calendar_event_id: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/calendar_event_id" - type: 'null' title: 'Null' calendar_event_recurring_id: type: - string - 'null' date: "$ref": "#/components/schemas/resource_time_entry/properties/date" draft: type: boolean jira_issue_id: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/jira_issue_id" - type: 'null' title: 'Null' jira_issue_status: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/jira_issue_status" - type: 'null' title: 'Null' jira_issue_summary: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/jira_issue_summary" - type: 'null' title: 'Null' jira_organization: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/jira_organization" - type: 'null' title: 'Null' jira_worklog_id: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/jira_worklog_id" - type: 'null' title: 'Null' note: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/note" - type: 'null' title: 'Null' overtime: type: boolean rejected_reason: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/rejected_reason" - type: 'null' title: 'Null' started_at: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/started_at" - type: 'null' title: 'Null' time: "$ref": "#/components/schemas/resource_time_entry/properties/time" _todo_create_attributes: type: object properties: closed: "$ref": "#/components/schemas/resource_todo/properties/closed" description: "$ref": "#/components/schemas/resource_todo/properties/description" due_date: anyOf: - "$ref": "#/components/schemas/resource_todo/properties/due_date" - type: 'null' title: 'Null' due_time: anyOf: - type: string title: String pattern: "^\\d{2}:\\d{2}$" - type: 'null' title: 'Null' position: anyOf: - type: integer title: Integer maximum: 2147483647 - type: 'null' title: 'Null' required: - description _todo_relationships: type: object properties: assignee: "$ref": "#/components/schemas/_single_linkage_nullable" deal: "$ref": "#/components/schemas/_single_linkage_nullable" task: "$ref": "#/components/schemas/_single_linkage_nullable" _todo_update_attributes: type: object properties: closed: "$ref": "#/components/schemas/resource_todo/properties/closed" description: "$ref": "#/components/schemas/resource_todo/properties/description" due_date: anyOf: - "$ref": "#/components/schemas/resource_todo/properties/due_date" - type: 'null' title: 'Null' due_time: anyOf: - type: string title: String pattern: "^\\d{2}:\\d{2}$" - type: 'null' title: 'Null' position: anyOf: - type: integer title: Integer maximum: 2147483647 - type: 'null' title: 'Null' _webhook_create_attributes: type: object properties: custom_headers: "$ref": "#/components/schemas/resource_webhook/properties/custom_headers" event_id: "$ref": "#/components/schemas/resource_webhook/properties/event_id" name: "$ref": "#/components/schemas/resource_webhook/properties/name" target_url: "$ref": "#/components/schemas/resource_webhook/properties/target_url" type_id: "$ref": "#/components/schemas/resource_webhook/properties/type_id" required: - event_id - type_id - target_url _webhook_update_attributes: type: object properties: custom_headers: "$ref": "#/components/schemas/resource_webhook/properties/custom_headers" event_id: "$ref": "#/components/schemas/resource_webhook/properties/event_id" name: "$ref": "#/components/schemas/resource_webhook/properties/name" target_url: "$ref": "#/components/schemas/resource_webhook/properties/target_url" type_id: "$ref": "#/components/schemas/resource_webhook/properties/type_id" _widget_create_attributes: type: object properties: column_position: "$ref": "#/components/schemas/resource_widget/properties/column_position" content: "$ref": "#/components/schemas/resource_widget/properties/content" height: "$ref": "#/components/schemas/resource_widget/properties/height" row_position: "$ref": "#/components/schemas/resource_widget/properties/row_position" title: allOf: - "$ref": "#/components/schemas/resource_widget/properties/title" - maxLength: 180 widget_type_id: "$ref": "#/components/schemas/resource_widget/properties/widget_type_id" width: "$ref": "#/components/schemas/resource_widget/properties/width" required: - height - width - widget_type_id _widget_relationships: type: object properties: attachments: "$ref": "#/components/schemas/_collection_linkage" dashboard: "$ref": "#/components/schemas/_single_linkage" filter: "$ref": "#/components/schemas/_single_linkage_nullable" _widget_update_attributes: type: object properties: column_position: "$ref": "#/components/schemas/resource_widget/properties/column_position" content: "$ref": "#/components/schemas/resource_widget/properties/content" height: "$ref": "#/components/schemas/resource_widget/properties/height" row_position: "$ref": "#/components/schemas/resource_widget/properties/row_position" title: allOf: - "$ref": "#/components/schemas/resource_widget/properties/title" - maxLength: 180 widget_type_id: "$ref": "#/components/schemas/resource_widget/properties/widget_type_id" width: "$ref": "#/components/schemas/resource_widget/properties/width" _workflow_attributes: type: object properties: name: allOf: - "$ref": "#/components/schemas/resource_workflow/properties/name" - maxLength: 255 _workflow_relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" _workflow_status_attributes: type: object properties: category_id: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" color_id: "$ref": "#/components/schemas/resource_workflow_status/properties/color_id" name: allOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/name" - maxLength: 255 position: "$ref": "#/components/schemas/resource_workflow_status/properties/position" _workflow_status_relationships: type: object properties: workflow: "$ref": "#/components/schemas/_single_linkage" error_code_email_thread: enum: - bad_decimal_format - destination_folder_not_synced - destination_folder_requires_synced_folders - invalid_attribute - invalid_attribute_value - non_finite_number - not_a_participant - null_bytes_in_params - thread_already_linked type: string title: Error Code description: Every error `code` the email thread endpoints can return. filter_activity: type: object title: Filter activity description: Available filter parameters for querying activity feed records. properties: after: "$ref": "#/components/schemas/resource_activity/properties/after" before: "$ref": "#/components/schemas/resource_activity/properties/before" booking_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/booking_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/booking_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/booking_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/booking_id" title: List - "$ref": "#/components/schemas/resource_activity/properties/booking_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/booking_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter activities related to a specific booking. example: - 123 company_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/company_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/company_id" title: List - "$ref": "#/components/schemas/resource_activity/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/company_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter activities related to a specific company. example: - 123 created_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by creation date range (`created_at`). example: gt: '2026-01-01' creator_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/creator_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/creator_id" title: List gt: "$ref": "#/components/schemas/resource_activity/properties/creator_id" lt: "$ref": "#/components/schemas/resource_activity/properties/creator_id" gt_eq: "$ref": "#/components/schemas/resource_activity/properties/creator_id" lt_eq: "$ref": "#/components/schemas/resource_activity/properties/creator_id" contains: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/creator_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/creator_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_activity/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_activity/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_activity/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/creator_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the person who created the activity. example: - 123 deal_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/deal_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/deal_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/deal_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/deal_id" title: List - "$ref": "#/components/schemas/resource_activity/properties/deal_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/deal_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter activities related to a specific deal or budget. example: - 123 discussion_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/discussion_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/discussion_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/discussion_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/discussion_id" title: List - "$ref": "#/components/schemas/resource_activity/properties/discussion_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/discussion_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter activities related to a specific doc discussion. example: - 123 event: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/event" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/event" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/event" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/event" title: List gt: "$ref": "#/components/schemas/resource_activity/properties/event" lt: "$ref": "#/components/schemas/resource_activity/properties/event" gt_eq: "$ref": "#/components/schemas/resource_activity/properties/event" lt_eq: "$ref": "#/components/schemas/resource_activity/properties/event" contains: "$ref": "#/components/schemas/resource_activity/properties/event" not_contain: "$ref": "#/components/schemas/resource_activity/properties/event" - "$ref": "#/components/schemas/resource_activity/properties/event" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/event" title: List description: Filter by event type (e.g. create, update, destroy). example: eq: value expense_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/expense_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/expense_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/expense_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/expense_id" title: List - "$ref": "#/components/schemas/resource_activity/properties/expense_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/expense_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter activities related to a specific expense. example: - 123 has_attachments: "$ref": "#/components/schemas/resource_activity/properties/has_attachments" id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/id" title: List gt: "$ref": "#/components/schemas/resource_activity/properties/id" lt: "$ref": "#/components/schemas/resource_activity/properties/id" gt_eq: "$ref": "#/components/schemas/resource_activity/properties/id" lt_eq: "$ref": "#/components/schemas/resource_activity/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_activity/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_activity/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_activity/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/id" title: List description: Filter by activity ID. example: - 123 invoice_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/invoice_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/invoice_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/invoice_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/invoice_id" title: List - "$ref": "#/components/schemas/resource_activity/properties/invoice_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/invoice_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter activities related to a specific invoice. example: - 123 item_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_activity/properties/item_type" - "$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 normalized_item_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_activity/properties/normalized_item_type" not_eq: "$ref": "#/components/schemas/resource_activity/properties/normalized_item_type" - "$ref": "#/components/schemas/resource_activity/properties/normalized_item_type" description: Filter by normalized resource type, distinguishing between deals and budgets. example: eq: active parent_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/parent_type" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/parent_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/parent_type" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/parent_type" title: List - "$ref": "#/components/schemas/resource_activity/properties/parent_type" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/parent_type" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the resource type of the activity's immediate parent (e.g. task, project). example: eq: active participant_id: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/participant_id" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter activities where this person participated (as creator, email recipient, or subject). example: - 123 person_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/person_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/person_id" title: List - "$ref": "#/components/schemas/resource_activity/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/person_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter activities related to a specific person. example: - 123 pinned: "$ref": "#/components/schemas/resource_activity/properties/pinned" project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/project_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/project_id" title: List - "$ref": "#/components/schemas/resource_activity/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/project_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter activities related to a specific project. example: - 123 proposal_id: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/proposal_id" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter activities related to a specific proposal (includes both direct and parent-linked activities). example: - 123 purchase_order_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/purchase_order_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/purchase_order_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/purchase_order_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/purchase_order_id" title: List - "$ref": "#/components/schemas/resource_activity/properties/purchase_order_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/purchase_order_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter activities on a specific purchase order. example: eq: - 1234567 resource_request_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/resource_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/resource_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/resource_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/resource_request_id" title: List - "$ref": "#/components/schemas/resource_activity/properties/resource_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/resource_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter activities on a specific resource request. example: - 123 root_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/root_type" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/root_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/root_type" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/root_type" title: List - "$ref": "#/components/schemas/resource_activity/properties/root_type" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/root_type" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the top-level resource type the activity is nested under (e.g. project, deal). example: eq: active task_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/task_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/task_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_activity/properties/task_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/task_id" title: List - "$ref": "#/components/schemas/resource_activity/properties/task_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_activity/properties/task_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter activities related to a specific task. example: - 123 type: anyOf: - type: array items: enum: - 1 - 2 - 3 type: integer title: List of integers - enum: - 1 - 2 - 3 type: integer title: Integer - type: string title: String pattern: "^[1-3](,[1-3])+$" description: 'Filter by activity type: 1=Comment, 2=Changeset (field change), 3=Email.' example: eq: active example: created_at: gt: '2026-01-01' filter_agent: type: object title: Filter agent patternProperties: "^manager..*$": title: Manager relationship "^subsidiary..*$": title: Subsidiary relationship "^custom_role..*$": title: Custom Role relationship description: Filter schema for the agents list endpoint — supports filtering by id, name, title, status, manager, custom role, and timestamps. properties: created_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date custom_role_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" title: List gt: "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" lt: "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" gt_eq: "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" lt_eq: "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" contains: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent/properties/custom_role_id" title: List description: Filter agents by their assigned custom role ID. deactivated_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 description: Filter agents by the timestamp when they were deactivated. Pass `null` to filter for active agents. id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent/properties/id" title: List gt: "$ref": "#/components/schemas/resource_agent/properties/id" lt: "$ref": "#/components/schemas/resource_agent/properties/id" gt_eq: "$ref": "#/components/schemas/resource_agent/properties/id" lt_eq: "$ref": "#/components/schemas/resource_agent/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_agent/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_agent/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_agent/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent/properties/id" title: List manager_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/manager_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent/properties/manager_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/manager_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent/properties/manager_id" title: List gt: "$ref": "#/components/schemas/resource_agent/properties/manager_id" lt: "$ref": "#/components/schemas/resource_agent/properties/manager_id" gt_eq: "$ref": "#/components/schemas/resource_agent/properties/manager_id" lt_eq: "$ref": "#/components/schemas/resource_agent/properties/manager_id" contains: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/manager_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent/properties/manager_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/manager_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent/properties/manager_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_agent/properties/manager_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_agent/properties/manager_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_agent/properties/manager_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent/properties/manager_id" title: List description: Filter agents by their assigned manager's ID. name: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_agent/properties/name" not_eq: "$ref": "#/components/schemas/resource_agent/properties/name" gt: "$ref": "#/components/schemas/resource_agent/properties/name" lt: "$ref": "#/components/schemas/resource_agent/properties/name" gt_eq: "$ref": "#/components/schemas/resource_agent/properties/name" lt_eq: "$ref": "#/components/schemas/resource_agent/properties/name" contains: "$ref": "#/components/schemas/resource_agent/properties/name" not_contain: "$ref": "#/components/schemas/resource_agent/properties/name" - "$ref": "#/components/schemas/resource_agent/properties/name" query: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_agent/properties/query" not_eq: "$ref": "#/components/schemas/resource_agent/properties/query" contains: "$ref": "#/components/schemas/resource_agent/properties/query" not_contain: "$ref": "#/components/schemas/resource_agent/properties/query" - "$ref": "#/components/schemas/resource_agent/properties/query" status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_agent/properties/status_id" not_eq: "$ref": "#/components/schemas/resource_agent/properties/status_id" - "$ref": "#/components/schemas/resource_agent/properties/status_id" title: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_agent/properties/title" not_eq: "$ref": "#/components/schemas/resource_agent/properties/title" gt: "$ref": "#/components/schemas/resource_agent/properties/title" lt: "$ref": "#/components/schemas/resource_agent/properties/title" gt_eq: "$ref": "#/components/schemas/resource_agent/properties/title" lt_eq: "$ref": "#/components/schemas/resource_agent/properties/title" contains: "$ref": "#/components/schemas/resource_agent/properties/title" not_contain: "$ref": "#/components/schemas/resource_agent/properties/title" - "$ref": "#/components/schemas/resource_agent/properties/title" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter agents by their job title or functional role description. subsidiary_id: anyOf: - type: object title: Operation properties: eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers not_eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers gt: type: integer lt: type: integer gt_eq: type: integer lt_eq: type: integer contains: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers not_contain: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers any_of: anyOf: - type: array items: type: integer title: List of integers - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: type: integer title: List of integers - "$ref": "#/components/schemas/_id_list" - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers - type: string title: Blank (IS NULL) maxLength: 0 filter_agent_config: type: object title: Filter agent config properties: agent_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" title: List gt: "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" lt: "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" gt_eq: "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" lt_eq: "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" contains: anyOf: - "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_config/properties/agent_id" title: List description: Filter agent configurations by their associated agent's ID. id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_agent_config/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_config/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_agent_config/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_config/properties/id" title: List gt: "$ref": "#/components/schemas/resource_agent_config/properties/id" lt: "$ref": "#/components/schemas/resource_agent_config/properties/id" gt_eq: "$ref": "#/components/schemas/resource_agent_config/properties/id" lt_eq: "$ref": "#/components/schemas/resource_agent_config/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_agent_config/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_config/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_agent_config/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_config/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_agent_config/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_agent_config/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_agent_config/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_config/properties/id" title: List filter_agent_session: type: object title: Filter agent session properties: created_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date last_activity_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date query: anyOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_agent_session/properties/query" - "$ref": "#/components/schemas/resource_agent_session/properties/query" agent_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_agent_session/properties/agent_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_session/properties/agent_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_agent_session/properties/agent_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_session/properties/agent_id" title: List - "$ref": "#/components/schemas/resource_agent_session/properties/agent_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_session/properties/agent_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 client_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_agent_session/properties/client_type" - type: array items: "$ref": "#/components/schemas/resource_agent_session/properties/client_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_agent_session/properties/client_type" - type: array items: "$ref": "#/components/schemas/resource_agent_session/properties/client_type" title: List gt: "$ref": "#/components/schemas/resource_agent_session/properties/client_type" lt: "$ref": "#/components/schemas/resource_agent_session/properties/client_type" gt_eq: "$ref": "#/components/schemas/resource_agent_session/properties/client_type" lt_eq: "$ref": "#/components/schemas/resource_agent_session/properties/client_type" contains: "$ref": "#/components/schemas/resource_agent_session/properties/client_type" not_contain: "$ref": "#/components/schemas/resource_agent_session/properties/client_type" - "$ref": "#/components/schemas/resource_agent_session/properties/client_type" - type: array items: "$ref": "#/components/schemas/resource_agent_session/properties/client_type" title: List id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_agent_session/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_session/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_agent_session/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_session/properties/id" title: List gt: "$ref": "#/components/schemas/resource_agent_session/properties/id" lt: "$ref": "#/components/schemas/resource_agent_session/properties/id" gt_eq: "$ref": "#/components/schemas/resource_agent_session/properties/id" lt_eq: "$ref": "#/components/schemas/resource_agent_session/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_agent_session/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_session/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_agent_session/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_session/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_agent_session/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_agent_session/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_agent_session/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_agent_session/properties/id" title: List title: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_agent_session/properties/title" not_eq: "$ref": "#/components/schemas/resource_agent_session/properties/title" gt: "$ref": "#/components/schemas/resource_agent_session/properties/title" lt: "$ref": "#/components/schemas/resource_agent_session/properties/title" gt_eq: "$ref": "#/components/schemas/resource_agent_session/properties/title" lt_eq: "$ref": "#/components/schemas/resource_agent_session/properties/title" contains: "$ref": "#/components/schemas/resource_agent_session/properties/title" not_contain: "$ref": "#/components/schemas/resource_agent_session/properties/title" - "$ref": "#/components/schemas/resource_agent_session/properties/title" filter_approval_policy: type: object title: Filter approval policy patternProperties: "^subsidiary..*$": title: Subsidiary relationship description: Filter parameters for listing approval policies. Supports filtering by policy type, service, and person. Standard ID operators apply. properties: custom: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_approval_policy/properties/custom" not_eq: "$ref": "#/components/schemas/resource_approval_policy/properties/custom" - "$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 status: "$ref": "#/components/schemas/resource_approval_policy/properties/status" type_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" title: List gt: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" lt: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" gt_eq: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" lt_eq: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" contains: anyOf: - "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" title: List description: Filter by approval policy type ID. example: - 123 subsidiary_id: anyOf: - type: object title: Operation properties: eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers not_eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers gt: type: integer lt: type: integer gt_eq: type: integer lt_eq: type: integer contains: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers not_contain: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers any_of: anyOf: - type: array items: type: integer title: List of integers - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: type: integer title: List of integers - "$ref": "#/components/schemas/_id_list" - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers - type: string title: Blank (IS NULL) maxLength: 0 example: id: eq: '123' filter_approval_policy_assignment: type: object title: Filter approval policy assignment description: Filter schema for approval_policy_assignment resources. properties: target_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" title: List gt: "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" lt: "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" gt_eq: "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" lt_eq: "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" contains: anyOf: - "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_id" title: List description: Filter by the ID of the assigned target (person or deal/budget). example: - 123 target_type: "$ref": "#/components/schemas/resource_approval_policy_assignment/properties/target_type" example: id: eq: '123' filter_approval_status: type: object title: Filter approval status patternProperties: "^booking..*$": title: Booking relationship properties: actual_approver_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" title: List gt: "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" lt: "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" gt_eq: "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" lt_eq: "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" contains: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/actual_approver_id" title: List approval_workflow_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" title: List gt: "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" lt: "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" gt_eq: "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" lt_eq: "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" contains: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/approval_workflow_id" title: List approver_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" title: List gt: "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" lt: "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" gt_eq: "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" lt_eq: "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" contains: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/approver_id" title: List booking_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/booking_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/booking_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/booking_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/booking_id" title: List - "$ref": "#/components/schemas/resource_approval_status/properties/booking_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/booking_id" title: List expense_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/expense_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/expense_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/expense_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/expense_id" title: List - "$ref": "#/components/schemas/resource_approval_status/properties/expense_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/expense_id" title: List id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/id" title: List gt: "$ref": "#/components/schemas/resource_approval_status/properties/id" lt: "$ref": "#/components/schemas/resource_approval_status/properties/id" gt_eq: "$ref": "#/components/schemas/resource_approval_status/properties/id" lt_eq: "$ref": "#/components/schemas/resource_approval_status/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_approval_status/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/id" title: List time_entry_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/time_entry_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/time_entry_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_approval_status/properties/time_entry_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/time_entry_id" title: List - "$ref": "#/components/schemas/resource_approval_status/properties/time_entry_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_status/properties/time_entry_id" title: List filter_artifact: type: object title: Filter artifact properties: created_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date creator_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_artifact/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact/properties/creator_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_artifact/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact/properties/creator_id" title: List gt: "$ref": "#/components/schemas/resource_artifact/properties/creator_id" lt: "$ref": "#/components/schemas/resource_artifact/properties/creator_id" gt_eq: "$ref": "#/components/schemas/resource_artifact/properties/creator_id" lt_eq: "$ref": "#/components/schemas/resource_artifact/properties/creator_id" contains: anyOf: - "$ref": "#/components/schemas/resource_artifact/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact/properties/creator_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_artifact/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact/properties/creator_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_artifact/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_artifact/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_artifact/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact/properties/creator_id" title: List id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_artifact/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_artifact/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact/properties/id" title: List gt: "$ref": "#/components/schemas/resource_artifact/properties/id" lt: "$ref": "#/components/schemas/resource_artifact/properties/id" gt_eq: "$ref": "#/components/schemas/resource_artifact/properties/id" lt_eq: "$ref": "#/components/schemas/resource_artifact/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_artifact/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_artifact/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_artifact/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_artifact/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_artifact/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact/properties/id" title: List name: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_artifact/properties/name" not_eq: "$ref": "#/components/schemas/resource_artifact/properties/name" gt: "$ref": "#/components/schemas/resource_artifact/properties/name" lt: "$ref": "#/components/schemas/resource_artifact/properties/name" gt_eq: "$ref": "#/components/schemas/resource_artifact/properties/name" lt_eq: "$ref": "#/components/schemas/resource_artifact/properties/name" contains: "$ref": "#/components/schemas/resource_artifact/properties/name" not_contain: "$ref": "#/components/schemas/resource_artifact/properties/name" - "$ref": "#/components/schemas/resource_artifact/properties/name" public_access: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_artifact/properties/public_access" not_eq: "$ref": "#/components/schemas/resource_artifact/properties/public_access" - "$ref": "#/components/schemas/resource_artifact/properties/public_access" filter_attachment: type: object title: Filter attachment description: Filter parameters for listing attachments. Supports filtering by parent resource (comment, task, deal, page, invoice, expense, purchase order, bill), creator, file type, and upload date. Standard string and ID operators apply. properties: comment_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/comment_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/comment_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/comment_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/comment_id" title: List gt: "$ref": "#/components/schemas/resource_attachment/properties/comment_id" lt: "$ref": "#/components/schemas/resource_attachment/properties/comment_id" gt_eq: "$ref": "#/components/schemas/resource_attachment/properties/comment_id" lt_eq: "$ref": "#/components/schemas/resource_attachment/properties/comment_id" contains: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/comment_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/comment_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/comment_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/comment_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/comment_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/comment_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_attachment/properties/comment_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/comment_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the associated comment. example: - 123 creator_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/creator_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/creator_id" title: List gt: "$ref": "#/components/schemas/resource_attachment/properties/creator_id" lt: "$ref": "#/components/schemas/resource_attachment/properties/creator_id" gt_eq: "$ref": "#/components/schemas/resource_attachment/properties/creator_id" lt_eq: "$ref": "#/components/schemas/resource_attachment/properties/creator_id" contains: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/creator_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/creator_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_attachment/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/creator_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the person who uploaded the attachment. example: - 123 full_query: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/full_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by full-text search query. example: eq: value fuzzy_dates: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_attachment/properties/fuzzy_dates" not_eq: "$ref": "#/components/schemas/resource_attachment/properties/fuzzy_dates" gt: "$ref": "#/components/schemas/resource_attachment/properties/fuzzy_dates" lt: "$ref": "#/components/schemas/resource_attachment/properties/fuzzy_dates" gt_eq: "$ref": "#/components/schemas/resource_attachment/properties/fuzzy_dates" lt_eq: "$ref": "#/components/schemas/resource_attachment/properties/fuzzy_dates" - "$ref": "#/components/schemas/resource_attachment/properties/fuzzy_dates" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by fuzzy date range (relative date expression). example: gt: '2026-01-01' fuzzy_people: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/fuzzy_people" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/fuzzy_people" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by person using fuzzy matching. example: eq: value id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/id" title: List gt: "$ref": "#/components/schemas/resource_attachment/properties/id" lt: "$ref": "#/components/schemas/resource_attachment/properties/id" gt_eq: "$ref": "#/components/schemas/resource_attachment/properties/id" lt_eq: "$ref": "#/components/schemas/resource_attachment/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_attachment/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/id" title: List description: Filter by attachment ID. example: - 123 jump_query: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/jump_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Full-text jump search query for quickly finding resources. example: eq: value notes_attachment: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/notes_attachment" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter to include only attachments embedded in notes. example: gt: '2026-01-01' page_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/page_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/page_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/page_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/page_id" title: List gt: "$ref": "#/components/schemas/resource_attachment/properties/page_id" lt: "$ref": "#/components/schemas/resource_attachment/properties/page_id" gt_eq: "$ref": "#/components/schemas/resource_attachment/properties/page_id" lt_eq: "$ref": "#/components/schemas/resource_attachment/properties/page_id" contains: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/page_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/page_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/page_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/page_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/page_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/page_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_attachment/properties/page_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/page_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the associated document page. example: - 123 task_id: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/task_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/task_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the associated task. example: - 123 type: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/type" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_attachment/properties/type" title: List description: Filter by file type (image, video, PDF, text, or other). example: eq: active example: id: eq: '123' filter_automatic_invoicing_rule: type: object title: Filter automatic invoicing rule description: Filter parameters for automatic invoicing rules. properties: budget_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" title: List gt: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" lt: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" gt_eq: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" lt_eq: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" contains: anyOf: - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/budget_id" title: List description: Filter by the associated budget (deal). example: - 123 creator_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" title: List gt: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" lt: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" gt_eq: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" lt_eq: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" contains: anyOf: - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/creator_id" title: List description: Filter by the person who created the rule. example: - 123 id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" title: List gt: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" lt: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" gt_eq: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" lt_eq: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automatic_invoicing_rule/properties/id" title: List description: Filter by automatic invoicing rule ID. example: - 123 example: id: eq: '123' filter_automation: type: object title: Filter automation properties: agent_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List automatable_type: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string - type: string title: String - type: string title: Blank (IS NULL) maxLength: 0 created_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date creator_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List gt: "$ref": "#/components/schemas/_automation_id" lt: "$ref": "#/components/schemas/_automation_id" gt_eq: "$ref": "#/components/schemas/_automation_id" lt_eq: "$ref": "#/components/schemas/_automation_id" contains: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_automation_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_automation_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List enabled: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_automation/properties/enabled" not_eq: "$ref": "#/components/schemas/resource_automation/properties/enabled" - "$ref": "#/components/schemas/resource_automation/properties/enabled" exclude_template_projects: anyOf: - type: object title: Operation properties: eq: type: boolean - type: boolean title: Boolean id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List gt: "$ref": "#/components/schemas/_automation_id" lt: "$ref": "#/components/schemas/_automation_id" gt_eq: "$ref": "#/components/schemas/_automation_id" lt_eq: "$ref": "#/components/schemas/_automation_id" contains: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_automation_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_automation_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List name: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_automation/properties/name" not_eq: "$ref": "#/components/schemas/resource_automation/properties/name" gt: "$ref": "#/components/schemas/resource_automation/properties/name" lt: "$ref": "#/components/schemas/resource_automation/properties/name" gt_eq: "$ref": "#/components/schemas/resource_automation/properties/name" lt_eq: "$ref": "#/components/schemas/resource_automation/properties/name" contains: "$ref": "#/components/schemas/resource_automation/properties/name" not_contain: "$ref": "#/components/schemas/resource_automation/properties/name" - "$ref": "#/components/schemas/resource_automation/properties/name" project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List query: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String resolve_on_all_projects: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_automation/properties/resolve_on_all_projects" not_eq: "$ref": "#/components/schemas/resource_automation/properties/resolve_on_all_projects" - "$ref": "#/components/schemas/resource_automation/properties/resolve_on_all_projects" subsidiary_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List gt: "$ref": "#/components/schemas/_automation_id" lt: "$ref": "#/components/schemas/_automation_id" gt_eq: "$ref": "#/components/schemas/_automation_id" lt_eq: "$ref": "#/components/schemas/_automation_id" contains: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_automation_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_automation_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 survey_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List gt: "$ref": "#/components/schemas/_automation_id" lt: "$ref": "#/components/schemas/_automation_id" gt_eq: "$ref": "#/components/schemas/_automation_id" lt_eq: "$ref": "#/components/schemas/_automation_id" contains: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_automation_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_automation_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_automation_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_automation_id" title: List target_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_automation/properties/target_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automation/properties/target_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_automation/properties/target_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automation/properties/target_id" title: List gt: "$ref": "#/components/schemas/resource_automation/properties/target_id" lt: "$ref": "#/components/schemas/resource_automation/properties/target_id" gt_eq: "$ref": "#/components/schemas/resource_automation/properties/target_id" lt_eq: "$ref": "#/components/schemas/resource_automation/properties/target_id" contains: anyOf: - "$ref": "#/components/schemas/resource_automation/properties/target_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automation/properties/target_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_automation/properties/target_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automation/properties/target_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_automation/properties/target_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_automation/properties/target_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_automation/properties/target_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automation/properties/target_id" title: List updated_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date error_code_proposal: enum: - attachment_and_scenario_mutually_exclusive - attachment_not_allowed_for_source - bad_decimal_format - from_email_unsupported - invalid_attribute - invalid_attribute_value - invalid_recipients - invalid_status - non_finite_number - null_bytes_in_params - outlook_send_scope_missing - proposal_approval_not_required - proposal_approval_required - proposal_disclaimer_required - proposal_no_eligible_approvers - proposal_not_approvable - proposal_not_in_draft_status - proposal_not_pending_approval - proposal_pending_approval_locked - proposal_sync_not_supported_for_source - recipient_emails_not_array - recipient_validation_failed - scenario_deal_mismatch - upload_sourced_requires_attachment type: string title: Error Code description: Every error `code` the proposals endpoints can return. _response_object_organization_membership_count: type: object title: Organization membership count properties: attributes: type: object properties: proposals_for_approval_count: "$ref": "#/components/schemas/resource_organization_membership_count/properties/proposals_for_approval_count" expenses_for_approval_count: "$ref": "#/components/schemas/resource_organization_membership_count/properties/expenses_for_approval_count" pending_time_off_approvals_count: "$ref": "#/components/schemas/resource_organization_membership_count/properties/pending_time_off_approvals_count" time_entries_for_approval_count: "$ref": "#/components/schemas/resource_organization_membership_count/properties/time_entries_for_approval_count" time_entries_requiring_changes_count: "$ref": "#/components/schemas/resource_organization_membership_count/properties/time_entries_requiring_changes_count" time_off_for_approval_count: "$ref": "#/components/schemas/resource_organization_membership_count/properties/time_off_for_approval_count" unseen_notifications_count: "$ref": "#/components/schemas/resource_organization_membership_count/properties/unseen_notifications_count" id: type: string relationships: type: object properties: organization_membership: "$ref": "#/components/schemas/_single_relationship" type: enum: - organization_membership_counts type: string required: - id - type filter_task: type: object title: Filter task 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. properties: tags: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/tags" - type: array items: "$ref": "#/components/schemas/resource_task/properties/tags" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/tags" - type: array items: "$ref": "#/components/schemas/resource_task/properties/tags" title: List - type: string title: Blank (IS NULL) maxLength: 0 contains: anyOf: - "$ref": "#/components/schemas/resource_task/properties/tags" - type: array items: "$ref": "#/components/schemas/resource_task/properties/tags" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_task/properties/tags" - type: array items: "$ref": "#/components/schemas/resource_task/properties/tags" title: List - "$ref": "#/components/schemas/resource_task/properties/tags" - type: array items: "$ref": "#/components/schemas/resource_task/properties/tags" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by tag name(s); use null to match tasks with no tags. example: eq: value after: "$ref": "#/components/schemas/resource_task/properties/after" assignee_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/assignee_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/assignee_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/assignee_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/assignee_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/resource_task/properties/assignee_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/assignee_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by assigned person (also matches open to-do assignees). example: - 123 before: "$ref": "#/components/schemas/resource_task/properties/before" billable_time: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/billable_time" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/billable_time" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_task/properties/billable_time" lt: "$ref": "#/components/schemas/resource_task/properties/billable_time" gt_eq: "$ref": "#/components/schemas/resource_task/properties/billable_time" lt_eq: "$ref": "#/components/schemas/resource_task/properties/billable_time" - "$ref": "#/components/schemas/resource_task/properties/billable_time" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by billable time (in seconds). example: gt: 0 closed_after: "$ref": "#/components/schemas/resource_task/properties/closed_after" closed_at: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by close date range (closed_at). example: gt: '2026-01-01' closed_before: "$ref": "#/components/schemas/resource_task/properties/closed_before" company_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/company_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/company_id" title: List - "$ref": "#/components/schemas/resource_task/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/company_id" title: List description: Filter by client company (via the task's project). example: - 123 created_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by creation date range (created_at). example: gt: '2026-01-01' creator_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/creator_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/creator_id" title: List gt: "$ref": "#/components/schemas/resource_task/properties/creator_id" lt: "$ref": "#/components/schemas/resource_task/properties/creator_id" gt_eq: "$ref": "#/components/schemas/resource_task/properties/creator_id" lt_eq: "$ref": "#/components/schemas/resource_task/properties/creator_id" contains: anyOf: - "$ref": "#/components/schemas/resource_task/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/creator_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_task/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/creator_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_task/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_task/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_task/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/creator_id" title: List description: Filter by the person who created the task. example: - 123 custom_fields: type: object additionalProperties: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string any_of: type: array items: type: string not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings none_of: type: array items: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String description: Filter by custom field values. example: eq: value date_range: type: object title: Operation description: Filter tasks overlapping a date range (for timeline/Gantt views). properties: gt_eq: "$ref": "#/components/schemas/resource_task/properties/date_range" lt_eq: "$ref": "#/components/schemas/resource_task/properties/date_range" example: eq: value dependency_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/dependency_type" not_eq: "$ref": "#/components/schemas/resource_task/properties/dependency_type" contains: "$ref": "#/components/schemas/resource_task/properties/dependency_type" not_contain: "$ref": "#/components/schemas/resource_task/properties/dependency_type" - "$ref": "#/components/schemas/resource_task/properties/dependency_type" description: 'Filter by dependency type: blocking, waiting on, or linked.' example: eq: active due_date: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/due_date" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/due_date" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_task/properties/due_date" lt: "$ref": "#/components/schemas/resource_task/properties/due_date" gt_eq: "$ref": "#/components/schemas/resource_task/properties/due_date" lt_eq: "$ref": "#/components/schemas/resource_task/properties/due_date" - "$ref": "#/components/schemas/resource_task/properties/due_date" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by due date range (due_date). example: gt: '2026-01-01' due_date_after: "$ref": "#/components/schemas/resource_task/properties/due_date_after" due_date_before: "$ref": "#/components/schemas/resource_task/properties/due_date_before" due_date_new: anyOf: - 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" gt: "$ref": "#/components/schemas/resource_task/properties/due_date_new" lt: "$ref": "#/components/schemas/resource_task/properties/due_date_new" gt_eq: "$ref": "#/components/schemas/resource_task/properties/due_date_new" lt_eq: "$ref": "#/components/schemas/resource_task/properties/due_date_new" - "$ref": "#/components/schemas/resource_task/properties/due_date_new" description: Return tasks due on this exact date. example: gt: '2026-01-01' due_date_on: "$ref": "#/components/schemas/resource_task/properties/due_date_on" folder_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/folder_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/folder_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/folder_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/folder_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/resource_task/properties/folder_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/folder_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by folder ID (alias for board_id). example: - 123 folder_name: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/folder_name" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/folder_name" - type: string title: Blank (IS NULL) maxLength: 0 contains: "$ref": "#/components/schemas/resource_task/properties/folder_name" not_contain: "$ref": "#/components/schemas/resource_task/properties/folder_name" - "$ref": "#/components/schemas/resource_task/properties/folder_name" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by folder name (alias for board_name). example: eq: value folder_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/folder_status" not_eq: "$ref": "#/components/schemas/resource_task/properties/folder_status" - "$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 full_query: anyOf: - "$ref": "#/components/schemas/resource_task/properties/full_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Full-text search across task fields. example: eq: value fuzzy_dates: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/fuzzy_dates" gt: "$ref": "#/components/schemas/resource_task/properties/fuzzy_dates" lt: "$ref": "#/components/schemas/resource_task/properties/fuzzy_dates" gt_eq: "$ref": "#/components/schemas/resource_task/properties/fuzzy_dates" lt_eq: "$ref": "#/components/schemas/resource_task/properties/fuzzy_dates" - "$ref": "#/components/schemas/resource_task/properties/fuzzy_dates" description: Fuzzy date matching across task date fields. example: gt: '2026-01-01' fuzzy_people: anyOf: - "$ref": "#/components/schemas/resource_task/properties/fuzzy_people" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/fuzzy_people" title: List description: Fuzzy match by people related to the task. example: eq: value id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/id" title: List gt: "$ref": "#/components/schemas/resource_task/properties/id" lt: "$ref": "#/components/schemas/resource_task/properties/id" gt_eq: "$ref": "#/components/schemas/resource_task/properties/id" lt_eq: "$ref": "#/components/schemas/resource_task/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_task/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_task/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_task/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_task/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_task/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/id" title: List description: Filter by task ID. example: - 123 initial_estimate: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/initial_estimate" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/initial_estimate" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_task/properties/initial_estimate" lt: "$ref": "#/components/schemas/resource_task/properties/initial_estimate" gt_eq: "$ref": "#/components/schemas/resource_task/properties/initial_estimate" lt_eq: "$ref": "#/components/schemas/resource_task/properties/initial_estimate" - "$ref": "#/components/schemas/resource_task/properties/initial_estimate" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by initial time estimate (in seconds). example: gt: 0 jump_query: anyOf: - "$ref": "#/components/schemas/resource_task/properties/jump_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Quick jump search by task name or number. example: eq: value last_activity: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/last_activity" not_eq: "$ref": "#/components/schemas/resource_task/properties/last_activity" gt: "$ref": "#/components/schemas/resource_task/properties/last_activity" lt: "$ref": "#/components/schemas/resource_task/properties/last_activity" gt_eq: "$ref": "#/components/schemas/resource_task/properties/last_activity" lt_eq: "$ref": "#/components/schemas/resource_task/properties/last_activity" - "$ref": "#/components/schemas/resource_task/properties/last_activity" description: Filter by last activity date range (last_activity_at). example: eq: value last_activity_after: "$ref": "#/components/schemas/resource_task/properties/last_activity_after" last_activity_before: "$ref": "#/components/schemas/resource_task/properties/last_activity_before" last_actor_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/last_actor_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/last_actor_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/last_actor_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/last_actor_id" title: List gt: "$ref": "#/components/schemas/resource_task/properties/last_actor_id" lt: "$ref": "#/components/schemas/resource_task/properties/last_actor_id" gt_eq: "$ref": "#/components/schemas/resource_task/properties/last_actor_id" lt_eq: "$ref": "#/components/schemas/resource_task/properties/last_actor_id" contains: anyOf: - "$ref": "#/components/schemas/resource_task/properties/last_actor_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/last_actor_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_task/properties/last_actor_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/last_actor_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_task/properties/last_actor_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_task/properties/last_actor_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_task/properties/last_actor_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/last_actor_id" title: List description: Filter by the person who last acted on the task. example: - 123 overdue_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/overdue_status" not_eq: "$ref": "#/components/schemas/resource_task/properties/overdue_status" - "$ref": "#/components/schemas/resource_task/properties/overdue_status" description: Filter by whether the task is overdue (past due date). example: eq: active parent_task_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/parent_task_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/parent_task_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/parent_task_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/parent_task_id" title: List gt: "$ref": "#/components/schemas/resource_task/properties/parent_task_id" lt: "$ref": "#/components/schemas/resource_task/properties/parent_task_id" gt_eq: "$ref": "#/components/schemas/resource_task/properties/parent_task_id" lt_eq: "$ref": "#/components/schemas/resource_task/properties/parent_task_id" contains: anyOf: - "$ref": "#/components/schemas/resource_task/properties/parent_task_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/parent_task_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_task/properties/parent_task_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/parent_task_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_task/properties/parent_task_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_task/properties/parent_task_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_task/properties/parent_task_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/parent_task_id" title: List description: Filter by parent task (to find subtasks of a specific task). example: - 123 person_type: "$ref": "#/components/schemas/resource_task/properties/person_type" project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/project_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/project_id" title: List gt: "$ref": "#/components/schemas/resource_task/properties/project_id" lt: "$ref": "#/components/schemas/resource_task/properties/project_id" gt_eq: "$ref": "#/components/schemas/resource_task/properties/project_id" lt_eq: "$ref": "#/components/schemas/resource_task/properties/project_id" contains: anyOf: - "$ref": "#/components/schemas/resource_task/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/project_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_task/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/project_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_task/properties/project_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_task/properties/project_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_task/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/project_id" title: List description: Filter by project ID. example: - 123 project_manager_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/project_manager_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/project_manager_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/project_manager_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/project_manager_id" title: List - "$ref": "#/components/schemas/resource_task/properties/project_manager_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/project_manager_id" title: List description: Filter by the project's responsible person. example: - 123 project_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/project_type" not_eq: "$ref": "#/components/schemas/resource_task/properties/project_type" - "$ref": "#/components/schemas/resource_task/properties/project_type" description: 'Filter by project type: internal (overhead) or client (billable).' example: eq: active public_access: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/public_access" not_eq: "$ref": "#/components/schemas/resource_task/properties/public_access" - "$ref": "#/components/schemas/resource_task/properties/public_access" description: Filter by task privacy (deprecated — use `private` filter instead). example: eq: value query: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 contains: "$ref": "#/components/schemas/resource_task/properties/query" not_contain: "$ref": "#/components/schemas/resource_task/properties/query" - "$ref": "#/components/schemas/resource_task/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 description: Quick search matching task title and number. example: eq: value query_extended: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/query_extended" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/query_extended" - type: string title: Blank (IS NULL) maxLength: 0 contains: "$ref": "#/components/schemas/resource_task/properties/query_extended" not_contain: "$ref": "#/components/schemas/resource_task/properties/query_extended" - "$ref": "#/components/schemas/resource_task/properties/query_extended" - type: string title: Blank (IS NULL) maxLength: 0 description: Extended search matching title, number, and description. example: eq: value remaining_time: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/remaining_time" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/remaining_time" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_task/properties/remaining_time" lt: "$ref": "#/components/schemas/resource_task/properties/remaining_time" gt_eq: "$ref": "#/components/schemas/resource_task/properties/remaining_time" lt_eq: "$ref": "#/components/schemas/resource_task/properties/remaining_time" - "$ref": "#/components/schemas/resource_task/properties/remaining_time" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by remaining time (in seconds). example: gt: 0 repeating: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/repeating" not_eq: "$ref": "#/components/schemas/resource_task/properties/repeating" - "$ref": "#/components/schemas/resource_task/properties/repeating" description: Filter to include only repeating tasks (those with a repeat schedule). example: eq: value service_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/service_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/service_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/service_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/service_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_task/properties/service_id" lt: "$ref": "#/components/schemas/resource_task/properties/service_id" gt_eq: "$ref": "#/components/schemas/resource_task/properties/service_id" lt_eq: "$ref": "#/components/schemas/resource_task/properties/service_id" contains: anyOf: - "$ref": "#/components/schemas/resource_task/properties/service_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/service_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_task/properties/service_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/service_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_task/properties/service_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_task/properties/service_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_task/properties/service_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/service_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by associated service ID. example: - 123 start_date: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/start_date" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/start_date" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_task/properties/start_date" lt: "$ref": "#/components/schemas/resource_task/properties/start_date" gt_eq: "$ref": "#/components/schemas/resource_task/properties/start_date" lt_eq: "$ref": "#/components/schemas/resource_task/properties/start_date" - "$ref": "#/components/schemas/resource_task/properties/start_date" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by start date range (start_date). example: gt: '2026-01-01' start_date_after: "$ref": "#/components/schemas/resource_task/properties/start_date_after" start_date_before: "$ref": "#/components/schemas/resource_task/properties/start_date_before" status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/status" not_eq: "$ref": "#/components/schemas/resource_task/properties/status" - "$ref": "#/components/schemas/resource_task/properties/status" description: Filter by open (1) or closed (2) status. example: eq: active subscriber_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/subscriber_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/subscriber_id" title: List contains: anyOf: - "$ref": "#/components/schemas/resource_task/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/subscriber_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_task/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/subscriber_id" title: List - "$ref": "#/components/schemas/resource_task/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/subscriber_id" title: List description: Filter by subscriber (person subscribed to the task). example: - 123 subtask: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/subtask" not_eq: "$ref": "#/components/schemas/resource_task/properties/subtask" - "$ref": "#/components/schemas/resource_task/properties/subtask" description: Filter to include only subtasks (tasks with a parent task). example: eq: value task_list_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/task_list_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/task_list_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/task_list_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/task_list_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/resource_task/properties/task_list_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/task_list_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by task list (milestone) ID. example: - 123 task_list_name: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/task_list_name" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/task_list_name" - type: string title: Blank (IS NULL) maxLength: 0 contains: "$ref": "#/components/schemas/resource_task/properties/task_list_name" not_contain: "$ref": "#/components/schemas/resource_task/properties/task_list_name" - "$ref": "#/components/schemas/resource_task/properties/task_list_name" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by task list name (text search). example: eq: value task_list_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/task_list_status" not_eq: "$ref": "#/components/schemas/resource_task/properties/task_list_status" - "$ref": "#/components/schemas/resource_task/properties/task_list_status" description: Filter by task list open/archived status. example: eq: active task_number: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/task_number" not_eq: "$ref": "#/components/schemas/resource_task/properties/task_number" gt: "$ref": "#/components/schemas/resource_task/properties/task_number" lt: "$ref": "#/components/schemas/resource_task/properties/task_number" gt_eq: "$ref": "#/components/schemas/resource_task/properties/task_number" lt_eq: "$ref": "#/components/schemas/resource_task/properties/task_number" contains: "$ref": "#/components/schemas/resource_task/properties/task_number" not_contain: "$ref": "#/components/schemas/resource_task/properties/task_number" - "$ref": "#/components/schemas/resource_task/properties/task_number" description: Filter by task number (text search). example: gt: 0 task_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/task_type" not_eq: "$ref": "#/components/schemas/resource_task/properties/task_type" - "$ref": "#/components/schemas/resource_task/properties/task_type" description: Filter by task type (task, subtask, or milestone). example: eq: active template: anyOf: - "$ref": "#/components/schemas/resource_task/properties/template" - type: string title: Blank (IS NULL) maxLength: 0 description: Return only template tasks. example: eq: value title: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/title" not_eq: "$ref": "#/components/schemas/resource_task/properties/title" gt: "$ref": "#/components/schemas/resource_task/properties/title" lt: "$ref": "#/components/schemas/resource_task/properties/title" gt_eq: "$ref": "#/components/schemas/resource_task/properties/title" lt_eq: "$ref": "#/components/schemas/resource_task/properties/title" contains: "$ref": "#/components/schemas/resource_task/properties/title" not_contain: "$ref": "#/components/schemas/resource_task/properties/title" - "$ref": "#/components/schemas/resource_task/properties/title" description: Filter by task title (text search). example: eq: value type_id: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/type_id" not_eq: "$ref": "#/components/schemas/resource_task/properties/type_id" - "$ref": "#/components/schemas/resource_task/properties/type_id" description: Filter by task type (task, subtask, or milestone). example: - 123 updated_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by last update date range (updated_at). example: gt: '2026-01-01' worked_time: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/worked_time" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/worked_time" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_task/properties/worked_time" lt: "$ref": "#/components/schemas/resource_task/properties/worked_time" gt_eq: "$ref": "#/components/schemas/resource_task/properties/worked_time" lt_eq: "$ref": "#/components/schemas/resource_task/properties/worked_time" - "$ref": "#/components/schemas/resource_task/properties/worked_time" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by worked time (in seconds). example: gt: 0 workflow_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/workflow_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/workflow_id" title: List - "$ref": "#/components/schemas/resource_task/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/workflow_id" title: List description: Filter by workflow ID (via the task's workflow status). example: - 123 workflow_status_category_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/workflow_status_category_id" - type: array items: "$ref": "#/components/schemas/resource_task/properties/workflow_status_category_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/workflow_status_category_id" - type: array items: "$ref": "#/components/schemas/resource_task/properties/workflow_status_category_id" title: List - "$ref": "#/components/schemas/resource_task/properties/workflow_status_category_id" - type: array items: "$ref": "#/components/schemas/resource_task/properties/workflow_status_category_id" title: List description: 'Filter by status category: not started (1), started (2), or closed (3).' example: - 123 workflow_status_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" title: List gt: "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" lt: "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" gt_eq: "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" lt_eq: "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" contains: anyOf: - "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" title: List description: Filter by workflow status ID. example: - 123 bookable_after: "$ref": "#/components/schemas/resource_task/properties/bookable_after" bookable_before: "$ref": "#/components/schemas/resource_task/properties/bookable_before" template_id: anyOf: - "$ref": "#/components/schemas/resource_task/properties/template_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_task/properties/template_id" title: List description: Filter tasks by the template they were created from. example: - 123 trackable_by_person_id: anyOf: - "$ref": "#/components/schemas/resource_task/properties/trackable_by_person_id" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter tasks that the specified person is permitted to track time on. example: - 123 booked_time: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/booked_time" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/booked_time" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_task/properties/booked_time" lt: "$ref": "#/components/schemas/resource_task/properties/booked_time" gt_eq: "$ref": "#/components/schemas/resource_task/properties/booked_time" lt_eq: "$ref": "#/components/schemas/resource_task/properties/booked_time" - "$ref": "#/components/schemas/resource_task/properties/booked_time" - type: string title: Blank (IS NULL) maxLength: 0 description: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/description" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/description" - type: string title: Blank (IS NULL) maxLength: 0 contains: "$ref": "#/components/schemas/resource_task/properties/description" not_contain: "$ref": "#/components/schemas/resource_task/properties/description" - "$ref": "#/components/schemas/resource_task/properties/description" - type: string title: Blank (IS NULL) maxLength: 0 future_booked_time: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/future_booked_time" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/future_booked_time" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_task/properties/future_booked_time" lt: "$ref": "#/components/schemas/resource_task/properties/future_booked_time" gt_eq: "$ref": "#/components/schemas/resource_task/properties/future_booked_time" lt_eq: "$ref": "#/components/schemas/resource_task/properties/future_booked_time" - "$ref": "#/components/schemas/resource_task/properties/future_booked_time" - type: string title: Blank (IS NULL) maxLength: 0 left_to_schedule_time: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/left_to_schedule_time" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/left_to_schedule_time" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_task/properties/left_to_schedule_time" lt: "$ref": "#/components/schemas/resource_task/properties/left_to_schedule_time" gt_eq: "$ref": "#/components/schemas/resource_task/properties/left_to_schedule_time" lt_eq: "$ref": "#/components/schemas/resource_task/properties/left_to_schedule_time" - "$ref": "#/components/schemas/resource_task/properties/left_to_schedule_time" - type: string title: Blank (IS NULL) maxLength: 0 net_unplanned_time: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/net_unplanned_time" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_task/properties/net_unplanned_time" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_task/properties/net_unplanned_time" lt: "$ref": "#/components/schemas/resource_task/properties/net_unplanned_time" gt_eq: "$ref": "#/components/schemas/resource_task/properties/net_unplanned_time" lt_eq: "$ref": "#/components/schemas/resource_task/properties/net_unplanned_time" - "$ref": "#/components/schemas/resource_task/properties/net_unplanned_time" - type: string title: Blank (IS NULL) maxLength: 0 example: closed: eq: false project_id: - 123 resource_task: type: object title: Task Resource 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. properties: tags: type: string title: Tags description: Tags applied to this task. example: eq: value after: type: string title: After format: date description: Return tasks created on or after this date. example: eq: value assignee: title: Assignee description: The person assigned to this task. example: eq: value assignee_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Assignee description: Filter by assigned person (also matches open to-do assignees). example: - 123 assignee_name: title: Assignee Name description: Filter by assigned person (also matches open to-do assignees). example: eq: value attachment_ids: type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Attachment Ids description: Files attached to this task. example: - 123 - 456 attachments: title: Attachments description: Files attached to this task. example: eq: value before: type: string title: Before format: date description: Return tasks created on or before this date. 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 blocking_dependency_count: type: integer title: Blocking Dependency Count description: Number of tasks this task is blocking from starting. example: gt: 0 bookings_count: type: integer title: Bookings Count description: Number of scheduled bookings referencing this task. example: gt: 0 closed: type: boolean title: Closed description: Whether the task is closed (derived from closed_at). example: true closed_after: type: string title: Closed After format: date description: Return tasks closed on or after this date. 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' closed_before: type: string title: Closed Before format: date description: Return tasks closed on or before this date. example: eq: value company_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Company description: Filter by client company (via the task's project). example: - 123 company_name: title: Company Name description: Filter by client company (via the task's project). example: eq: value created_at: type: string title: Created At format: date-time description: Timestamp when the task was created. example: gt: '2026-01-01' 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 creator: title: Creator description: The person who created this task. example: eq: value creator_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Creator description: ID of the person who created this task. example: - 123 creator_name: title: Creator Name description: The name of the person who created this task. example: eq: value custom_field_attachments: title: Custom Field Attachments description: Files uploaded to file-type custom fields 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 custom_fields: type: object title: Custom Fields description: Custom field values set on this task. example: eq: value date_range: type: string title: Date Range format: date description: Filter tasks overlapping a date range (for timeline/Gantt views). example: eq: value 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' dependency_type: enum: - 1 - 2 - 3 type: integer title: Dependency Type description: 'Filter by dependency type: blocking, waiting on, or linked.' example: eq: active due_date: type: string title: Due Date format: date description: Date by which the task should be completed. example: gt: '2026-01-01' 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' 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' due_date_new: type: string title: Due Date New format: date description: Return tasks due on this exact date. example: gt: '2026-01-01' due_date_on: type: string title: Due Date On format: date description: Return tasks due on this exact date. example: gt: '2026-01-01' due_time: type: string title: Due Time pattern: "^\\d{2}:\\d{2}$" description: Time of day for the due date deadline (HH:MM format). example: gt: 0 email_key: type: string title: Email Key description: Unique key for creating comments on this task via email. example: eq: value folder_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Folder description: Filter by folder ID (alias for board_id). example: - 123 folder_name: type: string title: Folder Name description: Filter by folder name (alias for board_name). example: eq: value folder_position: title: Folder Position description: Sort position of this task within its folder. example: eq: value 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 fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy date matching across task date fields. example: gt: '2026-01-01' fuzzy_people: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Fuzzy People description: Fuzzy match by people related to the task. example: eq: value id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Id description: The unique identifier of this task. example: - 123 initial_estimate: type: integer title: Initial Estimate description: Originally forecasted time needed to complete the task, in minutes. example: gt: 0 jump_query: type: string title: Jump Query description: Quick jump search by task name or number. example: eq: value 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 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' last_activity_before: type: string title: Last Activity Before format: date description: Return tasks with last activity before this date. example: eq: value last_actor: title: Last Actor description: The last person who made changes to this task. example: eq: value last_actor_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: 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 linked_dependency_count: type: integer title: Linked Dependency Count description: Number of tasks linked to this one (informational, no blocking). example: gt: 0 number: type: string title: Number description: Short numeric identifier (alias for task_number). example: eq: value open_subtask_count: type: integer title: Open Subtask Count description: Number of unclosed subtasks. example: gt: 0 open_todo_count: type: integer title: Open Todo Count description: Number of uncompleted to-do items. example: gt: 0 organization: title: Organization description: The organization this task belongs to. example: eq: value overdue_status: enum: - 1 - 2 type: integer title: Overdue Status description: Filter by whether the task is overdue (past due date). example: eq: active parent_task: title: Parent Task description: The parent task if this is a subtask. example: eq: value parent_task_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Parent Task description: Filter by parent task (to find subtasks of a specific task). example: - 123 person_type: type: integer title: Person Type description: Filter by parent/subtask distinction. example: eq: active placement: type: integer title: Placement description: Sort position of this task within its task list. 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 project: title: Project description: The project this task belongs to. example: eq: value project_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Project description: ID of the project (workspace) this task belongs to. example: - 123 project_manager_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Project Manager description: Filter by the project's responsible person. example: - 123 project_name: title: Project Name description: The name of the project this task belongs to. 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 public_access: type: boolean title: Public Access description: Filter by task privacy (deprecated — use `private` filter instead). example: eq: value query: type: string title: Query description: Quick search matching task title and number. example: eq: value query_extended: type: string title: Query Extended description: Extended search matching title, number, and description. example: eq: value 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 repeat_on_date: type: string title: Repeat On Date format: date description: Specific date for date-based recurring tasks. example: gt: '2026-01-01' repeat_on_interval: type: integer title: Repeat On Interval description: How frequently the task repeats (e.g. daily, weekly, monthly). example: eq: value repeat_on_monthday: type: integer title: Repeat On Monthday description: Day of the month for monthly recurring tasks. example: eq: value 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 repeat_origin_id: type: integer title: Repeat Origin description: ID of the original task that spawned this recurring instance. example: - 123 repeat_schedule_id: enum: - 1 - 2 - 3 - 4 type: integer title: Repeat Schedule description: ID of the repeat schedule if this task recurs on a regular interval. example: - 123 repeated_task: title: Repeated Task description: The recurring schedule configuration if this task repeats. 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 service_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Service description: ID of the service (billing point) this task is linked to. example: - 123 skip_reposition: type: boolean title: Skip Reposition description: If true, skips reordering of other tasks when placing this one. example: eq: value 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' 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' 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 subscriber_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Subscriber description: ID of a person who is subscribed to notifications for this task. example: - 123 subscriber_ids: type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Subscriber Ids description: Array of IDs of people subscribed to notifications for this task. example: - 123 - 456 subtask: type: boolean title: Subtask description: Whether this task is a subtask of another task. example: eq: value subtask_count: type: integer title: Subtask Count description: Number of direct subtasks under this task. example: gt: 0 subtask_placement: type: integer title: Subtask Placement description: Sort position among sibling subtasks under the parent task. example: eq: value tag_list: type: array items: type: string title: Tag List description: Tags applied to this task. example: eq: value task_dependency_count: type: integer title: Task Dependency Count description: Total number of dependency relationships on this task. example: gt: 0 task_list: title: Task List description: The task list this task belongs to within a folder. example: eq: value task_list_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Task List description: ID of the task list (milestone) this task belongs to. example: - 123 task_list_name: type: string title: Task List Name description: Filter by task list name (text search). example: eq: value task_list_position: title: Task List Position description: Sort position of this task within its task list. 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 task_number: type: string title: Task Number description: Unique number identifying a task within the organization. example: eq: value task_type: enum: - 1 - 2 type: integer title: Task Type description: Filter by parent/subtask distinction. example: eq: active template: type: string title: Template description: Return only template tasks. example: eq: value template_object: title: Template Object description: The template this task was created from, if applicable. example: eq: value title: type: string title: Title description: Descriptive name of the task. example: eq: value todo_assignee_ids: type: array items: type: string title: Todo Assignee Ids description: IDs of people assigned to open to-do items on this task. example: - 123 - 456 todo_count: type: integer title: Todo Count description: Total number of to-do checklist items on this task. example: gt: 0 type_id: enum: - 1 - 3 type: integer title: Type description: 'Task type: regular task, subtask, or milestone.' 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' 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 worked_time: type: integer title: Worked Time description: Total time tracked on this task across all time entries, in minutes. example: gt: 0 workflow_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Workflow description: ID of the workflow this task's status belongs to. example: - 123 workflow_status: title: Workflow Status description: Current workflow status of this task (e.g. 'To Do', 'In Progress', 'Done'). example: eq: active 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 workflow_status_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Workflow Status description: ID of the workflow status currently assigned to this task. example: - 123 workflow_status_name: title: Workflow Status Name description: Current workflow status of this task (e.g. 'To Do', 'In Progress', 'Done'). example: eq: active workflow_status_position: title: Workflow Status Position description: Sort position of the workflow status within its workflow. example: eq: active description: type: string title: Description example: |- # Investigate customer report Reproduce on staging and capture the trace. bookable_after: type: string title: Bookable After format: date description: Filter tasks to those bookable after 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 template_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Template description: ID of the template this task was created from. example: - 123 trackable_by_person_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Trackable By Person description: Filter tasks to those trackable by the specified person, based on restricted tracking settings. example: - 123 left_to_schedule_time: type: integer title: Left To Schedule Time net_unplanned_time: type: integer title: Net Unplanned Time placeholder_usages: title: Placeholder Usages subtasks: title: Subtasks task_dependencies: title: Task Dependencies todos: title: Todos booked_time: type: integer title: Booked Time description: Total time booked against this task through resource scheduling, in minutes. Aggregated from the task's service bookings. example: 2400 future_booked_time: type: integer title: Future Booked Time description: Time booked against this task that is scheduled from today onward, in minutes — the forward-looking portion of `booked_time`. example: 960 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: _response_object_invoice: type: object title: Invoice properties: attributes: type: object properties: amount: "$ref": "#/components/schemas/resource_invoice/properties/amount" amount_credited: "$ref": "#/components/schemas/resource_invoice/properties/amount_credited" amount_credited_default: "$ref": "#/components/schemas/resource_invoice/properties/amount_credited_default" amount_credited_normalized: "$ref": "#/components/schemas/resource_invoice/properties/amount_credited_normalized" amount_credited_with_tax: "$ref": "#/components/schemas/resource_invoice/properties/amount_credited_with_tax" amount_credited_with_tax_default: "$ref": "#/components/schemas/resource_invoice/properties/amount_credited_with_tax_default" amount_credited_with_tax_normalized: "$ref": "#/components/schemas/resource_invoice/properties/amount_credited_with_tax_normalized" amount_default: "$ref": "#/components/schemas/resource_invoice/properties/amount_default" amount_normalized: "$ref": "#/components/schemas/resource_invoice/properties/amount_normalized" amount_paid: "$ref": "#/components/schemas/resource_invoice/properties/amount_paid" amount_paid_default: "$ref": "#/components/schemas/resource_invoice/properties/amount_paid_default" amount_paid_normalized: "$ref": "#/components/schemas/resource_invoice/properties/amount_paid_normalized" amount_tax: "$ref": "#/components/schemas/resource_invoice/properties/amount_tax" amount_tax_default: "$ref": "#/components/schemas/resource_invoice/properties/amount_tax_default" amount_tax_normalized: "$ref": "#/components/schemas/resource_invoice/properties/amount_tax_normalized" amount_unpaid: "$ref": "#/components/schemas/resource_invoice/properties/amount_unpaid" amount_unpaid_default: "$ref": "#/components/schemas/resource_invoice/properties/amount_unpaid_default" amount_unpaid_normalized: "$ref": "#/components/schemas/resource_invoice/properties/amount_unpaid_normalized" amount_with_tax: "$ref": "#/components/schemas/resource_invoice/properties/amount_with_tax" amount_with_tax_default: "$ref": "#/components/schemas/resource_invoice/properties/amount_with_tax_default" amount_with_tax_normalized: "$ref": "#/components/schemas/resource_invoice/properties/amount_with_tax_normalized" amount_written_off: "$ref": "#/components/schemas/resource_invoice/properties/amount_written_off" amount_written_off_default: "$ref": "#/components/schemas/resource_invoice/properties/amount_written_off_default" amount_written_off_normalized: "$ref": "#/components/schemas/resource_invoice/properties/amount_written_off_normalized" bank_account_details: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/bank_account_details" - type: 'null' title: 'Null' company_reference_id: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/company_reference_id" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_invoice/properties/created_at" creation_options: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/creation_options" - type: 'null' title: 'Null' credited: "$ref": "#/components/schemas/resource_invoice/properties/credited" currency: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/currency" - type: 'null' title: 'Null' currency_default: "$ref": "#/components/schemas/resource_invoice/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_invoice/properties/currency_normalized" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/custom_fields" - type: 'null' title: 'Null' deleted_at: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/deleted_at" - type: 'null' title: 'Null' delivery_on: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/delivery_on" - type: 'null' title: 'Null' discount: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/discount" - type: 'null' title: 'Null' email_key: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/email_key" - type: 'null' title: 'Null' exchange_date: "$ref": "#/components/schemas/resource_invoice/properties/exchange_date" exchange_rate: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/exchange_rate" - type: string title: String - type: 'null' title: 'Null' export_id: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/export_id" - type: 'null' title: 'Null' export_integration_type_id: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/export_integration_type_id" - type: 'null' title: 'Null' export_invoice_url: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/export_invoice_url" - type: 'null' title: 'Null' exported: "$ref": "#/components/schemas/resource_invoice/properties/exported" exported_at: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/exported_at" - type: 'null' title: 'Null' finalized_at: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/finalized_at" - type: 'null' title: 'Null' finalized_on: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/finalized_on" - type: 'null' title: 'Null' footer: "$ref": "#/components/schemas/resource_invoice/properties/footer" footer_interpolated: "$ref": "#/components/schemas/resource_invoice/properties/footer_interpolated" invoice_template_id: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/invoice_template_id" - type: 'null' title: 'Null' invoice_type_id: "$ref": "#/components/schemas/resource_invoice/properties/invoice_type_id" invoiced_on: "$ref": "#/components/schemas/resource_invoice/properties/invoiced_on" last_activity_at: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/last_activity_at" - type: 'null' title: 'Null' line_item_tax: "$ref": "#/components/schemas/resource_invoice/properties/line_item_tax" note: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/note" - type: 'null' title: 'Null' note_interpolated: "$ref": "#/components/schemas/resource_invoice/properties/note_interpolated" number: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/number" - type: 'null' title: 'Null' paid_on: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/paid_on" - type: 'null' title: 'Null' pay_on: "$ref": "#/components/schemas/resource_invoice/properties/pay_on" payment_terms: "$ref": "#/components/schemas/resource_invoice/properties/payment_terms" payment_terms_days: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/payment_terms_days" - type: 'null' title: 'Null' payment_terms_type: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/payment_terms_type" - type: 'null' title: 'Null' purchase_order_number: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/purchase_order_number" - type: 'null' title: 'Null' sample_data: "$ref": "#/components/schemas/resource_invoice/properties/sample_data" sent_on: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/sent_on" - type: 'null' title: 'Null' subject: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/subject" - type: 'null' title: 'Null' tag_list: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/tag_list" - type: array items: type: string title: List of strings - type: 'null' title: 'Null' tax1_name: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/tax1_name" - type: 'null' title: 'Null' tax1_value: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/tax1_value" - type: string title: String - type: 'null' title: 'Null' tax2_name: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/tax2_name" - type: 'null' title: 'Null' tax2_value: anyOf: - "$ref": "#/components/schemas/resource_invoice/properties/tax2_value" - type: string title: String - type: 'null' title: 'Null' updated_at: "$ref": "#/components/schemas/resource_invoice/properties/updated_at" amount_attributed: "$ref": "#/components/schemas/resource_invoice/properties/amount_attributed" amount_attributed_default: "$ref": "#/components/schemas/resource_invoice/properties/amount_attributed_default" amount_attributed_normalized: "$ref": "#/components/schemas/resource_invoice/properties/amount_attributed_normalized" id: type: string relationships: type: object properties: attachment: "$ref": "#/components/schemas/_single_relationship" bank_account: "$ref": "#/components/schemas/_single_relationship" bill_from: "$ref": "#/components/schemas/_single_relationship" bill_to: "$ref": "#/components/schemas/_single_relationship" company: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" custom_field_attachments: "$ref": "#/components/schemas/_collection_relationship" custom_field_people: "$ref": "#/components/schemas/_collection_relationship" document_type: "$ref": "#/components/schemas/_single_relationship" invoice_attributions: "$ref": "#/components/schemas/_collection_relationship" issuer: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" parent_invoice: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - invoices type: string required: - id - type _response_object_proposal: type: object title: Proposal properties: attributes: type: object properties: approval_status: "$ref": "#/components/schemas/resource_proposal/properties/approval_status" budget_total: "$ref": "#/components/schemas/resource_proposal/properties/budget_total" budget_total_default: "$ref": "#/components/schemas/resource_proposal/properties/budget_total_default" budget_total_normalized: "$ref": "#/components/schemas/resource_proposal/properties/budget_total_normalized" created_at: "$ref": "#/components/schemas/resource_proposal/properties/created_at" currency: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/currency" - type: 'null' title: 'Null' currency_default: "$ref": "#/components/schemas/resource_proposal/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_proposal/properties/currency_normalized" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/custom_fields" - type: 'null' title: 'Null' date: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/date" - type: 'null' title: 'Null' disclaimer: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/disclaimer" - type: 'null' title: 'Null' disclaimer_enabled: "$ref": "#/components/schemas/resource_proposal/properties/disclaimer_enabled" end_date: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/end_date" - type: 'null' title: 'Null' exchange_date: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/exchange_date" - type: 'null' title: 'Null' exchange_rate: type: string footer: "$ref": "#/components/schemas/resource_proposal/properties/footer" footer_interpolated: "$ref": "#/components/schemas/resource_proposal/properties/footer_interpolated" identity_confirmation_enabled: "$ref": "#/components/schemas/resource_proposal/properties/identity_confirmation_enabled" identity_confirmed_at: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/identity_confirmed_at" - type: 'null' title: 'Null' link_status: "$ref": "#/components/schemas/resource_proposal/properties/link_status" name: "$ref": "#/components/schemas/resource_proposal/properties/name" note: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/note" - type: 'null' title: 'Null' note_interpolated: "$ref": "#/components/schemas/resource_proposal/properties/note_interpolated" number: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/number" - type: 'null' title: 'Null' pdf_url: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/pdf_url" - type: 'null' title: 'Null' public_uuid: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/public_uuid" - type: 'null' title: 'Null' purchase_order_number: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/purchase_order_number" - type: 'null' title: 'Null' responder_email: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/responder_email" - type: 'null' title: 'Null' responder_name: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/responder_name" - type: 'null' title: 'Null' sent_at: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/sent_at" - type: 'null' title: 'Null' signed: "$ref": "#/components/schemas/resource_proposal/properties/signed" signed_pdf_url: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/signed_pdf_url" - type: 'null' title: 'Null' source: "$ref": "#/components/schemas/resource_proposal/properties/source" status: "$ref": "#/components/schemas/resource_proposal/properties/status" status_changed_at: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/status_changed_at" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: attachment: "$ref": "#/components/schemas/_single_relationship" client: "$ref": "#/components/schemas/_single_relationship" contact: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" deal_creator: "$ref": "#/components/schemas/_single_relationship" document_type: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" proposal_from: "$ref": "#/components/schemas/_single_relationship" proposal_to: "$ref": "#/components/schemas/_single_relationship" responsible: "$ref": "#/components/schemas/_single_relationship" scenario: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" tax_rate: "$ref": "#/components/schemas/_single_relationship" type: enum: - proposals type: string required: - id - type error_code_role: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - people_outside_subsidiary - permission_exceeds_manager - permission_not_available_for_client - target_role_not_found type: string title: Error Code description: Every error `code` the permission set endpoints can return in a 422 response. resource_deal_status: type: object title: Deal status Resource description: Pipeline stage defining the outcome and tracking capabilities for deals in that stage. The status_id determines outcome category (open/won/lost/delivered). Optional flags enable time, expense, and booking tracking, probability estimation, and lost reason capture. properties: archived_at: type: string title: Archived At format: date-time description: Timestamp when the pipeline stage was archived, or null if active. example: gt: '2026-01-01' booking_tracking_enabled: type: boolean title: Booking Tracking Enabled description: When true, bookings can be tracked for deals in this pipeline stage. example: eq: value color_id: type: integer title: Color description: The color ID used to visually distinguish this pipeline stage. example: - 123 created_at: title: Created At description: Timestamp when this pipeline stage was created. example: gt: '2026-01-01' expense_tracking_enabled: type: boolean title: Expense Tracking Enabled description: When true, expenses can be tracked for deals in this pipeline stage. example: eq: value id: type: integer title: Id description: Unique identifier for the pipeline stage. example: - 123 lost_reason_enabled: type: boolean title: Lost Reason Enabled description: When true, a lost reason must be provided when a deal is moved to this stage. example: eq: value name: type: string title: Name description: The display name of the pipeline stage. example: eq: value organization: title: Organization description: The organization this pipeline stage belongs to. example: eq: value pipeline: title: Pipeline description: The pipeline this stage belongs to. example: eq: value pipeline_id: type: integer title: Pipeline description: The ID of the pipeline this stage belongs to. example: - 123 pipeline_type_id: enum: - 1 - 2 type: integer title: Pipeline Type description: Numeric identifier for the pipeline type (1 = sales, 2 = production). example: - 123 position: type: integer title: Position description: The display order position of this stage within the pipeline. example: eq: value probability: type: integer title: Probability description: The default win probability percentage for deals in this stage. example: eq: value probability_enabled: type: boolean title: Probability Enabled description: When true, win probability is tracked for deals in this pipeline stage. example: eq: value query: type: string title: Query description: A saved filter query string applied to this pipeline stage view. example: eq: value status_id: enum: - 1 - 2 - 3 type: integer title: Status description: Numeric identifier for the outcome status of this stage (e.g. open, won, lost, delivered). example: - 123 time_tracking_enabled: type: boolean title: Time Tracking Enabled description: When true, time entries can be logged for deals in this pipeline stage. example: gt: 0 used: type: boolean title: Used description: Indicates whether any deals are currently in this pipeline stage. example: eq: value example: id: '5' type: deal_statuses attributes: name: Proposal Sent position: 3 outcome: open color_id: '7' relationships: pipeline: data: type: pipelines id: '1' filter_company: type: object title: Filter company description: Filter parameters for companies (clients). properties: tags: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/tags" - type: array items: "$ref": "#/components/schemas/resource_company/properties/tags" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/tags" - type: array items: "$ref": "#/components/schemas/resource_company/properties/tags" title: List - type: string title: Blank (IS NULL) maxLength: 0 contains: anyOf: - "$ref": "#/components/schemas/resource_company/properties/tags" - type: array items: "$ref": "#/components/schemas/resource_company/properties/tags" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_company/properties/tags" - type: array items: "$ref": "#/components/schemas/resource_company/properties/tags" title: List - "$ref": "#/components/schemas/resource_company/properties/tags" - type: array items: "$ref": "#/components/schemas/resource_company/properties/tags" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by tag. example: eq: value archived_at: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by archive date range (`archived_at`). example: gt: '2026-01-01' billing_name: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_company/properties/billing_name" not_eq: "$ref": "#/components/schemas/resource_company/properties/billing_name" gt: "$ref": "#/components/schemas/resource_company/properties/billing_name" lt: "$ref": "#/components/schemas/resource_company/properties/billing_name" gt_eq: "$ref": "#/components/schemas/resource_company/properties/billing_name" lt_eq: "$ref": "#/components/schemas/resource_company/properties/billing_name" contains: "$ref": "#/components/schemas/resource_company/properties/billing_name" not_contain: "$ref": "#/components/schemas/resource_company/properties/billing_name" - "$ref": "#/components/schemas/resource_company/properties/billing_name" description: Filter by billing name (full legal company name). example: eq: value company_code: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_company/properties/company_code" not_eq: "$ref": "#/components/schemas/resource_company/properties/company_code" gt: "$ref": "#/components/schemas/resource_company/properties/company_code" lt: "$ref": "#/components/schemas/resource_company/properties/company_code" gt_eq: "$ref": "#/components/schemas/resource_company/properties/company_code" lt_eq: "$ref": "#/components/schemas/resource_company/properties/company_code" contains: "$ref": "#/components/schemas/resource_company/properties/company_code" not_contain: "$ref": "#/components/schemas/resource_company/properties/company_code" - "$ref": "#/components/schemas/resource_company/properties/company_code" description: Filter by company code (text search). example: eq: value company_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/company_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/company_id" title: List gt: "$ref": "#/components/schemas/resource_company/properties/company_id" lt: "$ref": "#/components/schemas/resource_company/properties/company_id" gt_eq: "$ref": "#/components/schemas/resource_company/properties/company_id" lt_eq: "$ref": "#/components/schemas/resource_company/properties/company_id" contains: anyOf: - "$ref": "#/components/schemas/resource_company/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/company_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_company/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/company_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_company/properties/company_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_company/properties/company_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_company/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/company_id" title: List description: Filter by company ID (alias for `id`). example: - 123 created_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by creation date range (`created_at`). example: gt: '2026-01-01' custom_fields: type: object additionalProperties: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string any_of: type: array items: type: string not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings none_of: type: array items: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String description: Filter by custom field values. example: eq: value default_currency: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_currency" - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_currency" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_currency" - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_currency" title: List - type: string title: Blank (IS NULL) maxLength: 0 contains: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_currency" - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_currency" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_currency" - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_currency" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/resource_company/properties/default_currency" - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_currency" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the company's default invoice currency. example: eq: value default_subsidiary_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" lt: "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" gt_eq: "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" lt_eq: "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" contains: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_subsidiary_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the company's default subsidiary. example: - 123 default_tax_rate_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" lt: "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" gt_eq: "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" lt_eq: "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" contains: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/default_tax_rate_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the company's default tax rate. example: - 123 due_days: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_company/properties/due_days" not_eq: "$ref": "#/components/schemas/resource_company/properties/due_days" gt: "$ref": "#/components/schemas/resource_company/properties/due_days" lt: "$ref": "#/components/schemas/resource_company/properties/due_days" gt_eq: "$ref": "#/components/schemas/resource_company/properties/due_days" lt_eq: "$ref": "#/components/schemas/resource_company/properties/due_days" contains: "$ref": "#/components/schemas/resource_company/properties/due_days" not_contain: "$ref": "#/components/schemas/resource_company/properties/due_days" - "$ref": "#/components/schemas/resource_company/properties/due_days" description: Filter by default payment terms (days). example: eq: value full_query: anyOf: - "$ref": "#/components/schemas/resource_company/properties/full_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Full-text search across company name, billing name, and other text fields. example: eq: value fuzzy_dates: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_company/properties/fuzzy_dates" not_eq: "$ref": "#/components/schemas/resource_company/properties/fuzzy_dates" gt: "$ref": "#/components/schemas/resource_company/properties/fuzzy_dates" lt: "$ref": "#/components/schemas/resource_company/properties/fuzzy_dates" gt_eq: "$ref": "#/components/schemas/resource_company/properties/fuzzy_dates" lt_eq: "$ref": "#/components/schemas/resource_company/properties/fuzzy_dates" - "$ref": "#/components/schemas/resource_company/properties/fuzzy_dates" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by fuzzy date range (e.g. this_week, last_month). example: gt: '2026-01-01' fuzzy_people: anyOf: - "$ref": "#/components/schemas/resource_company/properties/fuzzy_people" - type: array items: "$ref": "#/components/schemas/resource_company/properties/fuzzy_people" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by person using fuzzy matching. example: eq: value id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/id" title: List gt: "$ref": "#/components/schemas/resource_company/properties/id" lt: "$ref": "#/components/schemas/resource_company/properties/id" gt_eq: "$ref": "#/components/schemas/resource_company/properties/id" lt_eq: "$ref": "#/components/schemas/resource_company/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_company/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_company/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_company/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_company/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_company/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/id" title: List description: Filter by company ID. example: - 123 jump_query: anyOf: - "$ref": "#/components/schemas/resource_company/properties/jump_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Quick search query for jumping to a specific company by name. example: eq: value last_activity_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by last activity date range (`last_activity_at`). example: gt: '2026-01-01' name: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_company/properties/name" not_eq: "$ref": "#/components/schemas/resource_company/properties/name" gt: "$ref": "#/components/schemas/resource_company/properties/name" lt: "$ref": "#/components/schemas/resource_company/properties/name" gt_eq: "$ref": "#/components/schemas/resource_company/properties/name" lt_eq: "$ref": "#/components/schemas/resource_company/properties/name" contains: "$ref": "#/components/schemas/resource_company/properties/name" not_contain: "$ref": "#/components/schemas/resource_company/properties/name" - "$ref": "#/components/schemas/resource_company/properties/name" description: Filter by company name (text search). example: eq: value payment_terms: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/payment_terms" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/payment_terms" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_company/properties/payment_terms" lt: "$ref": "#/components/schemas/resource_company/properties/payment_terms" gt_eq: "$ref": "#/components/schemas/resource_company/properties/payment_terms" lt_eq: "$ref": "#/components/schemas/resource_company/properties/payment_terms" contains: "$ref": "#/components/schemas/resource_company/properties/payment_terms" not_contain: "$ref": "#/components/schemas/resource_company/properties/payment_terms" any_of: type: array items: "$ref": "#/components/schemas/resource_company/properties/payment_terms" none_of: type: array items: "$ref": "#/components/schemas/resource_company/properties/payment_terms" - "$ref": "#/components/schemas/resource_company/properties/payment_terms" description: Filter by payment terms (days until invoice due). example: eq: value project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/project_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/project_id" title: List - "$ref": "#/components/schemas/resource_company/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/project_id" title: List description: Filter by companies associated with a project. example: - 123 query: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_company/properties/query" not_eq: "$ref": "#/components/schemas/resource_company/properties/query" contains: "$ref": "#/components/schemas/resource_company/properties/query" not_contain: "$ref": "#/components/schemas/resource_company/properties/query" - "$ref": "#/components/schemas/resource_company/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 description: Search companies by name (text search). example: eq: value status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_company/properties/status" not_eq: "$ref": "#/components/schemas/resource_company/properties/status" - "$ref": "#/components/schemas/resource_company/properties/status" description: Filter by company status (active or archived). example: eq: active subscriber_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/subscriber_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/subscriber_id" title: List - "$ref": "#/components/schemas/resource_company/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/subscriber_id" title: List description: Filter by subscriber (person subscribed to company notifications). example: - 123 subsidiary_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" lt: "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" gt_eq: "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" lt_eq: "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" contains: anyOf: - "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/subsidiary_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the company's subsidiary (alias for `default_subsidiary_id`). example: - 123 vat: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/vat" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/vat" - type: string title: Blank (IS NULL) maxLength: 0 contains: "$ref": "#/components/schemas/resource_company/properties/vat" not_contain: "$ref": "#/components/schemas/resource_company/properties/vat" - "$ref": "#/components/schemas/resource_company/properties/vat" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by VAT / tax ID number. example: eq: value exclude_company_and_children: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/exclude_company_and_children" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/exclude_company_and_children" title: List - "$ref": "#/components/schemas/resource_company/properties/exclude_company_and_children" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/exclude_company_and_children" title: List description: Filter by excluding a company and all its subsidiaries from results. example: eq: value has_parent_company: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_company/properties/has_parent_company" not_eq: "$ref": "#/components/schemas/resource_company/properties/has_parent_company" - "$ref": "#/components/schemas/resource_company/properties/has_parent_company" description: Filter by whether the company has a parent company assigned. example: eq: value parent_company_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/parent_company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/parent_company_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/parent_company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/parent_company_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 contains: anyOf: - "$ref": "#/components/schemas/resource_company/properties/parent_company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/parent_company_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_company/properties/parent_company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/parent_company_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/resource_company/properties/parent_company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_company/properties/parent_company_id" title: List description: Filter by the parent company of the company. example: - 123 payment_terms_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/payment_terms_type" - type: array items: "$ref": "#/components/schemas/resource_company/properties/payment_terms_type" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_company/properties/payment_terms_type" - type: array items: "$ref": "#/components/schemas/resource_company/properties/payment_terms_type" title: List - type: string title: Blank (IS NULL) maxLength: 0 contains: anyOf: - "$ref": "#/components/schemas/resource_company/properties/payment_terms_type" - type: array items: "$ref": "#/components/schemas/resource_company/properties/payment_terms_type" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_company/properties/payment_terms_type" - type: array items: "$ref": "#/components/schemas/resource_company/properties/payment_terms_type" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/resource_company/properties/payment_terms_type" - type: array items: "$ref": "#/components/schemas/resource_company/properties/payment_terms_type" title: List - type: string title: Blank (IS NULL) maxLength: 0 assigned_subsidiary_id: anyOf: - type: object title: Operation properties: eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers - type: string title: Blank (IS NULL) maxLength: 0 gt: type: integer lt: type: integer gt_eq: type: integer lt_eq: type: integer contains: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers not_contain: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers any_of: anyOf: - type: array items: type: integer title: List of integers - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: type: integer title: List of integers - "$ref": "#/components/schemas/_id_list" - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers - type: string title: Blank (IS NULL) maxLength: 0 email_domain: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: Blank (IS NULL) maxLength: 0 contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: Blank (IS NULL) maxLength: 0 not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: Blank (IS NULL) maxLength: 0 - type: string title: String - type: array items: type: string title: List of strings - type: string title: Blank (IS NULL) maxLength: 0 example: name: contains: Acme _task_create_relationships: type: object properties: service: "$ref": "#/components/schemas/_single_linkage_nullable" subscribers: "$ref": "#/components/schemas/_collection_linkage" task_list: "$ref": "#/components/schemas/_single_linkage_nullable" workflow_status: "$ref": "#/components/schemas/_single_linkage" assignee: "$ref": "#/components/schemas/_single_linkage_nullable" attachments: "$ref": "#/components/schemas/_collection_linkage" parent_task: "$ref": "#/components/schemas/_single_linkage_nullable" project: "$ref": "#/components/schemas/_single_linkage" _task_update_relationships: type: object properties: service: "$ref": "#/components/schemas/_single_linkage_nullable" subscribers: "$ref": "#/components/schemas/_collection_linkage" task_list: "$ref": "#/components/schemas/_single_linkage_nullable" workflow_status: "$ref": "#/components/schemas/_single_linkage" assignee: "$ref": "#/components/schemas/_single_linkage_nullable" attachments: "$ref": "#/components/schemas/_collection_linkage" parent_task: "$ref": "#/components/schemas/_single_linkage_nullable" project: "$ref": "#/components/schemas/_single_linkage" _filter_root_agent_session: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_agent_session" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_agent_session" _response_object_erasure_count: type: object title: Erasure Count properties: attributes: type: object properties: pending_absences: "$ref": "#/components/schemas/resource_erasure_count/properties/pending_absences" pending_expenses: "$ref": "#/components/schemas/resource_erasure_count/properties/pending_expenses" unapproved_time_entries: "$ref": "#/components/schemas/resource_erasure_count/properties/unapproved_time_entries" required: - unapproved_time_entries - pending_expenses - pending_absences id: type: string type: enum: - erasure_counts type: string required: - id - type resource_erasure_count: type: object title: Erasure Count Resource properties: pending_absences: type: integer title: Pending absences pending_expenses: type: integer title: Pending expenses unapproved_time_entries: type: integer title: Unapproved time entries _response_object_organization: type: object title: Organization properties: attributes: type: object properties: proposal_approvals: "$ref": "#/components/schemas/resource_organization/properties/proposal_approvals" save_line_item_snapshots: "$ref": "#/components/schemas/resource_organization/properties/save_line_item_snapshots" addons: "$ref": "#/components/schemas/resource_organization/properties/addons" ai_allowed_models: "$ref": "#/components/schemas/resource_organization/properties/ai_allowed_models" ai_enabled: "$ref": "#/components/schemas/resource_organization/properties/ai_enabled" ai_instructions: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/ai_instructions" - type: 'null' title: 'Null' allow_time_off: "$ref": "#/components/schemas/resource_organization/properties/allow_time_off" allow_user_email: "$ref": "#/components/schemas/resource_organization/properties/allow_user_email" analytics_uid: "$ref": "#/components/schemas/resource_organization/properties/analytics_uid" autotracking_schedule_id: "$ref": "#/components/schemas/resource_organization/properties/autotracking_schedule_id" avatar_url: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/avatar_url" - type: 'null' title: 'Null' billing_email: type: - string - 'null' booked_demo: "$ref": "#/components/schemas/resource_organization/properties/booked_demo" conflict_resolver_active: "$ref": "#/components/schemas/resource_organization/properties/conflict_resolver_active" create_time_entry_on_timer_start: "$ref": "#/components/schemas/resource_organization/properties/create_time_entry_on_timer_start" currency: "$ref": "#/components/schemas/resource_organization/properties/currency" currency_default: "$ref": "#/components/schemas/resource_organization/properties/currency_default" currency_format_id: "$ref": "#/components/schemas/resource_organization/properties/currency_format_id" currency_normalized: "$ref": "#/components/schemas/resource_organization/properties/currency_normalized" customer_success_specialist_id: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/customer_success_specialist_id" - type: 'null' title: 'Null' date_format_id: "$ref": "#/components/schemas/resource_organization/properties/date_format_id" deal_settings: "$ref": "#/components/schemas/resource_organization/properties/deal_settings" decimal_places_id: "$ref": "#/components/schemas/resource_organization/properties/decimal_places_id" delivered_budget_recognition_date_id: "$ref": "#/components/schemas/resource_organization/properties/delivered_budget_recognition_date_id" domain_verified: "$ref": "#/components/schemas/resource_organization/properties/domain_verified" due_days: "$ref": "#/components/schemas/resource_organization/properties/due_days" email_domain_name: "$ref": "#/components/schemas/resource_organization/properties/email_domain_name" email_key: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/email_key" - type: 'null' title: 'Null' email_local_name: "$ref": "#/components/schemas/resource_organization/properties/email_local_name" email_sender_name: "$ref": "#/components/schemas/resource_organization/properties/email_sender_name" email_type_id: "$ref": "#/components/schemas/resource_organization/properties/email_type_id" erector_id: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/erector_id" - type: 'null' title: 'Null' exchange_rate_provider_id: "$ref": "#/components/schemas/resource_organization/properties/exchange_rate_provider_id" expense_markup: "$ref": "#/components/schemas/resource_organization/properties/expense_markup" expense_settings: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/expense_settings" - type: 'null' title: 'Null' facility_costs: "$ref": "#/components/schemas/resource_organization/properties/facility_costs" facility_costs_breakdown: "$ref": "#/components/schemas/resource_organization/properties/facility_costs_breakdown" facility_costs_default: "$ref": "#/components/schemas/resource_organization/properties/facility_costs_default" facility_costs_normalized: "$ref": "#/components/schemas/resource_organization/properties/facility_costs_normalized" financial_month_locking_date: "$ref": "#/components/schemas/resource_organization/properties/financial_month_locking_date" financial_month_locking_partial_edit: "$ref": "#/components/schemas/resource_organization/properties/financial_month_locking_partial_edit" financial_months: "$ref": "#/components/schemas/resource_organization/properties/financial_months" fiscal_year_start: "$ref": "#/components/schemas/resource_organization/properties/fiscal_year_start" flags: "$ref": "#/components/schemas/resource_organization/properties/flags" force_single_sign_on: "$ref": "#/components/schemas/resource_organization/properties/force_single_sign_on" force_two_factor_auth: "$ref": "#/components/schemas/resource_organization/properties/force_two_factor_auth" invitation_token: "$ref": "#/components/schemas/resource_organization/properties/invitation_token" invoice_rounding_method_id: "$ref": "#/components/schemas/resource_organization/properties/invoice_rounding_method_id" invoice_timesheet_export_configuration: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/invoice_timesheet_export_configuration" - type: 'null' title: 'Null' limited_service_types: "$ref": "#/components/schemas/resource_organization/properties/limited_service_types" locale: "$ref": "#/components/schemas/resource_organization/properties/locale" man_day_minutes: "$ref": "#/components/schemas/resource_organization/properties/man_day_minutes" mcp_server_enabled: "$ref": "#/components/schemas/resource_organization/properties/mcp_server_enabled" metrics: "$ref": "#/components/schemas/resource_organization/properties/metrics" name: "$ref": "#/components/schemas/resource_organization/properties/name" number_format_id: "$ref": "#/components/schemas/resource_organization/properties/number_format_id" numbering_format_settings: "$ref": "#/components/schemas/resource_organization/properties/numbering_format_settings" onboarding_progress: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/onboarding_progress" - type: 'null' title: 'Null' open_budget_recognition_date_id: "$ref": "#/components/schemas/resource_organization/properties/open_budget_recognition_date_id" organization_type_id: "$ref": "#/components/schemas/resource_organization/properties/organization_type_id" original_avatar_url: "$ref": "#/components/schemas/resource_organization/properties/original_avatar_url" overhead: "$ref": "#/components/schemas/resource_organization/properties/overhead" overhead_amortization_period: "$ref": "#/components/schemas/resource_organization/properties/overhead_amortization_period" overhead_recalculation_day: "$ref": "#/components/schemas/resource_organization/properties/overhead_recalculation_day" overhead_subsidiary_switched_at: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/overhead_subsidiary_switched_at" - type: 'null' title: 'Null' overhead_type_id: "$ref": "#/components/schemas/resource_organization/properties/overhead_type_id" payment_terms_type: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/payment_terms_type" - type: 'null' title: 'Null' quick_start_config: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/quick_start_config" - type: 'null' title: 'Null' remove_branding: "$ref": "#/components/schemas/resource_organization/properties/remove_branding" request_for_resource_enabled: "$ref": "#/components/schemas/resource_organization/properties/request_for_resource_enabled" revenue_recognition_type_id: "$ref": "#/components/schemas/resource_organization/properties/revenue_recognition_type_id" rounding_interval_id: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/rounding_interval_id" - type: 'null' title: 'Null' rounding_method_id: "$ref": "#/components/schemas/resource_organization/properties/rounding_method_id" sample_data_imported_at: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/sample_data_imported_at" - type: 'null' title: 'Null' sample_data_reverted_at: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/sample_data_reverted_at" - type: 'null' title: 'Null' scim_bearer_token: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/scim_bearer_token" - type: 'null' title: 'Null' self_attribution: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/self_attribution" - type: 'null' title: 'Null' self_attribution_comment: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/self_attribution_comment" - type: 'null' title: 'Null' single_sign_on: "$ref": "#/components/schemas/resource_organization/properties/single_sign_on" subsidiary_count: "$ref": "#/components/schemas/resource_organization/properties/subsidiary_count" task_due_time_enabled: "$ref": "#/components/schemas/resource_organization/properties/task_due_time_enabled" time_display_id: "$ref": "#/components/schemas/resource_organization/properties/time_display_id" time_format_id: "$ref": "#/components/schemas/resource_organization/properties/time_format_id" time_locking: "$ref": "#/components/schemas/resource_organization/properties/time_locking" time_locking_interval: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/time_locking_interval" - type: 'null' title: 'Null' time_locking_period_id: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/time_locking_period_id" - type: 'null' title: 'Null' time_locking_reminders: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/time_locking_reminders" - type: 'null' title: 'Null' time_reminder_at: "$ref": "#/components/schemas/resource_organization/properties/time_reminder_at" time_reminder_condition: "$ref": "#/components/schemas/resource_organization/properties/time_reminder_condition" time_reminder_id: "$ref": "#/components/schemas/resource_organization/properties/time_reminder_id" time_reminders: "$ref": "#/components/schemas/resource_organization/properties/time_reminders" time_tracking_policies_enabled: "$ref": "#/components/schemas/resource_organization/properties/time_tracking_policies_enabled" time_tracking_policy_id: "$ref": "#/components/schemas/resource_organization/properties/time_tracking_policy_id" time_zone: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/time_zone" - type: 'null' title: 'Null' timesheet_submission: "$ref": "#/components/schemas/resource_organization/properties/timesheet_submission" timesheet_submission_reminders: "$ref": "#/components/schemas/resource_organization/properties/timesheet_submission_reminders" timesheet_submission_settings: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/timesheet_submission_settings" - type: 'null' title: 'Null' verification_status_id: "$ref": "#/components/schemas/resource_organization/properties/verification_status_id" verified_at: anyOf: - "$ref": "#/components/schemas/resource_organization/properties/verified_at" - type: 'null' title: 'Null' week_start_day_id: "$ref": "#/components/schemas/resource_organization/properties/week_start_day_id" weight: "$ref": "#/components/schemas/resource_organization/properties/weight" working_hours: type: array items: type: number id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" organization_subscription: "$ref": "#/components/schemas/_single_relationship" owner: "$ref": "#/components/schemas/_single_relationship" type: enum: - organizations type: string required: - id - type resource_organization: type: object title: Organization Resource description: The organization resource representing the top-level account with global settings, preferences, and configuration. properties: task_due_time_enabled: type: boolean title: Task Due Time Enabled addons: title: Addons description: Active add-ons enabled for the organization. example: eq: value ai_enabled: type: boolean title: AI Enabled description: Whether AI-powered features are enabled for the organization. example: eq: value allow_time_off: type: boolean title: Allow Time Off description: Whether time-off tracking is enabled for the organization. example: gt: 0 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 analytics_uid: title: Analytics Uid description: Google Analytics tracking ID associated with the organization. example: eq: value avatar_url: type: string title: Avatar Url description: URL of the organization's avatar image (thumbnail size). example: eq: value billing_email: type: object title: Billing Email description: Email address used for billing correspondence. example: eq: value booked_demo: type: boolean title: Booked Demo description: Whether the organization has booked a demo with Productive. example: eq: value company: title: Company description: The client company linked 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 currency: type: string title: Currency description: Default currency code for the organization (e.g. USD, EUR). example: eq: value currency_default: title: Currency Default description: Default currency code used as the base for monetary values. 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 currency_normalized: title: Currency Normalized description: Normalized currency code used internally. 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 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 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 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 domain_verified: title: Domain Verified description: Whether the custom email domain has been verified for sending invoice emails. example: eq: value due_days: type: integer title: Due Days description: 'Default day offset paired with `payment_terms_type` (org level): `days_after_invoice_date` — > 0, after the invoice date; `end_of_month` — >= 0, after the invoice month''s end; `due_upon_receipt` — ignored.' example: eq: value email_domain_name: title: Email Domain Name description: Custom domain name used for the organization's invoice email sender address. example: eq: value email_key: type: string title: Email Key description: Unique email key (inbox key) for receiving emails into the organization. example: eq: value email_local_name: title: Email Local Name description: Local part (username) of the custom invoice email sender address. example: eq: value email_sender_name: title: Email Sender Name description: Display name shown as the sender of outgoing invoice emails. example: eq: value email_type_id: type: integer title: Email Type description: Email client type used for sending invoices (e.g. SMTP, Sendgrid). example: - 123 erector_id: type: integer title: Erector description: ID of the Productive user who set up (erected) 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 expense_markup: type: number title: Expense Markup description: Default markup percentage applied to expenses on deals. example: eq: value expense_settings: type: object title: Expense Settings description: Organization-level expense settings (e.g. approval defaults, categories). example: eq: value facility_costs: title: Facility Costs description: Monthly facility cost amount in the organization's default currency. example: eq: value facility_costs_breakdown: type: object title: Facility Costs Breakdown description: Breakdown of facility costs by category or subsidiary. example: eq: value facility_costs_default: title: Facility Costs Default description: Facility costs in the default currency. example: eq: value facility_costs_normalized: title: Facility Costs Normalized description: Facility costs normalized to the base currency. example: eq: value 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' 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 financial_months: title: Financial Months description: List of financial months with their start/end dates and lock status. 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 flags: type: object title: Flags description: Feature flags for the organization, keyed by flag name with boolean values. 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 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 invitation_token: type: string title: Invitation Token description: Token used to invite new members to the organization. example: eq: value invoice_rounding_method_id: type: integer title: Invoice Rounding Method description: Rounding method applied when generating invoice line item amounts. example: - 123 limited_service_types: title: Limited Service Types description: Whether service types are restricted to a limited set for the organization. example: eq: active 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 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 metrics: title: Metrics description: Base64-encoded JSON containing UTM attribution metrics for the organization's acquisition source. example: eq: value name: type: string title: Name description: Name of 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 numbering_format_settings: type: object title: Numbering Format Settings description: Settings controlling the numbering format for invoices and other financial documents. example: eq: value onboarding_progress: type: string title: Onboarding Progress description: Tracks the user's progress through the onboarding flow. 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 organization_subscription: title: Organization Subscription description: The organization's pricing plan subscription details. example: eq: value organization_type_id: type: integer title: Organization Type description: Type of organization (e.g. agency, consultancy). example: - 123 overhead: type: boolean title: Overhead description: Whether overhead cost tracking is enabled for the organization. example: eq: value overhead_amortization_period: type: integer title: Overhead Amortization Period description: The number of months over which overhead costs are amortized. 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 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' overhead_type_id: enum: - 1 - 2 - 3 type: integer title: Overhead Type description: Type of overhead calculation applied (e.g. fixed, percentage-based). example: - 123 owner: title: Owner description: The person who owns the organization account. example: eq: value owner_id: type: integer title: Owner description: ID of the person who owns the organization account. example: - 123 quick_start_config: type: string title: Quick Start Config description: Quick start configuration used during initial setup. example: eq: value remove_branding: type: boolean title: Remove Branding description: Whether the Productive branding is removed from outgoing documents and emails. 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 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 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 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 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' 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' 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 self_attribution: type: string title: Self Attribution description: How the organization discovered Productive (self-reported attribution). example: gt: '2026-01-01' 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' single_sign_on: type: boolean title: Single Sign On description: Whether SAML-based single sign-on is enabled. example: eq: value subsidiary_count: title: Subsidiary Count description: Number of active subsidiaries within the organization. example: gt: 0 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 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 time_locking: type: boolean title: Time Locking description: Whether time locking is enabled, preventing edits to time entries in locked periods. example: gt: 0 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 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 time_locking_reminders: type: boolean title: Time Locking Reminders description: Whether email reminders are sent before time entries are locked. example: gt: 0 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' time_reminder_condition: type: integer title: Time Reminder Condition description: Minimum tracked time percentage required before a time reminder is triggered. example: gt: 0 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 time_reminders: type: boolean title: Time Reminders description: Time reminder settings for prompting people to log their time. example: gt: 0 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 time_tracking_policy_id: type: integer title: Time Tracking Policy description: The ID of the active time tracking policy for the organization. example: - 123 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 timesheet_submission: type: boolean title: Timesheet Submission description: Whether timesheet submission and approval workflow is enabled. example: gt: 0 timesheet_submission_reminders: type: boolean title: Timesheet Submission Reminders description: Whether reminder emails are sent for pending timesheet submissions. example: gt: 0 timesheet_submission_settings: type: object title: Timesheet Submission Settings description: Configuration settings for the timesheet submission workflow. example: gt: 0 verification_status_id: enum: - 1 - 2 - 3 type: integer title: Verification Status description: Verification status of the organization account. example: - 123 verified_at: type: string title: Verified At format: date-time description: Timestamp when the organization account was verified. example: gt: '2026-01-01' 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 weight: title: Weight description: Internal weight value used for organization ranking (calculated as 1 / seat count). 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 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 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 original_avatar_url: title: Original Avatar Url description: URL of the original full-size avatar image for this organization before resizing. example: eq: value payment_terms_type: enum: - days_after_invoice_date - end_of_month - due_upon_receipt type: string title: Payment Terms Type nullable: true description: Organization-wide default payment terms, used for new invoices when no company-level terms are set. mcp_server_enabled: type: boolean title: MCP Server Enabled ai_allowed_models: type: array items: type: string title: AI Allowed Models description: IDs of the AI models allowed for this organization. An empty list allows all models. proposal_approvals: type: boolean title: Proposal Approvals ai_instructions: type: string title: AI Instructions nullable: true maxLength: 16777215 description: Instructions that every AI agent in the organization follows. create_time_entry_on_timer_start: type: boolean title: Create Time Entry On Timer Start meeting_settings: type: object title: Meeting Settings properties: deal_members_access: enum: - full - read - none type: string project_members_access: enum: - full - read - none type: string save_line_item_snapshots: type: boolean title: Save Line Item Snapshots 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_email_link: type: object title: Filter email link properties: proposal_id: "$ref": "#/components/schemas/_filter_ids_eq_array" company_id: "$ref": "#/components/schemas/_filter_ids_eq_array" deal_id: "$ref": "#/components/schemas/_filter_ids_eq_array" email_id: "$ref": "#/components/schemas/_filter_ids_array" id: "$ref": "#/components/schemas/_filter_ids_array" invoice_id: "$ref": "#/components/schemas/_filter_ids_eq_array" person_id: "$ref": "#/components/schemas/_filter_ids_eq_array" project_id: "$ref": "#/components/schemas/_filter_ids_eq_array" task_id: "$ref": "#/components/schemas/_filter_ids_eq_array" resource_email_link: type: object title: Email link Resource properties: proposal_id: type: integer title: Proposal company_id: type: integer title: Company created_at: type: string title: Created At format: date-time creator: title: Creator deal_id: type: integer title: Deal email: title: Email email_id: type: integer title: Email id: type: integer title: Id invoice_id: type: integer title: Invoice linked_id: type: integer title: Linked linked_type: enum: - Deal - Invoice - Project - Task - Company - Person - Proposal type: string title: Linked Type organization: title: Organization person_id: type: integer title: Person project_id: type: integer title: Project task_id: type: integer title: Task _response_object_proposal_report: type: object title: Proposal report properties: attributes: type: object properties: approval_requested_at_period: "$ref": "#/components/schemas/resource_proposal_report/properties/approval_requested_at_period" approval_status: "$ref": "#/components/schemas/resource_proposal_report/properties/approval_status" approved_at_period: "$ref": "#/components/schemas/resource_proposal_report/properties/approved_at_period" average_tax_rate_value: type: string count: "$ref": "#/components/schemas/resource_proposal_report/properties/count" created_at_period: "$ref": "#/components/schemas/resource_proposal_report/properties/created_at_period" currency: "$ref": "#/components/schemas/resource_proposal_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_proposal_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_proposal_report/properties/currency_normalized" date_signed_period: "$ref": "#/components/schemas/resource_proposal_report/properties/date_signed_period" formula_fields: "$ref": "#/components/schemas/resource_proposal_report/properties/formula_fields" group: "$ref": "#/components/schemas/resource_proposal_report/properties/group" link_status: "$ref": "#/components/schemas/resource_proposal_report/properties/link_status" sent_at_period: "$ref": "#/components/schemas/resource_proposal_report/properties/sent_at_period" signed: type: boolean signed_by_email: anyOf: - "$ref": "#/components/schemas/resource_proposal_report/properties/signed_by_email" - type: 'null' title: 'Null' status: "$ref": "#/components/schemas/resource_proposal_report/properties/status" status_changed_at_period: "$ref": "#/components/schemas/resource_proposal_report/properties/status_changed_at_period" total_budget_total: "$ref": "#/components/schemas/resource_proposal_report/properties/total_budget_total" total_budget_total_default: "$ref": "#/components/schemas/resource_proposal_report/properties/total_budget_total_default" total_budget_total_normalized: "$ref": "#/components/schemas/resource_proposal_report/properties/total_budget_total_normalized" total_tax_amount: "$ref": "#/components/schemas/resource_proposal_report/properties/total_tax_amount" total_tax_amount_default: "$ref": "#/components/schemas/resource_proposal_report/properties/total_tax_amount_default" total_tax_amount_normalized: "$ref": "#/components/schemas/resource_proposal_report/properties/total_tax_amount_normalized" updated_at_period: "$ref": "#/components/schemas/resource_proposal_report/properties/updated_at_period" id: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_relationship" company_report: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" creator_report: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" deal_report: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" proposal: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" responsible: "$ref": "#/components/schemas/_single_relationship" responsible_report: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - proposal_reports type: string required: - id - type filter_proposal: type: object title: Filter proposal patternProperties: "^deal\\..+$": title: Deal relationship "^company\\..+$": title: Company relationship "^creator\\..+$": title: Creator relationship "^responsible\\..+$": title: Responsible relationship description: Filter parameters for proposals. properties: deal_id: "$ref": "#/components/schemas/_filter_id" id: "$ref": "#/components/schemas/_filter_id" status: "$ref": "#/components/schemas/_filter_proposal_status" budget_total: "$ref": "#/components/schemas/_filter_proposal_money" company_id: "$ref": "#/components/schemas/_filter_id" created_at: "$ref": "#/components/schemas/_filter_date" creator_id: "$ref": "#/components/schemas/_filter_id" link_status: "$ref": "#/components/schemas/_filter_proposal_link_status" responsible_id: "$ref": "#/components/schemas/_filter_id" sent_at: "$ref": "#/components/schemas/_filter_date" status_changed_at: "$ref": "#/components/schemas/_filter_date" updated_at: "$ref": "#/components/schemas/_filter_date" awaiting_approval_from_approver_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_proposal/properties/awaiting_approval_from_approver_id" - "$ref": "#/components/schemas/resource_proposal/properties/awaiting_approval_from_approver_id" approval_status: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_proposal/properties/approval_status" not_eq: "$ref": "#/components/schemas/resource_proposal/properties/approval_status" - "$ref": "#/components/schemas/resource_proposal/properties/approval_status" approved_by_actual_approver_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_proposal/properties/approved_by_actual_approver_id" - "$ref": "#/components/schemas/resource_proposal/properties/approved_by_actual_approver_id" approved_for_assigned_approver_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_proposal/properties/approved_for_assigned_approver_id" - "$ref": "#/components/schemas/resource_proposal/properties/approved_for_assigned_approver_id" example: id: eq: '123' filter_proposal_report: type: object title: Filter proposal report patternProperties: "^deal\\..+$": title: Deal relationship "^company\\..+$": title: Company relationship "^creator\\..+$": title: Creator relationship "^responsible\\..+$": title: Responsible relationship description: Filter parameters for querying proposal report data. properties: budget_total: "$ref": "#/components/schemas/_filter_proposal_money" company_id: "$ref": "#/components/schemas/_filter_id" created_at: "$ref": "#/components/schemas/_filter_date" creator_id: "$ref": "#/components/schemas/_filter_id" date_signed: "$ref": "#/components/schemas/_filter_date" deal_id: "$ref": "#/components/schemas/_filter_id" formulas: oneOf: - type: object title: Operation description: Named-operator filter for formula field values in proposal reports. properties: eq: "$ref": "#/components/schemas/resource_proposal_report/properties/formulas" not_eq: "$ref": "#/components/schemas/resource_proposal_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_proposal_report/properties/formulas" not_contain: "$ref": "#/components/schemas/resource_proposal_report/properties/formulas" example: eq: value - "$ref": "#/components/schemas/resource_proposal_report/properties/formulas" description: Filters proposal report rows by custom formula field values. example: eq: value id: "$ref": "#/components/schemas/_filter_id" link_status: "$ref": "#/components/schemas/_filter_proposal_link_status" responsible_id: "$ref": "#/components/schemas/_filter_id" sent_at: "$ref": "#/components/schemas/_filter_date" status: "$ref": "#/components/schemas/_filter_proposal_status" status_changed_at: "$ref": "#/components/schemas/_filter_date" tax_amount: "$ref": "#/components/schemas/_filter_proposal_money" updated_at: "$ref": "#/components/schemas/_filter_date" approval_status: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_proposal_report/properties/approval_status" not_eq: "$ref": "#/components/schemas/resource_proposal_report/properties/approval_status" - "$ref": "#/components/schemas/resource_proposal_report/properties/approval_status" example: id: eq: '123' filter_automation_report: type: object allOf: - "$ref": "#/components/schemas/filter_automation" - type: object properties: type_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_automation_report/properties/type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automation_report/properties/type_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_automation_report/properties/type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automation_report/properties/type_id" title: List gt: "$ref": "#/components/schemas/resource_automation_report/properties/type_id" lt: "$ref": "#/components/schemas/resource_automation_report/properties/type_id" gt_eq: "$ref": "#/components/schemas/resource_automation_report/properties/type_id" lt_eq: "$ref": "#/components/schemas/resource_automation_report/properties/type_id" contains: anyOf: - "$ref": "#/components/schemas/resource_automation_report/properties/type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automation_report/properties/type_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_automation_report/properties/type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automation_report/properties/type_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_automation_report/properties/type_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_automation_report/properties/type_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_automation_report/properties/type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_automation_report/properties/type_id" title: List title: Filter automation report filter_backoffice_organization_report: type: object title: Filter backoffice organization report properties: addons: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String - type: array items: type: string title: List of strings billing_group_admin: "$ref": "#/components/schemas/_filter_boolean" billing_group_owner_id: "$ref": "#/components/schemas/_filter_backoffice_organization_report_ids_blank" champions: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/champions" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/champions" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/champions" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/champions" title: List contains: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/champions" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/champions" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/champions" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/champions" title: List - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/champions" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/champions" title: List company_size: "$ref": "#/components/schemas/_filter_backoffice_organization_report_string_list_blank" contract: "$ref": "#/components/schemas/_filter_boolean" contract_active: "$ref": "#/components/schemas/_filter_boolean" contract_date: "$ref": "#/components/schemas/_filter_date" contract_end_date: "$ref": "#/components/schemas/_filter_date" contract_min_seats: "$ref": "#/components/schemas/_filter_backoffice_organization_report_integer" contract_seats: "$ref": "#/components/schemas/_filter_backoffice_organization_report_integer" country: "$ref": "#/components/schemas/_filter_backoffice_organization_report_string_blank" created_at: "$ref": "#/components/schemas/_filter_date" customer_success_specialist_id: "$ref": "#/components/schemas/_filter_backoffice_organization_report_ids" deactivation_note: "$ref": "#/components/schemas/_filter_string" deactivation_reason_id: "$ref": "#/components/schemas/_filter_backoffice_organization_report_ids" discount: "$ref": "#/components/schemas/_filter_backoffice_organization_report_integer" domain: "$ref": "#/components/schemas/_filter_string" erector_id: "$ref": "#/components/schemas/_filter_backoffice_organization_report_ids_blank" flag: anyOf: - type: object title: Operation properties: contains: type: string not_contain: type: string - type: string title: String gtm_motion: "$ref": "#/components/schemas/_filter_backoffice_organization_report_string_list_blank" id: "$ref": "#/components/schemas/_filter_backoffice_organization_report_ids" next_billing_cycle_at: "$ref": "#/components/schemas/_filter_backoffice_organization_report_date_blank" number_of_calls: "$ref": "#/components/schemas/_filter_backoffice_organization_report_integer" primary_contact_id: "$ref": "#/components/schemas/_filter_backoffice_organization_report_ids" products: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String - type: array items: type: string title: List of strings query: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String - type: string title: Blank (IS NULL) maxLength: 0 referrer: "$ref": "#/components/schemas/_filter_backoffice_organization_report_string_blank" release_channel: anyOf: - type: object title: Operation properties: eq: anyOf: - enum: - development - alpha - beta - stable type: string title: Value - type: array items: enum: - development - alpha - beta - stable type: string title: List of strings not_eq: anyOf: - enum: - development - alpha - beta - stable type: string title: Value - type: array items: enum: - development - alpha - beta - stable type: string title: List of strings contains: anyOf: - enum: - development - alpha - beta - stable type: string title: Value - type: array items: enum: - development - alpha - beta - stable type: string title: List of strings not_contain: anyOf: - enum: - development - alpha - beta - stable type: string title: Value - type: array items: enum: - development - alpha - beta - stable type: string title: List of strings any_of: type: array items: enum: - development - alpha - beta - stable type: string none_of: type: array items: enum: - development - alpha - beta - stable type: string - enum: - development - alpha - beta - stable type: string title: Value - type: array items: enum: - development - alpha - beta - stable type: string title: List of strings sales_deal_id: "$ref": "#/components/schemas/_filter_backoffice_organization_report_ids" seats: "$ref": "#/components/schemas/_filter_backoffice_organization_report_integer" seats_max: "$ref": "#/components/schemas/_filter_backoffice_organization_report_integer" seats_used: "$ref": "#/components/schemas/_filter_backoffice_organization_report_integer" status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/status" not_eq: "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/status" - "$ref": "#/components/schemas/resource_backoffice_organization_report/properties/status" stripe_id: "$ref": "#/components/schemas/_filter_string" trial_plan_ends: "$ref": "#/components/schemas/_filter_date" verification_status_id: "$ref": "#/components/schemas/_filter_backoffice_organization_report_ids" company_type: "$ref": "#/components/schemas/_filter_backoffice_organization_report_string_blank" flag_state: anyOf: - type: object title: Operation properties: eq: enum: - enabled - disabled - not_set type: string not_eq: enum: - enabled - disabled - not_set type: string - enum: - enabled - disabled - not_set type: string title: Value filter_balancing_hour_report: type: object title: Filter balancing hour report properties: date: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/date" not_eq: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/date" gt: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/date" lt: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/date" gt_eq: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/date" lt_eq: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/date" - "$ref": "#/components/schemas/resource_balancing_hour_report/properties/date" person_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" title: List gt: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" lt: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" gt_eq: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" lt_eq: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" contains: anyOf: - "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_balancing_hour_report/properties/person_id" title: List filter_bank_account: type: object title: Filter bank account patternProperties: "^subsidiary\\..+$": title: Subsidiary relationship description: Filter parameters for bank accounts. properties: bank_name: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_bank_account/properties/bank_name" not_eq: "$ref": "#/components/schemas/resource_bank_account/properties/bank_name" gt: "$ref": "#/components/schemas/resource_bank_account/properties/bank_name" lt: "$ref": "#/components/schemas/resource_bank_account/properties/bank_name" gt_eq: "$ref": "#/components/schemas/resource_bank_account/properties/bank_name" lt_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" - "$ref": "#/components/schemas/resource_bank_account/properties/bank_name" description: Filter by bank name (text search). example: eq: value id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by bank account ID. example: - 123 name: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_bank_account/properties/name" not_eq: "$ref": "#/components/schemas/resource_bank_account/properties/name" gt: "$ref": "#/components/schemas/resource_bank_account/properties/name" lt: "$ref": "#/components/schemas/resource_bank_account/properties/name" gt_eq: "$ref": "#/components/schemas/resource_bank_account/properties/name" lt_eq: "$ref": "#/components/schemas/resource_bank_account/properties/name" contains: "$ref": "#/components/schemas/resource_bank_account/properties/name" not_contain: "$ref": "#/components/schemas/resource_bank_account/properties/name" - "$ref": "#/components/schemas/resource_bank_account/properties/name" description: Filter by account name (text search). example: eq: value status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_bank_account/properties/status" not_eq: "$ref": "#/components/schemas/resource_bank_account/properties/status" - "$ref": "#/components/schemas/resource_bank_account/properties/status" description: Filter by active/archived status. example: eq: active subsidiary_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the associated subsidiary. example: - 123 example: id: eq: '123' filter_booking_report: type: object title: Filter booking report 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. properties: tags: "$ref": "#/components/schemas/_filter_booking_tags" absence_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/absence_type" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/absence_type" - "$ref": "#/components/schemas/resource_booking_report/properties/absence_type" description: Filter by absence type (time off or remote work). example: eq: active after: "$ref": "#/components/schemas/_filter_date" approval_status: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/approval_status" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking_report/properties/approval_status" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/approval_status" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking_report/properties/approval_status" title: List - "$ref": "#/components/schemas/resource_booking_report/properties/approval_status" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking_report/properties/approval_status" title: List description: Filter by booking approval status (approved or unapproved). example: eq: active approved_at: "$ref": "#/components/schemas/_filter_booking_date_blank" approver_id: "$ref": "#/components/schemas/_filter_booking_id_eq_blank" autotracking: "$ref": "#/components/schemas/_filter_boolean" before: "$ref": "#/components/schemas/_filter_date" billing_type_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/billing_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking_report/properties/billing_type_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/billing_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking_report/properties/billing_type_id" title: List contains: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/billing_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking_report/properties/billing_type_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/billing_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking_report/properties/billing_type_id" title: List - "$ref": "#/components/schemas/resource_booking_report/properties/billing_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking_report/properties/billing_type_id" title: List description: Filter by billing type. example: - 123 booking_type: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string - type: string title: String description: Filter by booking type (budget/deal or absence). example: eq: active budget_id: "$ref": "#/components/schemas/_filter_booking_id_eq_blank" canceled_at: "$ref": "#/components/schemas/_filter_booking_date_blank" company_id: "$ref": "#/components/schemas/_filter_id_eq" created_at: "$ref": "#/components/schemas/_filter_date" custom_fields: "$ref": "#/components/schemas/_filter_custom_fields" date: "$ref": "#/components/schemas/_filter_date" date_after: "$ref": "#/components/schemas/_filter_date" date_before: "$ref": "#/components/schemas/_filter_date" draft: anyOf: - type: object title: Operation properties: eq: type: boolean not_eq: type: boolean - type: boolean title: Boolean description: Filter by booking status (confirmed or tentative/draft). example: eq: value ended_on: "$ref": "#/components/schemas/_filter_date" ended_on_after: "$ref": "#/components/schemas/_filter_date" ended_on_before: "$ref": "#/components/schemas/_filter_date" event_id: "$ref": "#/components/schemas/_filter_booking_id_eq_blank" formulas: "$ref": "#/components/schemas/_filter_booking_formulas" note: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/note" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/note" contains: "$ref": "#/components/schemas/resource_booking_report/properties/note" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/note" - "$ref": "#/components/schemas/resource_booking_report/properties/note" description: Filter booking report results by note. example: eq: value people_custom_fields: "$ref": "#/components/schemas/_filter_custom_fields" person_id: "$ref": "#/components/schemas/_filter_id" person_subsidiary_id: "$ref": "#/components/schemas/_filter_id_eq" project_id: "$ref": "#/components/schemas/_filter_booking_id_eq_blank" project_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/project_type" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking_report/properties/project_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_booking_report/properties/project_type" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking_report/properties/project_type" title: List - "$ref": "#/components/schemas/resource_booking_report/properties/project_type" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_booking_report/properties/project_type" title: List description: Filter booking report results by project type. example: eq: active rejected_at: "$ref": "#/components/schemas/_filter_booking_date_blank" service_id: "$ref": "#/components/schemas/_filter_id" service_type_id: "$ref": "#/components/schemas/_filter_booking_id_eq_blank" stage_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/stage_type" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/stage_type" - "$ref": "#/components/schemas/resource_booking_report/properties/stage_type" description: Filter booking report results by stage type. example: eq: active started_on: "$ref": "#/components/schemas/_filter_date" started_on_after: "$ref": "#/components/schemas/_filter_date" started_on_before: "$ref": "#/components/schemas/_filter_date" task_id: "$ref": "#/components/schemas/_filter_booking_id_eq_blank" time: "$ref": "#/components/schemas/_filter_number" with_draft: "$ref": "#/components/schemas/_filter_boolean" parent_company_id: "$ref": "#/components/schemas/_filter_booking_id_eq_blank" id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_company_report: type: object allOf: - "$ref": "#/components/schemas/filter_company" title: Filter company report description: Available filter parameters for querying aggregated company report data. example: id: eq: '123' filter_connection: type: object title: Filter connection properties: connection_record_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" title: List gt: "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" lt: "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" gt_eq: "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" lt_eq: "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" contains: anyOf: - "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_connection/properties/connection_record_id" title: List connection_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_connection/properties/connection_type" - type: array items: "$ref": "#/components/schemas/resource_connection/properties/connection_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_connection/properties/connection_type" - type: array items: "$ref": "#/components/schemas/resource_connection/properties/connection_type" title: List gt: "$ref": "#/components/schemas/resource_connection/properties/connection_type" lt: "$ref": "#/components/schemas/resource_connection/properties/connection_type" gt_eq: "$ref": "#/components/schemas/resource_connection/properties/connection_type" lt_eq: "$ref": "#/components/schemas/resource_connection/properties/connection_type" contains: "$ref": "#/components/schemas/resource_connection/properties/connection_type" not_contain: "$ref": "#/components/schemas/resource_connection/properties/connection_type" any_of: type: array items: "$ref": "#/components/schemas/resource_connection/properties/connection_type" none_of: type: array items: "$ref": "#/components/schemas/resource_connection/properties/connection_type" - "$ref": "#/components/schemas/resource_connection/properties/connection_type" - type: array items: "$ref": "#/components/schemas/resource_connection/properties/connection_type" title: List origin_record_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_connection/properties/origin_record_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_connection/properties/origin_record_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_connection/properties/origin_record_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_connection/properties/origin_record_id" title: List - "$ref": "#/components/schemas/resource_connection/properties/origin_record_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_connection/properties/origin_record_id" title: List filter_contact_entry: type: object title: Filter contact entry patternProperties: "^person\\..+$": title: Person relationship "^company\\..+$": title: Company relationship "^invoice\\..+$": title: Invoice relationship "^proposal\\..+$": title: Proposal relationship "^subsidiary\\..+$": title: Subsidiary relationship "^contactable\\..+$": title: Contactable relationship description: Filter parameters for listing contact entries. Supports filtering by contactable type (company or person), contact type, and parent company or person ID. Standard ID operators apply. properties: company_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" title: List gt: "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" lt: "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" gt_eq: "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" lt_eq: "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" contains: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/company_id" title: List description: Filter by client company. example: - 123 contactable_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" title: List gt: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" lt: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" gt_eq: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" lt_eq: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" contains: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_id" title: List description: Filter by the ID of the contactable resource (person or company). example: - 123 contactable_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" title: List gt: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" lt: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" gt_eq: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" lt_eq: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" contains: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" not_contain: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" any_of: type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" none_of: type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" - "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/contactable_type" title: List description: Filter by the type of the contactable resource (person or company). example: eq: active invoice_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" title: List gt: "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" lt: "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" gt_eq: "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" lt_eq: "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" contains: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/invoice_id" title: List description: Filter by the associated invoice. example: - 123 person_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" title: List gt: "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" lt: "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" gt_eq: "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" lt_eq: "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" contains: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/person_id" title: List description: Filter by the associated person. example: - 123 subsidiary_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" title: List gt: "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" lt: "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" gt_eq: "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" lt_eq: "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" contains: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contact_entry/properties/subsidiary_id" title: List description: Filter by the associated subsidiary. example: - 123 example: id: eq: '123' filter_contract: type: object title: Filter contract description: Filter parameters for listing contracts (recurring retainers). Supports filtering by template deal, start/end dates, interval, and next occurrence. Standard ID and date operators apply. properties: contract_interval_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" title: List gt: "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" lt: "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" gt_eq: "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" lt_eq: "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" contains: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contract/properties/contract_interval_id" title: List description: Filter by the associated contract interval. example: - 123 ends_on: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/ends_on" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/ends_on" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_contract/properties/ends_on" lt: "$ref": "#/components/schemas/resource_contract/properties/ends_on" gt_eq: "$ref": "#/components/schemas/resource_contract/properties/ends_on" lt_eq: "$ref": "#/components/schemas/resource_contract/properties/ends_on" - "$ref": "#/components/schemas/resource_contract/properties/ends_on" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by contract end date range (`ends_on`). example: eq: value id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contract/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contract/properties/id" title: List gt: "$ref": "#/components/schemas/resource_contract/properties/id" lt: "$ref": "#/components/schemas/resource_contract/properties/id" gt_eq: "$ref": "#/components/schemas/resource_contract/properties/id" lt_eq: "$ref": "#/components/schemas/resource_contract/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contract/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contract/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_contract/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_contract/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_contract/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_contract/properties/id" title: List description: Filter by contract ID. example: - 123 next_occurrence_on: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/next_occurrence_on" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/next_occurrence_on" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_contract/properties/next_occurrence_on" lt: "$ref": "#/components/schemas/resource_contract/properties/next_occurrence_on" gt_eq: "$ref": "#/components/schemas/resource_contract/properties/next_occurrence_on" lt_eq: "$ref": "#/components/schemas/resource_contract/properties/next_occurrence_on" - "$ref": "#/components/schemas/resource_contract/properties/next_occurrence_on" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by next occurrence date range (`next_occurrence_on`). example: eq: value starts_on: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/starts_on" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/starts_on" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_contract/properties/starts_on" lt: "$ref": "#/components/schemas/resource_contract/properties/starts_on" gt_eq: "$ref": "#/components/schemas/resource_contract/properties/starts_on" lt_eq: "$ref": "#/components/schemas/resource_contract/properties/starts_on" - "$ref": "#/components/schemas/resource_contract/properties/starts_on" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by contract start date range (`starts_on`). example: eq: value example: id: eq: '123' filter_custom_domain: type: object title: Filter custom domain description: Filter parameters for custom domains. properties: id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_custom_domain/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_custom_domain/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_custom_domain/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_custom_domain/properties/id" title: List gt: "$ref": "#/components/schemas/resource_custom_domain/properties/id" lt: "$ref": "#/components/schemas/resource_custom_domain/properties/id" gt_eq: "$ref": "#/components/schemas/resource_custom_domain/properties/id" lt_eq: "$ref": "#/components/schemas/resource_custom_domain/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_custom_domain/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_custom_domain/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_custom_domain/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_custom_domain/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_custom_domain/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_custom_domain/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_custom_domain/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_custom_domain/properties/id" title: List description: Filter by custom domain ID. example: - 123 name: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_custom_domain/properties/name" not_eq: "$ref": "#/components/schemas/resource_custom_domain/properties/name" gt: "$ref": "#/components/schemas/resource_custom_domain/properties/name" lt: "$ref": "#/components/schemas/resource_custom_domain/properties/name" gt_eq: "$ref": "#/components/schemas/resource_custom_domain/properties/name" lt_eq: "$ref": "#/components/schemas/resource_custom_domain/properties/name" contains: "$ref": "#/components/schemas/resource_custom_domain/properties/name" not_contain: "$ref": "#/components/schemas/resource_custom_domain/properties/name" - "$ref": "#/components/schemas/resource_custom_domain/properties/name" description: Filter by domain name (text search). example: eq: value example: id: eq: '123' filter_custom_field: type: object title: Filter custom field patternProperties: "^subsidiary\\..+$": title: Subsidiary relationship 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. properties: archived: "$ref": "#/components/schemas/_filter_boolean" customizable_type: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String - type: array items: type: string title: List of strings description: Filter by the resource type the custom field is attached to. example: eq: active global: "$ref": "#/components/schemas/_filter_boolean" name: "$ref": "#/components/schemas/_filter_string" project_id: "$ref": "#/components/schemas/_filter_id_ops_nullable" show_in_add_edit_views: "$ref": "#/components/schemas/_filter_boolean" survey_id: "$ref": "#/components/schemas/_filter_id_ops_nullable" id: "$ref": "#/components/schemas/_filter_id_ops" example: id: eq: '123' filter_custom_field_option: type: object title: Filter custom field option patternProperties: {} description: Filter parameters for listing custom field options. Supports filtering by custom field and archived status. Standard ID operators apply. properties: archived: "$ref": "#/components/schemas/_filter_boolean" custom_field_id: "$ref": "#/components/schemas/_filter_id_ops" id: "$ref": "#/components/schemas/_filter_id_ops" example: id: eq: '123' filter_custom_field_section: type: object title: Filter custom field section patternProperties: {} description: Filter parameters for custom field sections. properties: status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_custom_field_section/properties/status" - "$ref": "#/components/schemas/resource_custom_field_section/properties/status" description: Filter by active/archived status. example: eq: active id: "$ref": "#/components/schemas/_filter_id_ops" example: id: eq: '123' filter_dashboard: type: object title: Filter dashboard patternProperties: "^subsidiary\\..+$": title: Subsidiary relationship description: Filter parameters for dashboards. properties: editable: anyOf: - type: object title: Operation properties: eq: type: boolean - type: boolean title: Boolean description: Filter to include only dashboards the current user can edit. example: eq: value project_id: "$ref": "#/components/schemas/_filter_id_ops" query: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String description: Search dashboards by name (text search). example: eq: value id: "$ref": "#/components/schemas/_filter_id_ops" example: id: eq: '123' filter_deal: type: object title: Filter deal 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: Filter parameters for querying deals (sales pipeline opportunities). properties: tags: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String - type: array items: type: string title: List of strings description: Filter by tag. example: eq: value accessible_by_person: "$ref": "#/components/schemas/_filter_deal_ids_eq" actual_rate: "$ref": "#/components/schemas/_filter_deal_number" approval_policy_id: "$ref": "#/components/schemas/_filter_deal_ids_eq_nullable" billable_time: "$ref": "#/components/schemas/_filter_deal_integer" budget_remaining: "$ref": "#/components/schemas/_filter_deal_number" budget_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_deal/properties/budget_status" not_eq: "$ref": "#/components/schemas/resource_deal/properties/budget_status" - "$ref": "#/components/schemas/resource_deal/properties/budget_status" description: Filter by budget open/closed status. example: gt: 0 budget_total: "$ref": "#/components/schemas/_filter_deal_number" budget_usage: "$ref": "#/components/schemas/_filter_deal_number" budget_used: "$ref": "#/components/schemas/_filter_deal_number" budget_warning: "$ref": "#/components/schemas/_filter_deal_integer" budgeted_time: "$ref": "#/components/schemas/_filter_deal_integer" closed_at: "$ref": "#/components/schemas/_filter_deal_date_nullable" color_id: "$ref": "#/components/schemas/_filter_deal_ids_nullable" company_id: "$ref": "#/components/schemas/_filter_deal_ids" contact_id: "$ref": "#/components/schemas/_filter_deal_ids_nullable" contract_id: "$ref": "#/components/schemas/_filter_deal_ids_nullable" cost: "$ref": "#/components/schemas/_filter_deal_number" created_at: "$ref": "#/components/schemas/_filter_deal_date" creator_id: "$ref": "#/components/schemas/_filter_deal_ids" credited: "$ref": "#/components/schemas/_filter_deal_number" currency: "$ref": "#/components/schemas/_filter_deal_string" custom_fields: type: object additionalProperties: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string any_of: type: array items: type: string not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings none_of: type: array items: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String description: Filter by custom field values. example: eq: value date: "$ref": "#/components/schemas/_filter_deal_date" deal_status_id: "$ref": "#/components/schemas/_filter_deal_ids" deal_type_id: "$ref": "#/components/schemas/_filter_deal_integer_scalar" delivered_on: "$ref": "#/components/schemas/_filter_deal_date_nullable" discount: "$ref": "#/components/schemas/_filter_deal_number" draft_invoiced: "$ref": "#/components/schemas/_filter_deal_number" end_date: "$ref": "#/components/schemas/_filter_deal_date_nullable" estimated_cost: "$ref": "#/components/schemas/_filter_deal_number" estimated_remaining_time: "$ref": "#/components/schemas/_filter_deal_integer_scalar" estimated_time: "$ref": "#/components/schemas/_filter_deal_integer" expense: "$ref": "#/components/schemas/_filter_deal_number" expenses_billable: "$ref": "#/components/schemas/_filter_deal_number" forecasted_billable_time: "$ref": "#/components/schemas/_filter_deal_integer_scalar" forecasted_budget_usage: "$ref": "#/components/schemas/_filter_deal_number" forecasted_budget_used: "$ref": "#/components/schemas/_filter_deal_number" forecasted_cost: "$ref": "#/components/schemas/_filter_deal_number" forecasted_margin: "$ref": "#/components/schemas/_filter_deal_number" forecasted_profit: "$ref": "#/components/schemas/_filter_deal_number" forecasted_revenue: "$ref": "#/components/schemas/_filter_deal_number" forecasted_time_usage: "$ref": "#/components/schemas/_filter_deal_number" full_query: "$ref": "#/components/schemas/_filter_deal_text" future_booked_time: "$ref": "#/components/schemas/_filter_deal_integer" future_budget_used: "$ref": "#/components/schemas/_filter_deal_number" future_cost: "$ref": "#/components/schemas/_filter_deal_number" future_revenue: "$ref": "#/components/schemas/_filter_deal_number" fuzzy_dates: "$ref": "#/components/schemas/_filter_deal_date_nullable" fuzzy_people: "$ref": "#/components/schemas/_filter_deal_ids_eq" id: "$ref": "#/components/schemas/_filter_deal_ids" invoiced: "$ref": "#/components/schemas/_filter_deal_number" invoiced_percentage: "$ref": "#/components/schemas/_filter_deal_integer_scalar" invoiced_rate: "$ref": "#/components/schemas/_filter_deal_number" jump_query: "$ref": "#/components/schemas/_filter_deal_text" last_activity_at: "$ref": "#/components/schemas/_filter_deal_date_nullable" lost_at: "$ref": "#/components/schemas/_filter_deal_date_nullable" lost_date: "$ref": "#/components/schemas/_filter_deal_date_nullable" lost_reason_id: "$ref": "#/components/schemas/_filter_deal_ids_nullable" manual_invoicing_status: "$ref": "#/components/schemas/_filter_deal_boolean" manually_invoiced: "$ref": "#/components/schemas/_filter_deal_integer_scalar" name: "$ref": "#/components/schemas/_filter_deal_text" needs_closing: "$ref": "#/components/schemas/_filter_deal_boolean" needs_invoicing: "$ref": "#/components/schemas/_filter_deal_boolean" next_occurrence_on: "$ref": "#/components/schemas/_filter_deal_date" number: "$ref": "#/components/schemas/_filter_deal_string" origin_deal_id: "$ref": "#/components/schemas/_filter_deal_ids_nullable" pending_invoicing: "$ref": "#/components/schemas/_filter_deal_number" pipeline_id: "$ref": "#/components/schemas/_filter_deal_ids_nullable" previous_deal_status_id: "$ref": "#/components/schemas/_filter_deal_ids" previous_or_current_deal_status_id: "$ref": "#/components/schemas/_filter_deal_ids_eq" previous_probability: "$ref": "#/components/schemas/_filter_deal_integer" probability: "$ref": "#/components/schemas/_filter_deal_integer" profit: "$ref": "#/components/schemas/_filter_deal_number" profit_margin: "$ref": "#/components/schemas/_filter_deal_number" project_id: "$ref": "#/components/schemas/_filter_deal_ids_nullable" project_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/project_type" - type: array items: "$ref": "#/components/schemas/resource_deal/properties/project_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/project_type" - type: array items: "$ref": "#/components/schemas/resource_deal/properties/project_type" title: List - "$ref": "#/components/schemas/resource_deal/properties/project_type" - type: array items: "$ref": "#/components/schemas/resource_deal/properties/project_type" title: List description: Filter by project type. example: eq: active projected_revenue: "$ref": "#/components/schemas/_filter_deal_number" purchase_order_number: "$ref": "#/components/schemas/_filter_deal_text" query: "$ref": "#/components/schemas/_filter_deal_text" recurring: "$ref": "#/components/schemas/_filter_deal_boolean" recurring_ends_on: "$ref": "#/components/schemas/_filter_deal_date_nullable" recurring_interval_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/recurring_interval_id" - type: array items: "$ref": "#/components/schemas/resource_deal/properties/recurring_interval_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/recurring_interval_id" - type: array items: "$ref": "#/components/schemas/resource_deal/properties/recurring_interval_id" title: List - "$ref": "#/components/schemas/resource_deal/properties/recurring_interval_id" - type: array items: "$ref": "#/components/schemas/resource_deal/properties/recurring_interval_id" title: List description: Filter by recurring contract billing interval. example: - 123 recurring_starts_on: "$ref": "#/components/schemas/_filter_deal_date" responsible_id: "$ref": "#/components/schemas/_filter_deal_ids" revenue: "$ref": "#/components/schemas/_filter_deal_number" revenue_distribution_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/revenue_distribution_type" - type: array items: "$ref": "#/components/schemas/resource_deal/properties/revenue_distribution_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/revenue_distribution_type" - type: array items: "$ref": "#/components/schemas/resource_deal/properties/revenue_distribution_type" title: List - "$ref": "#/components/schemas/resource_deal/properties/revenue_distribution_type" - type: array items: "$ref": "#/components/schemas/resource_deal/properties/revenue_distribution_type" title: List description: Filter by revenue distribution type. example: eq: active sales_closed_at: "$ref": "#/components/schemas/_filter_deal_date_nullable" sales_closed_on: "$ref": "#/components/schemas/_filter_deal_date_nullable" sales_status_id: "$ref": "#/components/schemas/_filter_deal_ids" services_revenue: "$ref": "#/components/schemas/_filter_deal_number" stage_status_id: "$ref": "#/components/schemas/_filter_deal_ids" stage_updated_at: "$ref": "#/components/schemas/_filter_deal_date_nullable" status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_deal/properties/status" not_eq: "$ref": "#/components/schemas/resource_deal/properties/status" - "$ref": "#/components/schemas/resource_deal/properties/status" description: Filter by deal lifecycle status (open/won/lost/delivered). example: eq: active status_id: "$ref": "#/components/schemas/_filter_deal_ids" subscriber_id: "$ref": "#/components/schemas/_filter_deal_ids_eq" subsidiary_id: "$ref": "#/components/schemas/_filter_deal_ids_eq_nullable" template: "$ref": "#/components/schemas/_filter_deal_text" time_approval: "$ref": "#/components/schemas/_filter_deal_boolean" todo_due_date: "$ref": "#/components/schemas/_filter_deal_date_nullable" tracking_type_id: "$ref": "#/components/schemas/_filter_deal_ids" type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_deal/properties/type" not_eq: "$ref": "#/components/schemas/resource_deal/properties/type" - "$ref": "#/components/schemas/resource_deal/properties/type" description: Filter by deal type (sales deal or production budget). example: eq: active unapproved_time: "$ref": "#/components/schemas/_filter_deal_integer" won_at: "$ref": "#/components/schemas/_filter_deal_date_nullable" won_date: "$ref": "#/components/schemas/_filter_deal_date_nullable" work_cost: "$ref": "#/components/schemas/_filter_deal_number" worked_time: "$ref": "#/components/schemas/_filter_deal_integer" days_in_current_stage: "$ref": "#/components/schemas/_filter_deal_integer_scalar" days_since_created: "$ref": "#/components/schemas/_filter_deal_integer_scalar" days_since_last_activity: "$ref": "#/components/schemas/_filter_deal_integer_scalar" designated_approver_id: "$ref": "#/components/schemas/_filter_deal_ids_nullable" parent_company_id: "$ref": "#/components/schemas/_filter_deal_ids_eq_nullable" retainer_interval: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/retainer_interval" - type: array items: "$ref": "#/components/schemas/resource_deal/properties/retainer_interval" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/retainer_interval" - type: array items: "$ref": "#/components/schemas/resource_deal/properties/retainer_interval" title: List - "$ref": "#/components/schemas/resource_deal/properties/retainer_interval" - type: array items: "$ref": "#/components/schemas/resource_deal/properties/retainer_interval" title: List description: Filter by the deal retainer billing interval (week, two_weeks, month, quarter, half_year, or year). example: eq: value time_entry_requirements: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_filter_deal_time_entry_requirement" not_eq: "$ref": "#/components/schemas/_filter_deal_time_entry_requirement" contains: "$ref": "#/components/schemas/_filter_deal_time_entry_requirement" not_contain: "$ref": "#/components/schemas/_filter_deal_time_entry_requirement" any_of: "$ref": "#/components/schemas/_filter_deal_time_entry_requirement" none_of: "$ref": "#/components/schemas/_filter_deal_time_entry_requirement" - "$ref": "#/components/schemas/_filter_deal_time_entry_requirement" description: Filter deals by the fields their time entries are required to include. overtime_time: "$ref": "#/components/schemas/_filter_deal_integer" budgeted_time_usage: "$ref": "#/components/schemas/_filter_deal_number" current_occurrence: "$ref": "#/components/schemas/_filter_deal_boolean" deal_value_source: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/deal_value_source" - type: array items: "$ref": "#/components/schemas/resource_deal/properties/deal_value_source" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/deal_value_source" - type: array items: "$ref": "#/components/schemas/resource_deal/properties/deal_value_source" title: List - "$ref": "#/components/schemas/resource_deal/properties/deal_value_source" - type: array items: "$ref": "#/components/schemas/resource_deal/properties/deal_value_source" title: List estimated_time_usage: "$ref": "#/components/schemas/_filter_deal_number" retainer: "$ref": "#/components/schemas/_filter_deal_boolean" revenue_distribution_base: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_filter_deal_revenue_distribution_base" - type: array items: "$ref": "#/components/schemas/_filter_deal_revenue_distribution_base" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_filter_deal_revenue_distribution_base" - type: array items: "$ref": "#/components/schemas/_filter_deal_revenue_distribution_base" title: List - "$ref": "#/components/schemas/_filter_deal_revenue_distribution_base" - type: array items: "$ref": "#/components/schemas/_filter_deal_revenue_distribution_base" title: List revenue_distribution_end_on: "$ref": "#/components/schemas/_filter_deal_date_nullable" revenue_distribution_start_on: "$ref": "#/components/schemas/_filter_deal_date_nullable" time_entry_mandatory_note: "$ref": "#/components/schemas/_filter_deal_boolean" time_entry_mandatory_task: "$ref": "#/components/schemas/_filter_deal_boolean" time_to_close: "$ref": "#/components/schemas/_filter_deal_integer_scalar" example: status: eq: open filter_deal_contact: type: object title: Filter deal contact patternProperties: "^deal\\..+$": title: Deal relationship "^person\\..+$": title: Person relationship properties: deal_id: "$ref": "#/components/schemas/_filter_id_ops" id: "$ref": "#/components/schemas/_filter_id_ops" person_id: "$ref": "#/components/schemas/_filter_id_ops" position: "$ref": "#/components/schemas/_filter_id_ops" filter_deal_cost_rate: type: object title: Filter deal cost rate patternProperties: {} description: Filter parameters for querying deal cost rates. properties: deal_id: "$ref": "#/components/schemas/_filter_id_ops" person_id: "$ref": "#/components/schemas/_filter_id_ops" id: "$ref": "#/components/schemas/_filter_id_ops" example: id: eq: '123' filter_deal_funnel_report: type: object title: Filter deal funnel report 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. properties: budget_total: "$ref": "#/components/schemas/_filter_deal_number" created_at: "$ref": "#/components/schemas/_filter_deal_date" date: "$ref": "#/components/schemas/_filter_deal_date" formulas: "$ref": "#/components/schemas/_filter_deal_number" pipeline_id: "$ref": "#/components/schemas/_filter_deal_integer" projected_revenue: "$ref": "#/components/schemas/_filter_deal_number" example: id: eq: '123' filter_deal_report: type: object allOf: - "$ref": "#/components/schemas/filter_deal" - type: object properties: formulas: "$ref": "#/components/schemas/_filter_deal_number" title: Filter deal report description: Available filter parameters for querying aggregated deal report data. example: id: eq: '123' filter_deal_status: type: object title: Filter deal status patternProperties: {} description: Filter parameters for listing deal statuses. Supports filtering by pipeline and status category. Standard ID operators apply. properties: booking_tracking_enabled: "$ref": "#/components/schemas/_filter_boolean" expense_tracking_enabled: "$ref": "#/components/schemas/_filter_boolean" id: "$ref": "#/components/schemas/_filter_id_ops" lost_reason_enabled: "$ref": "#/components/schemas/_filter_boolean" pipeline_id: "$ref": "#/components/schemas/_filter_id_ops" pipeline_type_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_deal_status/properties/pipeline_type_id" - type: array items: "$ref": "#/components/schemas/resource_deal_status/properties/pipeline_type_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_deal_status/properties/pipeline_type_id" - type: array items: "$ref": "#/components/schemas/resource_deal_status/properties/pipeline_type_id" title: List - "$ref": "#/components/schemas/resource_deal_status/properties/pipeline_type_id" - type: array items: "$ref": "#/components/schemas/resource_deal_status/properties/pipeline_type_id" title: List description: Filter by pipeline type (sales or production). example: - 123 probability_enabled: "$ref": "#/components/schemas/_filter_boolean" query: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String description: Filter by deal status name (text search). example: eq: value status_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_deal_status/properties/status_id" - type: array items: "$ref": "#/components/schemas/resource_deal_status/properties/status_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_deal_status/properties/status_id" - type: array items: "$ref": "#/components/schemas/resource_deal_status/properties/status_id" title: List gt: "$ref": "#/components/schemas/resource_deal_status/properties/status_id" lt: "$ref": "#/components/schemas/resource_deal_status/properties/status_id" gt_eq: "$ref": "#/components/schemas/resource_deal_status/properties/status_id" lt_eq: "$ref": "#/components/schemas/resource_deal_status/properties/status_id" contains: anyOf: - "$ref": "#/components/schemas/resource_deal_status/properties/status_id" - type: array items: "$ref": "#/components/schemas/resource_deal_status/properties/status_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_deal_status/properties/status_id" - type: array items: "$ref": "#/components/schemas/resource_deal_status/properties/status_id" title: List any_of: type: array items: "$ref": "#/components/schemas/resource_deal_status/properties/status_id" none_of: type: array items: "$ref": "#/components/schemas/resource_deal_status/properties/status_id" - "$ref": "#/components/schemas/resource_deal_status/properties/status_id" - type: array items: "$ref": "#/components/schemas/resource_deal_status/properties/status_id" title: List description: Filter by pipeline stage outcome (open, won, lost, delivered). example: - 123 time_tracking_enabled: "$ref": "#/components/schemas/_filter_boolean" example: id: eq: '123' filter_deleted_item: type: object title: Filter deleted item description: Filter parameters for deleted items (trash). properties: created_at: "$ref": "#/components/schemas/_filter_deal_date" deleter_id: "$ref": "#/components/schemas/_filter_deal_ids" id: "$ref": "#/components/schemas/_filter_deal_ids" item_type: "$ref": "#/components/schemas/_filter_deal_string" location: "$ref": "#/components/schemas/_filter_deal_string" name: "$ref": "#/components/schemas/_filter_deal_string" query: "$ref": "#/components/schemas/_filter_deal_text" example: id: eq: '123' filter_document_style: type: object title: Filter document style patternProperties: {} description: Filter parameters for document styles. properties: id: "$ref": "#/components/schemas/_filter_ids_array" name: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_document_style/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_document_style/properties/name" - type: string title: Blank (IS NOT NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_document_style/properties/name" lt: "$ref": "#/components/schemas/resource_document_style/properties/name" gt_eq: "$ref": "#/components/schemas/resource_document_style/properties/name" lt_eq: "$ref": "#/components/schemas/resource_document_style/properties/name" contains: "$ref": "#/components/schemas/resource_document_style/properties/name" not_contain: "$ref": "#/components/schemas/resource_document_style/properties/name" - "$ref": "#/components/schemas/resource_document_style/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by document style name (text search). example: eq: value example: id: eq: '123' filter_document_type: type: object title: Filter document type patternProperties: "^subsidiary..*$": title: Subsidiary relationship description: Filter parameters for document types. properties: document_template_id: "$ref": "#/components/schemas/_filter_ids_array_nullable" exportable_type_id: "$ref": "#/components/schemas/_filter_ids_array_nullable" id: "$ref": "#/components/schemas/_filter_ids_array" status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_document_type/properties/status" not_eq: "$ref": "#/components/schemas/resource_document_type/properties/status" - "$ref": "#/components/schemas/resource_document_type/properties/status" description: Filter by active/archived status. example: eq: active subsidiary_id: "$ref": "#/components/schemas/_filter_ids_array_nullable" example: id: eq: '123' filter_einvoice_configuration: type: object title: Filter einvoice configuration properties: subsidiary_id: "$ref": "#/components/schemas/_filter_ids_scalar" id: "$ref": "#/components/schemas/_filter_ids_array" example: subsidiary_id: '42' filter_einvoice_identity: type: object title: Filter einvoice identity properties: company_id: "$ref": "#/components/schemas/_filter_ids_scalar" subsidiary_id: "$ref": "#/components/schemas/_filter_ids_scalar" id: "$ref": "#/components/schemas/_filter_ids_array" example: company_id: '89' filter_einvoice_transaction: type: object title: Filter einvoice transaction properties: created_at: "$ref": "#/components/schemas/_filter_date" invoice_id: "$ref": "#/components/schemas/_filter_ids_scalar" id: "$ref": "#/components/schemas/_filter_ids_array" example: invoice_id: '3456' filter_email: type: object title: Filter email patternProperties: {} description: Filter parameters for emails. properties: after: "$ref": "#/components/schemas/_filter_dates_eq" before: "$ref": "#/components/schemas/_filter_dates_eq" company_id: "$ref": "#/components/schemas/_filter_ids_eq_scalar" creator_id: "$ref": "#/components/schemas/_filter_ids_array" id: "$ref": "#/components/schemas/_filter_ids_array" recipient_id: "$ref": "#/components/schemas/_filter_ids_eq_array" sender_or_recipient_id: "$ref": "#/components/schemas/_filter_ids_eq_scalar" status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_email/properties/status" - "$ref": "#/components/schemas/resource_email/properties/status" description: Filter by email resolution status (unresolved, resolved, or dismissed). example: eq: active thread_id: "$ref": "#/components/schemas/_filter_ids_array" deal_id: "$ref": "#/components/schemas/_filter_ids_eq_array" invoice_id: "$ref": "#/components/schemas/_filter_ids_eq_array" project_id: "$ref": "#/components/schemas/_filter_ids_eq_array" proposal_id: "$ref": "#/components/schemas/_filter_ids_eq_array" purchase_order_id: "$ref": "#/components/schemas/_filter_ids_eq_array" task_id: "$ref": "#/components/schemas/_filter_ids_eq_array" created_at: "$ref": "#/components/schemas/_filter_date" example: id: eq: '123' filter_email_thread: type: object title: Filter email thread properties: folder_id: "$ref": "#/components/schemas/_filter_string" integration_id: "$ref": "#/components/schemas/_filter_ids_eq_scalar" query: "$ref": "#/components/schemas/_filter_string" filter_entitlement: type: object title: Filter entitlement 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. properties: allocated: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_entitlement/properties/allocated" not_eq: "$ref": "#/components/schemas/resource_entitlement/properties/allocated" gt: "$ref": "#/components/schemas/resource_entitlement/properties/allocated" lt: "$ref": "#/components/schemas/resource_entitlement/properties/allocated" gt_eq: "$ref": "#/components/schemas/resource_entitlement/properties/allocated" lt_eq: "$ref": "#/components/schemas/resource_entitlement/properties/allocated" - "$ref": "#/components/schemas/resource_entitlement/properties/allocated" description: Filter by the number of days allocated in the entitlement. example: eq: value date: "$ref": "#/components/schemas/resource_entitlement/properties/date" end_date: "$ref": "#/components/schemas/_filter_date" event_id: "$ref": "#/components/schemas/_filter_e_ids_all" id: "$ref": "#/components/schemas/_filter_e_ids_all" person_id: "$ref": "#/components/schemas/_filter_e_ids_all" start_date: "$ref": "#/components/schemas/_filter_date" used: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_entitlement/properties/used" not_eq: "$ref": "#/components/schemas/resource_entitlement/properties/used" gt: "$ref": "#/components/schemas/resource_entitlement/properties/used" lt: "$ref": "#/components/schemas/resource_entitlement/properties/used" gt_eq: "$ref": "#/components/schemas/resource_entitlement/properties/used" lt_eq: "$ref": "#/components/schemas/resource_entitlement/properties/used" - "$ref": "#/components/schemas/resource_entitlement/properties/used" description: Filter by the number of days used from the entitlement. example: eq: value description: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String example: id: eq: '123' filter_entitlement_report: type: object title: Filter entitlement report patternProperties: "^event\\..+$": title: Event relationship "^person\\..+$": title: Person relationship description: Available filter parameters for querying aggregated entitlement report data. properties: absence_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/absence_type" not_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/absence_type" - "$ref": "#/components/schemas/resource_entitlement_report/properties/absence_type" description: Filter entitlement report results by absence type. example: eq: active allocated: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/allocated" not_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/allocated" gt: "$ref": "#/components/schemas/resource_entitlement_report/properties/allocated" lt: "$ref": "#/components/schemas/resource_entitlement_report/properties/allocated" gt_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/allocated" lt_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/allocated" - "$ref": "#/components/schemas/resource_entitlement_report/properties/allocated" description: Filter entitlement report results by allocated. example: eq: value date: "$ref": "#/components/schemas/resource_entitlement_report/properties/date" end_date: "$ref": "#/components/schemas/_filter_date" event_id: "$ref": "#/components/schemas/_filter_e_ids_all" formulas: type: object additionalProperties: "$ref": "#/components/schemas/_filter_e_number_blank" description: Filter entitlement report results by formulas. example: eq: value id: "$ref": "#/components/schemas/_filter_e_ids_all" person_id: "$ref": "#/components/schemas/_filter_e_ids_all" start_date: "$ref": "#/components/schemas/_filter_date" used: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/used" not_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/used" gt: "$ref": "#/components/schemas/resource_entitlement_report/properties/used" lt: "$ref": "#/components/schemas/resource_entitlement_report/properties/used" gt_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/used" lt_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/used" - "$ref": "#/components/schemas/resource_entitlement_report/properties/used" description: Filter entitlement report results by used. example: eq: value description: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String example: id: eq: '123' filter_event: type: object title: Filter event patternProperties: "^bookings\\..+$": title: Bookings relationship "^subsidiary\\..+$": title: Subsidiary relationship description: Filter parameters for absence event types (time-off categories). properties: absence_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_event/properties/absence_type" not_eq: "$ref": "#/components/schemas/resource_event/properties/absence_type" - "$ref": "#/components/schemas/resource_event/properties/absence_type" description: Filter by absence type (e.g. vacation, sick leave). example: eq: active half_day_bookings: "$ref": "#/components/schemas/_filter_boolean" id: "$ref": "#/components/schemas/_filter_e_ids_all" limitation_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_event/properties/limitation_type" not_eq: "$ref": "#/components/schemas/resource_event/properties/limitation_type" - "$ref": "#/components/schemas/resource_event/properties/limitation_type" description: Filter by the limitation type applied to entitlement accrual. example: eq: active limited: "$ref": "#/components/schemas/_filter_boolean" status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_event/properties/status" not_eq: "$ref": "#/components/schemas/resource_event/properties/status" - "$ref": "#/components/schemas/resource_event/properties/status" description: Filter by active/archived status. example: eq: active sync_personal_integrations: "$ref": "#/components/schemas/_filter_boolean" name: "$ref": "#/components/schemas/_filter_string" example: id: eq: '123' filter_exchange_rate: type: object title: Filter exchange rate description: Filter parameters for exchange rates. properties: date: "$ref": "#/components/schemas/_filter_date" out_of_date: "$ref": "#/components/schemas/_filter_boolean" example: id: eq: '123' filter_expense_line_item: type: object title: Filter expense line item properties: expense_id: "$ref": "#/components/schemas/_filter_expense_ids" id: "$ref": "#/components/schemas/_filter_expense_ids" tax_rate_id: "$ref": "#/components/schemas/_filter_expense_ids" example: expense_id: eq: 17 filter_expense_report: type: object allOf: - "$ref": "#/components/schemas/filter_expense" - type: object properties: formulas: type: object additionalProperties: anyOf: - type: object title: Operation properties: eq: type: number gt: type: number lt: type: number gt_eq: type: number lt_eq: type: number not_eq: type: number - type: number title: Number title: Filter expense report description: Available filter parameters for querying aggregated expense report data. example: id: eq: '123' filter_filter: type: object title: Filter filter patternProperties: "^subsidiary\\..+$": title: Subsidiary relationship description: Filter parameters for saved filters (custom views). properties: chart_type_id: "$ref": "#/components/schemas/_filter_e_ids_all" filterable_collection: anyOf: - type: string title: String - type: array items: type: string title: List of strings description: Filter by the filterable collection (resource type group) the saved filter applies to. example: eq: value filterable_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/filterable_type" - "$ref": "#/components/schemas/_filter_e_blank" not_eq: anyOf: - "$ref": "#/components/schemas/resource_filter/properties/filterable_type" - "$ref": "#/components/schemas/_filter_e_blank" - "$ref": "#/components/schemas/resource_filter/properties/filterable_type" - "$ref": "#/components/schemas/_filter_e_blank" description: Filter by the resource type (e.g. tasks, deals) the saved filter applies to. example: eq: active id: "$ref": "#/components/schemas/_filter_e_ids_all" project_id: "$ref": "#/components/schemas/_filter_e_id_operand" query: type: string description: Filter by name (text search). example: eq: value report: "$ref": "#/components/schemas/_filter_boolean" report_category_id: "$ref": "#/components/schemas/_filter_e_ids_all_blank" report_layout_id: "$ref": "#/components/schemas/_filter_e_ids_all" shared: "$ref": "#/components/schemas/_filter_boolean" type_id: "$ref": "#/components/schemas/_filter_e_ids_all" created_at: "$ref": "#/components/schemas/_filter_date" creator_id: "$ref": "#/components/schemas/_filter_e_ids_all" filterable_id: "$ref": "#/components/schemas/_filter_e_ids_all_blank" last_accessed_at: "$ref": "#/components/schemas/_filter_date" last_pulse_sent_at: anyOf: - "$ref": "#/components/schemas/_filter_date" - "$ref": "#/components/schemas/_filter_e_blank" description: Filter by the date the last pulse notification was sent for this saved filter. example: gt: '2026-01-01' last_viewed_at: anyOf: - "$ref": "#/components/schemas/_filter_date" - "$ref": "#/components/schemas/_filter_e_blank" description: Filter by the date the saved filter was last viewed. example: gt: '2026-01-01' name: "$ref": "#/components/schemas/_filter_string" pulse: type: boolean description: Filter by whether the saved filter has an active pulse (digest notification) configured for it. example: eq: value updated_at: "$ref": "#/components/schemas/_filter_date" description: "$ref": "#/components/schemas/_filter_string" template: "$ref": "#/components/schemas/_filter_boolean" example: id: eq: '123' filter_filter_preference: type: object title: Filter filter preference properties: filterable_collection: "$ref": "#/components/schemas/_filter_string" id: "$ref": "#/components/schemas/_filter_e_ids_all" option_type: "$ref": "#/components/schemas/_filter_string" filter_financial_item_report: type: object title: Filter financial item report 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. properties: approval_status: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/approval_status" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/approval_status" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/approval_status" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/approval_status" title: List - "$ref": "#/components/schemas/resource_financial_item_report/properties/approval_status" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/approval_status" title: List description: Filter by the approval status of the financial item. example: eq: active billing_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/billing_type" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/billing_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/billing_type" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/billing_type" title: List - "$ref": "#/components/schemas/resource_financial_item_report/properties/billing_type" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/billing_type" title: List description: Filter by the billing type of the service. example: eq: active blended_rate: "$ref": "#/components/schemas/_filter_e_number_blank" budget_id: "$ref": "#/components/schemas/_filter_e_ids_eq" budget_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_status" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_status" - "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_status" description: Filter by budget status (open or closed). example: gt: 0 budget_total: "$ref": "#/components/schemas/_filter_e_number_blank" budget_used: "$ref": "#/components/schemas/_filter_e_number_blank" company_id: "$ref": "#/components/schemas/_filter_e_ids_eq" cost: "$ref": "#/components/schemas/_filter_e_number_blank" credited: "$ref": "#/components/schemas/_filter_e_number_blank" custom_fields: type: object additionalProperties: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string any_of: type: array items: type: string not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings none_of: type: array items: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String description: Filter by custom field values. example: eq: value date: "$ref": "#/components/schemas/_filter_date" deal_status_id: "$ref": "#/components/schemas/_filter_e_ids_eq_blank" estimated_cost: "$ref": "#/components/schemas/_filter_e_number_blank" financial_item_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" title: List contains: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" title: List - "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" title: List description: Filter by type of financial item (service unused budget, booking, time entry, invoice, expense, etc.). example: eq: active formulas: type: object additionalProperties: "$ref": "#/components/schemas/_filter_e_integer_blank" description: Filter by calculated formula field values. example: eq: value future: "$ref": "#/components/schemas/_filter_boolean" invoiced: "$ref": "#/components/schemas/_filter_e_number_blank" origin_deal_id: "$ref": "#/components/schemas/_filter_e_ids_eq_blank" overhead_cost: "$ref": "#/components/schemas/_filter_e_number_blank" person_id: "$ref": "#/components/schemas/_filter_e_ids_all_blank" pipeline_id: "$ref": "#/components/schemas/_filter_e_ids_eq_blank" probability: "$ref": "#/components/schemas/_filter_e_integer_blank" profit: "$ref": "#/components/schemas/_filter_e_number_blank" project_id: "$ref": "#/components/schemas/_filter_e_ids_eq_blank" project_type_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/project_type_id" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/project_type_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/project_type_id" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/project_type_id" title: List - "$ref": "#/components/schemas/resource_financial_item_report/properties/project_type_id" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/project_type_id" title: List description: Filter financial item report results by project type id. example: - 123 responsible_id: "$ref": "#/components/schemas/_filter_e_ids_eq" revenue: "$ref": "#/components/schemas/_filter_e_number_blank" scheduled_cost: "$ref": "#/components/schemas/_filter_e_number_blank" scheduled_revenue: "$ref": "#/components/schemas/_filter_e_number_blank" section_id: "$ref": "#/components/schemas/_filter_e_ids_eq_blank" service_id: "$ref": "#/components/schemas/_filter_e_ids_all_blank" service_type_id: "$ref": "#/components/schemas/_filter_e_ids_eq_blank" stage_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_status" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_status" - "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_status" description: Filter financial item report results by stage status. example: eq: active stage_type: anyOf: - 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" - "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_type" description: Filter financial item report results by stage type. example: eq: active subsidiary_id: "$ref": "#/components/schemas/_filter_e_ids_eq_blank" total_billable_time: "$ref": "#/components/schemas/_filter_e_integer_blank" total_budgeted_time: "$ref": "#/components/schemas/_filter_e_integer_blank" total_estimated_time: "$ref": "#/components/schemas/_filter_e_integer_blank" total_recognized_time: "$ref": "#/components/schemas/_filter_e_integer_blank" total_scheduled_time: "$ref": "#/components/schemas/_filter_e_integer_blank" total_time: "$ref": "#/components/schemas/_filter_e_integer_blank" total_worked_time: "$ref": "#/components/schemas/_filter_e_integer_blank" draft_invoiced: "$ref": "#/components/schemas/_filter_e_number_blank" parent_company_id: "$ref": "#/components/schemas/_filter_e_ids_eq_blank" unit: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/unit" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/unit" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/unit" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/unit" title: List - "$ref": "#/components/schemas/resource_financial_item_report/properties/unit" - type: array items: "$ref": "#/components/schemas/resource_financial_item_report/properties/unit" title: List description: Filter by the billing unit type of the service (e.g. hours, days, items). example: eq: value total_billable_worked_time: "$ref": "#/components/schemas/_filter_e_integer_blank" description: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - "$ref": "#/components/schemas/_filter_e_blank" not_eq: anyOf: - type: string title: String - "$ref": "#/components/schemas/_filter_e_blank" gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: type: string not_contain: type: string - type: string title: String - "$ref": "#/components/schemas/_filter_e_blank" total_billable_scheduled_time: "$ref": "#/components/schemas/_filter_e_integer_blank" total_overtime_time: "$ref": "#/components/schemas/_filter_e_integer_blank" total_future_scheduled_time: "$ref": "#/components/schemas/_filter_e_integer_blank" example: id: eq: '123' filter_financial_month: type: object title: Filter financial month properties: ended_on: "$ref": "#/components/schemas/_filter_date" id: "$ref": "#/components/schemas/_filter_e_ids_all" started_on: "$ref": "#/components/schemas/_filter_date" filter_folder: type: object title: Filter folder patternProperties: "^project\\..+$": title: Project relationship description: Filter parameters for listing folders. properties: id: "$ref": "#/components/schemas/_filter_e_ids_all" project_id: "$ref": "#/components/schemas/_filter_e_ids_all" query: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_folder/properties/query" not_eq: "$ref": "#/components/schemas/resource_folder/properties/query" contains: "$ref": "#/components/schemas/resource_folder/properties/query" not_contain: "$ref": "#/components/schemas/resource_folder/properties/query" - "$ref": "#/components/schemas/resource_folder/properties/query" description: Filter by folder name using a text search query. example: eq: value status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_folder/properties/status" - "$ref": "#/components/schemas/resource_folder/properties/status" description: Filter by folder archive status. example: eq: active example: id: eq: '123' filter_holiday: type: object title: Filter holiday description: Filter parameters for holidays. properties: after: "$ref": "#/components/schemas/_filter_date" before: "$ref": "#/components/schemas/_filter_date" holiday_calendar_id: "$ref": "#/components/schemas/_filter_id" date: "$ref": "#/components/schemas/_filter_date" id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_holiday_calendar: type: object title: Filter holiday calendar patternProperties: "^subsidiary\\..+$": title: Subsidiary relationship description: Filter parameters for holiday calendars. properties: id: "$ref": "#/components/schemas/_filter_id" subsidiary_id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_integration: type: object title: Filter integration description: Available filter parameters for querying integration records. properties: deal_id: "$ref": "#/components/schemas/_filter_integer" integration_type_id: "$ref": "#/components/schemas/_filter_id" jira_organization: "$ref": "#/components/schemas/_filter_string" jira_project: "$ref": "#/components/schemas/_filter_string" project_id: "$ref": "#/components/schemas/_filter_integer" project_status: "$ref": "#/components/schemas/_filter_integer" subsidiary_id: "$ref": "#/components/schemas/_filter_integer" agent_id: "$ref": "#/components/schemas/_filter_id" agent_owned: "$ref": "#/components/schemas/_filter_boolean" id: "$ref": "#/components/schemas/_filter_id" person_id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_integration_exporter_configuration: type: object title: Filter integration exporter configuration description: Filter parameters for integration exporter configurations. properties: company_id: "$ref": "#/components/schemas/_filter_integer" id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_integration_task_management_configuration: type: object title: Filter integration task management configuration properties: deal_id: "$ref": "#/components/schemas/_filter_integer" integration_id: "$ref": "#/components/schemas/_filter_integer" project_id: "$ref": "#/components/schemas/_filter_integer" id: "$ref": "#/components/schemas/_filter_id" filter_invoice: type: object title: Filter invoice patternProperties: "^company\\..+$": title: Company relationship description: Available filter parameters for querying invoices. properties: tags: "$ref": "#/components/schemas/_filter_string_list" amount: "$ref": "#/components/schemas/_filter_number" amount_credited: "$ref": "#/components/schemas/_filter_number" amount_credited_with_tax: "$ref": "#/components/schemas/_filter_number" amount_paid: "$ref": "#/components/schemas/_filter_number" amount_tax: "$ref": "#/components/schemas/_filter_number" amount_unpaid: "$ref": "#/components/schemas/_filter_number" amount_with_tax: "$ref": "#/components/schemas/_filter_number" amount_written_off: "$ref": "#/components/schemas/_filter_number" automatically_created: "$ref": "#/components/schemas/_filter_boolean" company_id: "$ref": "#/components/schemas/_filter_id" created_at: "$ref": "#/components/schemas/_filter_date" creator_id: "$ref": "#/components/schemas/_filter_id" credited: "$ref": "#/components/schemas/_filter_boolean" currency: "$ref": "#/components/schemas/_filter_string" custom_fields: "$ref": "#/components/schemas/_filter_custom_fields" deal_id: "$ref": "#/components/schemas/_filter_id_eq" delivery_on: "$ref": "#/components/schemas/_filter_date" export_status: "$ref": "#/components/schemas/_filter_integer_eq" full_query: "$ref": "#/components/schemas/_filter_string" fuzzy_people: "$ref": "#/components/schemas/_filter_id" id: "$ref": "#/components/schemas/_filter_id" invoice_aging: "$ref": "#/components/schemas/_filter_id_eq" invoice_state: "$ref": "#/components/schemas/_filter_integer_eq" invoice_status: "$ref": "#/components/schemas/_filter_id_eq" invoice_type: "$ref": "#/components/schemas/_filter_integer_eq" invoiced_on: "$ref": "#/components/schemas/_filter_date" invoicing_method: "$ref": "#/components/schemas/_filter_id_eq" issuer_id: "$ref": "#/components/schemas/_filter_id" jump_query: "$ref": "#/components/schemas/_filter_string" last_activity_at: "$ref": "#/components/schemas/_filter_date" number: "$ref": "#/components/schemas/_filter_string" overdue_status: "$ref": "#/components/schemas/_filter_id_eq" paid_on: "$ref": "#/components/schemas/_filter_date" parent_invoice_id: "$ref": "#/components/schemas/_filter_id" pay_on: "$ref": "#/components/schemas/_filter_date" payment_status: "$ref": "#/components/schemas/_filter_id_eq" payment_terms: "$ref": "#/components/schemas/_filter_integer" project_id: "$ref": "#/components/schemas/_filter_id_eq" purchase_order_number: "$ref": "#/components/schemas/_filter_query" query: "$ref": "#/components/schemas/_filter_query" responsible_id: "$ref": "#/components/schemas/_filter_id_eq" sent_on: "$ref": "#/components/schemas/_filter_date" sent_status: "$ref": "#/components/schemas/_filter_integer_eq" status: "$ref": "#/components/schemas/_filter_integer_eq" subscriber_id: "$ref": "#/components/schemas/_filter_id_eq" subsidiary_id: "$ref": "#/components/schemas/_filter_id_eq" payment_terms_type: "$ref": "#/components/schemas/_filter_string_list" einvoice_status: "$ref": "#/components/schemas/_filter_id_eq" fiscalization_status: "$ref": "#/components/schemas/_filter_id_eq" tax_rates: "$ref": "#/components/schemas/_filter_id_eq" example: status: eq: draft filter_invoice_attribution: type: object title: Filter invoice attribution patternProperties: "^budget\\..+$": title: Budget relationship "^invoice\\..+$": title: Invoice relationship description: Filter parameters for invoice attributions linking invoices to budgets. properties: budget_id: "$ref": "#/components/schemas/_filter_id" invoice_id: "$ref": "#/components/schemas/_filter_id" id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_invoice_report: type: object allOf: - "$ref": "#/components/schemas/filter_invoice" - type: object properties: formulas: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice_report/properties/formulas" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/formulas" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/formulas" - "$ref": "#/components/schemas/resource_invoice_report/properties/formulas" currency_id: "$ref": "#/components/schemas/_filter_string" delivery_method: "$ref": "#/components/schemas/_filter_id" title: Filter invoice report description: Available filter parameters for querying invoice report records. example: id: eq: '123' filter_invoice_template: type: object title: Filter invoice template description: Filter parameters for invoice templates used in automatic invoicing. properties: budget_id: "$ref": "#/components/schemas/_filter_id" company_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by client company. example: - 123 creator_id: "$ref": "#/components/schemas/_filter_id" custom_fields: "$ref": "#/components/schemas/_filter_custom_fields" document_type_id: "$ref": "#/components/schemas/_filter_id" id: "$ref": "#/components/schemas/_filter_id" issuer_id: "$ref": "#/components/schemas/_filter_id" subsidiary_id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_invoiced_budget: type: object title: Filter invoiced budget patternProperties: "^budget\\..+$": title: Budget relationship "^invoice\\..+$": title: Invoice relationship properties: budget_id: "$ref": "#/components/schemas/_filter_id" invoice_id: "$ref": "#/components/schemas/_filter_id" id: "$ref": "#/components/schemas/_filter_id" filter_job_role: type: object title: Filter job role description: Filter parameters for listing job roles. Supports filtering by ID, archival status, and a name search. properties: id: "$ref": "#/components/schemas/_filter_id" query: "$ref": "#/components/schemas/_filter_string" status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_job_role/properties/status" not_eq: "$ref": "#/components/schemas/resource_job_role/properties/status" - "$ref": "#/components/schemas/resource_job_role/properties/status" description: Filter by archival status, so you can list only active or only archived job roles. filter_job_role_rate_card: type: object title: Filter job role rate card properties: company_id: "$ref": "#/components/schemas/_filter_id" created_at: "$ref": "#/components/schemas/_filter_date" currency: "$ref": "#/components/schemas/_filter_string" id: "$ref": "#/components/schemas/_filter_id" name: "$ref": "#/components/schemas/_filter_string" status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_job_role_rate_card/properties/status" not_eq: "$ref": "#/components/schemas/resource_job_role_rate_card/properties/status" - "$ref": "#/components/schemas/resource_job_role_rate_card/properties/status" filter_kpd_code: type: object title: Filter KPD code properties: query: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String example: žitarica code: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings any_of: type: array items: type: string none_of: type: array items: type: string - type: string title: String - type: array items: type: string title: List of strings example: '01.11' id: "$ref": "#/components/schemas/_filter_id" is_kpd: "$ref": "#/components/schemas/_filter_boolean" example: is_kpd: true query: žitarica filter_line_item: type: object title: Filter line item 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. properties: company_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List title: Filter company id description: Filter by client company (via the associated invoice). example: - 123 creator_id: "$ref": "#/components/schemas/_filter_id" discount: "$ref": "#/components/schemas/_filter_number" expense_id: "$ref": "#/components/schemas/_filter_id" id: "$ref": "#/components/schemas/_filter_id" invoice_id: "$ref": "#/components/schemas/_filter_id" service_id: "$ref": "#/components/schemas/_filter_id" service_type_id: "$ref": "#/components/schemas/_filter_id" tax_name: "$ref": "#/components/schemas/_filter_string" tax_value: "$ref": "#/components/schemas/_filter_number" unit_id: "$ref": "#/components/schemas/_filter_id" updater_id: "$ref": "#/components/schemas/_filter_id" description: "$ref": "#/components/schemas/_filter_string" example: id: eq: '123' filter_line_item_report: type: object allOf: - "$ref": "#/components/schemas/filter_line_item" - type: object properties: tax_rate: "$ref": "#/components/schemas/_filter_id_eq" title: Filter line item report description: Available filter parameters for querying aggregated line item report data. example: id: eq: '123' filter_lost_reason: type: object title: Filter lost reason patternProperties: "^subsidiary\\..+$": title: Subsidiary relationship description: Filter parameters for lost reasons. properties: id: "$ref": "#/components/schemas/_filter_id" subsidiary_id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_mcp_connector: type: object title: Filter MCP connector patternProperties: "^person\\..+$": title: Person relationship "^mcp_server\\..+$": title: MCP server relationship properties: agent_id: "$ref": "#/components/schemas/_filter_id" id: "$ref": "#/components/schemas/_filter_id" mcp_server_id: "$ref": "#/components/schemas/_filter_id" person_id: "$ref": "#/components/schemas/_filter_id" filter_mcp_server: type: object title: Filter MCP server patternProperties: "^creator\\..+$": title: Creator relationship properties: auth_type: "$ref": "#/components/schemas/_filter_string" creator_id: "$ref": "#/components/schemas/_filter_id" id: "$ref": "#/components/schemas/_filter_id" name: "$ref": "#/components/schemas/_filter_string" filter_memory: type: object title: Filter memory properties: applies_to_project: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_request_id" created_at: "$ref": "#/components/schemas/_filter_date" id: "$ref": "#/components/schemas/_filter_id" last_updated_by_session_id: "$ref": "#/components/schemas/_filter_id" memory_type: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings any_of: type: array items: type: string none_of: type: array items: type: string - type: string title: String - type: array items: type: string title: List of strings project_id: "$ref": "#/components/schemas/_filter_id" query: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String updated_at: "$ref": "#/components/schemas/_filter_date" filter_new_salary_report: type: object title: Filter new salary report patternProperties: "^person\\..+$": title: Person relationship description: Available filter parameters for querying aggregated new salary report data. properties: annuall_cost: "$ref": "#/components/schemas/_filter_number" bi_weekly_cost: "$ref": "#/components/schemas/_filter_number" date: "$ref": "#/components/schemas/_filter_date" ended_on: "$ref": "#/components/schemas/_filter_date" estimated_weekly_hours: "$ref": "#/components/schemas/_filter_integer" formulas: oneOf: - type: object title: Operation description: Filter operator object for formulas. properties: eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/formulas" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/formulas" not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/formulas" example: eq: value - "$ref": "#/components/schemas/resource_new_salary_report/properties/formulas" description: Filter new salary report results by formulas. example: eq: value holiday_calendar_id: "$ref": "#/components/schemas/_filter_id" hourly_cost: "$ref": "#/components/schemas/_filter_number" id: "$ref": "#/components/schemas/_filter_id" monthly_cost: "$ref": "#/components/schemas/_filter_number" overhead: "$ref": "#/components/schemas/_filter_boolean" people_custom_fields: "$ref": "#/components/schemas/_filter_custom_fields" person_id: "$ref": "#/components/schemas/_filter_id" salary_id: "$ref": "#/components/schemas/_filter_id" salary_type_id: "$ref": "#/components/schemas/_filter_integer" started_on: "$ref": "#/components/schemas/_filter_date" time: "$ref": "#/components/schemas/_filter_integer" weekly_cost: "$ref": "#/components/schemas/_filter_number" example: id: eq: '123' filter_new_time_report: type: object title: Filter new time report patternProperties: "^person\\..+$": title: Person relationship description: Available filter parameters for querying the time report. properties: after: "$ref": "#/components/schemas/_filter_date" before: "$ref": "#/components/schemas/_filter_date" billing_type: "$ref": "#/components/schemas/_filter_id" bookings_after: "$ref": "#/components/schemas/_filter_date" bookings_before: "$ref": "#/components/schemas/_filter_date" bookings_custom_fields: "$ref": "#/components/schemas/_filter_custom_fields" budget_id: "$ref": "#/components/schemas/_filter_id" budget_tags: "$ref": "#/components/schemas/_filter_string_list" company_id: "$ref": "#/components/schemas/_filter_id" date: "$ref": "#/components/schemas/_filter_date" day: "$ref": "#/components/schemas/_filter_string" event_id: "$ref": "#/components/schemas/_filter_id" formulas: oneOf: - type: object title: Operation description: Filter operator object for formulas. properties: eq: "$ref": "#/components/schemas/resource_new_time_report/properties/formulas" not_eq: "$ref": "#/components/schemas/resource_new_time_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_new_time_report/properties/formulas" not_contain: "$ref": "#/components/schemas/resource_new_time_report/properties/formulas" example: eq: value - "$ref": "#/components/schemas/resource_new_time_report/properties/formulas" description: Filter using report formula expressions for computed metrics. example: eq: value future: "$ref": "#/components/schemas/_filter_boolean" month: "$ref": "#/components/schemas/_filter_string" people_custom_fields: "$ref": "#/components/schemas/_filter_custom_fields" person_id: "$ref": "#/components/schemas/_filter_id" person_tags: "$ref": "#/components/schemas/_filter_string_list" person_type: "$ref": "#/components/schemas/_filter_integer" project_id: "$ref": "#/components/schemas/_filter_id" project_type: "$ref": "#/components/schemas/_filter_id" quarter: "$ref": "#/components/schemas/_filter_string" role_id: "$ref": "#/components/schemas/_filter_id" service_id: "$ref": "#/components/schemas/_filter_id" service_type_id: "$ref": "#/components/schemas/_filter_id" stage_type: "$ref": "#/components/schemas/_filter_integer" subsidiary_id: "$ref": "#/components/schemas/_filter_id_eq" week: "$ref": "#/components/schemas/_filter_string" year: "$ref": "#/components/schemas/_filter_string" role_type: anyOf: - type: object title: Operation properties: eq: enum: - employee - client - contractor type: string not_eq: enum: - employee - client - contractor type: string - enum: - employee - client - contractor type: string title: Value description: Filter by the role type category of the person who tracked time. example: eq: active job_role_id: "$ref": "#/components/schemas/_filter_id_eq" example: id: eq: '123' filter_notification: type: object title: Filter notification description: Filter parameters for notifications. properties: after: "$ref": "#/components/schemas/_filter_datetime" before: "$ref": "#/components/schemas/_filter_datetime" date_after: "$ref": "#/components/schemas/_filter_date" date_before: "$ref": "#/components/schemas/_filter_date" dismissed: "$ref": "#/components/schemas/_filter_boolean" id: "$ref": "#/components/schemas/_filter_id" important: "$ref": "#/components/schemas/_filter_boolean" mention: "$ref": "#/components/schemas/_filter_boolean" project_id: "$ref": "#/components/schemas/_filter_id" type: "$ref": "#/components/schemas/_filter_string" last_action_at: "$ref": "#/components/schemas/_filter_datetime" example: id: eq: '123' filter_organization: type: object title: Filter organization description: Filter parameters for listing organization resources, which represent the tenant account in Productive. properties: id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_organization_membership: type: object title: Filter organization membership description: Filter parameters for listing organization memberships. Supports filtering by organization and person. Standard ID operators apply. properties: organization_id: "$ref": "#/components/schemas/_filter_id" id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_page: type: object title: Filter page 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. properties: created_at: "$ref": "#/components/schemas/_filter_date" creator_id: "$ref": "#/components/schemas/_filter_id" custom_fields: type: object additionalProperties: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string any_of: type: array items: type: string not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings none_of: type: array items: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String description: Filter by custom field values. example: eq: value edited_at: "$ref": "#/components/schemas/_filter_date" full_query: anyOf: - "$ref": "#/components/schemas/resource_page/properties/full_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Full-text search across all fields of a page, including title and body content. example: eq: value fuzzy_dates: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_page/properties/fuzzy_dates" gt: "$ref": "#/components/schemas/resource_page/properties/fuzzy_dates" lt: "$ref": "#/components/schemas/resource_page/properties/fuzzy_dates" gt_eq: "$ref": "#/components/schemas/resource_page/properties/fuzzy_dates" lt_eq: "$ref": "#/components/schemas/resource_page/properties/fuzzy_dates" - "$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' fuzzy_people: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter pages by people mentioned in the page content. example: eq: value id: "$ref": "#/components/schemas/_filter_id" jump_query: anyOf: - "$ref": "#/components/schemas/resource_page/properties/jump_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter pages by a quick search query used in jump navigation. example: eq: value last_activity_at: "$ref": "#/components/schemas/_filter_date" parent_page_id: "$ref": "#/components/schemas/_filter_id" person_type: "$ref": "#/components/schemas/_filter_id" project_id: "$ref": "#/components/schemas/_filter_id" project_status: "$ref": "#/components/schemas/resource_page/properties/project_status" query: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_page/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_page/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 contains: "$ref": "#/components/schemas/resource_page/properties/query" not_contain: "$ref": "#/components/schemas/resource_page/properties/query" - "$ref": "#/components/schemas/resource_page/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by title or content (text search). example: eq: value root_page_id: "$ref": "#/components/schemas/_filter_id" status: "$ref": "#/components/schemas/_filter_id" subscriber_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the person subscribed to the page. example: - 123 template: anyOf: - "$ref": "#/components/schemas/resource_page/properties/template" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter to include only pages that are based on a template. example: eq: value example: id: eq: '123' filter_page_report: type: object title: Filter page report description: Available filter parameters for querying aggregated page report data. properties: created_at: "$ref": "#/components/schemas/_filter_date" creator_id: "$ref": "#/components/schemas/_filter_id" custom_fields: type: object additionalProperties: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string any_of: type: array items: type: string not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings none_of: type: array items: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String description: Filter page report results by custom fields. example: eq: value edited_at: "$ref": "#/components/schemas/_filter_date" full_query: anyOf: - "$ref": "#/components/schemas/resource_page_report/properties/full_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter page report results by full query. example: eq: value fuzzy_dates: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_page_report/properties/fuzzy_dates" gt: "$ref": "#/components/schemas/resource_page_report/properties/fuzzy_dates" lt: "$ref": "#/components/schemas/resource_page_report/properties/fuzzy_dates" gt_eq: "$ref": "#/components/schemas/resource_page_report/properties/fuzzy_dates" lt_eq: "$ref": "#/components/schemas/resource_page_report/properties/fuzzy_dates" - "$ref": "#/components/schemas/resource_page_report/properties/fuzzy_dates" description: Filter page report results by fuzzy dates. example: gt: '2026-01-01' fuzzy_people: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter page report results by fuzzy people. example: eq: value id: "$ref": "#/components/schemas/_filter_id" jump_query: anyOf: - "$ref": "#/components/schemas/resource_page_report/properties/jump_query" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter page report results by jump query. example: eq: value last_activity_at: "$ref": "#/components/schemas/_filter_date" parent_page_id: "$ref": "#/components/schemas/_filter_id" person_type: "$ref": "#/components/schemas/_filter_id" project_id: "$ref": "#/components/schemas/_filter_id" project_status: "$ref": "#/components/schemas/resource_page_report/properties/project_status" query: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_page_report/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_page_report/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 contains: "$ref": "#/components/schemas/resource_page_report/properties/query" not_contain: "$ref": "#/components/schemas/resource_page_report/properties/query" - "$ref": "#/components/schemas/resource_page_report/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter page report results by query. example: eq: value root_page_id: "$ref": "#/components/schemas/_filter_id" status: "$ref": "#/components/schemas/_filter_id" subscriber_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter page report results by subscriber id. example: - 123 template: anyOf: - "$ref": "#/components/schemas/resource_page_report/properties/template" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter page report results by template. example: eq: value example: id: eq: '123' filter_page_version: type: object title: Filter page version description: Filter parameters for page versions. properties: id: "$ref": "#/components/schemas/_filter_id" page_id: "$ref": "#/components/schemas/_filter_id" person_id: "$ref": "#/components/schemas/_filter_id" restored_from_version_id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_payment_reminder: type: object title: Filter payment reminder properties: id: "$ref": "#/components/schemas/_filter_person_id" invoice_id: "$ref": "#/components/schemas/_filter_person_id" payment_reminder_sequence_id: "$ref": "#/components/schemas/_filter_person_id" filter_payment_reminder_sequence: type: object title: Filter payment reminder sequence description: Filter parameters for payment reminder sequences. properties: default_sequence: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_payment_reminder_sequence/properties/default_sequence" not_eq: "$ref": "#/components/schemas/resource_payment_reminder_sequence/properties/default_sequence" - "$ref": "#/components/schemas/resource_payment_reminder_sequence/properties/default_sequence" description: Filter by default sequence status; when true, includes only the default payment reminder sequence. example: eq: value id: "$ref": "#/components/schemas/_filter_person_id" example: id: eq: '123' filter_payment_report: type: object allOf: - "$ref": "#/components/schemas/filter_payment" - type: object properties: formulas: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_payment_report/properties/formulas" not_eq: "$ref": "#/components/schemas/resource_payment_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_payment_report/properties/formulas" not_contain: "$ref": "#/components/schemas/resource_payment_report/properties/formulas" - "$ref": "#/components/schemas/resource_payment_report/properties/formulas" title: Filter payment report description: Available filter parameters for querying aggregated payment report data. example: id: eq: '123' filter_payroll_item_report: type: object title: Filter payroll item report patternProperties: "^person\\..+$": title: Person relationship description: Available filter parameters for querying aggregated payroll item report data. properties: booking_id: "$ref": "#/components/schemas/_filter_person_id_list_ignored" company_id: "$ref": "#/components/schemas/_filter_person_id_eq_blank" custom_fields: "$ref": "#/components/schemas/_filter_custom_fields" date: "$ref": "#/components/schemas/_filter_date" formulas: oneOf: - type: object title: Operation description: Filter operator object for formulas. properties: eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/formulas" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/formulas" not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/formulas" example: eq: value - "$ref": "#/components/schemas/resource_payroll_item_report/properties/formulas" description: Filter payroll item report results by formulas. example: eq: value group: "$ref": "#/components/schemas/_filter_person_string_ignored" payroll_item_type: "$ref": "#/components/schemas/_filter_person_string_ignored" person_id: "$ref": "#/components/schemas/_filter_person_id" person_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_status" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_status" - "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_status" description: Filter payroll item report results by person status. example: eq: active person_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_type" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_type" - "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_type" description: Filter payroll item report results by person type. example: eq: active role_id: "$ref": "#/components/schemas/_filter_person_id_eq_blank" salary_id: "$ref": "#/components/schemas/_filter_person_id_list_ignored" salary_type_id: "$ref": "#/components/schemas/_filter_person_id_eq_blank" subsidiary_id: "$ref": "#/components/schemas/_filter_person_id_eq_blank" time_entry_id: "$ref": "#/components/schemas/_filter_person_id_list_ignored" parent_company_id: "$ref": "#/components/schemas/_filter_person_id_eq_blank" example: id: eq: '123' filter_person: type: object title: Filter person patternProperties: "^company\\..+$": title: Company relationship "^contact\\..+$": title: Contact relationship "^bookings\\..+$": title: Bookings relationship "^subsidiary\\..+$": title: Subsidiary relationship "^custom_role\\..+$": title: Custom role relationship description: Filters people by various criteria such as name, email, role, team, tags, status, and date fields. properties: tags: "$ref": "#/components/schemas/_filter_person_string_list" accessible_deal_id: "$ref": "#/components/schemas/_filter_person_id_list_ignored" accessible_doc_id: "$ref": "#/components/schemas/_filter_person_id_list_ignored" accessible_filter_id: "$ref": "#/components/schemas/_filter_person_string_ignored" accessible_project_id: "$ref": "#/components/schemas/_filter_person_id_list_ignored" approval_policy_id: "$ref": "#/components/schemas/_filter_person_id_eq_blank" approval_workflow_id: "$ref": "#/components/schemas/_filter_person_id_list_ignored" archived_at: "$ref": "#/components/schemas/_filter_person_date_blank" autotracking: "$ref": "#/components/schemas/_filter_boolean" bookings_after: "$ref": "#/components/schemas/_filter_person_date_ignored" bookings_before: "$ref": "#/components/schemas/_filter_person_date_ignored" company_id: "$ref": "#/components/schemas/_filter_person_id_blank" created_at: "$ref": "#/components/schemas/_filter_date" custom_fields: type: object additionalProperties: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string any_of: type: array items: type: string not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings none_of: type: array items: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String description: Filter by custom field values. example: eq: value custom_role_id: "$ref": "#/components/schemas/_filter_person_id_blank" deactivated_at: "$ref": "#/components/schemas/_filter_person_date_blank" eligible_replacement_managers: "$ref": "#/components/schemas/_filter_person_id_single" email: "$ref": "#/components/schemas/_filter_person_string_list" first_name: "$ref": "#/components/schemas/_filter_person_string" full_query: "$ref": "#/components/schemas/_filter_person_string_ignored" fuzzy_dates: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string - type: string title: String - type: string title: Blank (IS NULL) maxLength: 0 description: Fuzzy date filter for approximate date matching. example: gt: '2026-01-01' fuzzy_people: "$ref": "#/components/schemas/_filter_person_string_ignored" holiday_calendar_id: "$ref": "#/components/schemas/_filter_person_id_blank" hrm_type_id: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person/properties/hrm_type_id" - "$ref": "#/components/schemas/resource_person/properties/hrm_type_id" description: 'Filter by HRM type: 1 for employee (time tracker), 2 for contact.' example: - 123 id: "$ref": "#/components/schemas/_filter_person_id" joined_at: "$ref": "#/components/schemas/_filter_person_date_blank" jump_query: "$ref": "#/components/schemas/_filter_person_string_ignored" last_activity_at: "$ref": "#/components/schemas/_filter_person_date_blank" last_name: "$ref": "#/components/schemas/_filter_person_string" manager_id: "$ref": "#/components/schemas/_filter_person_id_blank" offboarding_status: anyOf: - type: object title: Operation properties: eq: anyOf: - enum: - not_initiated - in_progress - failed - completed type: string title: Value - type: array items: enum: - not_initiated - in_progress - failed - completed type: string title: List of strings not_eq: anyOf: - enum: - not_initiated - in_progress - failed - completed type: string title: Value - type: array items: enum: - not_initiated - in_progress - failed - completed type: string title: List of strings contains: anyOf: - enum: - not_initiated - in_progress - failed - completed type: string title: Value - type: array items: enum: - not_initiated - in_progress - failed - completed type: string title: List of strings not_contain: anyOf: - enum: - not_initiated - in_progress - failed - completed type: string title: Value - type: array items: enum: - not_initiated - in_progress - failed - completed type: string title: List of strings - enum: - not_initiated - in_progress - failed - completed type: string title: Value - type: array items: enum: - not_initiated - in_progress - failed - completed type: string title: List of strings description: Filter by offboarding status (e.g. active, in-progress). example: eq: active permissions: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String - type: array items: type: string title: List of strings description: Filter by permission set — returns people with the specified permission slugs. example: eq: value person_type: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_person/properties/person_type" - type: array items: "$ref": "#/components/schemas/resource_person/properties/person_type" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_person/properties/person_type" - type: array items: "$ref": "#/components/schemas/resource_person/properties/person_type" title: List contains: anyOf: - "$ref": "#/components/schemas/resource_person/properties/person_type" - type: array items: "$ref": "#/components/schemas/resource_person/properties/person_type" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_person/properties/person_type" - type: array items: "$ref": "#/components/schemas/resource_person/properties/person_type" title: List - "$ref": "#/components/schemas/resource_person/properties/person_type" - type: array items: "$ref": "#/components/schemas/resource_person/properties/person_type" title: List description: 'Filter by person type: user (can log in), contact (external), placeholder (resource planning).' example: eq: active project_id: "$ref": "#/components/schemas/_filter_person_id_single" project_watching: "$ref": "#/components/schemas/_filter_person_id_list_ignored" query: "$ref": "#/components/schemas/_filter_person_string_contains" role_id: "$ref": "#/components/schemas/_filter_person_id_blank" schedulable: "$ref": "#/components/schemas/_filter_boolean" service_id: "$ref": "#/components/schemas/_filter_person_id_single" service_type_id: "$ref": "#/components/schemas/_filter_person_id_set_blank" status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person/properties/status" not_eq: "$ref": "#/components/schemas/resource_person/properties/status" - "$ref": "#/components/schemas/resource_person/properties/status" description: 'Filter by person status: 1 (active) or 2 (deactivated).' example: eq: active subscribable_id: "$ref": "#/components/schemas/_filter_person_id_list_ignored" subscribable_type: "$ref": "#/components/schemas/_filter_person_string_ignored" subsidiary_id: "$ref": "#/components/schemas/_filter_person_id_blank" team: "$ref": "#/components/schemas/_filter_person_id_set_blank" time_tracking_policy_id: "$ref": "#/components/schemas/_filter_person_id_blank" timesheet_submission_disabled: "$ref": "#/components/schemas/_filter_boolean" title: "$ref": "#/components/schemas/_filter_person_string" virtual: "$ref": "#/components/schemas/_filter_boolean" agent: "$ref": "#/components/schemas/_filter_boolean" shared_seat: "$ref": "#/components/schemas/_filter_boolean" job_role_id: "$ref": "#/components/schemas/_filter_person_id_eq_blank" collaborate_project_id: "$ref": "#/components/schemas/_filter_person_id_single" accessible_agent_id: "$ref": "#/components/schemas/_filter_person_id_list_ignored" accessible_meeting_id: "$ref": "#/components/schemas/_filter_person_id_list_ignored" example: status: eq: active filter_person_report: type: object allOf: - "$ref": "#/components/schemas/filter_person" title: Filter person report description: Available filter parameters for querying aggregated person report data. example: id: eq: '123' filter_pipeline: type: object title: Filter pipeline patternProperties: "^subsidiary\\..+$": title: Subsidiary relationship description: Filter parameters for listing pipelines. Supports filtering by name, type (sales or production), and position. Standard string and ID operators apply. properties: pipeline_type_id: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_pipeline/properties/pipeline_type_id" not_eq: "$ref": "#/components/schemas/resource_pipeline/properties/pipeline_type_id" gt: "$ref": "#/components/schemas/resource_pipeline/properties/pipeline_type_id" lt: "$ref": "#/components/schemas/resource_pipeline/properties/pipeline_type_id" gt_eq: "$ref": "#/components/schemas/resource_pipeline/properties/pipeline_type_id" lt_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" - "$ref": "#/components/schemas/resource_pipeline/properties/pipeline_type_id" description: Filter by pipeline type ID. example: - 123 id: "$ref": "#/components/schemas/_filter_id" subsidiary_id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_placeholder: type: object title: Filter placeholder patternProperties: "^project\\..+$": title: Project relationship description: Filter parameters for listing placeholders. Supports filtering by name, category, type, project, creation date, and usage project. Standard ID operators apply. properties: category: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings any_of: type: array items: type: string none_of: type: array items: type: string - type: string title: String - type: array items: type: string title: List of strings description: Filter by placeholder category. example: eq: active created_at: "$ref": "#/components/schemas/_filter_date" id: "$ref": "#/components/schemas/_filter_id" name: "$ref": "#/components/schemas/_filter_string" project_id: "$ref": "#/components/schemas/_filter_id" type: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings any_of: type: array items: type: string none_of: type: array items: type: string - type: string title: String - type: array items: type: string title: List of strings description: Filter by placeholder type. example: eq: active query: "$ref": "#/components/schemas/_filter_string" usage_project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter placeholders that are used in tasks or todos belonging to the specified project. example: - 123 example: id: eq: '123' filter_placeholder_usage: type: object title: Filter placeholder usage description: Filter parameters for placeholder usage records. properties: field: "$ref": "#/components/schemas/_filter_string" placeholder_id: "$ref": "#/components/schemas/_filter_id" project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the associated project (matches usages on tasks or todos within that project). example: - 123 skip_weekends: "$ref": "#/components/schemas/_filter_boolean" target_id: "$ref": "#/components/schemas/_filter_id" target_type: "$ref": "#/components/schemas/_filter_string" task_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the associated task. example: - 123 todo_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the associated todo. example: - 123 id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_price: type: object title: Filter price 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. properties: billing_type_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_price/properties/billing_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_price/properties/billing_type_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_price/properties/billing_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_price/properties/billing_type_id" title: List gt: "$ref": "#/components/schemas/resource_price/properties/billing_type_id" lt: "$ref": "#/components/schemas/resource_price/properties/billing_type_id" gt_eq: "$ref": "#/components/schemas/resource_price/properties/billing_type_id" lt_eq: "$ref": "#/components/schemas/resource_price/properties/billing_type_id" contains: anyOf: - "$ref": "#/components/schemas/resource_price/properties/billing_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_price/properties/billing_type_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_price/properties/billing_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_price/properties/billing_type_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_price/properties/billing_type_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_price/properties/billing_type_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_price/properties/billing_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_price/properties/billing_type_id" title: List description: Filter by billing type ID. example: - 123 booking_tracking_enabled: "$ref": "#/components/schemas/_filter_boolean" company_id: "$ref": "#/components/schemas/_filter_id" custom_fields: type: object additionalProperties: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string any_of: type: array items: type: string not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings none_of: type: array items: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String description: Filter by custom field values. example: eq: value expense_tracking_enabled: "$ref": "#/components/schemas/_filter_boolean" id: "$ref": "#/components/schemas/_filter_id" rate_card_id: "$ref": "#/components/schemas/_filter_id" rate_card_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_price/properties/rate_card_status" not_eq: "$ref": "#/components/schemas/resource_price/properties/rate_card_status" - "$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: "$ref": "#/components/schemas/_filter_id" time_tracking_enabled: "$ref": "#/components/schemas/_filter_boolean" unit_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_price/properties/unit_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_price/properties/unit_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_price/properties/unit_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_price/properties/unit_id" title: List gt: "$ref": "#/components/schemas/resource_price/properties/unit_id" lt: "$ref": "#/components/schemas/resource_price/properties/unit_id" gt_eq: "$ref": "#/components/schemas/resource_price/properties/unit_id" lt_eq: "$ref": "#/components/schemas/resource_price/properties/unit_id" contains: anyOf: - "$ref": "#/components/schemas/resource_price/properties/unit_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_price/properties/unit_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_price/properties/unit_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_price/properties/unit_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_price/properties/unit_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_price/properties/unit_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_price/properties/unit_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_price/properties/unit_id" title: List description: Filter by unit ID. example: - 123 query: "$ref": "#/components/schemas/_filter_string" example: id: eq: '123' filter_price_report: type: object title: Filter price report patternProperties: "^company\\..+$": title: Company relationship "^rate_card\\..+$": title: Rate card relationship description: Available filter parameters for querying aggregated price report data. properties: billing_type_id: "$ref": "#/components/schemas/filter_price/properties/billing_type_id" booking_tracking_enabled: "$ref": "#/components/schemas/filter_price/properties/booking_tracking_enabled" company_id: "$ref": "#/components/schemas/filter_price/properties/company_id" custom_fields: "$ref": "#/components/schemas/filter_price/properties/custom_fields" expense_tracking_enabled: "$ref": "#/components/schemas/filter_price/properties/expense_tracking_enabled" id: "$ref": "#/components/schemas/filter_price/properties/id" rate_card_id: "$ref": "#/components/schemas/filter_price/properties/rate_card_id" rate_card_status: "$ref": "#/components/schemas/filter_price/properties/rate_card_status" service_type_id: "$ref": "#/components/schemas/filter_price/properties/service_type_id" time_tracking_enabled: "$ref": "#/components/schemas/filter_price/properties/time_tracking_enabled" unit_id: "$ref": "#/components/schemas/filter_price/properties/unit_id" query: "$ref": "#/components/schemas/filter_price/properties/query" example: id: eq: '123' filter_project_milestone: type: object title: Filter project milestone patternProperties: "^deal..*$": title: Deal relationship "^task..*$": title: Task relationship "^budget..*$": title: Budget relationship "^person..*$": title: Person relationship "^project..*$": title: Project relationship description: Filter parameters for listing project milestones. Supports filtering by ID, project, assignee, date, a date window (`after`/`before`), title search, and by related people, projects, tasks, deals or budgets. properties: after: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_milestone/properties/after" - "$ref": "#/components/schemas/resource_project_milestone/properties/after" description: Return milestones on or after this date. The operator is ignored — the value is always an inclusive lower bound. example: eq: '2026-10-01' assignee_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" title: List gt: "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" lt: "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" gt_eq: "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" lt_eq: "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" contains: anyOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/assignee_id" title: List description: Filter by the person assigned to the milestone. example: eq: '1002' before: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_milestone/properties/before" - "$ref": "#/components/schemas/resource_project_milestone/properties/before" description: Return milestones on or before this date. The operator is ignored — the value is always an inclusive upper bound. example: eq: '2026-12-31' date: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_milestone/properties/date" not_eq: "$ref": "#/components/schemas/resource_project_milestone/properties/date" gt: "$ref": "#/components/schemas/resource_project_milestone/properties/date" lt: "$ref": "#/components/schemas/resource_project_milestone/properties/date" gt_eq: "$ref": "#/components/schemas/resource_project_milestone/properties/date" lt_eq: "$ref": "#/components/schemas/resource_project_milestone/properties/date" - "$ref": "#/components/schemas/resource_project_milestone/properties/date" description: Filter by milestone date. Besides the listed operators, `gt`, `gt_eq`, `lt` and `lt_eq` are supported. example: gt_eq: '2026-10-01' id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/id" title: List gt: "$ref": "#/components/schemas/resource_project_milestone/properties/id" lt: "$ref": "#/components/schemas/resource_project_milestone/properties/id" gt_eq: "$ref": "#/components/schemas/resource_project_milestone/properties/id" lt_eq: "$ref": "#/components/schemas/resource_project_milestone/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project_milestone/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/id" title: List description: Filter by project milestone ID. example: eq: '42' project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/project_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/project_id" title: List - "$ref": "#/components/schemas/resource_project_milestone/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone/properties/project_id" title: List description: Filter by the project the milestone belongs to. Supports `eq` and `not_eq`; other operators have no effect. example: eq: '7388870' query: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 contains: "$ref": "#/components/schemas/resource_project_milestone/properties/query" not_contain: "$ref": "#/components/schemas/resource_project_milestone/properties/query" - "$ref": "#/components/schemas/resource_project_milestone/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 description: Search milestones by title. `contains` matches titles containing all search terms (`not_contain` the opposite); `eq`/`not_eq` compare the exact title. example: contains: launch example: project_id: eq: '7388870' filter_project_milestone_report: type: object title: Filter project milestone report patternProperties: "^deal..*$": title: Deal relationship "^task..*$": title: Task relationship "^budget..*$": title: Budget relationship "^project..*$": title: Project relationship "^assignee..*$": title: Assignee relationship properties: after: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/after" - "$ref": "#/components/schemas/resource_project_milestone_report/properties/after" assignee_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" title: List gt: "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" lt: "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" gt_eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" lt_eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" contains: anyOf: - "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/assignee_id" title: List before: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/before" - "$ref": "#/components/schemas/resource_project_milestone_report/properties/before" date: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/date" not_eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/date" gt: "$ref": "#/components/schemas/resource_project_milestone_report/properties/date" lt: "$ref": "#/components/schemas/resource_project_milestone_report/properties/date" gt_eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/date" lt_eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/date" - "$ref": "#/components/schemas/resource_project_milestone_report/properties/date" formulas: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/formulas" not_eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/formulas" gt: "$ref": "#/components/schemas/resource_project_milestone_report/properties/formulas" lt: "$ref": "#/components/schemas/resource_project_milestone_report/properties/formulas" gt_eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/formulas" lt_eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/formulas" - "$ref": "#/components/schemas/resource_project_milestone_report/properties/formulas" id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" title: List gt: "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" lt: "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" gt_eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" lt_eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/id" title: List project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone_report/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/project_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone_report/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/project_id" title: List - "$ref": "#/components/schemas/resource_project_milestone_report/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_project_milestone_report/properties/project_id" title: List query: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone_report/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_project_milestone_report/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 contains: "$ref": "#/components/schemas/resource_project_milestone_report/properties/query" not_contain: "$ref": "#/components/schemas/resource_project_milestone_report/properties/query" - "$ref": "#/components/schemas/resource_project_milestone_report/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 upcoming: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/upcoming" not_eq: "$ref": "#/components/schemas/resource_project_milestone_report/properties/upcoming" - "$ref": "#/components/schemas/resource_project_milestone_report/properties/upcoming" filter_project_preference: type: object title: Filter project preference description: Filter parameters for listing project preferences — filter by `id`, `person_id` or `project_id`. Standard integer operators apply. properties: id: "$ref": "#/components/schemas/_filter_id" person_id: "$ref": "#/components/schemas/_filter_id" project_id: "$ref": "#/components/schemas/_filter_id" example: project_id: eq: '6899' filter_proposal_service: type: object title: Filter proposal service properties: id: "$ref": "#/components/schemas/_filter_id" proposal_id: "$ref": "#/components/schemas/_filter_id" filter_proposal_session: type: object title: Filter proposal session properties: id: "$ref": "#/components/schemas/_filter_id" proposal_id: "$ref": "#/components/schemas/_filter_id" filter_pulse: type: object title: Filter pulse patternProperties: {} description: Filter parameters for Pulse entries (team activity feed items). properties: creator_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/creator_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/creator_id" title: List gt: "$ref": "#/components/schemas/resource_pulse/properties/creator_id" lt: "$ref": "#/components/schemas/resource_pulse/properties/creator_id" gt_eq: "$ref": "#/components/schemas/resource_pulse/properties/creator_id" lt_eq: "$ref": "#/components/schemas/resource_pulse/properties/creator_id" contains: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/creator_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/creator_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_pulse/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/creator_id" title: List description: Filter by the person who created the Pulse entry. example: - 123 filter_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/filter_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/filter_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/filter_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/filter_id" title: List gt: "$ref": "#/components/schemas/resource_pulse/properties/filter_id" lt: "$ref": "#/components/schemas/resource_pulse/properties/filter_id" gt_eq: "$ref": "#/components/schemas/resource_pulse/properties/filter_id" lt_eq: "$ref": "#/components/schemas/resource_pulse/properties/filter_id" contains: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/filter_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/filter_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/filter_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/filter_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/filter_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/filter_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_pulse/properties/filter_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/filter_id" title: List description: Filter by the associated saved filter used to generate the Pulse. example: - 123 id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/id" title: List gt: "$ref": "#/components/schemas/resource_pulse/properties/id" lt: "$ref": "#/components/schemas/resource_pulse/properties/id" gt_eq: "$ref": "#/components/schemas/resource_pulse/properties/id" lt_eq: "$ref": "#/components/schemas/resource_pulse/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_pulse/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/id" title: List description: Filter by ID. example: - 123 subscriber_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/subscriber_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_pulse/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/subscriber_id" title: List - "$ref": "#/components/schemas/resource_pulse/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_pulse/properties/subscriber_id" title: List description: Filter by the person subscribed to the Pulse. example: - 123 example: id: eq: '123' filter_purchase_order: type: object title: Filter purchase order patternProperties: "^deal\\..+$": title: Deal relationship "^vendor\\..+$": title: Vendor relationship "^document_type\\..+$": title: Document type relationship description: Filter shape for the purchase orders collection — per-field filters keyed by purchase order attributes. properties: created_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by creation timestamp. example: eq: '2026-04-01T09:00:00.000+01:00' creator_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" title: List gt: "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" lt: "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" gt_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" lt_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" contains: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" title: List description: Filter by the person who created the purchase order. example: eq: - 345678 deal_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" title: List gt: "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" lt: "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" gt_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" lt_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" contains: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" title: List description: Filter by the parent deal (budget) the purchase order belongs to. example: eq: - 456789 delivery_on: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by expected delivery date. example: eq: '2026-04-17' id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/id" title: List gt: "$ref": "#/components/schemas/resource_purchase_order/properties/id" lt: "$ref": "#/components/schemas/resource_purchase_order/properties/id" gt_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/id" lt_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_purchase_order/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/id" title: List description: Filter by purchase order ID. example: eq: - 1234567 issued_on: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by issue date. example: eq: '2026-04-10' number: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_purchase_order/properties/number" not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/number" gt: "$ref": "#/components/schemas/resource_purchase_order/properties/number" lt: "$ref": "#/components/schemas/resource_purchase_order/properties/number" gt_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/number" lt_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/number" contains: "$ref": "#/components/schemas/resource_purchase_order/properties/number" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/number" - "$ref": "#/components/schemas/resource_purchase_order/properties/number" description: Filter by the human-readable purchase order number. example: eq: PO-2024-017 payment_status_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" title: List gt: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" lt: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" gt_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" lt_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" contains: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" title: List description: Filter by payment status. example: eq: - 1 project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/project_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/project_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 - "$ref": "#/components/schemas/resource_purchase_order/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/project_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the project the parent deal belongs to. example: eq: - 567890 query: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 contains: "$ref": "#/components/schemas/resource_purchase_order/properties/query" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/query" - "$ref": "#/components/schemas/resource_purchase_order/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 description: Free-text search across the purchase order number and quick-search terms. example: eq: PO-2024 received_on: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by the date goods or services were received. example: eq: '2026-04-15T10:30:00.000+01:00' sent_on: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by the date the purchase order was sent. example: eq: '2026-04-10' sent_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_purchase_order/properties/sent_status" not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/sent_status" - "$ref": "#/components/schemas/resource_purchase_order/properties/sent_status" description: Filter by whether the purchase order has been sent. One of `sent` or `not_sent`. example: eq: - 1 status_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" title: List gt: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" lt: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" gt_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" lt_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" contains: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" title: List description: Filter by purchase order status. example: eq: - 1 total_cost: anyOf: - type: object title: Operation properties: eq: type: number not_eq: type: number gt: type: number lt: type: number gt_eq: type: number lt_eq: type: number - type: number title: Number description: Filter by pre-tax total amount. example: eq: 150000 total_cost_with_tax: anyOf: - type: object title: Operation properties: eq: type: number not_eq: type: number gt: type: number lt: type: number gt_eq: type: number lt_eq: type: number - type: number title: Number description: Filter by total amount including tax. example: eq: 187500 total_received: anyOf: - type: object title: Operation properties: eq: type: number not_eq: type: number gt: type: number lt: type: number gt_eq: type: number lt_eq: type: number - type: number title: Number description: Filter by amount already received. example: eq: 150000 vendor_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" title: List gt: "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" lt: "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" gt_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" lt_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" contains: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" title: List description: Filter by the vendor company fulfilling the purchase order. example: eq: - 234567 example: id: eq: - 1234567 status_id: eq: - 1 issued_on: gt: '2026-01-01' filter_purchase_order_report: type: object allOf: - "$ref": "#/components/schemas/filter_purchase_order" title: Filter purchase order report filter_rate_card: type: object title: Filter rate card patternProperties: {} description: Filter parameters for listing rate cards. Supports filtering by company, archived status, and name. Standard string and ID operators apply. properties: company_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_rate_card/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_rate_card/properties/company_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_rate_card/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_rate_card/properties/company_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_rate_card/properties/company_id" lt: "$ref": "#/components/schemas/resource_rate_card/properties/company_id" gt_eq: "$ref": "#/components/schemas/resource_rate_card/properties/company_id" lt_eq: "$ref": "#/components/schemas/resource_rate_card/properties/company_id" contains: anyOf: - "$ref": "#/components/schemas/resource_rate_card/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_rate_card/properties/company_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_rate_card/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_rate_card/properties/company_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_rate_card/properties/company_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_rate_card/properties/company_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_rate_card/properties/company_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_rate_card/properties/company_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by client company. example: - 123 created_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by creation date range. example: gt: '2026-01-01' name: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_rate_card/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_rate_card/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_rate_card/properties/name" lt: "$ref": "#/components/schemas/resource_rate_card/properties/name" gt_eq: "$ref": "#/components/schemas/resource_rate_card/properties/name" lt_eq: "$ref": "#/components/schemas/resource_rate_card/properties/name" contains: "$ref": "#/components/schemas/resource_rate_card/properties/name" not_contain: "$ref": "#/components/schemas/resource_rate_card/properties/name" - "$ref": "#/components/schemas/resource_rate_card/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by name (text search). example: eq: value status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_rate_card/properties/status" not_eq: "$ref": "#/components/schemas/resource_rate_card/properties/status" - "$ref": "#/components/schemas/resource_rate_card/properties/status" description: Filter by status (active or archived). example: eq: active example: id: eq: '123' filter_revenue_distribution: type: object title: Filter revenue distribution patternProperties: "^deal..*$": title: Deal relationship description: Filter parameters for revenue distribution records. properties: amount: oneOf: - type: object title: Operation description: Filter using explicit operator syntax. properties: eq: "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount" not_eq: "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount" gt: "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount" lt: "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount" gt_eq: "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount" lt_eq: "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount" example: gt: 0 - "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount" description: Filter by the monetary amount of the revenue distribution. example: gt: 0 amount_percent: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount_percent" not_eq: "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount_percent" gt: "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount_percent" lt: "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount_percent" gt_eq: "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount_percent" lt_eq: "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount_percent" - "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount_percent" description: Filter by percentage amount of the revenue distribution. example: gt: 0 created_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by creation date range. example: gt: '2026-01-01' creator_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the person who created the revenue distribution. example: - 123 deal_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the associated deal. example: - 123 end_on: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by the end date of the distribution period. example: eq: value id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by ID. example: - 123 start_on: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by the start date of the distribution period. example: eq: value example: id: eq: '123' filter_role: type: object title: Filter role patternProperties: "^subsidiary..*$": title: Subsidiary relationship description: Filter parameters for roles. properties: base_role_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_role/properties/base_role_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_role/properties/base_role_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_role/properties/base_role_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_role/properties/base_role_id" title: List gt: "$ref": "#/components/schemas/resource_role/properties/base_role_id" lt: "$ref": "#/components/schemas/resource_role/properties/base_role_id" gt_eq: "$ref": "#/components/schemas/resource_role/properties/base_role_id" lt_eq: "$ref": "#/components/schemas/resource_role/properties/base_role_id" contains: anyOf: - "$ref": "#/components/schemas/resource_role/properties/base_role_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_role/properties/base_role_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_role/properties/base_role_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_role/properties/base_role_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_role/properties/base_role_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_role/properties/base_role_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_role/properties/base_role_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_role/properties/base_role_id" title: List description: Filter by base role ID. example: - 123 id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by ID. example: - 123 name: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_role/properties/name" not_eq: "$ref": "#/components/schemas/resource_role/properties/name" gt: "$ref": "#/components/schemas/resource_role/properties/name" lt: "$ref": "#/components/schemas/resource_role/properties/name" gt_eq: "$ref": "#/components/schemas/resource_role/properties/name" lt_eq: "$ref": "#/components/schemas/resource_role/properties/name" contains: "$ref": "#/components/schemas/resource_role/properties/name" not_contain: "$ref": "#/components/schemas/resource_role/properties/name" - "$ref": "#/components/schemas/resource_role/properties/name" description: Filter by role name (text search). example: eq: value permissions: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: type: string not_contain: type: string - type: string title: String description: Filter by permission (text search). example: eq: value user_type_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_role/properties/user_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_role/properties/user_type_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_role/properties/user_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_role/properties/user_type_id" title: List gt: "$ref": "#/components/schemas/resource_role/properties/user_type_id" lt: "$ref": "#/components/schemas/resource_role/properties/user_type_id" gt_eq: "$ref": "#/components/schemas/resource_role/properties/user_type_id" lt_eq: "$ref": "#/components/schemas/resource_role/properties/user_type_id" contains: anyOf: - "$ref": "#/components/schemas/resource_role/properties/user_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_role/properties/user_type_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_role/properties/user_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_role/properties/user_type_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_role/properties/user_type_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_role/properties/user_type_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_role/properties/user_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_role/properties/user_type_id" title: List description: Filter by user type ID. example: - 123 active_agents_count: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_role/properties/active_agents_count" not_eq: "$ref": "#/components/schemas/resource_role/properties/active_agents_count" gt: "$ref": "#/components/schemas/resource_role/properties/active_agents_count" lt: "$ref": "#/components/schemas/resource_role/properties/active_agents_count" gt_eq: "$ref": "#/components/schemas/resource_role/properties/active_agents_count" lt_eq: "$ref": "#/components/schemas/resource_role/properties/active_agents_count" - "$ref": "#/components/schemas/resource_role/properties/active_agents_count" description: Filter by the number of active agent (bot) users assigned this role. example: gt: 0 active_users_count: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_role/properties/active_users_count" not_eq: "$ref": "#/components/schemas/resource_role/properties/active_users_count" gt: "$ref": "#/components/schemas/resource_role/properties/active_users_count" lt: "$ref": "#/components/schemas/resource_role/properties/active_users_count" gt_eq: "$ref": "#/components/schemas/resource_role/properties/active_users_count" lt_eq: "$ref": "#/components/schemas/resource_role/properties/active_users_count" - "$ref": "#/components/schemas/resource_role/properties/active_users_count" description: Filter by the number of active human users assigned this role. example: gt: 0 inactive_agents_count: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_role/properties/inactive_agents_count" not_eq: "$ref": "#/components/schemas/resource_role/properties/inactive_agents_count" gt: "$ref": "#/components/schemas/resource_role/properties/inactive_agents_count" lt: "$ref": "#/components/schemas/resource_role/properties/inactive_agents_count" gt_eq: "$ref": "#/components/schemas/resource_role/properties/inactive_agents_count" lt_eq: "$ref": "#/components/schemas/resource_role/properties/inactive_agents_count" - "$ref": "#/components/schemas/resource_role/properties/inactive_agents_count" description: Filter by the number of inactive agent (bot) users assigned this role. example: gt: 0 inactive_users_count: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_role/properties/inactive_users_count" not_eq: "$ref": "#/components/schemas/resource_role/properties/inactive_users_count" gt: "$ref": "#/components/schemas/resource_role/properties/inactive_users_count" lt: "$ref": "#/components/schemas/resource_role/properties/inactive_users_count" gt_eq: "$ref": "#/components/schemas/resource_role/properties/inactive_users_count" lt_eq: "$ref": "#/components/schemas/resource_role/properties/inactive_users_count" - "$ref": "#/components/schemas/resource_role/properties/inactive_users_count" description: Filter by the number of inactive human users assigned this role. example: gt: 0 description: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_role/properties/description" not_eq: "$ref": "#/components/schemas/resource_role/properties/description" gt: "$ref": "#/components/schemas/resource_role/properties/description" lt: "$ref": "#/components/schemas/resource_role/properties/description" gt_eq: "$ref": "#/components/schemas/resource_role/properties/description" lt_eq: "$ref": "#/components/schemas/resource_role/properties/description" contains: "$ref": "#/components/schemas/resource_role/properties/description" not_contain: "$ref": "#/components/schemas/resource_role/properties/description" - "$ref": "#/components/schemas/resource_role/properties/description" principal_type: anyOf: - type: object title: Operation properties: eq: enum: - user - agent type: string not_eq: enum: - user - agent type: string - enum: - user - agent type: string title: Value subsidiary_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NOT NULL) maxLength: 0 gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 example: id: eq: '123' filter_salary: type: object title: Filter salary patternProperties: {} description: Filter parameters for listing salaries (cost rates and working capacities, called Engagements internally). Supports filtering by person, date range, salary type, and currency. Standard ID and date operators apply. properties: after: "$ref": "#/components/schemas/resource_salary/properties/after" before: "$ref": "#/components/schemas/resource_salary/properties/before" person_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the associated person. example: - 123 ended_on: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_salary/properties/ended_on" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_salary/properties/ended_on" - type: string title: Blank (IS NOT NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_salary/properties/ended_on" lt: "$ref": "#/components/schemas/resource_salary/properties/ended_on" gt_eq: "$ref": "#/components/schemas/resource_salary/properties/ended_on" lt_eq: "$ref": "#/components/schemas/resource_salary/properties/ended_on" - "$ref": "#/components/schemas/resource_salary/properties/ended_on" - type: string title: Blank (IS NULL) maxLength: 0 id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List started_on: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_salary/properties/started_on" not_eq: "$ref": "#/components/schemas/resource_salary/properties/started_on" gt: "$ref": "#/components/schemas/resource_salary/properties/started_on" lt: "$ref": "#/components/schemas/resource_salary/properties/started_on" gt_eq: "$ref": "#/components/schemas/resource_salary/properties/started_on" lt_eq: "$ref": "#/components/schemas/resource_salary/properties/started_on" - "$ref": "#/components/schemas/resource_salary/properties/started_on" example: id: eq: '123' filter_scenario: type: object title: Filter scenario description: Filter parameters for narrowing scenario list results. properties: deal_id: "$ref": "#/components/schemas/_filter_id" id: "$ref": "#/components/schemas/_filter_id" project_id: "$ref": "#/components/schemas/_filter_id_eq" example: deal_id: eq: 5678 filter_scenario_booking: type: object title: Filter scenario booking patternProperties: "^person..*$": title: Person relationship "^scenario_item..*$": title: Scenario item relationship description: Filter parameters for narrowing scenario booking list results. properties: after: type: string format: date description: Filter to bookings ending on or after this date. example: '2026-03-01' before: type: string format: date description: Filter to bookings starting on or before this date. example: '2026-06-30' created_at: "$ref": "#/components/schemas/_filter_date" ended_on: "$ref": "#/components/schemas/_filter_date" id: "$ref": "#/components/schemas/_filter_id" last_activity_at: "$ref": "#/components/schemas/_filter_date" note: type: string description: Filter by note. example: kickoff person_id: "$ref": "#/components/schemas/_filter_scenario_id_scalar" scenario_item_id: "$ref": "#/components/schemas/_filter_scenario_id_scalar" started_on: "$ref": "#/components/schemas/_filter_date" updated_at: "$ref": "#/components/schemas/_filter_date" example: scenario_item_id: eq: 301 filter_scenario_section: type: object title: Filter scenario section patternProperties: "^scenario..*$": title: Scenario relationship description: Filter parameters for narrowing scenario section list results. properties: id: "$ref": "#/components/schemas/_filter_id" name: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String description: Filter by name. example: Design scenario_id: "$ref": "#/components/schemas/_filter_id" example: scenario_id: eq: 42 filter_scenario_service: type: object title: Filter scenario service description: Filter parameters for narrowing scenario service list results. properties: id: "$ref": "#/components/schemas/_filter_id" scenario_id: "$ref": "#/components/schemas/_filter_id" unit: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_scenario_service/properties/unit" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_scenario_service/properties/unit" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_scenario_service/properties/unit" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_scenario_service/properties/unit" title: List - "$ref": "#/components/schemas/resource_scenario_service/properties/unit" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_scenario_service/properties/unit" title: List description: Filter by tracking unit. example: 1 example: scenario_id: eq: 42 filter_section: type: object title: Filter section patternProperties: "^deal\\..+$": title: Deal relationship description: Filter parameters for deal sections. properties: budget_id: "$ref": "#/components/schemas/_filter_service_ids_nullable" deal_id: "$ref": "#/components/schemas/_filter_service_ids_nullable" id: "$ref": "#/components/schemas/_filter_id" name: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String description: Filter by section name (text search). example: eq: value example: id: eq: '123' filter_service_assignment: type: object title: Filter service assignment description: Filter parameters for querying service assignments. properties: id: "$ref": "#/components/schemas/_filter_id" person_id: "$ref": "#/components/schemas/_filter_id" service_id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_service_report: type: object allOf: - "$ref": "#/components/schemas/filter_service" - type: object properties: formulas: "$ref": "#/components/schemas/resource_service_report/properties/formulas" budget_custom_fields: "$ref": "#/components/schemas/_filter_service_custom_fields" deal_custom_fields: "$ref": "#/components/schemas/_filter_service_custom_fields" recognized_revenue: "$ref": "#/components/schemas/_filter_service_number" invoiced: "$ref": "#/components/schemas/_filter_service_number" title: Filter service report description: Available filter parameters for querying aggregated service report data. example: id: eq: '123' filter_service_type: type: object title: Filter service type patternProperties: "^subsidiary\\..+$": title: Subsidiary relationship description: Filter parameters for querying service types. properties: id: "$ref": "#/components/schemas/_filter_id" name: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - "$ref": "#/components/schemas/_filter_service_blank" not_eq: anyOf: - type: string title: String - "$ref": "#/components/schemas/_filter_service_blank" gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: type: string not_contain: type: string - type: string title: String - "$ref": "#/components/schemas/_filter_service_blank" description: Filter by service type name (exact match). example: eq: value person_id: anyOf: - "$ref": "#/components/schemas/_filter_service_id_operand" - "$ref": "#/components/schemas/_filter_service_blank" description: Filter to service types assigned to the specified person. example: - 123 query: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - "$ref": "#/components/schemas/_filter_service_blank" not_eq: anyOf: - type: string title: String - "$ref": "#/components/schemas/_filter_service_blank" contains: type: string not_contain: type: string - type: string title: String - "$ref": "#/components/schemas/_filter_service_blank" description: Search service types by name (supports contains, exact, and exclusion operators). example: eq: value status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service_type/properties/status" not_eq: "$ref": "#/components/schemas/resource_service_type/properties/status" - "$ref": "#/components/schemas/resource_service_type/properties/status" description: Filter by status (active or archived). example: eq: active description: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - "$ref": "#/components/schemas/_filter_service_blank" not_eq: anyOf: - type: string title: String - "$ref": "#/components/schemas/_filter_service_blank" gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string contains: type: string not_contain: type: string - type: string title: String - "$ref": "#/components/schemas/_filter_service_blank" subsidiary_id: "$ref": "#/components/schemas/_filter_service_ids_nullable" example: id: eq: '123' filter_service_type_assignment: type: object title: Filter service type assignment description: Filter parameters for querying service type assignments. properties: id: "$ref": "#/components/schemas/_filter_id" person_id: "$ref": "#/components/schemas/_filter_id" service_type_id: "$ref": "#/components/schemas/_filter_id" example: id: eq: '123' filter_session: type: object title: Filter session description: Filter parameters for OAuth sessions. properties: creator_id: "$ref": "#/components/schemas/_filter_id" machine: "$ref": "#/components/schemas/_filter_boolean" read_only: "$ref": "#/components/schemas/_filter_boolean" example: id: eq: '123' filter_skill: type: object title: Filter skill properties: auto_load: "$ref": "#/components/schemas/_filter_boolean" created_at: "$ref": "#/components/schemas/_filter_date" creator_id: "$ref": "#/components/schemas/_filter_id" id: "$ref": "#/components/schemas/_filter_id" name: "$ref": "#/components/schemas/_filter_string" query: anyOf: - type: object title: Operation properties: eq: type: string not_eq: type: string contains: type: string not_contain: type: string - type: string title: String shared_with_agent_id: "$ref": "#/components/schemas/_filter_id" filter_subsidiary: type: object title: Filter subsidiary description: Filter parameters for listing subsidiaries (legal entities). Supports filtering by name, archived status, and subsidiary ID. Standard string and ID operators apply. properties: id: "$ref": "#/components/schemas/_filter_id" status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_subsidiary_filter_status" - "$ref": "#/components/schemas/_subsidiary_filter_status" description: Filter by status (active or archived). example: eq: active name: "$ref": "#/components/schemas/_filter_string" example: id: eq: '123' filter_survey: type: object title: Filter survey 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. properties: created_at: "$ref": "#/components/schemas/_filter_date" creator_id: "$ref": "#/components/schemas/_filter_ids_array" editable: "$ref": "#/components/schemas/_filter_boolean" id: "$ref": "#/components/schemas/_filter_ids_array" project_id: "$ref": "#/components/schemas/_filter_ids_array" query: "$ref": "#/components/schemas/_filter_query" title: "$ref": "#/components/schemas/_filter_string" example: id: eq: '123' filter_survey_field: type: object title: Filter survey field description: Filter parameters for listing survey fields. Supports filtering by survey. Standard ID operators apply. properties: archived: "$ref": "#/components/schemas/_filter_boolean" global: "$ref": "#/components/schemas/_filter_boolean" name: "$ref": "#/components/schemas/_filter_string" origin_field_id: "$ref": "#/components/schemas/_filter_ids_array" project_id: "$ref": "#/components/schemas/_filter_ids_array" show_in_add_edit_views: "$ref": "#/components/schemas/_filter_boolean" survey_id: "$ref": "#/components/schemas/_filter_ids_array" example: id: eq: '123' filter_survey_field_option: type: object title: Filter survey field option description: Filter parameters for survey field options. properties: archived: "$ref": "#/components/schemas/_filter_boolean" custom_field_id: "$ref": "#/components/schemas/_filter_ids_array" survey_field_id: "$ref": "#/components/schemas/_filter_ids_array" example: id: eq: '123' filter_survey_report: type: object title: Filter survey report patternProperties: "^creator..*$": title: Creator relationship "^project..*$": title: Project relationship description: Available filter parameters for querying aggregated survey report data. properties: created_at: "$ref": "#/components/schemas/_filter_date" creator_id: "$ref": "#/components/schemas/_filter_ids_array" editable: "$ref": "#/components/schemas/_filter_boolean" id: "$ref": "#/components/schemas/_filter_ids_array" project_id: "$ref": "#/components/schemas/_filter_ids_array" query: "$ref": "#/components/schemas/_filter_query" title: "$ref": "#/components/schemas/_filter_string" example: id: eq: '123' filter_survey_response: type: object title: Filter survey response patternProperties: "^survey..*$": title: Survey relationship "^creator..*$": title: Creator relationship description: Filter parameters for listing survey responses. Supports filtering by survey. Standard ID operators apply. properties: created_at: "$ref": "#/components/schemas/_filter_date" creator_id: "$ref": "#/components/schemas/_filter_ids_array" custom_fields: "$ref": "#/components/schemas/_filter_custom_fields" id: "$ref": "#/components/schemas/_filter_ids_array" survey_id: "$ref": "#/components/schemas/_filter_ids_array" example: id: eq: '123' filter_tag: type: object title: Filter tag description: Filter parameters for tags. properties: company_id: "$ref": "#/components/schemas/_filter_id_eq" deal_id: "$ref": "#/components/schemas/_filter_id_eq" invoice_id: "$ref": "#/components/schemas/_filter_id_eq" name: "$ref": "#/components/schemas/_filter_query" person_id: "$ref": "#/components/schemas/_filter_id_eq" project_id: "$ref": "#/components/schemas/_filter_id_eq" taggable_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/_tag_taggable_type" not_eq: "$ref": "#/components/schemas/_tag_taggable_type" - "$ref": "#/components/schemas/_tag_taggable_type" description: Filter by the type of resource the tag is applied to (e.g. deal, task, person). example: eq: active task_id: "$ref": "#/components/schemas/_filter_id_eq" example: id: eq: '123' filter_task_dependency: type: object title: Filter task dependency description: Filter parameters for listing task dependencies. Supports filtering by task, dependent task, and dependency type (blocking, waiting_on, linked). Standard ID operators apply. properties: created_at: "$ref": "#/components/schemas/_filter_date" creator_id: "$ref": "#/components/schemas/_filter_ids_array" deleted_at: "$ref": "#/components/schemas/_filter_date" dependent_task_id: "$ref": "#/components/schemas/_filter_ids_array" id: "$ref": "#/components/schemas/_filter_ids_array" project_id: "$ref": "#/components/schemas/_filter_id_eq" task_id: "$ref": "#/components/schemas/_filter_ids_array" type_id: "$ref": "#/components/schemas/_filter_ids_array" updated_at: "$ref": "#/components/schemas/_filter_date" updater_id: "$ref": "#/components/schemas/_filter_ids_array" example: id: eq: '123' filter_task_report: type: object allOf: - "$ref": "#/components/schemas/filter_task" - type: object properties: formulas: "$ref": "#/components/schemas/_filter_booking_formulas" title: Filter task report description: Available filter parameters for querying aggregated task report data. example: id: eq: '123' filter_tax_rate: type: object title: Filter tax rate description: Filter parameters for tax rates. properties: id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_tax_rate/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_tax_rate/properties/id" title: List gt: "$ref": "#/components/schemas/resource_tax_rate/properties/id" lt: "$ref": "#/components/schemas/resource_tax_rate/properties/id" gt_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/id" lt_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_tax_rate/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_tax_rate/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_tax_rate/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_tax_rate/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_tax_rate/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_tax_rate/properties/id" title: List description: Filter by ID. example: eq: - 456789 name: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_tax_rate/properties/name" not_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/name" gt: "$ref": "#/components/schemas/resource_tax_rate/properties/name" lt: "$ref": "#/components/schemas/resource_tax_rate/properties/name" gt_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/name" lt_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/name" contains: "$ref": "#/components/schemas/resource_tax_rate/properties/name" not_contain: "$ref": "#/components/schemas/resource_tax_rate/properties/name" - "$ref": "#/components/schemas/resource_tax_rate/properties/name" description: Filter by tax rate name (text search). example: eq: HST 13% primary_component_name: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" not_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" gt: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" lt: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" gt_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" lt_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" contains: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" not_contain: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" - "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" description: Filter by the name of the primary tax component. example: eq: GST primary_component_value: anyOf: - 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" gt: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_value" lt: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_value" gt_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_value" lt_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_value" - "$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: anyOf: - 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" gt: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_name" lt: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_name" gt_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_name" lt_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_name" contains: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_name" not_contain: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_name" - "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_name" description: Filter by the name of the secondary tax component. example: eq: PST secondary_component_value: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_value" not_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_value" gt: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_value" lt: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_value" gt_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_value" lt_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_value" - "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_value" description: Filter by the value of the secondary tax component. example: eq: 8 status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_tax_rate/properties/status" not_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/status" - "$ref": "#/components/schemas/resource_tax_rate/properties/status" description: Filter by status (active or archived). example: eq: - 1 example: id: eq: - 456789 filter_team: type: object title: Filter team patternProperties: "^subsidiary\\..+$": title: Subsidiary relationship description: Filter parameters for listing teams. Supports filtering by name and membership. Standard string and ID operators apply. properties: color_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by team color ID. example: - 123 id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by ID. example: - 123 name: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_team/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_team/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_team/properties/name" lt: "$ref": "#/components/schemas/resource_team/properties/name" gt_eq: "$ref": "#/components/schemas/resource_team/properties/name" lt_eq: "$ref": "#/components/schemas/resource_team/properties/name" contains: "$ref": "#/components/schemas/resource_team/properties/name" not_contain: "$ref": "#/components/schemas/resource_team/properties/name" - "$ref": "#/components/schemas/resource_team/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by team name (text search). example: eq: value query: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_team/properties/query" not_eq: "$ref": "#/components/schemas/resource_team/properties/query" contains: "$ref": "#/components/schemas/resource_team/properties/query" not_contain: "$ref": "#/components/schemas/resource_team/properties/query" - "$ref": "#/components/schemas/resource_team/properties/query" description: Filter by team name (text search). example: eq: value subsidiary_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 example: id: eq: '123' filter_team_membership: type: object title: Filter team membership patternProperties: {} description: Filter parameters for listing team memberships. Supports filtering by team and person. Standard ID operators apply. properties: active: anyOf: - type: object title: Operation properties: eq: type: boolean not_eq: type: boolean - type: boolean title: Boolean description: Filter to include only memberships with an active person (not deactivated). example: true id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by ID. example: - 123 person_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the associated person. example: - 123 team_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the associated team. example: - 123 example: id: eq: '123' filter_template: type: object title: Filter template patternProperties: {} description: Filterable fields for the templates collection. Each property supports operator-keyed lookups (`eq`, `not_eq`, `contains`, `not_contain`) and a bare value form. properties: id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Numeric identifier of the template. example: eq: - '18' - '19' project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Project identifier — filterable to scope templates to a specific project context. example: eq: - 271026 query: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_template/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_template/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 contains: "$ref": "#/components/schemas/resource_template/properties/query" not_contain: "$ref": "#/components/schemas/resource_template/properties/query" - "$ref": "#/components/schemas/resource_template/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 description: Free-text query — matches against the wrapped target name. example: contains: offboarding target_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Id of the wrapped target. example: eq: - 258974 target_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_template/properties/target_type" not_eq: "$ref": "#/components/schemas/resource_template/properties/target_type" - "$ref": "#/components/schemas/resource_template/properties/target_type" description: Identifies which entity type the template wraps. On create, selects the per-target `model_attributes` shape. `task` is read-only. example: eq: project task_project_id: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter-only field — limits task templates (`target_type=task`) to those whose underlying task belongs to the given project. example: eq: - 271026 example: target_type: eq: project query: contains: offboarding filter_time_entry: type: object title: Filter time entry 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 "^person_manager\\..+$": title: Person manager relationship "^designated_approver\\..+$": title: Designated approver relationship description: Available filter parameters for querying time entries. properties: after: "$ref": "#/components/schemas/_filter_date" approval_policy_id: "$ref": "#/components/schemas/_filter_id_eq" approved_at: "$ref": "#/components/schemas/_filter_time_entry_date_blank" approver_id: "$ref": "#/components/schemas/_filter_id" assigned_approver_id: "$ref": "#/components/schemas/_filter_id" autotracked: "$ref": "#/components/schemas/_filter_boolean" awaiting_approval_from_approver_id: "$ref": "#/components/schemas/_filter_id" base_cost: "$ref": "#/components/schemas/_filter_number" before: "$ref": "#/components/schemas/_filter_date" billable: "$ref": "#/components/schemas/_filter_boolean" billable_time: "$ref": "#/components/schemas/_filter_time_entry_integer" billing_type_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" title: List gt: "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" lt: "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" gt_eq: "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" lt_eq: "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" contains: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" title: List any_of: type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" none_of: type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" - "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/billing_type_id" title: List description: Filter by billing type ID of the associated service. example: - 123 booking_id: "$ref": "#/components/schemas/_filter_id" budget_id: "$ref": "#/components/schemas/_filter_id" budget_type_id: "$ref": "#/components/schemas/_filter_id" company_id: "$ref": "#/components/schemas/_filter_id" cost: "$ref": "#/components/schemas/_filter_number" created_after: "$ref": "#/components/schemas/_filter_date" created_at: "$ref": "#/components/schemas/_filter_date" created_before: "$ref": "#/components/schemas/_filter_date" creator_id: "$ref": "#/components/schemas/_filter_id" date: "$ref": "#/components/schemas/_filter_date" deal_id: "$ref": "#/components/schemas/_filter_id" deal_subsidiary_id: "$ref": "#/components/schemas/_filter_time_entry_id_blank" ended_at: "$ref": "#/components/schemas/_filter_time_entry_date_blank" facility_overhead_cost: "$ref": "#/components/schemas/_filter_number" id: "$ref": "#/components/schemas/_filter_id" intercompany_hours: "$ref": "#/components/schemas/_filter_boolean" internal_overhead_cost: "$ref": "#/components/schemas/_filter_number" invoice_attribution_id: "$ref": "#/components/schemas/_filter_id" invoice_id: "$ref": "#/components/schemas/_filter_id" invoiced: "$ref": "#/components/schemas/_filter_boolean" invoicing_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry/properties/invoicing_status" not_eq: "$ref": "#/components/schemas/resource_time_entry/properties/invoicing_status" gt: "$ref": "#/components/schemas/resource_time_entry/properties/invoicing_status" lt: "$ref": "#/components/schemas/resource_time_entry/properties/invoicing_status" gt_eq: "$ref": "#/components/schemas/resource_time_entry/properties/invoicing_status" lt_eq: "$ref": "#/components/schemas/resource_time_entry/properties/invoicing_status" - "$ref": "#/components/schemas/resource_time_entry/properties/invoicing_status" description: Filter by the invoicing status of the time entry. example: eq: active jira_issue_id: "$ref": "#/components/schemas/_filter_time_entry_string_blank" jira_issue_status: "$ref": "#/components/schemas/_filter_time_entry_string_blank" jira_issue_summary: "$ref": "#/components/schemas/_filter_time_entry_string_blank" jira_worklog_id: "$ref": "#/components/schemas/_filter_time_entry_string_list" last_activity_at: "$ref": "#/components/schemas/_filter_date" last_actor_id: "$ref": "#/components/schemas/_filter_id" note: "$ref": "#/components/schemas/_filter_time_entry_string_blank" overhead: "$ref": "#/components/schemas/_filter_boolean" overhead_cost: "$ref": "#/components/schemas/_filter_number" people_custom_fields: "$ref": "#/components/schemas/_filter_custom_fields" person_id: "$ref": "#/components/schemas/_filter_id" person_subsidiary_id: "$ref": "#/components/schemas/_filter_time_entry_id_blank" person_tags: "$ref": "#/components/schemas/_filter_time_entry_string_blank" project_id: "$ref": "#/components/schemas/_filter_time_entry_id_blank" project_manager_id: "$ref": "#/components/schemas/_filter_id" project_type_id: "$ref": "#/components/schemas/_filter_id" query: "$ref": "#/components/schemas/_filter_time_entry_string_blank" responsible_id: "$ref": "#/components/schemas/_filter_id" role_id: "$ref": "#/components/schemas/_filter_id" section_name: "$ref": "#/components/schemas/_filter_time_entry_string_blank" service_id: "$ref": "#/components/schemas/_filter_id" service_type_id: "$ref": "#/components/schemas/_filter_time_entry_id_blank" stage_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry/properties/stage_type" not_eq: "$ref": "#/components/schemas/resource_time_entry/properties/stage_type" gt: "$ref": "#/components/schemas/resource_time_entry/properties/stage_type" lt: "$ref": "#/components/schemas/resource_time_entry/properties/stage_type" gt_eq: "$ref": "#/components/schemas/resource_time_entry/properties/stage_type" lt_eq: "$ref": "#/components/schemas/resource_time_entry/properties/stage_type" - "$ref": "#/components/schemas/resource_time_entry/properties/stage_type" description: Filter by stage type. example: eq: active started_after: "$ref": "#/components/schemas/_filter_date" started_at: "$ref": "#/components/schemas/_filter_time_entry_date_blank" started_before: "$ref": "#/components/schemas/_filter_date" status: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/status" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/status" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/status" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/status" title: List - "$ref": "#/components/schemas/resource_time_entry/properties/status" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/status" title: List description: Filter by the approval status of the time entry. example: eq: active task_id: "$ref": "#/components/schemas/_filter_time_entry_id_blank" task_list_id: "$ref": "#/components/schemas/_filter_time_entry_id_eq_blank" time: "$ref": "#/components/schemas/_filter_time_entry_integer" track_method_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" title: List gt: "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" lt: "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" gt_eq: "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" lt_eq: "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" contains: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" title: List any_of: type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" none_of: type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" - "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/track_method_id" title: List description: Filter by how the time was recorded (manual, timer, mixed). example: - 123 unit_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" title: List gt: "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" lt: "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" gt_eq: "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" lt_eq: "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" contains: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" title: List any_of: type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" none_of: type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" - "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" - type: array items: "$ref": "#/components/schemas/resource_time_entry/properties/unit_id" title: List description: Filter by unit id. example: - 123 updated_at: "$ref": "#/components/schemas/_filter_date" designated_approver_id: "$ref": "#/components/schemas/_filter_id_eq" parent_company_id: "$ref": "#/components/schemas/_filter_time_entry_id_eq_blank" person_manager_id: "$ref": "#/components/schemas/_filter_id" approved_by_actual_approver_id: "$ref": "#/components/schemas/_filter_id" approved_for_assigned_approver_id: "$ref": "#/components/schemas/_filter_id" calendar_event_recurring_id: "$ref": "#/components/schemas/_filter_time_entry_recurring_series_id" only_draft: "$ref": "#/components/schemas/_filter_boolean" only_latest_per_recurring_series: "$ref": "#/components/schemas/_filter_boolean" overtime: "$ref": "#/components/schemas/_filter_boolean" overtime_cost_multiplier: "$ref": "#/components/schemas/_filter_number" with_draft: "$ref": "#/components/schemas/_filter_boolean" example: date: gte: '2026-01-01' person_id: - 12 filter_time_entry_report: type: object allOf: - "$ref": "#/components/schemas/filter_time_entry" - type: object properties: billable_approved_time: "$ref": "#/components/schemas/_filter_time_entry_integer" formulas: "$ref": "#/components/schemas/_filter_booking_formulas" title: Filter time entry report description: Available filter parameters for querying aggregated time entry report data. example: id: eq: '123' filter_time_entry_version: type: object title: Filter time entry version 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. properties: created_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date description: Filter by the version creation date range. example: gt: '2026-01-01' creator_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the person who made the change. example: - 123 event: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/event" not_eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/event" gt: "$ref": "#/components/schemas/resource_time_entry_version/properties/event" lt: "$ref": "#/components/schemas/resource_time_entry_version/properties/event" gt_eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/event" lt_eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/event" contains: "$ref": "#/components/schemas/resource_time_entry_version/properties/event" not_contain: "$ref": "#/components/schemas/resource_time_entry_version/properties/event" - "$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 id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by time entry version ID. example: - 123 time_entry_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the associated time entry. example: - 123 date: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/date" not_eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/date" gt: "$ref": "#/components/schemas/resource_time_entry_version/properties/date" lt: "$ref": "#/components/schemas/resource_time_entry_version/properties/date" gt_eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/date" lt_eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/date" - "$ref": "#/components/schemas/resource_time_entry_version/properties/date" deal_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List person_id: anyOf: - type: object title: Operation properties: contains: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List service_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List example: id: eq: '123' filter_time_tracking_policy: type: object title: Filter time tracking policy patternProperties: {} description: Filter parameters for listing time tracking policy resources, which define rules governing how time entries are tracked for people. properties: id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by time tracking policy ID. example: - 123 name: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/name" not_eq: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/name" gt: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/name" lt: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/name" gt_eq: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/name" lt_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" - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/name" description: Filter by policy name. example: eq: value person_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the people assigned to the policy. example: - 123 status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/status" not_eq: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/status" - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/status" description: Filter time tracking policies by archival status; active (1) or archived (2). example: eq: active example: id: eq: '123' filter_timer: type: object title: Filter timer patternProperties: {} description: Filter parameters for listing timer resources, which represent live running timers for active time tracking. properties: person_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the associated person. example: - 123 started_at: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the date the timer was started. example: gt: '2026-01-01' stopped_at: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the date the timer was stopped. example: gt: '2026-01-01' time_entry_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the associated time entry. example: - 123 example: id: eq: '123' filter_timesheet: type: object title: Filter timesheet 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. properties: creator_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the person who created the timesheet. example: - 123 date: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_timesheet/properties/date" not_eq: "$ref": "#/components/schemas/resource_timesheet/properties/date" gt: "$ref": "#/components/schemas/resource_timesheet/properties/date" lt: "$ref": "#/components/schemas/resource_timesheet/properties/date" gt_eq: "$ref": "#/components/schemas/resource_timesheet/properties/date" lt_eq: "$ref": "#/components/schemas/resource_timesheet/properties/date" - "$ref": "#/components/schemas/resource_timesheet/properties/date" description: Filter by the timesheet date. example: gt: '2026-01-01' person_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the associated person. example: - 123 example: id: eq: '123' filter_timesheet_report: type: object title: Filter timesheet report patternProperties: "^person\\..+$": title: Person relationship "^time_entry\\..+$": title: Time entry relationship description: Available filter parameters for querying aggregated timesheet report data. properties: tags: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings any_of: type: array items: type: string none_of: type: array items: type: string - type: string title: String - type: array items: type: string title: List of strings description: Filter timesheet report results by tags. example: eq: value after: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_timesheet_report/properties/after" not_eq: "$ref": "#/components/schemas/resource_timesheet_report/properties/after" gt: "$ref": "#/components/schemas/resource_timesheet_report/properties/after" lt: "$ref": "#/components/schemas/resource_timesheet_report/properties/after" gt_eq: "$ref": "#/components/schemas/resource_timesheet_report/properties/after" lt_eq: "$ref": "#/components/schemas/resource_timesheet_report/properties/after" - "$ref": "#/components/schemas/resource_timesheet_report/properties/after" description: Filter timesheet report results by after. example: eq: value before: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_timesheet_report/properties/before" not_eq: "$ref": "#/components/schemas/resource_timesheet_report/properties/before" gt: "$ref": "#/components/schemas/resource_timesheet_report/properties/before" lt: "$ref": "#/components/schemas/resource_timesheet_report/properties/before" gt_eq: "$ref": "#/components/schemas/resource_timesheet_report/properties/before" lt_eq: "$ref": "#/components/schemas/resource_timesheet_report/properties/before" - "$ref": "#/components/schemas/resource_timesheet_report/properties/before" description: Filter timesheet report results by before. example: eq: value people_custom_fields: type: object additionalProperties: anyOf: - type: object title: Operation properties: eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings gt: type: string lt: type: string gt_eq: type: string lt_eq: type: string any_of: type: array items: type: string not_eq: anyOf: - type: string title: String - type: array items: type: string title: List of strings none_of: type: array items: type: string contains: anyOf: - type: string title: String - type: array items: type: string title: List of strings not_contain: anyOf: - type: string title: String - type: array items: type: string title: List of strings - type: string title: String description: Filter timesheet report results by people custom fields. example: eq: value person_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter timesheet report results by person id. example: - 123 person_status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_timesheet_report/properties/person_status" not_eq: "$ref": "#/components/schemas/resource_timesheet_report/properties/person_status" - "$ref": "#/components/schemas/resource_timesheet_report/properties/person_status" description: Filter timesheet report results by person status. example: eq: active query: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_timesheet_report/properties/query" not_eq: "$ref": "#/components/schemas/resource_timesheet_report/properties/query" contains: "$ref": "#/components/schemas/resource_timesheet_report/properties/query" not_contain: "$ref": "#/components/schemas/resource_timesheet_report/properties/query" - "$ref": "#/components/schemas/resource_timesheet_report/properties/query" description: Filter timesheet report results by query. example: eq: value week_submission_status: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/week_submission_status" - type: array items: "$ref": "#/components/schemas/resource_timesheet_report/properties/week_submission_status" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_timesheet_report/properties/week_submission_status" - type: array items: "$ref": "#/components/schemas/resource_timesheet_report/properties/week_submission_status" title: List any_of: type: array items: "$ref": "#/components/schemas/resource_timesheet_report/properties/week_submission_status" none_of: type: array items: "$ref": "#/components/schemas/resource_timesheet_report/properties/week_submission_status" - "$ref": "#/components/schemas/resource_timesheet_report/properties/week_submission_status" - type: array items: "$ref": "#/components/schemas/resource_timesheet_report/properties/week_submission_status" title: List description: Filter timesheet report results by week submission status. example: eq: active example: id: eq: '123' filter_todo: type: object title: Filter todo 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. properties: assignee_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the assigned person. example: - 123 deal_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the associated deal. example: - 123 due_date: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_todo/properties/due_date" not_eq: "$ref": "#/components/schemas/resource_todo/properties/due_date" gt: "$ref": "#/components/schemas/resource_todo/properties/due_date" lt: "$ref": "#/components/schemas/resource_todo/properties/due_date" gt_eq: "$ref": "#/components/schemas/resource_todo/properties/due_date" lt_eq: "$ref": "#/components/schemas/resource_todo/properties/due_date" - "$ref": "#/components/schemas/resource_todo/properties/due_date" description: Filter by due date range. example: gt: '2026-01-01' id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by todo ID. example: - 123 status: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_todo/properties/status" not_eq: "$ref": "#/components/schemas/resource_todo/properties/status" - "$ref": "#/components/schemas/resource_todo/properties/status" description: Filter by completion status (open or closed). example: eq: active task_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: Filter by the associated task. example: - 123 todoable_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_todo/properties/todoable_type" not_eq: "$ref": "#/components/schemas/resource_todo/properties/todoable_type" - "$ref": "#/components/schemas/resource_todo/properties/todoable_type" description: Filter by the type of parent resource the todo belongs to (task or deal). example: eq: active example: task_id: - 54321 filter_webhook: type: object title: Filter webhook description: Filter parameters for listing webhook resources, which send HTTP notifications to external URLs when resource events occur. properties: event_id: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_webhook/properties/event_id" not_eq: "$ref": "#/components/schemas/resource_webhook/properties/event_id" gt: "$ref": "#/components/schemas/resource_webhook/properties/event_id" lt: "$ref": "#/components/schemas/resource_webhook/properties/event_id" gt_eq: "$ref": "#/components/schemas/resource_webhook/properties/event_id" lt_eq: "$ref": "#/components/schemas/resource_webhook/properties/event_id" - "$ref": "#/components/schemas/resource_webhook/properties/event_id" description: Filter by the subscribed event type (e.g. new task, updated invoice). example: - 123 id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_webhook/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_webhook/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook/properties/id" title: List gt: "$ref": "#/components/schemas/resource_webhook/properties/id" lt: "$ref": "#/components/schemas/resource_webhook/properties/id" gt_eq: "$ref": "#/components/schemas/resource_webhook/properties/id" lt_eq: "$ref": "#/components/schemas/resource_webhook/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_webhook/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_webhook/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_webhook/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_webhook/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_webhook/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook/properties/id" title: List description: Filter by webhook ID. example: - 123 state_id: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_webhook/properties/state_id" not_eq: "$ref": "#/components/schemas/resource_webhook/properties/state_id" gt: "$ref": "#/components/schemas/resource_webhook/properties/state_id" lt: "$ref": "#/components/schemas/resource_webhook/properties/state_id" gt_eq: "$ref": "#/components/schemas/resource_webhook/properties/state_id" lt_eq: "$ref": "#/components/schemas/resource_webhook/properties/state_id" - "$ref": "#/components/schemas/resource_webhook/properties/state_id" description: Filter by webhook delivery state (working, issues, or waiting). example: - 123 type_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_webhook/properties/type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook/properties/type_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_webhook/properties/type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook/properties/type_id" title: List gt: "$ref": "#/components/schemas/resource_webhook/properties/type_id" lt: "$ref": "#/components/schemas/resource_webhook/properties/type_id" gt_eq: "$ref": "#/components/schemas/resource_webhook/properties/type_id" lt_eq: "$ref": "#/components/schemas/resource_webhook/properties/type_id" contains: anyOf: - "$ref": "#/components/schemas/resource_webhook/properties/type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook/properties/type_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_webhook/properties/type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook/properties/type_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_webhook/properties/type_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_webhook/properties/type_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_webhook/properties/type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook/properties/type_id" title: List description: Filter by webhook type (webhook or Zapier). example: - 123 example: id: eq: '123' filter_webhook_log: type: object title: Filter webhook log description: Filter parameters for listing webhook log resources, which record individual delivery attempts for webhooks. properties: after: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_webhook_log/properties/after" not_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/after" gt: "$ref": "#/components/schemas/resource_webhook_log/properties/after" lt: "$ref": "#/components/schemas/resource_webhook_log/properties/after" gt_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/after" lt_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/after" - "$ref": "#/components/schemas/resource_webhook_log/properties/after" description: Filter by after. example: eq: value before: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_webhook_log/properties/before" not_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/before" gt: "$ref": "#/components/schemas/resource_webhook_log/properties/before" lt: "$ref": "#/components/schemas/resource_webhook_log/properties/before" gt_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/before" lt_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/before" - "$ref": "#/components/schemas/resource_webhook_log/properties/before" description: Filter by before. example: eq: value id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_webhook_log/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook_log/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_webhook_log/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook_log/properties/id" title: List gt: "$ref": "#/components/schemas/resource_webhook_log/properties/id" lt: "$ref": "#/components/schemas/resource_webhook_log/properties/id" gt_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/id" lt_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_webhook_log/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook_log/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_webhook_log/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook_log/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_webhook_log/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_webhook_log/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_webhook_log/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook_log/properties/id" title: List description: Filter by webhook log ID. example: - 123 retry_attempt: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_attempt" not_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_attempt" gt: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_attempt" lt: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_attempt" gt_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_attempt" lt_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_attempt" - "$ref": "#/components/schemas/resource_webhook_log/properties/retry_attempt" description: Filter by the retry attempt number for failed deliveries. example: gt: '2026-01-01' retry_job_id: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_job_id" not_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_job_id" gt: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_job_id" lt: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_job_id" gt_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_job_id" lt_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_job_id" contains: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_job_id" not_contain: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_job_id" - "$ref": "#/components/schemas/resource_webhook_log/properties/retry_job_id" description: Filter by the background job ID used for scheduling the retry delivery. example: - 123 webhook_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" title: List gt: "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" lt: "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" gt_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" lt_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" contains: anyOf: - "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" title: List description: Filter by the associated webhook. example: - 123 created_at: anyOf: - type: object title: Operation properties: eq: type: string format: date not_eq: type: string format: date gt: type: string format: date lt: type: string format: date gt_eq: type: string format: date lt_eq: type: string format: date - type: string title: Date format: date example: id: eq: '123' filter_widget: type: object title: Filter widget description: Filter parameters for listing widget resources, which are configurable data panels displayed on dashboards. properties: dashboard_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" title: List gt: "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" lt: "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" gt_eq: "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" lt_eq: "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" contains: anyOf: - "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_widget/properties/dashboard_id" title: List description: Filter by the associated dashboard. example: - 123 example: id: eq: '123' filter_workflow: type: object title: Filter workflow description: Filter parameters for listing workflows. Supports filtering by name and archived status. Standard string operators apply. properties: archived: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_workflow/properties/archived" not_eq: "$ref": "#/components/schemas/resource_workflow/properties/archived" - "$ref": "#/components/schemas/resource_workflow/properties/archived" description: Filter to include only archived or non-archived workflows. example: true name: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_workflow/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_workflow/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_workflow/properties/name" lt: "$ref": "#/components/schemas/resource_workflow/properties/name" gt_eq: "$ref": "#/components/schemas/resource_workflow/properties/name" lt_eq: "$ref": "#/components/schemas/resource_workflow/properties/name" contains: "$ref": "#/components/schemas/resource_workflow/properties/name" not_contain: "$ref": "#/components/schemas/resource_workflow/properties/name" - "$ref": "#/components/schemas/resource_workflow/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by exact workflow name. example: eq: value query: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_workflow/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_workflow/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_workflow/properties/query" lt: "$ref": "#/components/schemas/resource_workflow/properties/query" gt_eq: "$ref": "#/components/schemas/resource_workflow/properties/query" lt_eq: "$ref": "#/components/schemas/resource_workflow/properties/query" contains: "$ref": "#/components/schemas/resource_workflow/properties/query" not_contain: "$ref": "#/components/schemas/resource_workflow/properties/query" - "$ref": "#/components/schemas/resource_workflow/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by workflow name using a partial text search. example: eq: value subsidiary_id: anyOf: - type: object title: Operation properties: eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers - type: string title: Blank (IS NULL) maxLength: 0 gt: type: integer lt: type: integer gt_eq: type: integer lt_eq: type: integer contains: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers not_contain: anyOf: - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers any_of: anyOf: - type: array items: type: integer title: List of integers - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: type: integer title: List of integers - "$ref": "#/components/schemas/_id_list" - type: integer title: Integer - "$ref": "#/components/schemas/_id_list" - type: array items: type: integer title: List of integers - type: string title: Blank (IS NULL) maxLength: 0 example: id: eq: '123' filter_workflow_status: type: object title: Filter workflow status description: Filter parameters for listing workflow statuses. Supports filtering by workflow, category (not_started, started, closed), and position. Standard ID operators apply. properties: category_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" title: List gt: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" lt: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" gt_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" lt_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" contains: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" title: List description: Filter by workflow status category (Not Started, Started, or Closed). example: - 123 id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/id" title: List gt: "$ref": "#/components/schemas/resource_workflow_status/properties/id" lt: "$ref": "#/components/schemas/resource_workflow_status/properties/id" gt_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/id" lt_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_workflow_status/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/id" title: List description: Filter by workflow status ID. example: - 123 name: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_workflow_status/properties/name" lt: "$ref": "#/components/schemas/resource_workflow_status/properties/name" gt_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/name" lt_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/name" contains: "$ref": "#/components/schemas/resource_workflow_status/properties/name" not_contain: "$ref": "#/components/schemas/resource_workflow_status/properties/name" - "$ref": "#/components/schemas/resource_workflow_status/properties/name" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by exact workflow status name. example: eq: value query: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 not_eq: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 gt: "$ref": "#/components/schemas/resource_workflow_status/properties/query" lt: "$ref": "#/components/schemas/resource_workflow_status/properties/query" gt_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/query" lt_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/query" contains: "$ref": "#/components/schemas/resource_workflow_status/properties/query" not_contain: "$ref": "#/components/schemas/resource_workflow_status/properties/query" - "$ref": "#/components/schemas/resource_workflow_status/properties/query" - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by workflow status name using a partial text search. example: eq: value workflow_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" title: List gt: "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" lt: "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" gt_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" lt_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" contains: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" title: List description: Filter by the associated workflow. example: - 123 project_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/project_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/project_id" title: List - "$ref": "#/components/schemas/resource_workflow_status/properties/project_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_workflow_status/properties/project_id" title: List example: workflow_id: - 75 filter_workload_item: type: object title: Filter workload item patternProperties: "^task\\..+$": title: Task relationship properties: date: "$ref": "#/components/schemas/_filter_date" end_date: "$ref": "#/components/schemas/_filter_date" people_ids: "$ref": "#/components/schemas/_filter_id" person_id: "$ref": "#/components/schemas/_filter_id" start_date: "$ref": "#/components/schemas/_filter_date" task_id: "$ref": "#/components/schemas/_filter_id" resource_approval_workflow: type: object title: Approval workflow Resource description: An approval workflow defines the approvers and subscribers for a specific approval target type within an approval policy. properties: approval_policy: title: Approval Policy description: The approval policy this workflow belongs to. example: eq: value 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 approver_ids: title: Approver Ids description: Array of IDs of people explicitly assigned as approvers in this workflow. example: - 123 - 456 approvers: title: Approvers description: The people assigned as approvers in this workflow. example: eq: value dynamic_approver_ids: type: array items: enum: - '1' - '2' - '3' - '4' type: string title: Dynamic Approver Ids description: Array of IDs of roles or rule-based approvers dynamically resolved at approval time. example: - 123 - 456 dynamic_subscriber_ids: type: array items: enum: - '1' - '2' - '3' - '4' type: string title: Dynamic Subscriber Ids description: Array of IDs of roles or rule-based subscribers dynamically resolved at approval time. example: - 123 - 456 event: title: Event description: The absence category (event) this workflow applies to, if the target type is absence. 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 id: type: integer title: Id description: Unique identifier for the approval workflow. example: - 123 organization: title: Organization description: The organization this approval workflow belongs to. example: eq: value subscriber_ids: title: Subscriber Ids description: Array of IDs of people subscribed to receive notifications about approval decisions. example: - 123 - 456 subscribers: title: Subscribers description: The people subscribed to receive notifications about approval decisions. example: eq: value 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 approver_custom_field_ids: type: array items: type: string description: ID of a person custom field on the budget or deal. example: '4521' title: Approver Custom Field Ids description: IDs of person custom fields on the budget or deal whose selected person is an approver in time and expense workflows. When the field is empty or that person can't view the entry, the budget owner approves instead. example: - '4521' approver_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Approver subscriber_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Subscriber 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_balancing_hour_report: type: object title: Balancing hour report Resource properties: capacity: anyOf: - type: string title: String - type: integer title: Integer title: Capacity count: type: integer title: Count date: type: string title: Date format: date formula_fields: title: Formula Fields group: type: string title: Group hours_over_availability: anyOf: - type: string title: String - type: integer title: Integer title: Hours Over Availability hours_over_capacity: anyOf: - type: string title: String - type: integer title: Integer title: Hours Over Capacity hours_under_availability: anyOf: - type: string title: String - type: integer title: Integer title: Hours Under Availability hours_under_capacity: anyOf: - type: string title: String - type: integer title: Integer title: Hours Under Capacity id: type: string title: Id organization: title: Organization overtime_hours: anyOf: - type: string title: String - type: integer title: Integer title: Overtime Hours paid_time_off: anyOf: - type: string title: String - type: integer title: Integer title: Paid Time Off person: title: Person person_id: type: integer title: Person report: title: Report undertime_hours: anyOf: - type: string title: String - type: integer title: Integer title: Undertime Hours worked_hours: anyOf: - type: string title: String - type: integer title: Integer title: Worked Hours resource_email_thread: type: object title: Email thread Resource properties: created_at: type: string title: Created At format: date-time emails: title: Emails external_id: type: string title: External folder_id: type: string title: Folder has_attachments: type: boolean title: Has Attachments integration: title: Integration integration_id: type: integer title: Integration linked_id: type: string title: Linked linked_type: type: string title: Linked Type participants: type: array items: type: object title: Participants query: type: string title: Query received_at: type: string title: Received At format: date-time subject: type: string title: Subject unread: type: boolean title: Unread updated_at: type: string title: Updated At format: date-time resource_payment: type: object title: Payment Resource description: A payment record representing an amount received against an invoice, internally referred to as an InvoicePayment. properties: amount: type: integer title: Amount description: The payment amount in the invoice's currency. example: 200000 amount_default: title: Amount Default description: The payment amount converted to the organization's default currency. example: 232000 amount_normalized: title: Amount Normalized description: The payment amount converted to the normalized (reporting) currency. example: 200000 budget_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Budget description: ID of the budget (deal) associated with the invoice this payment was applied to. example: 456789 company_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Company description: ID of the company (client) on the invoice this payment was applied to. example: 234567 currency: title: Currency description: The currency of this payment, inherited from the associated invoice. example: GBP currency_default: title: Currency Default description: The organization's default currency for this payment. example: EUR currency_normalized: title: Currency Normalized description: The normalized (reporting) currency for this payment. example: GBP date: title: Date description: Date when the payment was recorded. example: '2026-03-15' 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 id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Id description: Unique identifier of this payment. example: 345678 invoice: title: Invoice description: The invoice this payment was applied to. example: data: type: invoices id: '789012' invoice_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Invoice description: ID of the invoice this payment was applied to. example: 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 note: type: string title: Note description: An optional note or memo about this payment. example: 'Wire transfer ref: WT-9281' number: type: string title: Number description: The auto-generated sequence number for this payment. example: PAY-2026-015 organization: title: Organization description: The organization this payment belongs to. example: data: type: organizations id: '109' 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' 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' paid_on: type: string title: Paid On format: date description: Date when the payment was received (paid). example: '2026-03-15' project_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Project description: ID of the project associated with the invoice this payment was applied to. example: 567890 query: type: string title: Query description: A full-text search query to filter payments by invoice number or note. example: INV-2026 subsidiary_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Subsidiary description: ID of the subsidiary associated with the invoice this payment was applied to. example: 234 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: 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_payment_reminder: type: object title: Payment reminder Resource properties: bcc: type: - array - 'null' items: type: string title: Bcc before_due_date: type: boolean title: Before Due Date body: type: - string - 'null' title: Body body_parsed: type: - string - 'null' title: Body Parsed cc: type: - array - 'null' items: type: string title: Cc created_at: type: string title: Created At format: date-time creator: title: Creator deleted_at: type: - string - 'null' title: Deleted At format: date-time delivered_at: type: - string - 'null' title: Delivered At format: date-time failed_at: type: - string - 'null' title: Failed At format: date-time from: type: - string - 'null' title: From invoice: title: Invoice invoice_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Invoice payment_reminder_sequence: title: Payment Reminder Sequence payment_reminder_sequence_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer title: Payment Reminder Sequence reminder_period: type: integer title: Reminder Period reminder_stopped_reason_id: type: - integer - 'null' title: Reminder Stopped Reason scheduled_on: type: - string - 'null' title: Scheduled On format: date sent_at: type: - string - 'null' title: Sent At format: date-time stopped_at: type: - string - 'null' title: Stopped At format: date-time subject: type: string title: Subject subject_parsed: type: - string - 'null' title: Subject Parsed to: type: - array - 'null' items: type: string title: To updated_at: type: string title: Updated At format: date-time updater: title: Updater resource_proposal_service: type: object title: Proposal Service Resource properties: billable_time: type: integer title: Billable Time billing_type_id: enum: - 1 - 2 - 3 - 4 type: integer title: Billing Type budget_cap_enabled: type: boolean title: Budget Cap Enabled budget_total: type: number title: Budget Total budget_used: type: number title: Budget Used created_at: type: string title: Created At format: date-time currency: type: string title: Currency currency_default: type: string title: Currency Default currency_normalized: type: string title: Currency Normalized description: type: string title: Description discount: type: string title: Discount discount_amount: type: number title: Discount Amount discount_type: enum: - percentage - amount type: string title: Discount Type id: type: integer title: Id initial_service_id: type: integer title: Initial Service description: The initial service of the deal service this one was copied from, or the proposal service's own id when it has none. markup: type: string title: Markup markup_amount: type: number title: Markup Amount name: type: string title: Name origin_service_id: type: integer title: Origin Service position: type: integer title: Position price: type: number title: Price proposal_id: type: integer title: Proposal quantity: type: string title: Quantity revenue: type: number title: Revenue unit_id: enum: - 1 - 2 - 3 type: integer title: Unit resource_proposal_session: type: object title: Proposal Session Resource properties: created_at: type: string title: Created At format: date-time id: type: integer title: Id proposal_id: type: integer title: Proposal filter_search_quick: type: object title: Filter search quick result patternProperties: {} properties: ai_search: "$ref": "#/components/schemas/resource_search_quick_result/properties/ai_search" deep_search: "$ref": "#/components/schemas/resource_search_quick_result/properties/deep_search" query: "$ref": "#/components/schemas/resource_search_quick_result/properties/query" status: enum: - active - closed - all type: string type: type: string pattern: "^(task|task_list|folder|person|agent|skill|contact|page|project|company|deal|budget|action|invoice|meeting|survey|artifact|agent_session)(,(task|task_list|folder|person|agent|skill|contact|page|project|company|deal|budget|action|invoice|meeting|survey|artifact|agent_session))*$" root_page_id: "$ref": "#/components/schemas/_request_id" example: query: quick search type: task,project,person status: active deep_search: false ai_search: false resource_purchase_order_report: type: object title: Purchase order report Resource properties: count: type: integer title: Count created_at: type: string title: Created At format: date created_at_period: title: Created At Period creator: title: Creator creator_id: type: integer title: Creator Id currency: type: string title: Currency currency_default: title: Currency Default currency_normalized: title: Currency Normalized deal: title: Deal deal_id: type: integer title: Deal Id delivery_on: type: string title: Delivery On format: date delivery_on_period: title: Delivery On Period formula_fields: title: Formula Fields group: type: string title: Group id: type: integer title: Id issued_on: type: string title: Issued On format: date issued_on_period: title: Issued On Period number: type: string title: Number organization: title: Organization payment_status_id: enum: - 1 - 2 - 3 type: integer title: Payment Status Id project: title: Project project_id: type: integer title: Project Id purchase_order: title: Purchase Order query: type: string title: Query received_on: type: string title: Received On format: date received_on_period: title: Received On Period report: title: Report sent_on: type: string title: Sent On format: date sent_on_period: title: Sent On Period sent_status: enum: - 1 - 2 type: integer title: Sent Status status_id: enum: - 1 - 2 type: integer title: Status Id subject: type: string title: Subject total_cost: title: Total Cost total_cost_default: title: Total Cost Default total_cost_normalized: title: Total Cost Normalized total_cost_with_tax: title: Total Cost With Tax total_cost_with_tax_default: title: Total Cost With Tax Default total_cost_with_tax_normalized: title: Total Cost With Tax Normalized total_received: title: Total Received total_received_default: title: Total Received Default total_received_normalized: title: Total Received Normalized vendor: title: Vendor vendor_id: type: integer title: Vendor Id filter_approval_workflow: type: object title: Filter approval workflow description: Filter conditions for listing approval workflows. properties: approval_policy_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" title: List gt: "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" lt: "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" gt_eq: "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" lt_eq: "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" contains: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/approval_policy_id" title: List description: Filter by the approval policy the workflow belongs to. example: eq: '7' event_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" title: List gt: "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" lt: "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" gt_eq: "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" lt_eq: "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" contains: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/event_id" title: List - type: string title: Blank (IS NULL) maxLength: 0 description: Filter by the absence category (event) the workflow applies to. example: eq: '12' id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/id" title: List gt: "$ref": "#/components/schemas/resource_approval_workflow/properties/id" lt: "$ref": "#/components/schemas/resource_approval_workflow/properties/id" gt_eq: "$ref": "#/components/schemas/resource_approval_workflow/properties/id" lt_eq: "$ref": "#/components/schemas/resource_approval_workflow/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_approval_workflow/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/id" title: List description: Filter by approval workflow ID. example: eq: '169435' approver_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/approver_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/approver_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/approver_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/approver_id" title: List contains: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/approver_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/approver_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/approver_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/approver_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/approver_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/approver_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_approval_workflow/properties/approver_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/approver_id" title: List subscriber_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/subscriber_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/subscriber_id" title: List contains: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/subscriber_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/subscriber_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/subscriber_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/subscriber_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_approval_workflow/properties/subscriber_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/subscriber_id" title: List target_type_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" title: List gt: "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" lt: "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" gt_eq: "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" lt_eq: "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" contains: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_approval_workflow/properties/target_type_id" title: List example: approval_policy_id: eq: '7' resource_service_suggestion: type: object title: Service suggestion Resource properties: after: type: string title: After format: date before: type: string title: Before format: date date: type: string title: Date format: date organization: title: Organization person: title: Person person_id: type: integer title: Person service: title: Service task: title: Task time: type: integer title: Time resource_shortened_link: type: object title: Shortened link Resource properties: short_url: type: string title: Short Url token: type: string title: Token url: type: string title: Url _task_update_attributes: type: object properties: custom_fields: anyOf: - "$ref": "#/components/schemas/resource_task/properties/custom_fields" - type: 'null' title: 'Null' description: anyOf: - "$ref": "#/components/schemas/resource_task/properties/description" - type: 'null' title: 'Null' due_date: anyOf: - "$ref": "#/components/schemas/resource_task/properties/due_date" - type: 'null' title: 'Null' due_time: anyOf: - "$ref": "#/components/schemas/resource_task/properties/due_time" - type: 'null' title: 'Null' initial_estimate: anyOf: - allOf: - "$ref": "#/components/schemas/resource_task/properties/initial_estimate" - maximum: 999999 title: Value - type: 'null' title: 'Null' private: "$ref": "#/components/schemas/resource_task/properties/private" remaining_time: anyOf: - allOf: - "$ref": "#/components/schemas/resource_task/properties/remaining_time" - maximum: 999999 title: Value - type: 'null' title: 'Null' repeat_on_date: anyOf: - "$ref": "#/components/schemas/resource_task/properties/repeat_on_date" - type: 'null' title: 'Null' repeat_on_interval: anyOf: - "$ref": "#/components/schemas/resource_task/properties/repeat_on_interval" - type: 'null' title: 'Null' repeat_on_monthday: anyOf: - type: 'null' title: 'Null' - "$ref": "#/components/schemas/resource_task/properties/repeat_on_monthday" - type: array items: type: integer title: List of integers repeat_on_weekday: "$ref": "#/components/schemas/resource_task/properties/repeat_on_weekday" repeat_schedule_id: anyOf: - "$ref": "#/components/schemas/resource_task/properties/repeat_schedule_id" - type: 'null' title: 'Null' skip_reposition: "$ref": "#/components/schemas/resource_task/properties/skip_reposition" start_date: anyOf: - "$ref": "#/components/schemas/resource_task/properties/start_date" - type: 'null' title: 'Null' tag_list: "$ref": "#/components/schemas/resource_task/properties/tag_list" title: allOf: - "$ref": "#/components/schemas/resource_task/properties/title" - maxLength: 140 type_id: anyOf: - "$ref": "#/components/schemas/resource_task/properties/type_id" - type: 'null' title: 'Null' _task_create_attributes: type: object properties: due_time: anyOf: - type: 'null' title: 'Null' - "$ref": "#/components/schemas/resource_task/properties/due_time" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_task/properties/custom_fields" - type: 'null' title: 'Null' description: anyOf: - "$ref": "#/components/schemas/resource_task/properties/description" - type: 'null' title: 'Null' due_date: anyOf: - "$ref": "#/components/schemas/resource_task/properties/due_date" - type: 'null' title: 'Null' initial_estimate: anyOf: - allOf: - "$ref": "#/components/schemas/resource_task/properties/initial_estimate" - maximum: 999999 title: Value - type: 'null' title: 'Null' private: "$ref": "#/components/schemas/resource_task/properties/private" remaining_time: anyOf: - allOf: - "$ref": "#/components/schemas/resource_task/properties/remaining_time" - maximum: 999999 title: Value - type: 'null' title: 'Null' repeat_on_date: anyOf: - "$ref": "#/components/schemas/resource_task/properties/repeat_on_date" - type: 'null' title: 'Null' repeat_on_interval: anyOf: - "$ref": "#/components/schemas/resource_task/properties/repeat_on_interval" - type: 'null' title: 'Null' repeat_on_monthday: anyOf: - type: 'null' title: 'Null' - "$ref": "#/components/schemas/resource_task/properties/repeat_on_monthday" - type: array items: type: integer title: List of integers repeat_on_weekday: "$ref": "#/components/schemas/resource_task/properties/repeat_on_weekday" repeat_schedule_id: anyOf: - "$ref": "#/components/schemas/resource_task/properties/repeat_schedule_id" - type: 'null' title: 'Null' skip_reposition: "$ref": "#/components/schemas/resource_task/properties/skip_reposition" start_date: anyOf: - "$ref": "#/components/schemas/resource_task/properties/start_date" - type: 'null' title: 'Null' tag_list: "$ref": "#/components/schemas/resource_task/properties/tag_list" title: allOf: - "$ref": "#/components/schemas/resource_task/properties/title" - maxLength: 140 type_id: anyOf: - "$ref": "#/components/schemas/resource_task/properties/type_id" - type: 'null' title: 'Null' required: - title resource_invoice_attribution: type: object title: Invoice attribution Resource 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. properties: amount: type: integer title: Amount description: The attributed amount in the invoice's currency. example: gt: 0 amount_default: title: Amount Default description: The attributed amount converted to the organization's default currency. example: gt: 0 amount_normalized: title: Amount Normalized description: The attributed amount converted to the normalized (reporting) currency. example: gt: 0 budget: title: Budget description: The budget (deal) this invoice attribution is linked to. example: gt: 0 budget_id: type: integer title: Budget description: ID of the budget (deal) this invoice attribution is linked to. example: - 123 currency: title: Currency description: The currency of this invoice attribution, inherited from the associated invoice. example: eq: value currency_default: title: Currency Default description: The organization's default currency for this invoice attribution. example: eq: value currency_normalized: title: Currency Normalized description: The normalized (reporting) currency for this invoice attribution. 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 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 invoice: title: Invoice description: The invoice this attribution belongs to. example: eq: value invoice_id: type: integer title: Invoice description: ID of the invoice this attribution belongs to. example: - 123 organization: title: Organization description: The organization this invoice attribution belongs to. example: eq: value 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' resource_service: type: object title: Service Resource description: A line item on a deal or budget that defines billing type, rate, and tracking rules. Services connect time tracking, resource scheduling, and invoicing for a specific scope of work. properties: import: title: Import after: type: string title: After format: date description: Earliest bookable date for this service. example: eq: value before: type: string title: Before format: date description: Latest bookable date for this service. example: eq: value billable: type: boolean title: Billable description: Whether this service is billable to the client. example: true billable_time: type: integer title: Billable Time description: Billable hours tracked on the service. example: gt: 0 billing_type: enum: - 1 - 2 - 3 - 4 type: integer title: Billing Type description: Billing type display name. example: eq: active billing_type_id: enum: - 1 - 2 - 3 - 4 type: integer title: Billing Type description: 'How this service is billed: hourly, daily, fixed price, or non-billable.' example: - 123 bookable_after: type: string title: Bookable After format: date description: Start date from which resource bookings are allowed. example: eq: value bookable_before: type: string title: Bookable Before format: date description: End date until which resource bookings are allowed. example: eq: value bookable_date: type: string title: Bookable Date format: date description: Filters services to those bookable on the specified date, based on the budget's active period. Services on deals are always included. example: gt: '2026-01-01' booked_time: type: integer title: Booked Time description: Total scheduled (booked) time for this service. example: gt: 0 booking_tracking_enabled: type: boolean title: Booking Tracking Enabled description: Whether resource bookings are enabled for this service. example: eq: value budget: title: Budget description: The deal budget this service is part of. example: gt: 0 budget_cap_enabled: type: boolean title: Budget Cap Enabled description: Whether a hard budget cap prevents tracking beyond the budget total. example: gt: 0 budget_date: type: string title: Budget Date format: date description: The date of the budget period this service belongs to. example: gt: '2026-01-01' budget_id: type: integer title: Budget description: The ID of the budget this service belongs to. example: - 123 budget_remaining: type: integer title: Budget Remaining description: Budget amount remaining unused. example: gt: 0 budget_status: enum: - 1 - 2 type: integer title: Budget Status description: Current status of the service budget (e.g. on track, over budget). example: gt: 0 budget_total: title: Budget Total description: Total budget for this service. example: gt: 0 budget_total_default: title: Budget Total Default description: Total budget for this service in the organization's default currency. example: gt: 0 budget_total_normalized: title: Budget Total Normalized description: Total budget for this service in the organization's normalized currency. example: gt: 0 budget_used: title: Budget Used description: Budget consumed so far. example: gt: 0 budget_used_default: title: Budget Used Default description: Budget consumed so far in the organization's default currency. example: gt: 0 budget_used_normalized: title: Budget Used Normalized description: Budget consumed so far in the organization's normalized currency. example: gt: 0 budgeted_time: type: integer title: Budgeted Time description: Budgeted hours allocated for this service. example: gt: 0 budgets_and_deals: type: boolean title: Budgets And Deals description: List of related deals and budgets for this service. example: gt: 0 company: title: Company description: The company (client) linked to the deal this service is on. example: eq: value company_id: type: integer title: Company description: The company (client) linked to the deal this service is on. example: - 123 contract_id: type: integer title: Contract description: The recurring contract this service originated from. example: - 123 cost: title: Cost description: Total cost including labor and expenses. example: eq: value cost_default: title: Cost Default description: Total cost including labor and expenses in the organization's default currency. example: eq: value cost_normalized: title: Cost Normalized description: Total cost including labor and expenses in the organization's normalized currency. example: eq: value currency: title: Currency description: Currency code for this service's financial values. example: eq: value currency_default: title: Currency Default description: Currency code in the organization's default currency. example: eq: value currency_normalized: title: Currency Normalized description: Currency code in the organization's normalized currency. example: eq: value custom_field_attachments: title: Custom Field Attachments description: Files in file-type custom fields. example: gt: '2026-01-01' custom_field_people: title: Custom Field People description: People in person-type custom fields. example: eq: value custom_fields: type: object title: Custom Fields description: Custom field values on this service. example: eq: value deal: title: Deal description: The deal or budget this service is part of. example: eq: value deal_id: type: integer title: Deal description: The deal or budget this service is part of. example: - 123 deal_stage_id: type: integer title: Deal Stage description: The pipeline stage the parent deal is in. example: - 123 deal_status_id: type: integer title: Deal Status description: The deal status of the parent deal. example: - 123 deleted_at: type: string title: Deleted At format: date-time description: Soft-deletion timestamp. example: gt: '2026-01-01' discount: type: number title: Discount description: Discount amount subtracted from the service price. example: gt: 0 discount_amount: type: number title: Discount Amount description: Total discount in monetary terms. example: gt: 0 discount_amount_default: title: Discount Amount Default description: Total discount in monetary terms in the organization's default currency. example: gt: 0 discount_amount_normalized: title: Discount Amount Normalized description: Total discount in monetary terms in the organization's normalized currency. example: gt: 0 editor_config: type: object title: Editor Config description: Rich text editor configuration. example: eq: value estimated_cost: type: number title: Estimated Cost description: Estimated cost based on estimated time and cost rates. example: gt: 0 estimated_cost_default: title: Estimated Cost Default description: Estimated cost based on estimated time and cost rates in the organization's default currency. example: gt: 0 estimated_cost_normalized: title: Estimated Cost Normalized description: Estimated cost based on estimated time and cost rates in the organization's normalized currency. example: gt: 0 estimated_time: type: integer title: Estimated Time description: Estimated hours for this service. example: gt: 0 expense_amount: title: Expense Amount description: Total expense amount on this service. example: gt: 0 expense_amount_default: title: Expense Amount Default description: Total expense amount on this service in the organization's default currency. example: gt: 0 expense_amount_normalized: title: Expense Amount Normalized description: Total expense amount on this service in the organization's normalized currency. example: gt: 0 expense_billable_amount: title: Expense Billable Amount description: Billable portion of expenses. example: gt: 0 expense_billable_amount_default: title: Expense Billable Amount Default description: Billable portion of expenses in the organization's default currency. example: gt: 0 expense_billable_amount_normalized: title: Expense Billable Amount Normalized description: Billable portion of expenses in the organization's normalized currency. example: gt: 0 expense_cost: title: Expense Cost description: Labor cost from worked time at cost rates. example: eq: value expense_tracking_enabled: type: boolean title: Expense Tracking Enabled description: Whether expenses can be logged against this service. example: eq: value for_tracking: type: boolean title: For Tracking description: Whether this service is available for time tracking. example: eq: value future_booked_time: type: integer title: Future Booked Time description: Future scheduled time remaining. example: gt: 0 future_budget_used: title: Future Budget Used description: Budget that will be consumed by future bookings. example: gt: 0 future_budget_used_default: title: Future Budget Used Default description: Budget that will be consumed by future bookings in the organization's default currency. example: gt: 0 future_budget_used_normalized: title: Future Budget Used Normalized description: Budget that will be consumed by future bookings in the organization's normalized currency. example: gt: 0 future_cost: title: Future Cost description: Projected cost from future scheduled bookings. example: eq: value future_cost_default: title: Future Cost Default description: Projected cost from future scheduled bookings in the organization's default currency. example: eq: value future_cost_normalized: title: Future Cost Normalized description: Projected cost from future scheduled bookings in the organization's normalized currency. example: eq: value future_revenue: title: Future Revenue description: Revenue projected from future bookings. example: eq: value future_revenue_default: title: Future Revenue Default description: Revenue projected from future bookings in the organization's default currency. example: eq: value future_revenue_normalized: title: Future Revenue Normalized description: Revenue projected from future bookings in the organization's normalized currency. example: eq: value id: type: integer title: Id description: Unique identifier of the service. example: - 123 initial_service_id: type: integer title: Initial Service description: ID of the first service in a rollover chain. example: - 123 left_to_schedule_time: type: integer title: Left To Schedule Time description: Time remaining to be scheduled on this service. example: gt: 0 limitation_type: enum: - no_limitation - estimate_limitation - quantity_limitation - budget_fully_used type: string title: Limitation Type description: Budget cap enforcement type (soft warning vs hard cap). example: eq: active markup: type: number title: Markup description: Markup amount added to the service price. example: eq: value markup_amount: title: Markup Amount description: Total markup in monetary terms. example: gt: 0 markup_amount_default: title: Markup Amount Default description: Total markup in monetary terms in the organization's default currency. example: gt: 0 markup_amount_normalized: title: Markup Amount Normalized description: Total markup in monetary terms in the organization's normalized currency. example: gt: 0 name: type: string title: Name description: Name of the service. example: eq: value organization: title: Organization description: The organization this service belongs to. example: eq: value origin_deal_id: type: integer title: Origin Deal description: The ID of the original deal before rollover. example: - 123 origin_service_id: type: integer title: Origin Service description: ID of the original service if this was duplicated or rolled over. example: - 123 person: title: Person description: The person assigned to this service (for person-scoped services). example: eq: value person_id: type: integer title: Person description: The person assigned to this service (for person-scoped services). example: - 123 pipeline_id: type: integer title: Pipeline description: The pipeline the parent deal belongs to. example: - 123 position: type: integer title: Position description: Sort order within the deal's service list. example: eq: value price: type: number title: Price description: Unit price for this service. example: gt: 0 price_default: title: Price Default description: Unit price for this service in the organization's default currency. example: gt: 0 price_normalized: title: Price Normalized description: Unit price for this service in the organization's normalized currency. example: gt: 0 probability: type: integer title: Probability description: Win probability of the parent deal (percentage). example: eq: value profit: type: integer title: Profit description: 'Service profit: revenue minus costs.' example: eq: value profit_default: title: Profit Default description: Service profit in the organization's default currency. example: eq: value profit_margin: type: number title: Profit Margin description: Profit as a percentage of revenue. example: eq: value profit_normalized: title: Profit Normalized description: Service profit in the organization's normalized currency. example: eq: value project_id: type: integer title: Project description: The project this service is linked to. example: - 123 project_name: title: Project Name description: Name of the project this service is linked to. example: eq: value project_type: enum: - 1 - 2 type: integer title: Project Type description: Type of the project (billable or overhead). example: eq: active projected_revenue: title: Projected Revenue description: Expected revenue including future scheduled work. example: eq: value projected_revenue_default: title: Projected Revenue Default description: Expected revenue including future scheduled work in the organization's default currency. example: eq: value projected_revenue_normalized: title: Projected Revenue Normalized description: Expected revenue including future scheduled work in the organization's normalized currency. example: eq: value projectless_budgets: type: boolean title: Projectless Budgets description: Whether this service belongs to a budget without a linked project. example: gt: 0 quantity: type: number title: Quantity description: Number of units (hours, days, or pieces) for this service. example: eq: value query: type: string title: Query description: Full-text search query to filter services by name or description. example: eq: value remaining_scheduled_time: type: integer title: Remaining Scheduled Time description: Time remaining to be scheduled on this service. example: gt: 0 responsible_id: type: integer title: Responsible description: The person responsible for this service. example: - 123 revamped_unit: enum: - 1 - 2 - 3 type: integer title: Revamped Unit description: Whether this service uses the revamped unit system. example: eq: value revenue: title: Revenue description: Total revenue from this service. example: eq: value revenue_default: title: Revenue Default description: Total revenue from this service in the organization's default currency. example: eq: value revenue_normalized: title: Revenue Normalized description: Total revenue from this service in the organization's normalized currency. example: eq: value rolled_over_time: type: integer title: Rolled Over Time description: Time rolled over from a previous retainer period. example: gt: 0 sales_status_id: enum: - 1 - 2 - 3 type: integer title: Sales Status description: The sales status ID of the parent deal. example: - 123 section: title: Section description: The section grouping this service within the deal. example: eq: value section_id: type: integer title: Section description: The section grouping this service within the deal. example: - 123 service_type: title: Service Type description: The work category this service belongs to. example: eq: active service_type_id: type: integer title: Service Type description: The work category this service belongs to. example: - 123 stage_status_id: enum: - 1 - 2 - 3 type: integer title: Stage Status description: The stage status ID of the parent deal. example: - 123 stage_type: enum: - 1 - 2 type: integer title: Stage Type description: The stage type of the parent deal. example: eq: active subsidiary_id: type: integer title: Subsidiary description: The subsidiary associated with the parent deal. example: - 123 task_id: type: integer title: Task description: The task this service is linked to. example: - 123 template: type: boolean title: Template description: Whether this service is a template. example: eq: value time_tracking_enabled: type: boolean title: Time Tracking Enabled description: Whether team members can track time against this service. example: gt: 0 trackable_by_person_id: type: integer title: Trackable By Person description: Whether this service is trackable by a specific person. example: - 123 type: type: integer title: Type description: JSON:API resource type identifier. example: eq: active unapproved_time: type: integer title: Unapproved Time description: Total unapproved time entries in minutes. example: gt: 0 unit: enum: - 1 - 2 - 3 type: integer title: Unit description: The tracking unit (hours, days, or pieces) for this service. example: eq: value unit_id: enum: - 1 - 2 - 3 type: integer title: Unit description: 'Tracking unit: hours, days, or pieces.' example: - 123 updated_at: type: string title: Updated At format: date description: Timestamp of the last update to this service. example: gt: '2026-01-01' with_memberships: type: boolean title: With Memberships description: Whether this service has membership restrictions. example: eq: value work_cost: title: Work Cost description: Labor cost from tracked time. example: eq: value work_cost_default: title: Work Cost Default description: Labor cost from tracked time in the organization's default currency. example: eq: value work_cost_normalized: title: Work Cost Normalized description: Labor cost from tracked time in the organization's normalized currency. example: eq: value worked_cost: title: Worked Cost description: Labor cost calculated from worked time. example: eq: value worked_time: type: integer title: Worked Time description: Total hours tracked on this service. example: gt: 0 bookable_date_for_period: type: string title: Bookable Date For Period format: date description: "**Deprecated — use `bookable_date` instead**, which now returns identical results. Filters services to those bookable on the specified date, based on the budget's active period. This filter will be removed in a future API version." example: gt: '2026-01-01' explicit_access: type: boolean title: Explicit Access description: When true, filters services to those the current user has been explicitly granted access to. example: eq: value billing_method: enum: - service - role type: string title: Billing Method default: service description: How the service is billed. `role` is only allowed on billable Hour services of client deals and budgets, and only while the organization's role bill rate setting is on; a stored `role` service keeps it when the setting is turned off. A role-billed service has quantity and price 0 and takes its `budget_total` as input. future_tentative_booked_time: type: integer title: Future Tentative Booked Time tentative_booked_time: type: integer title: Tentative Booked Time overtime_time: type: integer title: Overtime Time description: Total tracked overtime time on the service in minutes (approved and unapproved, without rejected entries). Subset of worked_time. discount_type: enum: - percentage - amount type: string title: Discount Type description: Read-only. Which discount is in effect — `amount` when `discount` is 0 and `discount_amount` is positive, `percentage` otherwise. example: id: '1856422' type: services attributes: name: Frontend Development position: 1 deleted_at: description: Building React components and user interfaces time_tracking_enabled: true expense_tracking_enabled: false booking_tracking_enabled: true origin_service_id: initial_service_id: 1856422 editor_config: {} custom_fields: billing_type_id: 1 limitation_type: no_limitation worked_time: 4800 billable_time: 4800 estimated_time: 8000 budgeted_time: 8000 currency: USD relationships: service_type: data: type: service_types id: '5' deal: data: type: deals id: '89' person: data: section: data: _service_create_attributes: type: object properties: billing_method: "$ref": "#/components/schemas/resource_service/properties/billing_method" budget_total: "$ref": "#/components/schemas/resource_service/properties/budget_total" billing_type_id: "$ref": "#/components/schemas/resource_service/properties/billing_type_id" booking_tracking_enabled: "$ref": "#/components/schemas/resource_service/properties/booking_tracking_enabled" budget_cap_enabled: "$ref": "#/components/schemas/resource_service/properties/budget_cap_enabled" custom_fields: "$ref": "#/components/schemas/resource_service/properties/custom_fields" description: type: string discount: allOf: - "$ref": "#/components/schemas/resource_service/properties/discount" - maximum: 100 minimum: 0 discount_amount: allOf: - "$ref": "#/components/schemas/resource_service/properties/discount_amount" - minimum: 0 editor_config: "$ref": "#/components/schemas/resource_service/properties/editor_config" estimated_cost: "$ref": "#/components/schemas/resource_service/properties/estimated_cost" estimated_time: allOf: - "$ref": "#/components/schemas/resource_service/properties/estimated_time" - maximum: 2147483647 expense_tracking_enabled: "$ref": "#/components/schemas/resource_service/properties/expense_tracking_enabled" limitation_type: "$ref": "#/components/schemas/resource_service/properties/limitation_type" markup: allOf: - "$ref": "#/components/schemas/resource_service/properties/markup" - minimum: 0 name: "$ref": "#/components/schemas/resource_service/properties/name" position: "$ref": "#/components/schemas/resource_service/properties/position" price: "$ref": "#/components/schemas/resource_service/properties/price" quantity: "$ref": "#/components/schemas/resource_service/properties/quantity" rolled_over_time: allOf: - "$ref": "#/components/schemas/resource_service/properties/rolled_over_time" - maximum: 2147483647 time_tracking_enabled: "$ref": "#/components/schemas/resource_service/properties/time_tracking_enabled" unit_id: "$ref": "#/components/schemas/resource_service/properties/unit_id" required: - name - limitation_type _service_update_attributes: type: object properties: billing_method: "$ref": "#/components/schemas/resource_service/properties/billing_method" budget_total: "$ref": "#/components/schemas/resource_service/properties/budget_total" billing_type_id: "$ref": "#/components/schemas/resource_service/properties/billing_type_id" booking_tracking_enabled: "$ref": "#/components/schemas/resource_service/properties/booking_tracking_enabled" budget_cap_enabled: "$ref": "#/components/schemas/resource_service/properties/budget_cap_enabled" custom_fields: "$ref": "#/components/schemas/resource_service/properties/custom_fields" description: type: string discount: allOf: - "$ref": "#/components/schemas/resource_service/properties/discount" - maximum: 100 minimum: 0 discount_amount: allOf: - "$ref": "#/components/schemas/resource_service/properties/discount_amount" - minimum: 0 editor_config: "$ref": "#/components/schemas/resource_service/properties/editor_config" estimated_cost: "$ref": "#/components/schemas/resource_service/properties/estimated_cost" estimated_time: allOf: - "$ref": "#/components/schemas/resource_service/properties/estimated_time" - maximum: 2147483647 expense_tracking_enabled: "$ref": "#/components/schemas/resource_service/properties/expense_tracking_enabled" limitation_type: "$ref": "#/components/schemas/resource_service/properties/limitation_type" markup: allOf: - "$ref": "#/components/schemas/resource_service/properties/markup" - minimum: 0 name: "$ref": "#/components/schemas/resource_service/properties/name" position: "$ref": "#/components/schemas/resource_service/properties/position" price: "$ref": "#/components/schemas/resource_service/properties/price" quantity: "$ref": "#/components/schemas/resource_service/properties/quantity" rolled_over_time: allOf: - "$ref": "#/components/schemas/resource_service/properties/rolled_over_time" - maximum: 2147483647 time_tracking_enabled: "$ref": "#/components/schemas/resource_service/properties/time_tracking_enabled" unit_id: "$ref": "#/components/schemas/resource_service/properties/unit_id" error_code_deal: enum: - bad_decimal_format - budget_export_missing_relationship_value - budget_missing_subsidiary - company_export_missing_relationship_value - invalid_attribute_value - netsuite_project_ambiguous - non_finite_number - null_bytes_in_params - role_bill_rate_setting_disabled type: string title: Error Code description: Every error `code` the deals endpoints can return. error_code_calendar_event: enum: - attendees_not_array - bad_decimal_format - calendar_event_creation_failed - calendar_reauthorization_required - calendar_write_permission_missing - end_before_start - integration_not_found - invalid_attendee_email - invalid_attribute_value - invalid_datetime - non_finite_number - null_bytes_in_params - too_many_attendees type: string title: Error Code description: Every error `code` the calendar events endpoints can return. _attachment_create_attributes: allOf: - "$ref": "#/components/schemas/_attachment_attributes" - type: object properties: survey_id: type: integer description: The form the file is uploaded for. Without attachable_type it is a respondent's file answer, and a form that does not record respondents saves it with no activity. With attachable_type survey the file is attached to the form on upload; only a person who manages the form may send it, and the file is a PNG, JPEG, WebP, GIF or SVG image of at most 5 MB. Not sent with a record to attach the file to. error_code_attachment: enum: - attachable_not_accessible - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - proposal_attachment_must_be_pdf - recording_attachment_invalid - recording_not_uploaded - recording_size_invalid - recording_transcription_refused - survey_attachment_must_be_image - survey_attachment_too_large - survey_not_accessible - survey_with_attachable type: string title: Error Code description: Every error `code` the attachment endpoints can return. _response_object_job_role: type: object title: Job role properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_job_role/properties/archived_at" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_job_role/properties/created_at" name: "$ref": "#/components/schemas/resource_job_role/properties/name" updated_at: "$ref": "#/components/schemas/resource_job_role/properties/updated_at" id: type: string relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - job_roles type: string required: - id - type error_code_deal_job_role_rate: enum: - bad_decimal_format - create_only_attribute - invalid_attribute_value - job_role_ambiguous - job_role_name_taken - job_role_rate_already_exists - job_role_required - non_finite_number - null_bytes_in_params - rate_not_allowed_for_deal_status - rate_not_allowed_for_delivered_budget - role_bill_rate_setting_disabled type: string title: Error Code description: Every error `code` the deal job role rates endpoints can return in a 422 response. resource_deal_job_role_rate: type: object title: Deal job role rate Resource properties: job_role_name: type: string title: Job Role Name maxLength: 255 amount: type: number title: Amount budget_id: type: integer title: Budget created_at: type: string title: Created At format: date-time deal: title: Deal deal_id: type: integer title: Deal id: type: integer title: Id job_role: title: Job Role job_role_id: type: integer title: Job Role organization: title: Organization unit_id: enum: - 1 - 3 type: integer title: Unit updated_at: type: string title: Updated At format: date-time resource_job_role: type: object title: Job role Resource properties: archived_at: type: string title: Archived At format: date-time created_at: type: string title: Created At format: date-time id: type: integer title: Id name: type: string title: Name organization: title: Organization query: type: string title: Query status: enum: - 1 - 2 type: integer title: Status updated_at: type: string title: Updated At format: date-time resource_role: type: object title: Role Resource description: A role defines a set of permissions that control what members assigned to it can access and do within the organization. properties: base_role_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 type: integer title: Base Role description: ID of the base role type this custom role is derived from (determines the permission baseline). example: - 123 editable_by_user: type: boolean title: Editable By User description: Whether this role can be modified by regular users, or is a system-managed role. example: eq: value id: type: integer title: Id description: The unique identifier of this role. example: - 123 name: type: string title: Name description: The display name of this role. example: eq: value organization: title: Organization description: The organization this role belongs to. example: eq: value people_count: type: integer title: People Count description: The number of people currently assigned to this role. example: gt: 0 permissions: type: object title: Permissions description: The explicit permission settings configured for this role. additionalProperties: type: boolean example: eq: value resolved_permissions: title: Resolved Permissions description: The effective resolved permissions for this role, including inherited permissions from the base role. example: eq: value user_type_id: enum: - 1 - 2 type: integer title: User Type description: ID of the user type associated with this role (e.g. full user, limited user). example: - 123 active_agents_count: type: integer title: Active Agents Count description: The number of active AI agents currently assigned to this role. example: gt: 0 active_users_count: type: integer title: Active Users Count description: The number of active users currently assigned to this role. example: gt: 0 inactive_agents_count: type: integer title: Inactive Agents Count description: The number of inactive AI agents assigned to this role. example: gt: 0 inactive_users_count: type: integer title: Inactive Users Count description: The number of inactive users assigned to this role. example: gt: 0 description: type: string title: Description example: eq: value access_description: type: string title: Access Description nullable: true best_when_description: type: string title: Best When Description nullable: true example: id: '123' type: roles attributes: name: Project Manager description: Manages project delivery relationships: {} error_code_contract: enum: - bad_decimal_format - contract_deal_invalid - generate_until_after_contract_end - generate_until_before_next_occurrence - generate_until_limit_exceeded - invalid_attribute_value - non_finite_number - null_bytes_in_params - recurring_budgets_feature_unavailable - role_bill_rate_setting_disabled - template_already_recurring type: string title: Error Code description: Every error `code` the contracts endpoints can return. _response_object_email: type: object title: Email properties: attributes: type: object properties: unique_body: anyOf: - "$ref": "#/components/schemas/resource_email/properties/unique_body" - type: 'null' title: 'Null' auto_linked: "$ref": "#/components/schemas/resource_email/properties/auto_linked" body: "$ref": "#/components/schemas/resource_email/properties/body" body_html: "$ref": "#/components/schemas/resource_email/properties/body_html" body_truncated: "$ref": "#/components/schemas/resource_email/properties/body_truncated" created_at: anyOf: - "$ref": "#/components/schemas/resource_email/properties/created_at" - type: 'null' title: 'Null' delivered_at: anyOf: - "$ref": "#/components/schemas/resource_email/properties/delivered_at" - type: 'null' title: 'Null' dismissed_at: anyOf: - "$ref": "#/components/schemas/resource_email/properties/dismissed_at" - type: 'null' title: 'Null' external_id: anyOf: - "$ref": "#/components/schemas/resource_email/properties/external_id" - type: 'null' title: 'Null' failed_at: anyOf: - "$ref": "#/components/schemas/resource_email/properties/failed_at" - type: 'null' title: 'Null' from: anyOf: - "$ref": "#/components/schemas/resource_email/properties/from" - type: 'null' title: 'Null' linked_id: anyOf: - "$ref": "#/components/schemas/resource_email/properties/linked_id" - type: 'null' title: 'Null' linked_type: anyOf: - "$ref": "#/components/schemas/resource_email/properties/linked_type" - type: 'null' title: 'Null' outgoing: anyOf: - "$ref": "#/components/schemas/resource_email/properties/outgoing" - type: 'null' title: 'Null' participants: "$ref": "#/components/schemas/resource_email/properties/participants" received_at: anyOf: - "$ref": "#/components/schemas/resource_email/properties/received_at" - type: 'null' title: 'Null' recipients: "$ref": "#/components/schemas/resource_email/properties/recipients" sent_from_mailbox: "$ref": "#/components/schemas/resource_email/properties/sent_from_mailbox" snippet: anyOf: - "$ref": "#/components/schemas/resource_email/properties/snippet" - type: 'null' title: 'Null' source: anyOf: - "$ref": "#/components/schemas/resource_email/properties/source" - type: 'null' title: 'Null' subject: "$ref": "#/components/schemas/resource_email/properties/subject" unread: "$ref": "#/components/schemas/resource_email/properties/unread" id: type: string relationships: type: object properties: attachments: "$ref": "#/components/schemas/_collection_relationship" bcc_recipients: "$ref": "#/components/schemas/_collection_relationship" cc_recipients: "$ref": "#/components/schemas/_collection_relationship" creator: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" integration: "$ref": "#/components/schemas/_single_relationship" invoice: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" participants: "$ref": "#/components/schemas/_collection_relationship" payment_reminder: "$ref": "#/components/schemas/_single_relationship" recipients: "$ref": "#/components/schemas/_collection_relationship" thread: "$ref": "#/components/schemas/_single_relationship" to_recipients: "$ref": "#/components/schemas/_collection_relationship" type: enum: - emails type: string required: - id - type resource_email: type: object title: Email Resource description: A synced email message linked to deals, invoices, companies, or other resources in Productive. properties: after: type: string title: After format: date description: Filter emails created after this date. example: eq: value attachments: title: Attachments description: The file attachments associated with this email. example: eq: value 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 bcc_recipients: title: Bcc Recipients description: The BCC recipients of this email. example: eq: value before: type: string title: Before format: date description: Filter emails created before this date. example: eq: value body: title: Body description: The plain text body of this email. 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 body_truncated: title: Body Truncated description: A truncated version of the plain text body, used for preview purposes. example: eq: value cc_recipients: title: Cc Recipients description: The CC recipients of this email. 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 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' creator: title: Creator description: The person who created or sent this email. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created or sent this email. example: - 123 deal: title: Deal description: The deal or quote this email is linked to. 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' 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' external_id: type: string title: External description: The external identifier of this email from the originating email provider. 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' from: type: string title: From description: The sender's email address. example: eq: value id: type: integer title: Id description: The unique identifier of this email. example: - 123 integration: title: Integration description: The email integration (inbox connection) through which this email was synced. example: eq: value invoice: title: Invoice description: The invoice this email is linked to. example: eq: value linked_id: type: integer title: Linked description: The ID of the polymorphic resource this email is linked to (deal, invoice, workspace, etc.). example: - 123 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 organization: title: Organization description: The organization this email belongs to. example: eq: value outgoing: type: boolean title: Outgoing description: Whether this email was sent outgoing from Productive, as opposed to an incoming received email. example: eq: value participants: title: Participants description: The people who participated in this email thread as senders or recipients. example: eq: value payment_reminder: title: Payment Reminder description: The payment reminder this email is associated with. 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' 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 sender_or_recipient_id: type: integer title: Sender Or Recipient description: The sender or recipient id. example: - 123 snippet: type: string title: Snippet description: A short preview snippet of the email content. 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 subject: type: string title: Subject description: The subject line of this email. example: eq: value thread: title: Thread description: The email inbox thread this email belongs to. example: eq: value to_recipients: title: To Recipients description: The primary (To:) recipients of this email. example: eq: value unread: type: boolean title: Unread description: Whether this email has been marked as unread. example: eq: value thread_id: type: integer title: Thread deal_id: type: integer title: Deal invoice_id: type: integer title: Invoice project_id: type: integer title: Project proposal_id: type: integer title: Proposal purchase_order_id: type: integer title: Purchase Order task_id: type: integer title: Task unique_body: type: string title: Unique Body description: Experimental, its format may change. The reply without its quoted history, trimmed heuristically; plain text, or Markdown when cut from an HTML body whose plain-text part differs; the whole body, as plain text when there is a plain-text part, when it has no quoted history. Null when it cannot be trimmed safely or the request ran out of trimming time, so read `body`. Returned only with the X-Unique-Body header or param. source: enum: - outbox - type: string title: Source nullable: true description: Where an email came from sent_from_mailbox: type: boolean title: Sent From Mailbox 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: {} _response_object_meeting: type: object title: Meeting properties: attributes: type: object properties: action_points: "$ref": "#/components/schemas/resource_meeting/properties/action_points" created_at: "$ref": "#/components/schemas/resource_meeting/properties/created_at" duration_seconds: "$ref": "#/components/schemas/resource_meeting/properties/duration_seconds" ended_at: "$ref": "#/components/schemas/resource_meeting/properties/ended_at" link_applies_to: "$ref": "#/components/schemas/resource_meeting/properties/link_applies_to" link_set_by: "$ref": "#/components/schemas/resource_meeting/properties/link_set_by" meeting_type: "$ref": "#/components/schemas/resource_meeting/properties/meeting_type" meeting_url: "$ref": "#/components/schemas/resource_meeting/properties/meeting_url" notetaker_applies_to: "$ref": "#/components/schemas/resource_meeting/properties/notetaker_applies_to" notetaker_enabled: "$ref": "#/components/schemas/resource_meeting/properties/notetaker_enabled" notetaker_set_by: "$ref": "#/components/schemas/resource_meeting/properties/notetaker_set_by" platform: "$ref": "#/components/schemas/resource_meeting/properties/platform" public_access: "$ref": "#/components/schemas/resource_meeting/properties/public_access" public_uuid: "$ref": "#/components/schemas/resource_meeting/properties/public_uuid" recording_url: "$ref": "#/components/schemas/resource_meeting/properties/recording_url" scheduled_at: "$ref": "#/components/schemas/resource_meeting/properties/scheduled_at" started_at: "$ref": "#/components/schemas/resource_meeting/properties/started_at" status: "$ref": "#/components/schemas/resource_meeting/properties/status" summary: "$ref": "#/components/schemas/resource_meeting/properties/summary" title: "$ref": "#/components/schemas/resource_meeting/properties/title" transcript: "$ref": "#/components/schemas/resource_meeting/properties/transcript" transcript_markdown: "$ref": "#/components/schemas/resource_meeting/properties/transcript_markdown" updated_at: "$ref": "#/components/schemas/resource_meeting/properties/updated_at" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" deal: "$ref": "#/components/schemas/_single_relationship" meeting_participants: "$ref": "#/components/schemas/_collection_relationship" memberships: "$ref": "#/components/schemas/_collection_relationship" organization: "$ref": "#/components/schemas/_single_relationship" project: "$ref": "#/components/schemas/_single_relationship" suggested_deals: "$ref": "#/components/schemas/_collection_relationship" suggested_projects: "$ref": "#/components/schemas/_collection_relationship" type: enum: - meetings type: string required: - id - type resource_approval_status: type: object title: Approval status Resource properties: actual_approver: title: Actual Approver description: The person who actually approved or rejected this status. May differ from the assigned approver when a fallback or override was used. actual_approver_id: type: integer title: Actual Approver description: The ID of the person who actually approved or rejected this status. May differ from the assigned approver when a fallback or override was used. approval_workflow: title: Approval Workflow description: The workflow that produced this approval status. approval_workflow_id: type: integer title: Approval Workflow description: The ID of the workflow that produced this approval status. approved_at: type: string title: Approved At format: date-time description: Timestamp at which this approval status was approved. Null while pending or rejected. approver: title: Approver description: The person assigned to act on this approval status. Null when the approver is resolved dynamically. approver_group_key: type: string title: Approver Group Key description: Logical grouping key. Approval statuses sharing the same key form a single approval requirement — approving any one of them counts as approving the whole group. approver_id: type: integer title: Approver description: The ID of the person assigned to act on this approval status. Null when the approver is resolved dynamically. booking: title: Booking description: The booking awaiting approval. Present when `target_type` is `booking`. booking_id: type: integer title: Booking description: The ID of the booking this approval status belongs to. dynamic_approver_type_id: enum: - 1 - 2 - 3 - 4 - 5 type: integer title: Dynamic Approver Type description: Identifies the role-based approver when the approver is resolved dynamically rather than from an explicit person. expense: title: Expense description: The expense awaiting approval. Present when `target_type` is `expense`. expense_id: type: integer title: Expense description: The ID of the expense this approval status belongs to. fallback_approver_type_id: enum: - 1 - 2 type: integer title: Fallback Approver Type description: Identifies the approver to use when the dynamic approver cannot be resolved. id: type: integer title: Id description: The unique identifier of this approval status. note: type: string title: Note description: Optional note added by the actor when approving or rejecting this status. rejected_at: type: string title: Rejected At format: date-time description: Timestamp at which this approval status was rejected. Null while pending or approved. target_type: enum: - booking - time_entry - expense - proposal type: string title: Target Type description: The type of entity this approval status belongs to. time_entry: title: Time Entry description: The time entry awaiting approval. Present when `target_type` is `time_entry`. time_entry_id: type: integer title: Time Entry description: The ID of the time entry this approval status belongs to. custom_field: title: Custom Field description: The person custom field this approval status comes from, when the approver is the person set in a custom field on the budget or deal. example: data: type: custom_fields id: '4521' custom_field_id: type: integer title: Custom Field resource_contact_entry: type: object title: Contact entry Resource description: Contact information record (email, phone, website, or postal address) for a company or person. Supports multiple entries per contact with type classification. Billing-specific fields (billing_address, billing_email, VAT) are available for company contacts with financials enabled. properties: address: type: string title: Address description: The street address of this contact entry. example: eq: value billing_address: type: boolean title: Billing Address description: The billing address associated with this contact entry. example: eq: value billing_email: type: boolean title: Billing Email description: The email address used for billing on this contact entry. example: eq: value city: type: string title: City description: The city of this contact entry. example: eq: value company: title: Company description: The company this contact entry belongs to, if the contactable is a company. example: eq: value company_id: type: integer title: Company description: ID of the company this contact entry belongs to, if the contactable is a company. example: - 123 contactable_id: type: integer title: Contactable description: The ID of the associated contactable resource. example: - 123 contactable_type: type: string title: Contactable Type description: The type of the associated contactable resource. example: eq: active country: type: string title: Country description: The country of this contact entry. example: gt: 0 email: type: string title: Email description: The email address of this contact entry. example: eq: value invoice: title: Invoice description: The invoice this contact entry is associated with, if applicable. example: eq: value invoice_id: type: integer title: Invoice description: ID of the invoice this contact entry is associated with, if applicable. example: - 123 invoice_template: title: Invoice Template description: The invoice template this contact entry is linked to, for pre-filling invoice contact details. example: eq: value invoice_template_id: title: Invoice Template description: ID of the invoice template this contact entry is linked to. example: - 123 name: type: string title: Name description: The display name on this contact entry. example: eq: value organization: title: Organization description: The organization this contact entry belongs to. example: eq: value organization_id: title: Organization description: ID of the organization this contact entry belongs to. example: - 123 person: title: Person description: The person this contact entry belongs to, if the contactable is a person. example: eq: value person_id: type: integer title: Person description: ID of the person this contact entry belongs to, if the contactable is a person. example: - 123 phone: type: string title: Phone description: The phone number of this contact entry. example: eq: value purchase_order: title: Purchase Order description: The purchase order this contact entry is associated with, if applicable. example: data: type: purchase_orders id: '1234567' purchase_order_id: title: Purchase Order description: ID of the purchase order this contact entry is associated with, if applicable. example: 1234567 state: type: string title: State description: The state or province of this contact entry. example: eq: active subsidiary: title: Subsidiary description: The subsidiary this contact entry is linked to, if applicable. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary this contact entry is linked to, if applicable. example: - 123 type: type: string title: Type description: The type of this contact entry, indicating the context (e.g. company or person contact). example: eq: active vat: type: string title: Vat description: The VAT number associated with this contact entry. example: eq: value website: type: string title: Website description: The website URL of this contact entry. example: eq: value zipcode: type: string title: Zipcode description: The ZIP or postal code. example: eq: value external_id: type: - string - 'null' title: External readOnly: true example: id: '16235' type: contact_entries attributes: contactable_type: person type: email name: Work email: tomislav@productive.io phone: website: address: city: state: zipcode: country: vat: billing_address: billing_email: relationships: organization: data: type: organizations id: '109' company: meta: included: false person: meta: included: false invoice: meta: included: false subsidiary: meta: included: false purchase_order: meta: included: false invoice_template: meta: included: false proposal: meta: included: false resource_meeting: type: object title: Meeting Resource properties: link_applies_to: enum: - this_meeting - upcoming_meetings type: string title: Link Applies To description: Whether the project or deal link was made for this meeting only or for the upcoming meetings of its series. link_set_by: enum: - person - inherited - type: - string - 'null' title: Link Set By description: 'What set the project or deal link: a person or the series (`inherited`); null when unlinked.' meeting_type: enum: - scheduled - instant - recurring - recording - type: - string - 'null' title: Meeting Type examples: - scheduled description: 'What kind of meeting it is: `scheduled`, `instant` (no start time), `recurring` (an occurrence of a calendar series, whose settings carry across it) or `recording` (audio uploaded from a device, with no call or bot).' notetaker_applies_to: enum: - this_meeting - upcoming_meetings type: string title: Notetaker Applies To description: Whether the notetaker setting was made for this meeting only or for the upcoming meetings of its series. notetaker_set_by: enum: - person - auto_join - inherited - quota - type: - string - 'null' title: Notetaker Set By description: 'What last turned the notetaker on or off: a person, auto join, the series (`inherited`) or the monthly hours limit (`quota`).' action_points: type: - string - 'null' title: Action Points description: The follow-ups as HTML, written by AI from the transcript; people may edit them. after: type: string title: After format: date description: Meetings that started at or after the start of this date. before: type: string title: Before format: date description: Meetings that started at or before the start of this date. calendar_event_id: type: - string - 'null' title: Calendar Event Id description: The event's id at the calendar provider. calendar_id: type: - string - 'null' title: Calendar Id description: The id of the calendar holding the event, at its provider. calendar_provider: enum: - google - outlook - type: - string - 'null' title: Calendar Provider description: 'The calendar the event came from: `google` or `outlook`.' created_at: type: string title: Created At format: date-time creator: title: Creator description: The person who set the meeting up, by hand or through their calendar's auto join. deal: title: Deal description: The deal or budget the meeting is linked to. deal_id: type: integer title: Deal description: Meetings linked to this deal. duration_seconds: type: - integer - 'null' title: Duration Seconds description: The recorded length of the call, in seconds. ended_at: type: - string - 'null' title: Ended At format: date-time description: When the call ended; notetaker hours are counted by the month of it. id: type: integer title: Id description: Meetings with these ids. meeting_participants: title: Meeting Participants description: The people the calendar event invited and the people the notetaker saw join. meeting_url: type: - string - 'null' title: Meeting Url examples: - https://zoom.us/j/123 description: The join link of the call. notetaker_enabled: type: boolean title: Notetaker Enabled examples: - true description: Whether the notetaker bot is to join the call. organization: title: Organization platform: enum: - zoom - google_meet - microsoft_teams - webex - unknown - type: - string - 'null' title: Platform examples: - zoom description: The video platform of the call, read from `meeting_url` whenever it changes. project: title: Project description: The project the meeting is linked to. project_id: type: integer title: Project description: Meetings linked to one of these projects. query: type: string title: Query description: Matches the title; with `contains`, every term in the title or in the id. recording_url: type: - string - 'null' title: Recording Url description: The link to the call's recording once it is processed; cleared when the recording is deleted. scheduled_at: type: - string - 'null' title: Scheduled At format: date-time examples: - '2026-11-06T10:00:00Z' description: When the call is scheduled to start; null for an instant meeting. started_at: type: - string - 'null' title: Started At format: date-time description: When the recording of the call started. status: enum: - pending - failed - joining - waiting_room - in_progress - processing - completed - not_occurred type: string title: Status examples: - pending description: 'Where the notetaker is: opened (`pending`, `failed`), live (`joining`, `waiting_room`, `in_progress`, `processing`) or closed (`completed`, `not_occurred`).' summary: type: - string - 'null' title: Summary description: The meeting notes as HTML, written by AI from the transcript; people may edit them. title: type: - string - 'null' title: Title examples: - Weekly sync description: The meeting's name. transcript: type: - object - 'null' title: Transcript description: 'By default (`transcript_structure=legacy`) a list of speaker turns, each `{participant: {name}, words: [{text, start_timestamp: {relative}}]}`: `relative` is the word''s start in seconds from the start of the recording, a word carries no end, and `participant` is the speaker''s name only (null when unknown), not a `meeting_participants` record. With `transcript_structure=compact` (behind meetingRenameOrAddGuests), the transcript as it is stored: each speaker once in `participants`, keyed by speaker id, and every word in `words` naming its speaker by that id (`p`), with its text (`t`), start (`s`) and end (`e`) in seconds from the start of the recording. A speaker''s `meeting_participant_id` is the row it stands for, connected by name to the one guest row under its name when the call completes; null when it was disconnected.' transcript_markdown: type: - string - 'null' title: Transcript Markdown description: The transcript as Markdown, one paragraph per speaker turn. updated_at: type: string title: Updated At format: date-time guest_id: type: integer title: Guest description: Meetings these people were invited to or joined, the organizer included. joined_id: type: integer title: Joined description: Meetings these people actually attended. organizer_id: type: integer title: Organizer description: Meetings these people organized; an empty value matches meetings without an organizer. public_access: type: boolean title: Public Access description: Whether the meeting is published at its public link. public_uuid: type: - string - 'null' title: Public Uuid description: The key of the meeting's public link, `/api/v2/public/meetings/{uuid}`; kept after the meeting is unpublished. applies_to: enum: - this_meeting - upcoming_meetings - type: - string - 'null' title: Applies To description: Whether a changed notetaker or link applies to this meeting only or also to the upcoming meetings of its series. attachment_id: type: integer title: Attachment Id speakers: type: object title: Speakers description: The changes, keyed by speaker id; only the speakers named change, and no more than the transcript has. A plain `name` connects the speaker to the one other guest under that name, shown by that guest's person when it has one, and removes the guest the speaker stood for once no speaker does, else renames the guest the speaker stands for too. `meeting_participant_id` connects the speaker to a row of the meeting, and `null` disconnects it for good. `person_id` turns the speaker's guest into that person, with a guest's read access, and takes no `name` or `meeting_participant_id` beside it. additionalProperties: {} memberships: title: Memberships description: Who the meeting is shared with (people, teams, dynamic groups) and at what access level; who sees a completed meeting follows them. _deal_close_attributes: type: object properties: delivered_on: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/delivered_on" - type: 'null' title: 'Null' destroy_future_bookings: "$ref": "#/components/schemas/resource_deal/properties/destroy_future_bookings" confirm_revenue_distribution_variance: "$ref": "#/components/schemas/resource_deal/properties/confirm_revenue_distribution_variance" error_code_conflict: enum: - absence_in_past - agent_manager_membership_not_deletable - agent_manager_membership_not_editable - agent_not_found_for_role - agent_role_can_not_be_deleted - agent_role_can_not_transfer_people - allow_absence_disabled - already_activated - already_active - already_archived - already_closed - already_deactivated - already_joined - already_opened - approval_addon_disabled - approved_time_entry_not_editable - automation_agent_deactivated - autotracked_time_entry - bank_account_already_archived - bank_account_archived - bank_account_not_archived - bank_account_used_as_default - budget_already_exported - budget_closed - budget_delivered - budget_is_template - budget_missing_project - budget_not_client_budget - budget_not_exported - budget_project_archived - can_not_approve_unsubmitted_record - can_not_destroy_submitted_record - can_not_start_timer_for_approved_record - can_not_start_timer_on_submitted_record - cancel_error - cannot_apply_template_on_template_doc - cannot_approve_draft_record - cannot_archive_company - cannot_export_company - cannot_publish_doc_on_template - cannot_reject_autotracked_record - cannot_reject_draft_record - cannot_restore_company - cannot_unapprove_draft_record - cannot_unpublish_doc_on_template - cannot_unreject_draft_record - closed_budget - comment_already_pinned - comment_not_pinnable - comment_not_pinned - company_already_exported - company_export_unavailable - company_not_exported - contract_not_destroyable - create_setup_intent_error - custom_field_used_as_approver - datev_csv_export_feature_unavailable - deactivated - deal_closed - deal_cost_rate_not_editable - deal_owner_not_deletable - deal_status_amount_reached - deal_status_in_use - deal_status_last_stage_not_allowed - deal_status_mapped_to_hubspot_integration - declined - deleted_item_already_restored - engagements_on_holiday_calendar - erase_blocked - event_archived - event_automation_cant_be_manually_run - expense_not_exported - expense_not_linked - expense_sync_feature_unavailable - expenses_not_approved - export_not_pending - export_status_check_cooldown - financial_month_locked - financial_month_locked_expense - financial_month_locked_service - financial_month_locked_time_entry - folder_archived - has_credit_note - import_already_running - insufficient_plan - insufficient_seats - invalid_action - last_full_access_membership - last_subsidiary - move_to_person - must_have_at_least_one_status_in_closed_category - name_not_unique - next_occurrence_on_blank - no_time_approval_on_budget - not_archived - not_in_draft_status - organization_not_verified - organization_owner - people_on_subsidiary - person_erased - person_has_offboarding_in_progress - person_is_archived - person_is_placeholder - person_is_sample - person_is_user - person_not_joined - person_not_user - person_owner - person_virtual - pinned_comment_not_destroyable - project_already_archived - project_already_exported - project_already_restored - project_archived - project_duplication_in_progress - project_is_template - project_manager_membership_not_deletable - project_manager_membership_not_editable - project_not_client_project - project_not_exported - reactivate_error - recap_not_available - record_already_approved - record_already_archived - record_already_canceled - record_already_dismissed - record_already_doc - record_already_open - record_already_published - record_already_read - record_already_rejected - record_already_resolved - record_already_restored - record_already_unapproved - record_already_unrejected - record_archived - record_contains_custom_fields - record_is_last_active_workflow - record_is_last_pipeline - record_must_be_submitted_to_be_rejected - record_not_archived - record_not_dismissed - record_not_on_absence - record_not_published - record_not_read - record_on_remote_work - record_project_not_editable - record_used_on_projects - request_resolved - responded - retry_last_payment_error - revenue_distribution_variance - revenue_distribution_variance_blocked - role_being_used - role_not_editable_by_user - role_not_for_agents - seats_allocation_error - self_deactivation - service_type_already_archived - service_type_archived - service_type_not_archived - signed - slack_bot_integration_not_connected - subsidiary_archived - survey_field_option_already_archived - survey_field_option_inaccessible - system_segment_type - task_is_template - task_required_by_time_entries - tax_rate_already_archived - tax_rate_archived - tax_rate_not_archived - tax_rate_used_as_default - template_budget_not_destroyable - template_doc_not_destroyable - template_doc_not_moveable - template_project_not_destroyable - time_entries_not_approved - time_entry_invoiced - time_entry_overlap - timer_already_started - timer_already_stopped - timer_running - timer_started_on_record - too_many_creates_for_unverified_new_organization - too_many_invites_for_unverified_new_organization - two_factor_not_enabled - update_error - used_as_integration_default_workplace - user_and_not_virtual - webhook_already_activated - webhook_already_deactivated - webhook_is_not_activated type: string title: Error Code description: Every error `code` the resource abilities and forms return with a 409. error_code_meeting: enum: - bad_decimal_format - invalid_attribute - invalid_attribute_value - meeting_url_immutable - meeting_url_unsupported - non_finite_number - notetaker_already_active_for_url - notetaker_bot_already_in_call - notetaker_call_already_over - notetaker_could_not_start - notetaker_limit_exceeded - notetaker_not_pending - null_bytes_in_params type: string title: Error Code description: Every error `code` the meetings endpoints can return. _deal_create_from_origin_attributes: type: object properties: budget_warning: "$ref": "#/components/schemas/resource_deal/properties/budget_warning" client_access: "$ref": "#/components/schemas/resource_deal/properties/client_access" confirm_tentative_bookings: type: boolean contract_copy_expenses: type: boolean contract_copy_purchase_order_number: type: boolean copy_memberships: type: boolean currency: "$ref": "#/components/schemas/resource_deal/properties/currency" custom_fields: "$ref": "#/components/schemas/resource_deal/properties/custom_fields" date: "$ref": "#/components/schemas/resource_deal/properties/date" editor_config: "$ref": "#/components/schemas/resource_deal/properties/editor_config" end_date: "$ref": "#/components/schemas/resource_deal/properties/end_date" man_day_minutes: "$ref": "#/components/schemas/resource_deal/properties/man_day_minutes" move_expenses: type: boolean move_future_bookings: type: boolean move_time_entries: type: boolean name: "$ref": "#/components/schemas/resource_deal/properties/name" tracking_type_id: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/tracking_type_id" - type: 'null' title: 'Null' _deal_update_attributes: type: object properties: budget: "$ref": "#/components/schemas/resource_deal/properties/budget" budget_warning: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/budget_warning" - type: 'null' title: 'Null' client_access: "$ref": "#/components/schemas/resource_deal/properties/client_access" color_id: anyOf: - "$ref": "#/components/schemas/_deal_id" - type: 'null' title: 'Null' currency: "$ref": "#/components/schemas/resource_deal/properties/currency" custom_fields: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/custom_fields" - type: 'null' title: 'Null' date: "$ref": "#/components/schemas/resource_deal/properties/date" deal_type_id: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/deal_type_id" - type: string title: String pattern: "^[0-9]+$" deal_value: anyOf: - type: number title: Number minimum: 0 - type: 'null' title: 'Null' deal_value_source: "$ref": "#/components/schemas/resource_deal/properties/deal_value_source" delivered_on: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/delivered_on" - type: 'null' title: 'Null' destroy_future_bookings: "$ref": "#/components/schemas/resource_deal/properties/destroy_future_bookings" editor_config: "$ref": "#/components/schemas/resource_deal/properties/editor_config" end_date: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/end_date" - type: 'null' title: 'Null' lost_comment: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/lost_comment" - type: 'null' title: 'Null' man_day_minutes: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/man_day_minutes" - type: 'null' title: 'Null' manual_invoicing_status_id: "$ref": "#/components/schemas/resource_deal/properties/manual_invoicing_status_id" name: allOf: - "$ref": "#/components/schemas/resource_deal/properties/name" - maxLength: 255 note: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/note" - type: 'null' title: 'Null' overtime_enabled: type: boolean position: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/position" - type: 'null' title: 'Null' probability: anyOf: - allOf: - "$ref": "#/components/schemas/resource_deal/properties/probability" - maximum: 100 minimum: 0 title: Value - type: string title: String pattern: "^[0-9]+(\\.[0-9]+)?$" - type: 'null' title: 'Null' proposal_note: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/proposal_note" - type: 'null' title: 'Null' purchase_order_number: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/purchase_order_number" - type: 'null' title: 'Null' retainer_deal_value_type: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/retainer_deal_value_type" - type: 'null' title: 'Null' retainer_interval: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/retainer_interval" - type: 'null' title: 'Null' retainer_interval_count: anyOf: - type: integer title: Integer maximum: 24 minimum: 1 - type: 'null' title: 'Null' revenue_distribution_base: anyOf: - "$ref": "#/components/schemas/_filter_deal_revenue_distribution_base" - type: 'null' title: 'Null' revenue_distribution_method: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/revenue_distribution_method" - type: 'null' title: 'Null' revenue_distribution_type: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/revenue_distribution_type" - type: 'null' title: 'Null' rounding_interval_id: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/rounding_interval_id" - type: string title: String pattern: "^[0-9]+$" - type: 'null' title: 'Null' rounding_method_id: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/rounding_method_id" - type: string title: String pattern: "^[0-9]+$" - type: 'null' title: 'Null' sales_closed_on: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/sales_closed_on" - type: 'null' title: 'Null' service_type_restricted_tracking: "$ref": "#/components/schemas/resource_deal/properties/service_type_restricted_tracking" tag_list: type: array items: type: string time_entry_requirements: type: array items: enum: - note - task type: string tracking_type_id: anyOf: - "$ref": "#/components/schemas/resource_deal/properties/tracking_type_id" - type: string title: String pattern: "^[0-9]+$" - type: 'null' title: 'Null' validate_expense_when_closing: "$ref": "#/components/schemas/resource_deal/properties/validate_expense_when_closing" _response_object_resource_request_report: type: object title: Resource request report properties: attributes: type: object properties: time: anyOf: - "$ref": "#/components/schemas/resource_resource_request_report/properties/time" - type: string title: String - type: 'null' booking_method: "$ref": "#/components/schemas/resource_resource_request_report/properties/booking_method" count: "$ref": "#/components/schemas/resource_resource_request_report/properties/count" created_at_period: "$ref": "#/components/schemas/resource_resource_request_report/properties/created_at_period" currency: "$ref": "#/components/schemas/resource_resource_request_report/properties/currency" currency_default: "$ref": "#/components/schemas/resource_resource_request_report/properties/currency_default" currency_normalized: "$ref": "#/components/schemas/resource_resource_request_report/properties/currency_normalized" ended_on_period: "$ref": "#/components/schemas/resource_resource_request_report/properties/ended_on_period" group: "$ref": "#/components/schemas/resource_resource_request_report/properties/group" started_on_period: "$ref": "#/components/schemas/resource_resource_request_report/properties/started_on_period" status: "$ref": "#/components/schemas/resource_resource_request_report/properties/status" total_max_cost_per_hour: "$ref": "#/components/schemas/resource_resource_request_report/properties/total_max_cost_per_hour" total_max_cost_per_hour_default: "$ref": "#/components/schemas/resource_resource_request_report/properties/total_max_cost_per_hour_default" total_max_cost_per_hour_normalized: "$ref": "#/components/schemas/resource_resource_request_report/properties/total_max_cost_per_hour_normalized" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" creator_report: "$ref": "#/components/schemas/_single_relationship" deal_or_budget_report: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" report: "$ref": "#/components/schemas/_single_relationship" resolver: "$ref": "#/components/schemas/_single_relationship" resolver_report: "$ref": "#/components/schemas/_single_relationship" resource_request: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" service_report: "$ref": "#/components/schemas/_single_relationship" service_type: "$ref": "#/components/schemas/_single_relationship" subsidiary: "$ref": "#/components/schemas/_single_relationship" type: enum: - resource_request_reports type: string required: - id - type resource_resource_request_report: type: object title: Resource request report Resource properties: time: type: number title: Time booking_method: enum: - 1 - 2 - 3 type: integer title: Booking Method description: The booking method ID specifying how the requested time is tracked. count: type: integer title: Count description: Number of resource requests aggregated into this row created_at_period: title: Created At Period description: Bucketed creation date, populated when grouping by created_at over a period creator: title: Creator creator_report: title: Creator Report currency: type: string title: Currency description: The currency code used for cost calculations on this resource request. currency_default: title: Currency Default description: The default account-level currency code used for cost calculations. currency_normalized: title: Currency Normalized description: The normalized quote-level currency code used for cost calculations. deal_or_budget_report: title: Deal or Budget Report ended_on_period: title: Ended On Period description: Bucketed end date, populated when grouping by ended_on over a period group: type: string title: Group description: The dimension value each aggregated row represents; mirrors the group query parameter resolver: title: Resolver resolver_report: title: Resolver Report resource_request: title: Resource Request service: title: Service service_report: title: Service Report service_type: title: Service Type started_on_period: title: Started On Period description: Bucketed start date, populated when grouping by started_on over a period status: enum: - pending - resolved - rejected - canceled type: string title: Status description: 'The current status of the resource request: pending, resolved, rejected, or canceled.' subsidiary: title: Subsidiary total_max_cost_per_hour: title: Total Max Cost Per Hour description: Sum of the maximum cost per hour of the requests in this row, in the record currency total_max_cost_per_hour_default: title: Total Max Cost Per Hour Default description: Sum of the maximum cost per hour of the requests in this row, converted to the account's default currency total_max_cost_per_hour_normalized: title: Total Max Cost Per Hour Normalized description: Sum of the maximum cost per hour of the requests in this row, converted to the report's normalized currency resource_agent: type: object title: Agent Resource description: Represents an AI agent — an automated member of the organization backed by a `Person` record, with its own name, role, manager, and optional configuration. properties: agent_config: title: Agent Config description: The agent's configuration, containing its AI instructions. avatar_url: type: string title: Avatar URL description: URL of the agent's avatar image. created_at: type: string title: Created At format: date-time description: The timestamp when this agent was created. custom_role: title: Custom Role description: The custom role assigned to this agent, defining its permissions within the organization. custom_role_id: type: integer title: Custom Role description: The ID of the custom role assigned to this agent, which defines its permissions. deactivated_at: type: string title: Deactivated At format: date-time description: The timestamp when this agent was deactivated. `null` if the agent is currently active. id: type: integer title: Id description: The unique identifier of the agent. manager: title: Manager description: The human team member responsible for managing this agent — cannot be another agent. manager_id: type: integer title: Manager description: The ID of the person responsible for managing this agent. name: type: string title: Name description: The agent's display name, derived from its first name. person: title: Person description: The underlying `Person` record backing this agent. query: type: string title: Query description: Free-text search filter for agents — matches against the agent's name. status: enum: - active - deactivated type: string title: Status description: The agent's current status — `active` when available, `deactivated` when disabled. status_id: enum: - 1 - 2 type: integer title: Status description: The numeric identifier for the agent's status — integer alternative to the string `status` field, used for filtering. title: type: string title: Title description: The agent's job title or functional role label. updated_at: type: string title: Updated At format: date-time description: The timestamp when this agent was last updated. memberships: title: Memberships resource_dashboard: type: object title: Dashboard Resource description: A configurable dashboard with widgets displaying KPIs, charts, and project summaries. properties: created_at: type: string title: Created At format: date-time description: Timestamp when the dashboard was created. example: gt: '2026-01-01' creator: title: Creator description: The person who created this dashboard. example: eq: value editable: type: boolean title: Editable description: Indicates whether the current user can edit this dashboard. example: eq: value is_private: type: boolean title: Is Private description: When true, this dashboard is private and only visible to the creator. example: eq: value name: type: string title: Name description: The display name of the dashboard. example: eq: value organization: title: Organization description: The organization this dashboard belongs to. example: eq: value project: title: Project description: The project this dashboard is scoped to, if project-level. example: eq: value project_id: type: integer title: Project description: The ID of the project this dashboard is scoped to, if project-level. example: - 123 query: type: string title: Query description: A saved filter query applied to this dashboard's data. example: eq: value updated_at: type: string title: Updated At format: date-time description: Timestamp when this dashboard was last updated. example: gt: '2026-01-01' memberships: title: Memberships example: id: '34' type: dashboards attributes: name: Project Overview shared: false created_at: '2026-01-20T09:00:00.000+00:00' updated_at: '2026-03-01T10:00:00.000+00:00' relationships: owner: data: type: people id: '12' resource_survey: type: object title: Survey Resource description: Project form for structured data collection. Supports automation triggers on submission. Responses are stored as survey_response records with field values. properties: created_at: type: string title: Created At format: date-time description: Timestamp when this survey was created. example: gt: '2026-01-01' creator: title: Creator description: The person who created this survey. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created this survey. example: - 123 editable: type: boolean title: Editable description: Whether the current user can edit this survey. example: eq: value id: type: integer title: Id description: The unique identifier of this survey. example: - 123 organization: title: Organization description: The organization this survey belongs to. example: eq: value project: title: Project description: The project this survey is associated with. example: eq: value project_id: type: integer title: Project description: ID of the project this survey is associated with. example: - 123 public_uuid: type: string title: Public Uuid description: Public UUID used to identify this survey in shareable links. example: eq: value query: type: string title: Query description: Text search query applied when filtering surveys. example: eq: value 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 title: type: string title: Title description: The title of this survey. example: eq: value updated_at: type: string title: Updated At format: date-time description: Timestamp when this survey was last updated. example: gt: '2026-01-01' updater: title: Updater description: The person who last updated this survey. example: eq: value anonymous_responses: type: boolean title: Anonymous Responses memberships: title: Memberships 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' error_code_revenue_distribution: enum: - bad_decimal_format - feature_unavailable - invalid_attribute - invalid_attribute_value - invalid_revenue_distribution_type - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the revenue distribution endpoints can return. resource_project: type: object title: Project Resource 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. properties: import: title: Import archived_at: type: string title: Archived At format: date-time description: Archived at date example: gt: '2026-01-01' budget_id: type: integer title: Budget description: ID of a budget linked to this project. 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 company_name: title: Company Name description: Name of the client company associated with this project. example: eq: value cost: type: integer title: Cost description: Total cost across all open budgets for this project, in the organization's base currency. example: eq: value 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' custom_field_people: title: Custom Field People description: People referenced by person-type custom field values on this project. example: eq: value custom_fields: type: object title: Custom Fields description: Custom field values for this project, keyed by custom field ID. 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 estimated_time: type: integer title: Estimated Time description: Total estimated time across all open budgets for this project, in minutes. example: gt: 0 for_tracking: type: boolean title: For Tracking description: Whether this project is eligible for time tracking (i.e. active). example: eq: value full_query: type: string title: Full Query description: Full-text search query across all project content fields. example: eq: value fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy date range filter for project start/end dates. example: gt: '2026-01-01' fuzzy_people: type: integer title: Fuzzy People description: Fuzzy person filter — matches projects by associated people. example: eq: value id: type: integer title: Id description: Unique project ID. example: - 123 jump_query: type: string title: Jump Query description: Quick-jump search query for project navigation. 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' last_actor: title: Last Actor description: The person who last performed an activity on this project. example: eq: value name: type: string title: Name description: Project name. example: eq: value number: type: string title: Number description: Auto-generated unique project number. example: eq: value organization: title: Organization description: The organization this project belongs to. example: eq: value page_custom_fields_ids: type: array items: type: string 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 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 person_id: type: integer title: Person description: ID of a person who is a member of this project. example: - 123 preferences: type: object title: Preferences description: Project-level display and behavior preferences. 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 profit_margin: type: integer title: Profit Margin description: Profit margin percentage across all open budgets for this project. example: eq: value project_color: type: integer title: Project Color description: Display color label for the project. example: eq: value project_color_id: type: integer title: Project Color description: Display color ID for the project. example: - 123 project_id: type: integer title: Project description: Alias for the project ID field. example: - 123 project_manager: title: Project Manager description: The project manager responsible for this project. example: eq: value project_manager_id: type: integer title: Project Manager description: ID of the project manager (responsible person). example: - 123 project_number: type: string title: Project Number description: Formatted project number string (e.g. ACME-001). example: eq: value project_type: enum: - 1 - 2 type: integer title: Project Type description: Project type — 1 for internal/overhead, 2 for billable client work. example: eq: active project_type_id: enum: - 1 - 2 type: integer title: Project Type description: Whether this project is internal overhead (1) or billable client work (2). example: - 123 query: type: string title: Query description: Full-text search query across project fields. example: eq: value responsible_id: type: integer title: Responsible description: ID of the responsible person (project manager) for this project. example: - 123 revenue: type: integer title: Revenue description: Total revenue across all open budgets for this project, in the organization's base currency. example: eq: value sample_data: type: boolean title: Sample Data description: Whether this project was created with sample/demo data. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: Project status. 1 = active, 2 = archived. example: eq: active tag_colors: type: object title: Tag Colors description: Color mappings for project tags, keyed by tag name. example: eq: value task_custom_fields_ids: type: array items: type: string title: Task Custom Fields Ids description: Ordered list of custom field IDs enabled for tasks in this project. example: - 123 - 456 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 template: type: boolean title: Template description: Whether this project is a template. example: eq: value template_object: title: Template Object description: The template this project was created from, if any. example: eq: value 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 worked_time: type: integer title: Worked Time description: Total worked time across all open budgets for this project, in minutes. example: gt: 0 workflow: title: Workflow description: The task workflow used in this project. example: eq: value workflow_id: type: integer title: Workflow description: ID of the task workflow used in this project. example: - 123 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 with_templates: type: boolean title: With Templates description: When true, includes project templates in the results (templates are excluded by default). example: eq: value description: type: string title: Description export_error: type: string title: Export Error export_id: type: string title: Export export_status: enum: - pending - failed - exported - unexported type: string title: Export Status export_url: type: string title: Export Url exported: type: boolean title: Exported exported_at: type: string title: Exported At format: date-time external_deal_id: type: string title: External Deal project_milestones: title: Project Milestones description: Milestones on this project. Sideload them with `include=project_milestones`. example: data: - type: project_milestones id: '42' memberships: title: Memberships 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' error_code_overhead: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - overhead_controls_not_allowed - overhead_cost_feature_unavailable - overhead_type_mismatch type: string title: Error Code description: Every error `code` the overheads endpoints can return. error_code_webhook: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - webhook_event_locked_on_retry - webhook_feature_unavailable - zapier_event_unavailable - zapier_target_url_invalid type: string title: Error Code description: Every error `code` the webhooks endpoints can return in a 422 response. error_code_tax_rate: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - tax_rate_default_locked - tax_rate_used_on_invoice - tax_rate_used_on_proposal type: string title: Error Code description: Every error `code` the tax rates endpoints can return in a 422 response. error_code_todo: enum: - bad_decimal_format - integer_limit_exceeded - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the todo endpoints can return. _filter_root_bill_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_bill_report" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_bill_report" error_code_purchase_order: enum: - bad_decimal_format - currency_invalid - deal_change_not_allowed - invalid_attribute_value - non_finite_number - null_bytes_in_params - purchase_order_setting_disabled - purchase_orders_feature_unavailable type: string title: Error Code description: Every error `code` the purchase order endpoints can return. filter_bill_report: type: object title: Filter bill report patternProperties: "^deal\\..+$": title: Deal relationship "^creator\\..+$": title: Creator relationship "^purchase_order\\..+$": title: Purchase order relationship properties: creator_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List date: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_bill_report/properties/date" not_eq: "$ref": "#/components/schemas/resource_bill_report/properties/date" gt: "$ref": "#/components/schemas/resource_bill_report/properties/date" lt: "$ref": "#/components/schemas/resource_bill_report/properties/date" gt_eq: "$ref": "#/components/schemas/resource_bill_report/properties/date" lt_eq: "$ref": "#/components/schemas/resource_bill_report/properties/date" - "$ref": "#/components/schemas/resource_bill_report/properties/date" deal_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List description: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_bill_report/properties/description" not_eq: "$ref": "#/components/schemas/resource_bill_report/properties/description" gt: "$ref": "#/components/schemas/resource_bill_report/properties/description" lt: "$ref": "#/components/schemas/resource_bill_report/properties/description" gt_eq: "$ref": "#/components/schemas/resource_bill_report/properties/description" lt_eq: "$ref": "#/components/schemas/resource_bill_report/properties/description" contains: "$ref": "#/components/schemas/resource_bill_report/properties/description" not_contain: "$ref": "#/components/schemas/resource_bill_report/properties/description" - "$ref": "#/components/schemas/resource_bill_report/properties/description" due_date: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_bill_report/properties/due_date" not_eq: "$ref": "#/components/schemas/resource_bill_report/properties/due_date" gt: "$ref": "#/components/schemas/resource_bill_report/properties/due_date" lt: "$ref": "#/components/schemas/resource_bill_report/properties/due_date" gt_eq: "$ref": "#/components/schemas/resource_bill_report/properties/due_date" lt_eq: "$ref": "#/components/schemas/resource_bill_report/properties/due_date" - "$ref": "#/components/schemas/resource_bill_report/properties/due_date" id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List invoice_number: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_bill_report/properties/invoice_number" not_eq: "$ref": "#/components/schemas/resource_bill_report/properties/invoice_number" gt: "$ref": "#/components/schemas/resource_bill_report/properties/invoice_number" lt: "$ref": "#/components/schemas/resource_bill_report/properties/invoice_number" gt_eq: "$ref": "#/components/schemas/resource_bill_report/properties/invoice_number" lt_eq: "$ref": "#/components/schemas/resource_bill_report/properties/invoice_number" contains: "$ref": "#/components/schemas/resource_bill_report/properties/invoice_number" not_contain: "$ref": "#/components/schemas/resource_bill_report/properties/invoice_number" - "$ref": "#/components/schemas/resource_bill_report/properties/invoice_number" purchase_order_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List gt: "$ref": "#/components/schemas/_request_id" lt: "$ref": "#/components/schemas/_request_id" gt_eq: "$ref": "#/components/schemas/_request_id" lt_eq: "$ref": "#/components/schemas/_request_id" contains: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/_request_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/_request_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/_request_id" title: List total_cost: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_bill_report/properties/total_cost" not_eq: "$ref": "#/components/schemas/resource_bill_report/properties/total_cost" gt: "$ref": "#/components/schemas/resource_bill_report/properties/total_cost" lt: "$ref": "#/components/schemas/resource_bill_report/properties/total_cost" gt_eq: "$ref": "#/components/schemas/resource_bill_report/properties/total_cost" lt_eq: "$ref": "#/components/schemas/resource_bill_report/properties/total_cost" - "$ref": "#/components/schemas/resource_bill_report/properties/total_cost" total_received: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_bill_report/properties/total_received" not_eq: "$ref": "#/components/schemas/resource_bill_report/properties/total_received" gt: "$ref": "#/components/schemas/resource_bill_report/properties/total_received" lt: "$ref": "#/components/schemas/resource_bill_report/properties/total_received" gt_eq: "$ref": "#/components/schemas/resource_bill_report/properties/total_received" lt_eq: "$ref": "#/components/schemas/resource_bill_report/properties/total_received" - "$ref": "#/components/schemas/resource_bill_report/properties/total_received" resource_bill_report: type: object title: Bill report Resource properties: bill: title: Bill bill_date: type: string title: Bill Date format: date bill_due_date: type: string title: Bill Due Date format: date bill_invoice_number: type: string title: Bill Invoice Number count: type: integer title: Count creator: title: Creator creator_id: type: integer title: Creator currency: type: string title: Currency currency_default: title: Currency Default currency_normalized: title: Currency Normalized date: type: string title: Date format: date date_period: title: Date Period deal: title: Deal deal_id: type: integer title: Deal description: type: string title: Description due_date: type: string title: Due Date format: date due_date_period: title: Due Date Period formula_fields: title: Formula Fields group: type: string title: Group id: type: integer title: Id invoice_number: type: string title: Invoice Number number: type: string title: Number organization: title: Organization payment_status_id: type: integer title: Payment Status purchase_order: title: Purchase Order purchase_order_id: type: integer title: Purchase Order report: title: Report sent_status: type: integer title: Sent Status status_id: type: integer title: Status total_cost: title: Total Cost total_cost_default: title: Total Cost Default total_cost_normalized: title: Total Cost Normalized total_received: title: Total Received total_received_default: title: Total Received Default total_received_normalized: title: Total Received Normalized vendor: title: Vendor error_code_folder: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - task_lists_required - tasks_required - workflow_statuses_invalid - workflow_statuses_required type: string title: Error Code description: Every error `code` the folders endpoints can return. error_code_rate_card: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - rate_card_limit_reached type: string title: Error Code description: Every error `code` the rate cards endpoints can return in a 422 response. _artifact_create_attributes: type: object properties: content: type: string description: anyOf: - "$ref": "#/components/schemas/resource_artifact/properties/description" - type: 'null' title: 'Null' name: allOf: - "$ref": "#/components/schemas/resource_artifact/properties/name" - maxLength: 250 required: - name - content _artifact_update_attributes: type: object properties: content: type: string description: anyOf: - "$ref": "#/components/schemas/resource_artifact/properties/description" - type: 'null' title: 'Null' name: allOf: - "$ref": "#/components/schemas/resource_artifact/properties/name" - maxLength: 250 _response_object_artifact: type: object title: Artifact properties: attributes: type: object properties: created_at: "$ref": "#/components/schemas/resource_artifact/properties/created_at" description: anyOf: - "$ref": "#/components/schemas/resource_artifact/properties/description" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_artifact/properties/name" public_access: "$ref": "#/components/schemas/resource_artifact/properties/public_access" public_uuid: anyOf: - "$ref": "#/components/schemas/resource_artifact/properties/public_uuid" - type: 'null' title: 'Null' updated_at: "$ref": "#/components/schemas/resource_artifact/properties/updated_at" id: type: string relationships: type: object properties: attachment: "$ref": "#/components/schemas/_single_relationship" creator: "$ref": "#/components/schemas/_single_relationship" thumbnail_attachment: "$ref": "#/components/schemas/_single_relationship" type: enum: - artifacts type: string required: - id - type error_code_artifact: enum: - artifact_not_publishable - bad_decimal_format - content_too_large - invalid_attribute_value - kind_not_available - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the artifacts endpoints can return. resource_artifact: type: object title: Artifact Resource properties: content_url: type: string title: Content Url created_at: type: string title: Created At format: date-time creator_id: type: integer description: type: string title: Description id: type: integer name: type: string title: Name public_access: type: boolean title: Public Access public_uuid: type: string title: Public Uuid updated_at: type: string title: Updated At format: date-time attachment: title: Attachment creator: title: Creator memberships: title: Memberships _response_object_time_tracking_policy: type: object title: Time tracking policy properties: attributes: type: object properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/archived_at" - type: 'null' title: 'Null' assigned_people_count: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/assigned_people_count" created_at: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/created_at" disabled_tracking_message: anyOf: - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/disabled_tracking_message" - type: 'null' title: 'Null' full_day_absence_limit: anyOf: - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/full_day_absence_limit" - type: 'null' title: 'Null' half_day_absence_limit: anyOf: - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/half_day_absence_limit" - type: 'null' title: 'Null' holiday_limit: anyOf: - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/holiday_limit" - type: 'null' title: 'Null' limited_tracking_message: anyOf: - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/limited_tracking_message" - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/name" non_working_day_limit: anyOf: - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/non_working_day_limit" - type: 'null' title: 'Null' restrict_time_entry_overlap: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/restrict_time_entry_overlap" updated_at: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/updated_at" working_day_limit: anyOf: - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/working_day_limit" - type: 'null' title: 'Null' description: anyOf: - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/description" - type: 'null' title: 'Null' overtime_cost_multiplier: anyOf: - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/overtime_cost_multiplier" - type: string title: String - type: 'null' title: 'Null' overtime_enabled: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/overtime_enabled" id: type: string relationships: type: object properties: creator: "$ref": "#/components/schemas/_single_relationship" last_actor: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" type: enum: - time_tracking_policies type: string required: - id - type resource_lost_reason: type: object title: Lost reason Resource description: A label explaining why a deal was lost, used for sales pipeline analytics. properties: archived_at: type: string title: Archived At format: date-time description: Timestamp when this lost reason was archived, or null if active. example: gt: '2026-01-01' id: type: integer title: Id description: The unique identifier of this lost reason. example: - 123 name: type: string title: Name description: Label text displayed on the deal when marked as lost. example: eq: value organization: title: Organization description: The organization this lost reason belongs to. example: eq: value position: type: integer title: Position example: id: '3' type: lost_reasons attributes: name: Budget constraints position: 1 archived_at: relationships: {} resource_time_tracking_policy: type: object title: Time tracking policy Resource description: A time tracking policy defines rules for how time entries can be logged, including limits and mandatory fields. properties: created_at: type: string title: Created At format: date-time description: Timestamp when the time tracking policy was created. example: gt: '2026-01-01' creator: title: Creator description: The person who created this time tracking policy. 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 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 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 holiday_limit: type: integer title: Holiday Limit description: Maximum hours that can be tracked on a public holiday. example: eq: value id: type: integer title: Id description: Unique identifier for the time tracking policy. example: - 123 last_actor: title: Last Actor description: The person who last modified this time tracking policy. example: eq: value 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 name: type: string title: Name description: The display name of the 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 organization: title: Organization description: The organization this time tracking policy belongs to. example: eq: value person_id: type: integer title: Person description: The ID of the person this policy applies to, if person-specific. example: - 123 restrict_time_entry_overlap: type: boolean title: Restrict Time Entry Overlap description: When true, overlapping time entry ranges are not allowed. example: gt: 0 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' working_day_limit: type: integer title: Working Day Limit description: Maximum hours that can be tracked on a standard working day. 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' assigned_people_count: title: Assigned People Count description: The number of active people currently assigned to this time tracking policy. example: gt: 0 status: enum: - 1 - 2 type: integer title: Status description: The status of this policy, indicating whether it is active or archived. example: eq: active description: type: string title: Description overtime_cost_multiplier: type: number title: Overtime Cost Multiplier overtime_enabled: type: boolean title: Overtime Enabled example: id: '123' type: time_tracking_policies attributes: name: Standard Policy requires_notes: true max_daily_hours: 12 relationships: {} _filter_root_artifact_version: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_artifact_version" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_artifact_version" _filter_root_balancing_hour_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_balancing_hour_report" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_balancing_hour_report" _filter_root_connection: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_connection" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_connection" _filter_root_email_link: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_email_link" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_email_link" _filter_root_filter_preference: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_filter_preference" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_filter_preference" _filter_root_financial_month: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_financial_month" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_financial_month" _filter_root_mcp_connector: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_mcp_connector" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_mcp_connector" _filter_root_mcp_server: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_mcp_server" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_mcp_server" _filter_root_payment_reminder: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_payment_reminder" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_payment_reminder" _filter_root_proposal_service: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_proposal_service" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_proposal_service" _filter_root_proposal_session: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_proposal_session" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_proposal_session" _filter_root_purchase_order_report: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_purchase_order_report" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_purchase_order_report" _filter_root_workload_item: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_workload_item" properties: "$op": enum: - or - and type: string required: - "$op" - "$ref": "#/components/schemas/filter_workload_item" _response_object_task: type: object title: Task properties: attributes: type: object properties: billable_time: anyOf: - "$ref": "#/components/schemas/resource_task/properties/billable_time" - type: 'null' title: 'Null' blocking_dependency_count: "$ref": "#/components/schemas/resource_task/properties/blocking_dependency_count" booked_time: "$ref": "#/components/schemas/resource_task/properties/booked_time" bookings_count: "$ref": "#/components/schemas/resource_task/properties/bookings_count" closed: "$ref": "#/components/schemas/resource_task/properties/closed" closed_at: anyOf: - "$ref": "#/components/schemas/resource_task/properties/closed_at" - type: 'null' title: 'Null' created_at: "$ref": "#/components/schemas/resource_task/properties/created_at" creation_method_id: anyOf: - "$ref": "#/components/schemas/resource_task/properties/creation_method_id" - type: 'null' title: 'Null' custom_fields: anyOf: - "$ref": "#/components/schemas/resource_task/properties/custom_fields" - type: 'null' title: 'Null' deleted_at: anyOf: - "$ref": "#/components/schemas/resource_task/properties/deleted_at" - type: 'null' title: 'Null' description: anyOf: - "$ref": "#/components/schemas/resource_task/properties/description" - type: 'null' title: 'Null' due_date: anyOf: - "$ref": "#/components/schemas/resource_task/properties/due_date" - type: 'null' title: 'Null' due_time: anyOf: - "$ref": "#/components/schemas/resource_task/properties/due_time" - type: 'null' title: 'Null' email_key: anyOf: - "$ref": "#/components/schemas/resource_task/properties/email_key" - type: 'null' title: 'Null' future_booked_time: "$ref": "#/components/schemas/resource_task/properties/future_booked_time" initial_estimate: anyOf: - "$ref": "#/components/schemas/resource_task/properties/initial_estimate" - type: 'null' title: 'Null' last_activity_at: anyOf: - "$ref": "#/components/schemas/resource_task/properties/last_activity_at" - type: 'null' title: 'Null' linked_dependency_count: "$ref": "#/components/schemas/resource_task/properties/linked_dependency_count" number: anyOf: - "$ref": "#/components/schemas/resource_task/properties/number" - type: 'null' title: 'Null' open_subtask_count: anyOf: - "$ref": "#/components/schemas/resource_task/properties/open_subtask_count" - type: 'null' title: 'Null' open_todo_count: anyOf: - "$ref": "#/components/schemas/resource_task/properties/open_todo_count" - type: 'null' title: 'Null' placement: anyOf: - "$ref": "#/components/schemas/resource_task/properties/placement" - type: 'null' title: 'Null' private: "$ref": "#/components/schemas/resource_task/properties/private" remaining_time: anyOf: - "$ref": "#/components/schemas/resource_task/properties/remaining_time" - type: 'null' title: 'Null' repeat_on_date: anyOf: - "$ref": "#/components/schemas/resource_task/properties/repeat_on_date" - type: 'null' title: 'Null' repeat_on_interval: anyOf: - "$ref": "#/components/schemas/resource_task/properties/repeat_on_interval" - type: 'null' title: 'Null' repeat_on_monthday: anyOf: - "$ref": "#/components/schemas/resource_task/properties/repeat_on_monthday" - type: 'null' title: 'Null' repeat_on_weekday: "$ref": "#/components/schemas/resource_task/properties/repeat_on_weekday" repeat_origin_id: anyOf: - "$ref": "#/components/schemas/resource_task/properties/repeat_origin_id" - type: 'null' title: 'Null' repeat_schedule_id: anyOf: - "$ref": "#/components/schemas/resource_task/properties/repeat_schedule_id" - type: 'null' title: 'Null' start_date: anyOf: - "$ref": "#/components/schemas/resource_task/properties/start_date" - type: 'null' title: 'Null' subtask_count: anyOf: - "$ref": "#/components/schemas/resource_task/properties/subtask_count" - type: 'null' title: 'Null' subtask_placement: anyOf: - "$ref": "#/components/schemas/resource_task/properties/subtask_placement" - type: 'null' title: 'Null' tag_list: "$ref": "#/components/schemas/resource_task/properties/tag_list" task_dependency_count: "$ref": "#/components/schemas/resource_task/properties/task_dependency_count" task_number: anyOf: - "$ref": "#/components/schemas/resource_task/properties/task_number" - type: 'null' title: 'Null' title: "$ref": "#/components/schemas/resource_task/properties/title" todo_assignee_ids: anyOf: - "$ref": "#/components/schemas/resource_task/properties/todo_assignee_ids" - type: 'null' title: 'Null' todo_count: anyOf: - "$ref": "#/components/schemas/resource_task/properties/todo_count" - type: 'null' title: 'Null' type_id: "$ref": "#/components/schemas/resource_task/properties/type_id" updated_at: "$ref": "#/components/schemas/resource_task/properties/updated_at" waiting_on_dependency_count: "$ref": "#/components/schemas/resource_task/properties/waiting_on_dependency_count" worked_time: anyOf: - "$ref": "#/components/schemas/resource_task/properties/worked_time" - type: 'null' title: 'Null' id: type: string relationships: type: object properties: assignee: "$ref": "#/components/schemas/_single_relationship" attachments: "$ref": "#/components/schemas/_collection_relationship" creator: "$ref": "#/components/schemas/_single_relationship" custom_field_attachments: "$ref": "#/components/schemas/_collection_relationship" custom_field_people: "$ref": "#/components/schemas/_collection_relationship" last_actor: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" parent_task: "$ref": "#/components/schemas/_single_relationship" placeholder_usages: "$ref": "#/components/schemas/_collection_relationship" project: "$ref": "#/components/schemas/_single_relationship" repeated_task: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" subtasks: "$ref": "#/components/schemas/_collection_relationship" task_dependencies: "$ref": "#/components/schemas/_collection_relationship" task_list: "$ref": "#/components/schemas/_single_relationship" template_object: "$ref": "#/components/schemas/_single_relationship" todos: "$ref": "#/components/schemas/_collection_relationship" workflow_status: "$ref": "#/components/schemas/_single_relationship" type: enum: - tasks type: string required: - id - type error_code_agent: enum: - agent_role_already_assigned - bad_decimal_format - invalid_attribute_value - manager_cannot_be_agent - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the agents endpoints can return. error_code_agent_config: enum: - agent_config_already_exists_for_agent - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - slack_triggers_schema_invalid type: string title: Error Code description: Every error `code` the agent configs endpoints can return. error_code_backoffice_session: enum: - bad_decimal_format - impersonate_id_restricted - impersonator_id_restricted - invalid_attribute_value - non_finite_number - null_bytes_in_params - read_only_access_required type: string title: Error Code description: Every error `code` the backoffice sessions endpoints can return. error_code_backoffice_setting: enum: - bad_decimal_format - invalid_attribute_value - invalid_json_format - non_finite_number - null_bytes_in_params - schema_mismatch type: string title: Error Code description: Every error `code` the backoffice settings endpoints can return. error_code_booking: enum: - absence_booking_placeholder_not_allowed - absence_percentage_invalid - absence_percentage_not_allowed - agent_cannot_have_booking - autotracking_feature_unavailable - autotracking_not_allowed_with_limitations - autotracking_requires_service_booking - bad_decimal_format - booking_date_range_too_long - booking_event_archived - booking_locked_period - booking_locked_time_tracking_period - booking_outside_budget_dates - booking_outside_task_date_range - booking_requires_service_or_event - booking_split_date_invalid - booking_type_change_not_allowed - bookings_move_missing_entitlements - custom_field_invalid_option - custom_field_invalid_person - custom_field_not_found - custom_field_value_not_date - custom_field_value_not_number - custom_field_value_not_string - custom_field_value_out_of_range - custom_field_value_too_long - draft_requires_service_booking - entitlements_required - integer_limit_exceeded - invalid_attribute_value - missing_allocations - no_bookable_dates - no_cost_rates_for_period - no_usable_allocations - non_finite_number - null_bytes_in_params - required_custom_field - service_booking_attachment_not_allowed - service_outside_budget_dates type: string title: Error Code description: Every error `code` the bookings endpoints can return with a 422. error_code_comment: enum: - bad_decimal_format - comment_commentable_invalid - comment_version_number_invalid - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the comments endpoints can return. error_code_connection: enum: - bad_decimal_format - connection_already_exists - connection_record_already_connected - connection_record_not_found - invalid_attribute_value - non_finite_number - null_bytes_in_params - origin_record_not_found - record_already_synced type: string title: Error Code description: Every error `code` the connections endpoints can return in a 422 response. error_code_document_type: enum: - bad_decimal_format - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the document types endpoints can return. error_code_einvoice_configuration: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the e-invoice configuration endpoints can return. error_code_filter: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the filters endpoints can return in a 422 response. error_code_integration: enum: - agent_integrations_disabled - agent_not_allowed_for_type - auth_scopes_insufficient - bad_decimal_format - bamboo_integration_feature_unavailable - breathehr_integration_feature_unavailable - calendar_event_ids_not_accessible - datev_automatic_accounts_invalid - datev_client_already_exists - email_integration_feature_unavailable - exact_division_invalid - expense_sync_feature_unavailable - gmail_integration_feature_unavailable - gmail_mailbox_already_connected - google_api_disabled - google_calendar_account_mismatch - google_calendar_already_connected - google_calendar_read_scope_missing - hris_integration_already_active - hris_integration_feature_unavailable - hubspot_deal_sync_mode_invalid - hubspot_integration_already_connected - hubspot_integration_feature_unavailable - hubspot_portal_mismatch - hubspot_stages_mapping_incomplete - hubspot_stages_mapping_not_one_to_one - hubspot_stages_mapping_required - integration_moved_to_sso_configurations - integration_moved_to_webhooks - invalid_agent - invalid_agent_manager - invalid_attribute_value - invalid_subdomain - invoicing_integrations_feature_unavailable - jira_integration_already_exists - jira_integration_feature_unavailable - jira_integration_project_and_deal_conflict - jira_integration_project_or_deal_required - jira_task_management_integration_not_enabled - mapping_required_target_missing - mcp_connectors_unavailable - microsoft_api_disabled - no_bamboo_types_selected - non_finite_number - null_bytes_in_params - oauth_error - oauth_state_invalid - outlook_mailbox_already_connected - overlapping_bamboo_type_ids - personio_account_mismatch - personio_integration_feature_unavailable - personio_time_off_types_unavailable - projects_export_disabled - purchase_orders_export_feature_unavailable - relationship_mapping_source_invalid - rippling_integration_feature_unavailable - sage_intacct_project_category_invalid - salesforce_integration_already_connected - salesforce_integration_feature_unavailable - slack_event_ids_not_accessible - slack_event_ids_not_syncable - slack_integration_already_exists - slack_notifications_integration_already_exists - subsidiary_integration_already_exists - tax_rate_mapping_incomplete - tax_rate_mapping_required - teams_bot_integration_already_exists - teams_integration_feature_unavailable - teams_integration_state_mismatch - teams_personal_integration_already_exists - teams_personal_integration_not_enabled - user_provisioning_scim_conflict type: string title: Error Code description: Every error `code` the integrations endpoints can return in a 422 response. error_code_invitation: enum: - bad_decimal_format - email_already_exists - invalid_attribute - invalid_attribute_value - invitation_token_invalid - non_finite_number - null_bytes_in_params - organization_email_domain_invalid type: string title: Error Code description: Every error `code` the invitations endpoints can return. error_code_invoice: enum: - bad_decimal_format - company_export_missing_relationship_value - currency_invalid - custom_invoice_template_unsupported - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the invoices endpoints can return in a 422 response. error_code_mcp_connector: enum: - bad_decimal_format - invalid_agent - invalid_agent_manager - invalid_attribute - invalid_attribute_value - invalid_auth_type - non_finite_number - not_found - null_bytes_in_params - refresh_token_missing - state_invalid - token_exchange_failed - token_missing_in_response - token_refresh_failed - token_refresh_in_progress - connector_disconnected type: string title: Error Code description: Every error `code` the MCP connectors endpoints can return. error_code_membership: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the membership endpoints can return. error_code_organization_champion: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the organization champions endpoints can return in a 422 response. error_code_person: enum: - bad_decimal_format - cannot_merge_into_itself - client_company_not_org - client_role_outside_own_subsidiary - contact_field_unknown - contact_list_not_array - contact_list_not_hash - contact_type_unknown - contractor_company_not_org - custom_field_invalid_option - custom_field_invalid_person - custom_field_not_found - custom_field_value_not_date - custom_field_value_not_number - custom_field_value_not_string - custom_field_value_out_of_range - custom_field_value_too_long - custom_role_outside_subsidiary - email_already_exists - email_change_not_allowed - employee_company_must_be_org - invalid_attribute_value - invalid_role_for_organization_owner - inviter_subsidiary_missing - manager_approver_on_absence - manager_not_allowed_for_role - manager_reporting_loop - multiple_billing_addresses - non_finite_number - null_bytes_in_params - person_job_role_invalid - person_time_tracking_policy_invalid - required_custom_field - restricted_user_roles_feature_unavailable - subsidiary_archived - subsidiary_not_accessible - subsidiary_not_allowed_for_role - tags_not_allowed_for_placeholder - teams_outside_subsidiary - virtual_owner_not_allowed - virtual_self_not_allowed type: string title: Error Code description: Every error `code` the people endpoints can return. error_code_service: enum: - active_budget_sync - advanced_to_simple_editor - bad_decimal_format - billing_method_not_allowed_for_service - deal_change_not_allowed - discount_amount_exceeds_line_total - discount_amount_not_allowed_on_non_fixed - discount_mode_ambiguous - expenses_not_purchase_order_line_items - financial_month_locked_service - invalid_attribute_value - invalid_quote_status - lump_sum_service_to_advanced_editor - non_finite_number - null_bytes_in_params - percentage_billing_type_feature_unavailable - percentage_service_on_custom_rev_rec_budget_not_allowed - percentage_service_to_internal_budget - percentage_type_change_not_allowed - role_bill_rate_setting_disabled - rolled_over_time_not_allowed - rolled_over_time_not_supported_for_service - service_billing_type_not_allowed_on_internal - service_future_autotrackable_bookings_present - service_not_allowed_for_deal_status - service_not_allowed_for_delivered_budget - target_budget_does_not_allow_overtime - target_unchanged - time_tracking_service_to_no_time_time_tracking_simple_editor type: string title: Error Code description: Every error `code` the services endpoints can return. error_code_skill: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - smart_action_location_not_supported type: string title: Error Code description: Every error `code` the skills endpoints can return. error_code_subsidiary: enum: - bad_decimal_format - invalid_attribute - invalid_attribute_value - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the subsidiaries endpoints can return. error_code_task_dependency: enum: - bad_decimal_format - dependency_loop - invalid_attribute_value - non_finite_number - null_bytes_in_params - task_dependency_duplicate - task_dependency_private_not_allowed - task_dependency_self - task_dependency_template_not_allowed type: string title: Error Code description: Every error `code` the task dependencies endpoints can return. error_code_team: enum: - bad_decimal_format - invalid_attribute_value - members_outside_subsidiary - non_finite_number - null_bytes_in_params type: string title: Error Code description: Every error `code` the teams endpoints can return in a 422 response. error_code_team_membership: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - person_outside_team_subsidiary type: string title: Error Code description: Every error `code` the team memberships endpoints can return in a 422 response. error_code_template: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - role_bill_rate_setting_disabled type: string title: Error Code description: Every error `code` the templates endpoints can return in a 422 response. error_code_time_entry: enum: - agent_cannot_have_time_entry - approval_status_not_rejected - bad_decimal_format - budget_does_not_allow_overtime - budget_limit_already_exceeded - budget_limit_overrun - deal_not_time_trackable - draft_time_entry_for_another_person - future_time_tracking_restricted - invalid_attribute - invalid_attribute_value - invoiced_time_entry_cannot_be_drafted - missing_mandatory_note - missing_mandatory_task - missing_mandatory_time_range - non_finite_number - null_bytes_in_params - partially_approved_time_entry_cannot_be_drafted - person_deactivated - service_budget_closed - service_project_archived - service_time_tracking_disabled - service_unit_invalid - submitted_time_entry_cannot_be_drafted - task_not_accessible - time_entry_date_change_not_allowed - time_entry_date_locked - time_entry_date_submitted - time_entry_invoiced - time_entry_moved_to_submitted_date - time_entry_outside_budget_date_range - time_entry_overlap - time_entry_person_change_not_allowed - time_entry_salary_not_defined - time_entry_update_not_allowed - time_tracking_forbidden - time_tracking_limit_exceeded - time_tracking_policies_not_enabled - time_tracking_policy_does_not_allow_overtime type: string title: Error Code description: Every error `code` the time entries endpoints can return for a rejected attribute. error_code_workflow: enum: - bad_decimal_format - invalid_attribute_value - non_finite_number - null_bytes_in_params - projects_outside_subsidiary type: string title: Error Code description: Every error `code` the workflow endpoints can return. filter_artifact_version: type: object title: Filter artifact version properties: artifact_id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" title: List gt: "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" lt: "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" gt_eq: "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" lt_eq: "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" contains: anyOf: - "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/artifact_id" title: List id: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_artifact_version/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/id" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_artifact_version/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/id" title: List gt: "$ref": "#/components/schemas/resource_artifact_version/properties/id" lt: "$ref": "#/components/schemas/resource_artifact_version/properties/id" gt_eq: "$ref": "#/components/schemas/resource_artifact_version/properties/id" lt_eq: "$ref": "#/components/schemas/resource_artifact_version/properties/id" contains: anyOf: - "$ref": "#/components/schemas/resource_artifact_version/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/id" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_artifact_version/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/id" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/id" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/id" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_artifact_version/properties/id" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/id" title: List version_number: anyOf: - type: object title: Operation properties: eq: anyOf: - "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" title: List not_eq: anyOf: - "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" title: List gt: "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" lt: "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" gt_eq: "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" lt_eq: "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" contains: anyOf: - "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" title: List not_contain: anyOf: - "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" title: List any_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" title: List - "$ref": "#/components/schemas/_id_list" none_of: anyOf: - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" title: List - "$ref": "#/components/schemas/_id_list" - "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" - "$ref": "#/components/schemas/_id_list" - type: array items: "$ref": "#/components/schemas/resource_artifact_version/properties/version_number" title: List resource_allocation: type: object title: Allocation Resource properties: booking_method_id: enum: - 1 - 2 - 3 type: integer title: Booking Method booking_type: enum: - service - event type: string title: Booking Type created_at: type: string title: Created At format: date-time draft: type: boolean title: Draft ended_on: type: string title: Ended On format: date hours: type: integer title: Hours percentage: type: integer title: Percentage started_on: type: string title: Started On format: date time: type: integer title: Time total_time: type: integer title: Total Time total_working_days: type: integer title: Total Working Days updated_at: type: string title: Updated At format: date-time resource_artifact_version: type: object title: Artifact version Resource properties: artifact: title: Artifact artifact_id: type: integer title: Artifact attachment: title: Attachment created_at: type: string title: Created At format: date-time creator: title: Creator id: type: integer title: Id restored_from_version_id: type: integer title: Restored From Version version_number: type: integer title: Version Number resource_automation: type: object title: Automation Resource properties: agent: title: Agent automation_project_assignments_count: type: integer title: Automation Project Assignments Count created_at: type: string title: Created At format: date-time creator: title: Creator description: type: string title: Description enabled: type: boolean title: Enabled include_thread_replies: type: boolean title: Include Thread Replies is_accessible_by_creator_only: type: boolean title: Is Accessible By Creator Only last_scheduled_at: type: string title: Last Scheduled At format: date-time monthly_action_runs: type: integer title: Monthly Action Runs monthly_runs: type: integer title: Monthly Runs name: type: string title: Name personal: type: boolean title: Personal repeat_schedule_id: type: integer title: Repeat Schedule Id resolve_on_all_channels: type: boolean title: Resolve On All Channels resolve_on_all_projects: type: boolean title: Resolve On All Projects schedule_day_id: type: integer title: Schedule Day Id schedule_frame_id: type: integer title: Schedule Frame Id schedule_hour: type: integer title: Schedule Hour slack_channel_ids: type: array items: type: integer title: Slack Channel Ids steps: type: array items: type: object title: Steps survey: title: Survey target_id: type: integer title: Target Id triggers: type: array items: type: string title: Triggers type_id: type: integer title: Type Id updated_at: type: string title: Updated At format: date-time resource_backoffice_data_migration: type: object title: Backoffice data migration Resource properties: arguments: type: array items: type: object properties: description: type: - string - 'null' name: type: string required: type: - boolean - 'null' type: type: - string - 'null' title: Arguments created_at: type: string title: Created At format: date-time description: type: string title: Description example: type: string title: Example name: type: string title: Name updated_at: type: string title: Updated At format: date-time resource_backoffice_einvoice_configuration: type: object title: Backoffice e-invoice configuration Resource properties: created_at: type: string title: Created At format: date-time subsidiary_id: type: integer title: Subsidiary Id subsidiary_name: type: string title: Subsidiary Name target: type: - string - 'null' title: Target description: The first enabled e-invoice target in priority order (ksef, peppol, face, mer, sdi, xrechnung), nil when none is enabled updated_at: type: string title: Updated At format: date-time vat: type: - string - 'null' title: VAT description: The VAT number of the subsidiary's bill-from contact, nil when it has none verification_status: enum: - not_set - pending - verified - failed type: string title: Verification Status verification_status_id: enum: - 1 - 2 - 3 - 4 type: integer title: Verification Status Id description: Only a pending configuration can change, to verified or failed resource_backoffice_feature: type: object title: Backoffice feature Resource properties: account_scope: enum: - standard - billing_group_admin - all_accounts type: string title: Account Scope activated_at: type: - string - 'null' title: Activated At format: date-time active: type: boolean title: Active description: Whether the feature has an activation time category: type: string title: Category created_at: type: string title: Created At format: date-time description: type: string title: Description discoverable: type: boolean title: Discoverable highlight_index: type: - integer - 'null' title: Highlight Index key: type: string title: Key name: type: string title: Name products: type: array items: type: object properties: available: type: boolean limit: type: - integer - 'null' product: type: string title: Products description: Per-product availability; metered features store a limit and no `available` type: enum: - switch - metered - type: - string - 'null' title: Type upcoming: type: boolean title: Upcoming updated_at: type: string title: Updated At format: date-time resource_backoffice_feature_report: type: object title: Backoffice Feature Report Resource properties: activated_at: type: - string - 'null' title: Activated At format: date active: enum: - 0 - 1 type: integer title: Active category: type: string title: Category count: type: integer title: Count description: type: string title: Description discoverable: enum: - 0 - 1 type: integer title: Discoverable group: type: string title: Group highlight_index: type: - integer - 'null' title: Highlight Index key: type: string title: Key name: type: string title: Name product: type: - string - 'null' title: Product products: type: string title: Products description: The feature's products JSON array, rendered as a JSON string type: enum: - switch - metered - type: - string - 'null' title: Type upcoming: enum: - 0 - 1 type: integer title: Upcoming resource_backoffice_flag: type: object title: Backoffice flag Resource properties: account_count: type: integer title: Account Count account_disabled_count: type: integer title: Account Disabled Count account_enabled_count: type: integer title: Account Enabled Count account_enabled_percentage: type: number title: Account Enabled Percentage alpha_channel_count: type: integer title: Alpha Channel Count alpha_channel_enabled_count: type: integer title: Alpha Channel Enabled Count alpha_released_at: type: - string - 'null' title: Alpha Released At format: date-time beta_account_enabled_count: type: integer title: Beta Account Enabled Count beta_account_enabled_percentage: type: number title: Beta Account Enabled Percentage beta_channel_count: type: integer title: Beta Channel Count beta_channel_enabled_count: type: integer title: Beta Channel Enabled Count beta_released_at: type: - string - 'null' title: Beta Released At format: date-time beta_seats_enabled_count: type: integer title: Beta Seats Enabled Count cache_on_app_load: type: boolean title: Cache On App Load created_at: type: string title: Created At format: date-time created_by_full_name: type: - string - 'null' title: Created By Full Name default_for_new_accounts: type: boolean title: Default For New Accounts deleted_at: type: - string - 'null' title: Deleted At format: date-time description: type: string title: Description flag_type_id: type: integer title: Flag Type Id key: type: string title: Key last_activity_at: type: - string - 'null' title: Last Activity At format: date-time name: type: string title: Name opt_in_override_enabled_count: type: integer title: Opt In Override Enabled Count owner_full_name: type: - string - 'null' title: Owner Full Name release_channel: type: string title: Release Channel release_status: type: string title: Release Status seats_enabled_count: type: integer title: Seats Enabled Count sent_as_header: type: boolean title: Sent As Header stable_channel_count: type: integer title: Stable Channel Count stable_channel_enabled_count: type: integer title: Stable Channel Enabled Count stable_released_at: type: - string - 'null' title: Stable Released At format: date-time system_release: type: boolean title: System Release system_released_at: type: - string - 'null' title: System Released At format: date-time target_type_id: type: integer title: Target Type Id updated_at: type: string title: Updated At format: date-time resource_backoffice_flag_activity: type: object title: Backoffice flag activity Resource properties: change_type_id: type: integer title: Change Type Id created_at: type: string title: Created At format: date-time created_by: type: string title: Created By metadata: type: object title: Metadata resource_backoffice_organization: type: object title: Backoffice organization Resource properties: addons: type: - array - 'null' items: type: string title: Addons ai_enabled: type: - boolean - 'null' title: Ai Enabled analytics_uid: type: - string - 'null' title: Analytics Uid avatar_url: type: - string - 'null' title: Avatar Url billing_group_admin: type: - boolean - 'null' title: Billing Group Admin billing_group_owner_id: type: - integer - 'null' title: Billing Group Owner Id booked_demo: type: - boolean - 'null' title: Booked Demo company_id: type: - integer - 'null' title: Company Id company_size: type: - string - 'null' title: Company Size company_type: type: - string - 'null' title: Company Type contract_date: type: - string - 'null' title: Contract Date format: date contract_end_date: type: - string - 'null' title: Contract End Date format: date country: type: - string - 'null' title: Country created_at: type: - string - 'null' title: Created At format: date-time currency: type: - string - 'null' title: Currency currency_default: type: - string - 'null' title: Currency Default currency_normalized: type: - string - 'null' title: Currency Normalized customer_success_specialist_id: type: - integer - 'null' title: Customer Success Specialist Id deactivated_at: type: - string - 'null' title: Deactivated At format: date-time deactivation_note: type: - string - 'null' title: Deactivation Note deactivation_reason_id: type: - integer - 'null' title: Deactivation Reason Id domain: type: - string - 'null' title: Domain domain_verified: type: - boolean - 'null' title: Domain Verified due_days: type: - integer - 'null' title: Due Days email_domain_name: type: - string - 'null' title: Email Domain Name email_key: type: - string - 'null' title: Email Key erector_id: type: - integer - 'null' title: Erector Id exchange_rate_provider_id: type: - integer - 'null' title: Exchange Rate Provider Id external_id: type: - integer - 'null' title: External Id facility_costs: type: - number - 'null' title: Facility Costs facility_costs_breakdown: type: - object - 'null' title: Facility Costs Breakdown facility_costs_default: type: - number - 'null' title: Facility Costs Default facility_costs_normalized: type: - number - 'null' title: Facility Costs Normalized features: type: - object - 'null' title: Features flags: type: - object - 'null' title: Flags gtm_motion: type: - string - 'null' title: Gtm Motion handover_date: type: - string - 'null' title: Handover Date format: date hubspot_domain_group: type: - string - 'null' title: Hubspot Domain Group hubspot_external_id: type: - integer - 'null' title: Hubspot External Id hubspot_id: type: - integer - 'null' title: Hubspot Id hubspot_sync: type: - boolean - 'null' title: Hubspot Sync invitation_token: type: - string - 'null' title: Invitation Token lead_score: type: - integer - 'null' title: Lead Score mailgun_api_key: type: - string - 'null' title: Mailgun Api Key mailgun_dkim: type: - string - 'null' title: Mailgun Dkim mailgun_spf: type: - string - 'null' title: Mailgun Spf man_day_minutes: type: - integer - 'null' title: Man Day Minutes metrics: type: - string - 'null' title: Metrics name: type: - string - 'null' title: Name note: type: - string - 'null' title: Note number_of_calls: type: - integer - 'null' title: Number Of Calls onboarding_progress: type: - string - 'null' title: Onboarding Progress organization_type_id: type: - integer - 'null' title: Organization Type Id overhead_recalculation_day: type: - integer - 'null' title: Overhead Recalculation Day polaris_created_at: type: - string - 'null' title: Polaris Created At format: date-time referrer: type: - string - 'null' title: Referrer release_channel: type: - string - 'null' title: Release Channel rollout_status: type: - string - 'null' title: Rollout Status sales_deal_id: type: - integer - 'null' title: Sales Deal Id sample_data_imported_at: type: - string - 'null' title: Sample Data Imported At format: date-time sample_data_reverted_at: type: - string - 'null' title: Sample Data Reverted At format: date-time seat_potential: type: - integer - 'null' title: Seat Potential self_attribution: type: - string - 'null' title: Self Attribution self_attribution_comment: type: - string - 'null' title: Self Attribution Comment team_size: type: - string - 'null' title: Team Size time_reminder_at: type: - integer - 'null' title: Time Reminder At time_reminder_id: type: - integer - 'null' title: Time Reminder Id time_zone: type: - string - 'null' title: Time Zone trial_plan_ends: type: - string - 'null' title: Trial Plan Ends format: date utm_campaign: type: - string - 'null' title: Utm Campaign utm_campaign_group: type: - string - 'null' title: Utm Campaign Group utm_campaign_type: type: - string - 'null' title: Utm Campaign Type utm_medium: type: - string - 'null' title: Utm Medium utm_source: type: - string - 'null' title: Utm Source utm_term: type: - string - 'null' title: Utm Term verification_status_id: type: - integer - 'null' title: Verification Status Id verified_at: type: - string - 'null' title: Verified At format: date-time week_start_day_id: type: - integer - 'null' title: Week Start Day Id weight: type: - number - 'null' title: Weight working_hours: type: - array - 'null' items: type: integer title: Working Hours resource_backoffice_organization_activity: type: object title: Backoffice organization activity Resource properties: changed_fields: type: object title: Changed Fields additionalProperties: type: array items: {} maxItems: 2 minItems: 2 created_at: type: string title: Created At format: date-time created_by: type: string title: Created By event: type: string title: Event resource_backoffice_organization_champion: type: object title: Backoffice organization champion Resource properties: type_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 type: integer title: Type resource_backoffice_organization_contract: type: object title: Backoffice organization contract Resource properties: created_at: type: string title: Created At format: date-time end_date: type: - string - 'null' title: End Date format: date description: Must be after the start date; the period must not overlap another contract of the organization has_sla: type: boolean title: Has Sla is_poc: type: boolean title: Is Poc description: Whether the contract is a proof of concept note: type: - string - 'null' title: Note order_form_pdf_url: type: - string - 'null' title: Order Form Pdf Url organization_id: type: integer title: Organization Id description: The organization the contract belongs to phases: type: - array - 'null' items: type: object required: - start_date properties: seats: type: integer discount: type: number min_seats: type: integer start_date: type: string title: Phases description: Pricing phases of the contract; null in the response to a create that sent no phases (stored as an empty array) start_date: type: string title: Start Date format: date updated_at: type: string title: Updated At format: date-time resource_backoffice_organization_subscription: type: object title: Backoffice organization subscription Resource properties: discounts: type: array items: type: object properties: applied: type: array items: type: object properties: applies_to: type: - array - 'null' items: type: string coupon_deleted: type: boolean coupon_id: type: string coupon_name: type: - string - 'null' ends_at: type: - string - 'null' format: date-time percent_off: type: number scope: type: - string - 'null' description: 'The coupon''s scope: all for a coupon without limits, the catalog scope for a catalog coupon (aio_2023, crm), else null.' stripe_discount_id: type: string effective_percent: type: number product_id: type: - string - 'null' title: Discounts description: The discount on each product, as last read from Stripe. A product costs price × (1 − effective_percent / 100). balance: type: string title: Balance billing_address: type: - object - 'null' title: Billing Address billing_email: type: - string - 'null' title: Billing Email billing_group_admin: type: boolean title: Billing Group Admin billing_group_member: type: boolean title: Billing Group Member billing_group_members: title: Billing Group Members billing_group_owner: title: Billing Group Owner billing_group_owner_id: type: - string - integer - 'null' title: Billing Group Owner billing_group_seats: type: - integer - 'null' title: Billing Group Seats card_brand: type: - string - 'null' title: Card Brand card_last4: type: - string - 'null' title: Card Last4 card_month: type: - string - 'null' title: Card Month card_year: type: - string - 'null' title: Card Year collection_method_id: type: - integer - 'null' title: Collection Method Id contract_date: type: - string - 'null' title: Contract Date format: date contract_end_date: type: - string - 'null' title: Contract End Date format: date contract_min_seats: type: - integer - 'null' title: Contract Min Seats contract_seats: type: - integer - 'null' title: Contract Seats currency: type: string title: Currency currency_default: type: string title: Currency Default currency_normalized: type: string title: Currency Normalized current_products: type: object title: Current Products discount: type: - integer - 'null' title: Discount discount_expires_on: type: - string - 'null' title: Discount Expires On format: date grace_period_ends_at: type: - string - 'null' title: Grace Period Ends At mrr: type: number title: Mrr mrr_default: type: number title: Mrr Default mrr_normalized: type: number title: Mrr Normalized next_billing_cycle_at: type: - string - 'null' title: Next Billing Cycle At organization: title: Organization payment_method_id: type: - integer - 'null' title: Payment Method Id plan_cycle: type: - string - 'null' title: Plan Cycle plan_type: title: Plan Type product_types: type: array items: type: object title: Product Types products: type: array items: type: object title: Products seats: type: - integer - 'null' title: Seats seats_max: type: - integer - 'null' title: Seats Max seats_pending: type: - integer - 'null' title: Seats Pending seats_used: type: - integer - 'null' title: Seats Used shared_seats_capacity: type: integer title: Shared Seats Capacity shared_seats_used: type: integer title: Shared Seats Used stripe_customer_id: type: - string - 'null' title: Stripe Customer Id subscription_ended_at: type: - string - 'null' title: Subscription Ended At format: date-time subscription_started_at: type: - string - 'null' title: Subscription Started At format: date-time subscription_state_id: type: - integer - 'null' title: Subscription State Id trial_ends_at: type: - string - 'null' title: Trial Ends At format: date trial_ends_on: type: - string - 'null' title: Trial Ends On format: date trial_plan_active: type: boolean title: Trial Plan Active trial_plan_ends_at: type: - string - 'null' title: Trial Plan Ends At format: date trial_plan_ends_on: type: - string - 'null' title: Trial Plan Ends On format: date trial_product_ids: type: array items: type: string title: Trial Product Ids resource_backoffice_price: type: object title: Backoffice price Resource properties: active: type: boolean title: Active currency: type: string title: Currency cycle: type: string title: Cycle cycle_path: type: object title: Cycle Path additionalProperties: type: string default: type: boolean title: Default name: type: string title: Name price_cents: type: integer title: Price Cents product: type: string title: Product product_path: type: array items: type: object properties: price_id: type: string product_id: type: string switch_type: type: - string - 'null' title: Product Path stripe_id: type: string title: Stripe Id tiered: type: boolean title: Tiered tiers: type: array items: type: object properties: lower: type: integer price_cents: type: integer upper: type: integer usd_equivalent_cents: type: integer title: Tiers usd_equivalent_cents: type: integer title: Usd Equivalent Cents resource_backoffice_proposal_identity_confirmation: type: object title: Backoffice proposal identity confirmation Resource properties: confirmed_at: type: string title: Confirmed At format: date-time expires_at: type: string title: Expires At format: date-time token: type: string title: Token resource_backoffice_session_report: type: object title: Backoffice Session Report Resource properties: browser: type: - string - 'null' title: Browser count: type: integer title: Count created_at_period: type: - string - 'null' title: Created At Period device: type: - string - 'null' title: Device device_type_id: type: - integer - 'null' title: Device Type Id group: type: string title: Group last_activity_at_period: type: - string - 'null' title: Last Activity At Period location: type: - string - 'null' title: Location note: type: - string - 'null' title: Note platform: type: - string - 'null' title: Platform read_only: enum: - 0 - 1 type: integer title: Read Only resource_backoffice_setting: type: object title: Backoffice setting Resource properties: description: type: - string - 'null' title: Description name: type: string title: Name private: type: boolean title: Private schema: type: - object - 'null' title: Schema description: The declared JSON Schema of the setting's value, nil when its name has none setting_type: type: string title: Setting Type setting_value: type: string title: Setting Value resource_backoffice_user_report: type: object title: Backoffice User Report Resource properties: count: type: integer title: Count group: type: string title: Group sysadmin: enum: - 0 - 1 type: integer title: Sysadmin sysadmin_permissions: type: - string - 'null' title: Sysadmin Permissions resource_backoffice_user_segment: type: object title: Backoffice user segment Resource properties: active: type: - boolean - 'null' title: Active conditions: type: - object - 'null' title: Conditions description: The segment's matching conditions; keys of a flags segment are lower camelCase name: type: - string - 'null' title: Name segment_type_id: type: - integer - 'null' title: Segment Type Id description: 1 flags, 2 permissions, 3 system resource_backyard_user: type: object title: Backyard User Resource properties: avatar_url: type: string title: Avatar Url client_type: enum: - agent - machine - user type: string title: Client Type email: type: string title: Email feature_flags: type: array items: type: string title: Feature Flags first_name: type: string title: First Name github_username: type: string title: Github Username guild: type: string title: Guild last_name: type: string title: Last Name name: type: string title: Name sysadmin: type: boolean title: Sysadmin sysadmin_permissions: type: array items: type: string title: Sysadmin Permissions team: type: string title: Team title: type: string title: Title resource_bill_item: type: object title: Bill Item Resource properties: bill: title: Bill bill_id: type: integer title: Bill deleted_at: type: string title: Deleted At format: date-time expense: title: Expense expense_id: type: integer title: Expense id: type: integer title: Id organization: title: Organization purchase_order: title: Purchase Order quantity: type: string title: Quantity resource_calendar_event: type: object title: Calendar event Resource properties: attendees: type: - array - 'null' items: type: object title: Attendees calendar: type: - string - 'null' title: Calendar calendar_id: type: - string - 'null' title: Calendar Id created_at: type: - string - 'null' title: Created At creator_email: type: - string - 'null' title: Creator Email creator_name: type: - string - 'null' title: Creator Name description: type: - string - 'null' title: Description end_date: type: - string - 'null' title: End Date end_time: type: - string - 'null' title: End Time event_id: type: - string - 'null' title: Event Id event_type: type: - string - 'null' title: Event Type integration_id: type: integer title: Integration Id link: type: - string - 'null' title: Link meeting: title: Meeting meeting_url: type: - string - 'null' title: Meeting Url name: type: - string - 'null' title: Name notetaker_active_elsewhere: type: - boolean - 'null' title: Notetaker Active Elsewhere organizer_email: type: - string - 'null' title: Organizer Email organizer_name: type: - string - 'null' title: Organizer Name person: title: Person recurring_event_id: type: - string - 'null' title: Recurring Event Id response_status: type: - string - 'null' title: Response Status start_date: type: - string - 'null' title: Start Date start_time: type: - string - 'null' title: Start Time title: type: string title: Title updated_at: type: - string - 'null' title: Updated At visibility: type: - string - 'null' title: Visibility resource_connection: type: object title: Connection Resource properties: connected_at: type: string title: Connected At format: date-time connection_code: type: string title: Connection Code connection_record: title: Connection Record connection_record_id: type: integer title: Connection Record Id connection_type: enum: - deal type: string title: Connection Type id: type: integer title: Id origin_record_id: type: integer title: Origin Record record_connection_id: type: integer title: Record Connection resource_einvoice_identity: type: object title: E-invoice Identity Resource properties: buyer_reference: type: string title: Buyer Reference example: BUYER-REF-001 company: title: Company example: data: type: companies id: '89' company_id: type: integer title: Company example: '89' created_at: type: string title: Created At format: date-time example: '2025-03-15T10:30:00.000Z' dir3_fiscal_code: type: string title: Dir3 Fiscal Code example: A01234567 dir3_pagador_code: type: string title: Dir3 Pagador Code example: P00000010 dir3_receptor_code: type: string title: Dir3 Receptor Code example: L01234567 dire_code: type: string title: Dire Code example: DIR3-EXAMPLE is_government_entity: type: boolean title: Is Government Entity example: false peppol_id: type: string title: Peppol Id example: '0088:1234567890123' subsidiary: title: Subsidiary example: data: type: subsidiaries id: '42' subsidiary_id: type: integer title: Subsidiary example: '42' updated_at: type: string title: Updated At format: date-time example: '2025-06-01T14:22:00.000Z' sdi_code: type: string title: Sdi Code 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' resource_feature: type: object title: Feature Resource properties: account_scope: enum: - standard - billing_group_admin - all_accounts type: string title: Account Scope activated_at: type: - string - 'null' title: Activated At format: date-time active: type: boolean title: Active description: Whether the feature has an activation time category: type: string title: Category created_at: type: string title: Created At format: date-time description: type: string title: Description discoverable: type: boolean title: Discoverable highlight_index: type: - integer - 'null' title: Highlight Index key: type: string title: Key name: type: string title: Name products: type: array items: type: object properties: available: type: boolean limit: type: - integer - 'null' product: type: string title: Products description: Per-product availability; metered features store a limit and no `available` type: enum: - switch - metered - type: - string - 'null' title: Type upcoming: type: boolean title: Upcoming updated_at: type: string title: Updated At format: date-time resource_filter_preference: type: object title: Filter preference Resource properties: created_at: type: string title: Created At format: date-time field_id: type: string title: Field Id filterable_collection: type: string title: Filterable Collection id: type: integer title: Id last_used_at: type: string title: Last Used At format: date-time option_type: type: string title: Option Type person: title: Person updated_at: type: string title: Updated At format: date-time usage_count: type: integer title: Usage Count resource_financial_month: type: object title: Financial month Resource properties: ended_on: type: - string - 'null' title: Ended On format: date id: type: integer title: Id locked_on: type: - string - 'null' title: Locked On format: date month: type: - string - 'null' title: Month organization: title: Organization started_on: type: - string - 'null' title: Started On format: date status_id: enum: - 1 - 2 - type: - integer - 'null' title: Status updater: title: Updater resource_flag: type: object title: Flag Resource properties: created_at: type: string title: Created At format: date-time created_by_full_name: type: string title: Created By Full Name default_for_new_accounts: type: boolean title: Default For New Accounts deleted_at: type: string title: Deleted At format: date-time description: type: string title: Description flag_type_id: type: integer title: Flag Type Id key: type: string title: Key name: type: string title: Name owner_full_name: type: string title: Owner Full Name release_channel: type: string title: Release Channel sent_as_header: type: boolean title: Sent As Header system_release: type: boolean title: System Release target_type_id: type: integer title: Target Type Id resource_new_time_report: type: object title: New time report Resource description: A time report row aggregating tracked hours by configurable dimensions with utilization, capacity, and overtime calculations. properties: after: type: string title: After format: date description: The report end date (exclusive upper bound of the reporting period). example: eq: value available_time: type: number title: Available Time description: Expected number of work hours reduced for scheduled absence (i.e. vacation). example: gt: 0 average_cost_rate: title: Average Cost Rate description: The average cost rate is calculated from the cost rate for each day defined in the date filter. example: gt: 0 average_cost_rate_default: title: Average Cost Rate Default description: Average cost rate in the organization default currency. example: gt: 0 average_cost_rate_normalized: title: Average Cost Rate Normalized description: Average cost rate normalized to a common currency for cross-currency comparison. example: gt: 0 before: type: string title: Before format: date description: The report start date (inclusive lower bound of the reporting period). example: eq: value billable_time: type: number title: Billable Time description: Hours billable to clients. example: gt: 0 billing_type: enum: - 1 - 2 - 3 - 4 type: integer title: Billing Type description: Billing type of the service (e.g. fixed, hourly, non-billable). example: eq: active bookings_after: type: string title: Bookings After format: date description: End date of the booking range used to calculate scheduling metrics. example: eq: value bookings_before: type: string title: Bookings Before format: date description: Start date of the booking range used to calculate scheduling metrics. example: eq: value bookings_custom_fields: type: string title: Bookings Custom Fields description: Custom fields on bookings used for grouping or filtering. example: eq: value budget: title: Budget description: Name of the budget (deal) this row is grouped by. example: gt: 0 budget_id: type: integer title: Budget description: ID of the budget (deal) this row is grouped by. example: - 123 budget_tags: type: string title: Budget Tags description: Tags applied to the budget (deal). example: gt: 0 capacity: type: number title: Capacity description: Expected number of worked hours. example: eq: value client_time: type: number title: Client Time description: Hours tracked on client projects. example: gt: 0 company: title: Company description: Name of the client company. example: eq: value company_id: type: integer title: Company description: ID of the client company. example: - 123 company_report: title: Company Report description: Reference to the associated company report. example: eq: value count: type: integer title: Count description: Number of time entries in this row. example: gt: 0 currency: type: string title: Currency description: Currency code for monetary values in this row. example: eq: value currency_default: title: Currency Default description: Monetary values converted to the organization default currency. example: eq: value currency_normalized: type: string title: Currency Normalized description: Monetary values normalized to a common currency for cross-currency comparison. example: eq: value date: type: string title: Date format: date description: The specific date this row represents, when grouped by day. example: gt: '2026-01-01' date_period: title: Date Period description: The date period label for this row (e.g. week, month, quarter range). example: eq: value day: type: string title: Day description: Day of month this row represents, when grouped by day. example: eq: value draft_scheduled_billable_time: type: number title: Draft Scheduled Billable Time description: Total tentative time scheduled on billable services. example: gt: 0 draft_scheduled_client_time: type: number title: Draft Scheduled Client Time description: Total tentative time scheduled on client budgets and deals. example: gt: 0 draft_scheduled_internal_time: type: number title: Draft Scheduled Internal Time description: Total tentative time scheduled on internal projects. example: gt: 0 draft_scheduled_time: type: number title: Draft Scheduled Time description: Total tentative time scheduled on budgets and deals. example: gt: 0 event: title: Event description: Name of the absence category (event) this row is grouped by. example: eq: value event_id: type: integer title: Event description: ID of the absence category (event) this row is grouped by. example: - 123 event_time: type: number title: Event Time description: Total number of hours scheduled on paid and unpaid time off (i.e. vacation, sick leave, etc.) example: gt: 0 formula_fields: title: Formula Fields description: Custom formula field values computed for this row. example: eq: value formulas: type: integer title: Formulas description: Formula definitions used to compute derived metrics in this row. example: eq: value future: type: integer title: Future description: Whether this row includes future scheduled data. example: eq: value group: type: string title: Group description: Grouping dimension label for this row. example: eq: value holiday_time: type: number title: Holiday Time description: The total time a person was on holiday during the selected reporting period. This time is excluded from their capacity. example: gt: 0 internal_time: type: number title: Internal Time description: Hours tracked on internal projects. example: gt: 0 manager: title: Manager description: The person's manager. example: eq: value month: type: string title: Month description: Month number this row represents, when grouped by month. example: eq: value organization: title: Organization description: Reference to the organization. example: eq: value paid_event_time: type: number title: Paid Event Time description: Total number of hours scheduled on paid time off (i.e. vacation). example: gt: 0 people_custom_fields: type: string title: People Custom Fields description: Custom fields on people used for grouping. example: eq: value person: title: Person description: Person for this new time report group. example: eq: value person_company: title: Person Company description: Person company for this new time report group. example: eq: value person_id: type: integer title: Person description: Person id for this new time report group. example: - 123 person_report: title: Person Report description: The person associated with this time report row. example: eq: value person_tags: type: string title: Person Tags description: Person tags for this new time report group. example: eq: value person_title: title: Person Title description: Person title for this new time report group. example: eq: value person_type: enum: - 1 - 2 - 3 - 4 type: integer title: Person Type description: Person type for this new time report group. example: eq: active project: title: Project description: Project for this new time report group. example: eq: value project_id: type: integer title: Project description: Project id for this new time report group. example: - 123 project_report: title: Project Report description: Project report for this new time report group. example: eq: value project_type: enum: - 1 - 2 type: integer title: Project Type description: Project type for this new time report group. example: eq: active quarter: type: string title: Quarter description: Quarter grouping for this new time report row. example: eq: value recognized_scheduled_time: type: number title: Recognized Scheduled Time description: Recognized scheduled time for this new time report group. example: gt: 0 recognized_time: type: number title: Recognized Time description: Recognized time for this new time report group. example: gt: 0 report: title: Report description: The saved filter (report view) this row belongs to. example: eq: value role_id: type: integer title: Role description: ID of the role this row is grouped by. example: - 123 scheduled_billable_time: type: number title: Scheduled Billable Time description: Total number of hours scheduled on billable services. example: gt: 0 scheduled_client_time: type: number title: Scheduled Client Time description: Total number of hours scheduled on client budgets and deals. example: gt: 0 scheduled_event_time: type: number title: Scheduled Event Time description: Total number of scheduled hours for absence (time off) events. example: gt: 0 scheduled_internal_time: type: number title: Scheduled Internal Time description: Total number of hours scheduled on internal projects. example: gt: 0 scheduled_remote_work_time: type: number title: Scheduled Remote Work Time description: Total number of scheduled remote work hours. example: gt: 0 scheduled_time: type: number title: Scheduled Time description: Total number of hours scheduled on budgets and deals. example: gt: 0 service: title: Service description: Name of the service this row is grouped by. example: eq: value service_id: type: integer title: Service description: ID of the service this row is grouped by. example: - 123 service_type: title: Service Type description: Name of the service type this row is grouped by. example: eq: active service_type_id: type: integer title: Service Type description: ID of the service type this row is grouped by. example: - 123 stage_type: enum: - 1 - 2 type: integer title: Stage Type description: The deal stage type for this row. example: eq: active subsidiary: title: Subsidiary description: Name of the subsidiary (workplace) this row is grouped by. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary (workplace) this row is grouped by. example: - 123 total_cost: title: Total Cost description: Total cost of tracked time, including work (cost rate) and overhead costs. example: eq: value total_cost_default: title: Total Cost Default description: Total cost in the organization default currency. example: eq: value total_cost_normalized: title: Total Cost Normalized description: Total cost normalized to a common currency for cross-currency comparison. example: eq: value total_draft_scheduled_cost: title: Total Draft Scheduled Cost description: Total scheduled cost based on past and future tentative bookings. example: eq: value total_draft_scheduled_cost_default: title: Total Draft Scheduled Cost Default description: Tentative scheduled cost in the organization default currency. example: eq: value total_draft_scheduled_cost_normalized: title: Total Draft Scheduled Cost Normalized description: Sum of draft scheduled cost in the normalized currency across all records in this new time report group. example: eq: value total_draft_scheduled_revenue: title: Total Draft Scheduled Revenue description: Sum of draft scheduled revenue across all records in this new time report group. example: eq: value total_draft_scheduled_revenue_default: title: Total Draft Scheduled Revenue Default description: Sum of draft scheduled revenue in the organization's default currency across all records in this new time report group. example: eq: value total_draft_scheduled_revenue_normalized: title: Total Draft Scheduled Revenue Normalized description: Sum of draft scheduled revenue in the normalized currency across all records in this new time report group. example: eq: value total_scheduled_cost: title: Total Scheduled Cost description: Sum of scheduled cost across all records in this new time report group. example: eq: value 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 new time report group. example: eq: value total_scheduled_cost_normalized: title: Total Scheduled Cost Normalized description: Total scheduled cost normalized to a common currency for cross-currency comparison. example: eq: value total_scheduled_revenue: title: Total Scheduled Revenue description: Total scheduled revenue including past and future bookings. example: eq: value total_scheduled_revenue_default: title: Total Scheduled Revenue Default description: Total scheduled revenue in the organization default currency. example: eq: value total_scheduled_revenue_normalized: title: Total Scheduled Revenue Normalized description: Total scheduled revenue normalized to a common currency for cross-currency comparison. example: eq: value total_work_cost: title: Total Work Cost description: Total labor cost of tracked time. example: eq: value total_work_cost_default: title: Total Work Cost Default description: Total labor cost in the organization default currency. example: eq: value total_work_cost_normalized: title: Total Work Cost Normalized description: Total labor cost normalized to a common currency for cross-currency comparison. example: eq: value unapproved_time: type: number title: Unapproved Time description: Hours still waiting for approval. example: gt: 0 unpaid_event_time: type: number title: Unpaid Event Time description: Total number of hours scheduled on unpaid time off (i.e. exams). example: gt: 0 user_capacity: type: number title: User Capacity description: Expected number of worked hours for the user. example: eq: value week: type: string title: Week description: Week number this row represents, when grouped by week. example: eq: value worked_time: type: number title: Worked Time description: Hours tracked on client and internal projects. example: gt: 0 workload: type: number title: Workload description: Workload per person as a ratio or percentage. example: eq: value year: type: string title: Year description: Year this row represents, when grouped by year. example: eq: value deal_or_budget_report: title: Deal Or Budget Report description: Report object for the deal or budget associated with this time report entry. example: gt: 0 job_role: title: Job Role job_role_id: type: integer title: Job Role overtime_time: type: number title: Overtime Time working_days: type: integer title: Working Days example: id: '123' type: new_time_reports attributes: billable_time: 7200 nonbillable_time: 900 date: '2026-01-15' person_id: 12 project_id: 45 relationships: {} resource_organization_champion: type: object title: Organization champion Resource properties: type_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 type: integer title: Type resource_organization_invoice: type: object title: Organization invoice Resource properties: amount: type: integer title: Amount amount_due: type: integer title: Amount Due amount_paid: type: integer title: Amount Paid amount_remaining: type: integer title: Amount Remaining billing_cycle_change: type: boolean title: Billing Cycle Change currency: type: string title: Currency date: type: string title: Date format: date-time description: type: string title: Description discount: type: number title: Discount due_date: type: string title: Due Date format: date hosted_invoice_url: type: string title: Hosted Invoice Url immediate_collection: type: boolean title: Immediate Collection invoice_pdf_url: type: string title: Invoice Pdf Url lines: type: array items: type: object properties: amount: type: integer description: type: string proration: type: boolean quantity: type: integer title: Lines number: type: string title: Number status: type: string title: Status resource_organization_membership_count: type: object title: Organization membership count Resource properties: proposals_for_approval_count: type: integer title: Proposals For Approval Count expenses_for_approval_count: type: integer title: Expenses For Approval Count pending_time_off_approvals_count: type: integer title: Pending Time Off Approvals Count time_entries_for_approval_count: type: integer title: Time Entries For Approval Count time_entries_requiring_changes_count: type: integer title: Time Entries Requiring Changes Count time_off_for_approval_count: type: integer title: Time Off For Approval Count unseen_notifications_count: type: integer title: Unseen Notifications Count resource_polaris_organization: type: object title: Polaris Organization Resource properties: name: type: string title: Name resource_signup: type: object title: Signup Resource properties: blocked: type: boolean title: Blocked code: type: string title: Code company_name: type: string title: Company Name country: type: string title: Country currency: type: string title: Currency email: type: string title: Email first_name: type: string title: First Name ip: type: string title: Ip last_name: type: string title: Last Name locale: type: string title: Locale password: type: string title: Password phone: type: string title: Phone plan_cycle: type: string title: Plan Cycle plan_type: type: string title: Plan Type time_zone: type: string title: Time Zone user: type: boolean title: User description: Whether a user with the signup's email already exists verified_at: type: string title: Verified At format: date-time resource_slack_channel: type: object title: Slack channel Resource properties: is_archived: type: boolean title: Is Archived is_ext_shared: type: boolean title: Is Ext Shared name: type: string title: Name private: type: boolean title: Private resource_sso_configuration: type: object title: Sso configuration Resource properties: created_at: type: string title: Created At format: date-time deleted_at: type: - string - 'null' title: Deleted At format: date-time force_sso_login: type: - boolean - 'null' title: Force Sso Login id: type: integer title: Id metadata: type: - string - 'null' title: Metadata metadata_url: type: - string - 'null' title: Metadata Url organization: title: Organization target_url: type: - string - 'null' title: Target Url updated_at: type: string title: Updated At format: date-time url: type: - string - 'null' title: Url resource_two_factor_authentication: type: object title: Two Factor Authentication Resource properties: email: type: string title: Email otp: type: string title: Otp password: type: string title: Password recovery_codes: type: array items: type: string title: Recovery Codes two_factor_auth: type: boolean title: Two Factor Auth two_factor_provisioning_uri: type: string title: Two Factor Provisioning Uri two_factor_secret: type: string title: Two Factor Secret resource_workload_item: type: object title: Workload Item Resource properties: availability: type: integer title: Availability description: Capacity minus approved time off on this day, in minutes. capacity: type: integer title: Capacity description: The assignee's scheduled time on this day, in minutes. daily_task_workload: type: integer title: Daily Task Workload description: Deprecated alias of workload. date: type: string title: Date format: date end_date: type: string title: End Date format: date people_ids: type: integer title: People person: title: Person person_id: type: integer title: Person project: title: Project start_date: type: string title: Start Date format: date task: title: Task task_id: type: integer title: Task description: The assigned task. Negated when the current person cannot see the task. time_off: type: boolean title: Time Off workload: type: integer title: Workload description: The assignee's share of the task estimate on this day, in minutes. resource_time_entry_report: type: object title: Time entry report Resource description: Time entry report record — aggregates tracked time with financial metrics including cost, revenue, and approval status. properties: after: type: string title: After format: date description: Return time entries created after this datetime. example: eq: value approval_policy: title: Approval Policy description: The approval policy governing this time entry. example: eq: value approval_policy_id: type: integer title: Approval Policy description: The ID of the approval policy governing this time entry. example: - 123 approved_at: type: string title: Approved At format: date description: Timestamp when the time entry was approved. example: gt: '2026-01-01' approver: title: Approver description: The person who approved this time entry. example: eq: value approver_id: type: integer title: Approver description: The ID of the person who approved this time entry. example: - 123 approver_report: title: Approver Report description: The report data for the approver of this time entry. example: eq: value assigned_approver_id: type: integer title: Assigned Approver description: The ID of the approver currently assigned to this time entry. example: - 123 autotracked: type: integer title: Autotracked description: Indicates whether this time entry was recorded automatically via autotracking. example: eq: value average_blended_rate: title: Average Blended Rate description: The average blended rate in the organization currency. example: gt: 0 average_blended_rate_default: title: Average Blended Rate Default description: The average blended rate in the default display currency. example: gt: 0 average_blended_rate_normalized: title: Average Blended Rate Normalized description: The average blended rate normalized to the organization base currency. example: gt: 0 average_recognized_margin: type: number title: Average Recognized Margin description: Average profit margin calculated from recognized revenue and costs. example: eq: value awaiting_approval_from_approver_id: type: integer title: Awaiting Approval From Approver description: The ID of the approver currently awaiting approval for this time entry. example: - 123 base_cost: title: Base Cost description: Base cost of the time entry before overhead is applied. example: eq: value before: type: string title: Before format: date description: Return time entries created before this datetime. example: eq: value billable: type: boolean title: Billable description: Indicates whether the time entry is billable to the client. example: true billable_time: type: integer title: Billable Time description: Hours billable to the client for this time entry. example: gt: 0 billing_type: type: integer title: Billing Type description: The billing type of the service (hourly, fixed price, etc.). example: eq: active billing_type_id: enum: - 1 - 2 - 3 - 4 type: integer title: Billing Type description: The ID of the billing type of the service. example: - 123 booking_id: type: integer title: Booking description: The ID of the booking this time entry is associated with. example: - 123 budget: title: Budget description: The budget this time entry is tracked against. example: gt: 0 budget_id: type: integer title: Budget description: The ID of the budget this time entry is tracked against. example: - 123 budget_type_id: type: integer title: Budget Type description: The ID of the budget type (deal or budget). example: - 123 company: title: Company description: The client company this time entry is tracked for. example: eq: value company_id: type: integer title: Company description: The ID of the client company this time entry is tracked for. example: - 123 company_report: title: Company Report description: Report data for the associated company. example: eq: value cost: title: Cost description: Total cost of the time entry including work cost and overhead costs. example: eq: value count: type: integer title: Count description: The number of time entries in this grouped result. example: gt: 0 created_after: type: string title: Created After format: date description: Return time entries created after this datetime. example: eq: value created_at: type: string title: Created At format: date description: Timestamp when the time entry was created. example: '2026-01-15T10:00:00Z' created_at_period: title: Created At Period description: The time period (day, week, month) for the created_at grouping. example: '2026-01-15T10:00:00Z' created_before: type: string title: Created Before format: date description: Return time entries created before this datetime. example: value creator: title: Creator description: The person who created this time entry. example: value creator_id: type: integer title: Creator description: The ID of the person who created this time entry. example: - 123 creator_report: title: Creator Report description: Report data for the creator of this time entry. example: eq: value currency: type: string title: Currency description: The currency code in the organization currency. example: eq: value currency_default: title: Currency Default description: The currency code in the default display currency. example: eq: value currency_normalized: type: string title: Currency Normalized description: The currency code normalized to the organization base currency. example: eq: value custom_fields: title: Custom Fields description: Custom field values associated with this time entry. example: eq: value date: type: string title: Date format: date description: The date the time was tracked (YYYY-MM-DD). example: gt: '2026-01-01' date_period: title: Date Period description: The time period (day, week, month) for the date grouping. example: eq: value day: type: string title: Day description: The specific day for which time was tracked. example: eq: value deal_id: type: integer title: Deal description: The ID of the deal associated with this time entry. example: - 123 deal_subsidiary: title: Deal Subsidiary description: The subsidiary of the deal this time entry is tracked against. example: eq: value deal_subsidiary_id: type: integer title: Deal Subsidiary description: The ID of the subsidiary of the deal this time entry is tracked against. example: - 123 ended_at: type: string title: Ended At format: date description: Timestamp when the time entry ended. example: gt: '2026-01-01' facility_overhead_cost: title: Facility Overhead Cost description: Total facility overhead cost allocated to this time entry. example: eq: value formula_fields: title: Formula Fields description: Custom formula field values calculated for this time entry. example: eq: value formulas: type: integer title: Formulas description: Custom formulas applied to this time entry report. example: eq: value group: type: string title: Group description: The grouping dimension applied to aggregate time entry results. example: eq: value id: type: integer title: Id description: Unique identifier of the time entry report record. example: - 123 intercompany_hours: type: integer title: Intercompany Hours description: Indicates whether hours were tracked on a budget owned by another subsidiary. example: eq: value internal_overhead_cost: title: Internal Overhead Cost description: Total internal overhead cost allocated to this time entry. example: eq: value invoice: title: Invoice description: The invoice this time entry has been billed on. example: eq: value invoice_attribution_id: type: integer title: Invoice Attribution description: The ID of the invoice attribution linking this time entry to an invoice. example: - 123 invoice_id: type: integer title: Invoice description: The ID of the invoice this time entry has been billed on. example: - 123 invoiced: type: integer title: Invoiced description: Indicates whether this time entry has been invoiced to the client. example: eq: value invoicing_status: enum: - 1 - 2 - 3 type: integer title: Invoicing Status description: The invoicing status of this time entry. example: eq: active jira_issue_id: type: string title: Jira Issue description: The Jira issue ID linked to this time entry. example: - 123 jira_issue_status: type: string title: Jira Issue Status description: The Jira issue status linked to this time entry. example: eq: active jira_issue_summary: type: string title: Jira Issue Summary description: The Jira issue summary linked to this time entry. example: eq: value jira_worklog_id: type: string title: Jira Worklog description: The Jira worklog ID linked to this time entry. example: - 123 last_activity_at: type: string title: Last Activity At format: date description: Timestamp of the most recent activity on this time entry. example: gt: '2026-01-01' 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' last_actor: title: Last Actor description: The last person who modified this time entry. example: eq: value last_actor_id: type: integer title: Last Actor description: The ID of the last person who modified this time entry. example: - 123 last_actor_report: title: Last Actor Report description: Report data for the last actor who modified this time entry. example: eq: value month: type: string title: Month description: The month in which the time entry was tracked. example: eq: value note: type: string title: Note description: The description or note on what was worked on. example: eq: value organization: title: Organization description: The organization this time entry belongs to. example: eq: value overhead: type: integer title: Overhead description: Indicates whether this time entry is classified as overhead. example: eq: value overhead_cost: title: Overhead Cost description: Total overhead cost of this time entry. example: eq: value people_custom_fields: type: string title: People Custom Fields description: Custom field values associated with the person who tracked time. example: eq: value person: title: Person description: The person who tracked this time entry. example: eq: value person_id: type: integer title: Person description: The ID of the person who tracked this time entry. example: - 123 person_report: title: Person Report description: Report data for the person who tracked this time entry. example: eq: value person_subsidiary: title: Person Subsidiary description: The subsidiary of the person who tracked this time entry. example: eq: value person_subsidiary_id: type: integer title: Person Subsidiary description: The ID of the subsidiary of the person who tracked this time entry. example: - 123 person_tags: type: string title: Person Tags description: Tags applied to the person who tracked this time entry. example: eq: value project: title: Project description: The project this time entry is tracked on. example: eq: value project_id: type: integer title: Project description: The ID of the project this time entry is tracked on. example: - 123 project_manager_id: type: integer title: Project Manager description: The ID of the project manager for this time entry's project. example: - 123 project_report: title: Project Report description: Report data for the project this time entry is tracked on. example: eq: value project_type_id: type: integer title: Project Type description: The ID of the project type (internal or client). example: - 123 quarter: type: string title: Quarter description: The quarter in which the time entry was tracked. example: eq: value query: type: string title: Query description: Full-text search query used to filter the time entry report. example: eq: value report: title: Report description: The report identifier for this time entry aggregation. example: eq: value responsible: title: Responsible description: The budget owner responsible for approving this time entry. example: eq: value responsible_id: type: integer title: Responsible description: The ID of the budget owner responsible for approving this time entry. example: - 123 responsible_report: title: Responsible Report description: Report data for the budget owner of this time entry. example: eq: value role_id: type: integer title: Role description: The ID of the role of the person who tracked time. example: - 123 section_name: type: string title: Section Name description: The name of the budget section the service belongs to. example: eq: value service: title: Service description: The service this time entry is tracked against. example: eq: value service_id: type: integer title: Service description: The ID of the service this time entry is tracked against. example: - 123 service_report: title: Service Report description: Report data for the service this time entry is tracked against. example: eq: value service_type: title: Service Type description: The type of service this time entry is tracked against. example: eq: active service_type_id: type: integer title: Service Type description: Service type id for this time entry report group. example: - 123 stage_type: enum: - 1 - 2 type: integer title: Stage Type description: Stage type for this time entry report group. example: eq: active started_after: type: string title: Started After format: date description: Started after for this time entry report group. example: eq: value started_at: type: string title: Started At format: date description: Started at for this time entry report group. example: gt: '2026-01-01' started_before: type: string title: Started Before format: date description: Started before for this time entry report group. example: eq: value status: enum: - 1 - 2 - 3 - 4 - 5 - 6 type: integer title: Status description: Status for this time entry report group. example: eq: active task: title: Task description: Task for this time entry report group. example: eq: value task_id: type: integer title: Task description: Task id for this time entry report group. example: - 123 task_list: title: Task List description: Task list for this time entry report group. example: eq: value task_list_id: type: integer title: Task List description: Task list id for this time entry report group. example: - 123 task_report: title: Task Report description: Task report for this time entry report group. example: eq: value time: type: integer title: Time description: Time for this time entry report group. example: gt: 0 time_entry: title: Time Entry description: Time entry for this time entry report group. example: gt: 0 time_entry_created_at: title: Time Entry Created At description: Time entry created at for this time entry report group. example: gt: '2026-01-01' time_entry_date: title: Time Entry Date description: Time entry date for this time entry report group. example: gt: '2026-01-01' time_entry_ended_at: title: Time Entry Ended At description: Time entry ended at for this time entry report group. example: gt: '2026-01-01' time_entry_last_activity_at: title: Time Entry Last Activity At description: Timestamp of the most recent activity on the time entry associated with this report row. example: gt: '2026-01-01' time_entry_started_at: title: Time Entry Started At description: Time entry started at for this time entry report group. example: gt: '2026-01-01' total_billable_revenue: title: Total Billable Revenue description: Sum of billable revenue across all records in this time entry report group. example: eq: value total_billable_revenue_default: title: Total Billable Revenue Default description: Sum of billable revenue in the organization's default currency across all records in this time entry report group. example: eq: value total_billable_revenue_normalized: title: Total Billable Revenue Normalized description: Sum of billable revenue in the normalized currency across all records in this time entry report group. example: eq: value total_billable_time: type: number title: Total Billable Time description: Sum of billable time across all records in this time entry report group. example: gt: 0 total_cost: title: Total Cost description: Sum of cost across all records in this time entry 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 time entry 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 time entry report group. example: eq: value total_facility_overhead_cost: title: Total Facility Overhead Cost description: Sum of facility overhead cost across all records in this time entry report group. example: eq: value total_facility_overhead_cost_default: title: Total Facility Overhead Cost Default description: Sum of facility overhead cost in the organization's default currency across all records in this time entry report group. example: eq: value total_facility_overhead_cost_normalized: title: Total Facility Overhead Cost Normalized description: Sum of facility overhead cost in the normalized currency across all records in this time entry report group. example: eq: value total_internal_overhead_cost: title: Total Internal Overhead Cost description: Sum of internal overhead cost across all records in this time entry report group. example: eq: value total_internal_overhead_cost_default: title: Total Internal Overhead Cost Default description: Sum of internal overhead cost in the organization's default currency across all records in this time entry report group. example: eq: value total_internal_overhead_cost_normalized: title: Total Internal Overhead Cost Normalized description: Sum of internal overhead cost in the normalized currency across all records in this time entry report group. example: eq: value total_overhead_cost: title: Total Overhead Cost description: Sum of overhead cost across all records in this time entry 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 time entry 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 time entry report group. example: eq: value total_recognized_profit: title: Total Recognized Profit description: Sum of recognized profit across all records in this time entry 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 time entry 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 time entry report group. example: eq: value total_recognized_revenue: title: Total Recognized Revenue description: Sum of recognized revenue across all records in this time entry 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 time entry 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 time entry report group. example: eq: value total_recognized_time: type: number title: Total Recognized Time description: Sum of recognized time across all records in this time entry report group. example: gt: 0 total_time: type: number title: Total Time description: Sum of time across all records in this time entry report group. example: gt: 0 total_work_cost: title: Total Work Cost description: Sum of work cost across all records in this time entry report group. example: eq: value total_work_cost_default: title: Total Work Cost Default description: Sum of work cost in the organization's default currency across all records in this time entry report group. example: eq: value total_work_cost_normalized: title: Total Work Cost Normalized description: Sum of work cost in the normalized currency across all records in this time entry report group. example: eq: value track_method_id: type: integer title: Track Method description: Track method id for this time entry report group. example: - 123 unit_id: enum: - 1 - 2 - 3 type: integer title: Unit description: Unit id for this time entry report group. example: - 123 updated_at: type: string title: Updated At format: date description: Updated at for this time entry report group. example: gt: '2026-01-01' week: type: string title: Week description: Week grouping for this time entry report row. example: eq: value year: type: string title: Year description: Year grouping for this time entry report row. example: eq: value deal_or_budget_report: title: Deal Or Budget Report description: Report object for the deal or budget associated with this time entry. example: gt: 0 designated_approver: title: Designated Approver description: The person designated as the approver for the budget linked to this time entry. example: eq: value designated_approver_id: type: integer title: Designated Approver description: ID of the person designated as the approver for the budget linked to this time entry. example: - 123 parent_company_id: type: integer title: Parent Company description: ID of the parent company of the client linked to this time entry's budget, used for hierarchical company filtering. example: - 123 approved_at_period: title: Approved At Period description: Bucketed `approved_at` value for this group when the report is grouped by `approved_at` with a date period (day, week, month, quarter, or year) — e.g. `2026/Q1`. `null` when the report is not grouped by `approved_at` or the entries are unapproved. example: 2026/Q1 ended_at_period: title: Ended At Period description: Bucketed `ended_at` value for this group when the report is grouped by `ended_at` with a date period (day, week, month, quarter, or year) — e.g. `2026/Q1`. `null` when the report is not grouped by `ended_at` or the entries have no end date. example: 2026/Q1 started_at_period: title: Started At Period description: Bucketed `started_at` value for this group when the report is grouped by `started_at` with a date period (day, week, month, quarter, or year) — e.g. `2026/Q1`. `null` when the report is not grouped by `started_at`. example: 2026/Q1 person_manager: title: Person Manager person_manager_id: type: integer title: Person Manager person_manager_report: title: Person Manager Report billable_approved_time: type: integer title: Billable Approved Time total_billable_approved_time: type: number title: Total Billable Approved Time approved_by_actual_approver_id: type: integer title: Approved By Actual Approver approved_for_assigned_approver_id: type: integer title: Approved For Assigned Approver designated_approver_report: title: Designated Approver Report example: id: '123' type: time_entry_reports attributes: billable_time: 14400 nonbillable_time: 1800 date: '2026-01-15' person_id: 12 project_id: 45 service_id: 34 relationships: {} resource_mcp_server: type: object title: Mcp Server Resource properties: auth_type: enum: - api_key - oauth_2 type: string title: Auth Type description: How a connector authenticates against the server, copied from the catalog for a verified server client_id: type: string title: Client Id description: OAuth client id of a custom OAuth 2.0 server, sent together with the client secret on create only, never returned client_secret: type: string title: Client Secret description: OAuth client secret of a custom OAuth 2.0 server, sent together with the client id on create only, never returned color_id: type: - integer - 'null' title: Color Id created_at: type: string title: Created At format: date-time creator: title: Creator creator_id: type: integer title: Creator Id custom: type: boolean title: Custom description: True for a server the organization added itself, false for a verified server from the catalog description: type: - string - 'null' title: Description icon_id: type: - string - 'null' title: Icon Id id: type: integer title: Id name: type: string title: Name description: Display name, for a verified server it is the name of the provider in the catalog oauth_authorize_url: type: - string - 'null' title: Oauth Authorize Url description: Authorization endpoint of an OAuth 2.0 server, null for an API key server redirect_uri: type: - string - 'null' title: Redirect Uri description: Callback URL registered with the provider, required for custom OAuth 2.0 servers and verified servers with dynamic client registration updated_at: type: string title: Updated At format: date-time url: type: string title: Url format: uri description: HTTPS endpoint of the MCP server. Copied from the catalog when a verified server is created; served from the catalog's self-hosted URL instead while the provider's self-hosted flag is on for the organization _filter_root_scenario: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_scenario" description: A logical filter group — combine multiple conditions with the `$op` operator. 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: or required: - "$op" example: '0': deal_id: eq: 5678 '1': deal_id: eq: 9012 "$op": or - "$ref": "#/components/schemas/filter_scenario" description: Filter schema for `scenario` list endpoints — pass a single condition or a logical group. example: '0': deal_id: eq: 5678 '1': deal_id: eq: 9012 "$op": or _filter_root_scenario_booking: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_scenario_booking" description: A logical filter group — combine multiple conditions with the `$op` operator. 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: or required: - "$op" example: '0': person_id: eq: 7 '1': person_id: eq: 8 "$op": or - "$ref": "#/components/schemas/filter_scenario_booking" description: Filter schema for `scenario_booking` list endpoints — pass a single condition or a logical group. example: '0': person_id: eq: 7 '1': person_id: eq: 8 "$op": or _filter_root_scenario_item: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_scenario_item" description: A logical filter group — combine multiple conditions with the `$op` operator. 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: or required: - "$op" example: '0': person_id: eq: 7 '1': person_id: eq: 8 "$op": or - "$ref": "#/components/schemas/filter_scenario_item" description: Filter schema for `scenario_item` list endpoints — pass a single condition or a logical group. example: '0': person_id: eq: 7 '1': person_id: eq: 8 "$op": or _filter_root_scenario_section: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_scenario_section" description: A logical filter group — combine multiple conditions with the `$op` operator. 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: or required: - "$op" example: '0': scenario_id: eq: 42 '1': scenario_id: eq: 43 "$op": or - "$ref": "#/components/schemas/filter_scenario_section" description: Filter schema for `scenario_section` list endpoints — pass a single condition or a logical group. example: '0': scenario_id: eq: 42 '1': scenario_id: eq: 43 "$op": or _filter_root_scenario_service: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_scenario_service" description: A logical filter group — combine multiple conditions with the `$op` operator. 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: or required: - "$op" example: '0': scenario_id: eq: 42 '1': scenario_id: eq: 43 "$op": or - "$ref": "#/components/schemas/filter_scenario_service" description: Filter schema for `scenario_service` list endpoints — pass a single condition or a logical group. example: '0': scenario_id: eq: 42 '1': scenario_id: eq: 43 "$op": or filter_scenario_item: type: object title: Filter scenario item description: Filter parameters for narrowing scenario item list results. properties: id: "$ref": "#/components/schemas/_filter_id" person_id: "$ref": "#/components/schemas/_filter_id" service_id: "$ref": "#/components/schemas/_filter_id" example: service_id: eq: 201 resource_scenario_service: type: object title: Scenario Service Resource description: A line item of a scenario, mirroring a deal service and carrying its pricing, budget, and financial totals. properties: billable: type: boolean title: Billable description: Whether this service is billable to the client. example: true billing_type_id: enum: - 1 - 2 - 3 - 4 type: integer title: Billing Type description: 'How this service is billed: fixed price, actuals, percentage, or non-billable.' example: 1 budget_cap_enabled: type: boolean title: Budget Cap Enabled description: Whether a hard budget cap prevents tracking beyond the budget total. example: false budget_total: type: number title: Budget Total nullable: true description: Total budget for this service. example: 960000 budget_total_default: type: number title: Budget Total Default nullable: true description: Total budget for this service in the organization's default currency. example: 960000 budget_total_normalized: type: number title: Budget Total Normalized nullable: true description: Total budget for this service in the organization's normalized currency. example: 960000 budget_used: type: number title: Budget Used nullable: true description: Budget consumed so far. example: 240000 budget_used_default: type: number title: Budget Used Default nullable: true description: Budget consumed so far in the organization's default currency. example: 240000 budget_used_normalized: type: number title: Budget Used Normalized nullable: true description: Budget consumed so far in the organization's normalized currency. example: 240000 cost: type: number title: Cost nullable: true description: Total cost including labor and expenses. example: 720000 cost_default: type: number title: Cost Default nullable: true description: Total cost including labor and expenses in the organization's default currency. example: 720000 cost_normalized: type: number title: Cost Normalized nullable: true description: Total cost including labor and expenses in the organization's normalized currency. example: 720000 created_at: type: string title: Created At format: date-time description: When the service was created. example: '2026-01-15T09:30:00.000+01:00' currency: type: string title: Currency nullable: true description: Currency code for this service's financial values. example: EUR currency_default: type: string title: Currency Default description: Currency code in the organization's default currency. example: EUR currency_normalized: type: string title: Currency Normalized nullable: true description: Currency code in the organization's normalized currency. example: EUR description: type: string title: Description nullable: true description: Longer description of the service. example: Wireframes, prototypes and usability testing. discount: type: string title: Discount nullable: true description: Discount percentage subtracted from the service price. example: '10.0' discount_amount: type: number title: Discount Amount nullable: true description: Total discount in monetary terms. example: 1200 discount_amount_default: type: number title: Discount Amount Default nullable: true description: Total discount in monetary terms in the organization's default currency. example: 1200 discount_amount_normalized: type: number title: Discount Amount Normalized nullable: true description: Total discount in monetary terms in the organization's normalized currency. example: 1200 discount_type: enum: - percentage - amount type: string title: Discount Type description: 'Which discount is in effect: percentage or fixed amount.' example: percentage editor_config: type: object title: Editor Config nullable: true description: Rich text editor configuration. example: columns: - quantity - price - total initial_service_id: type: integer title: Initial Service description: ID of the original service across copies and applies; the service's own ID when it is the original. example: 201 markup: type: string title: Markup nullable: true description: Markup percentage added to the service price. example: '20.0' markup_amount: type: number title: Markup Amount nullable: true description: Total markup in monetary terms. example: 2000 markup_amount_default: type: number title: Markup Amount Default nullable: true description: Total markup in monetary terms in the organization's default currency. example: 2000 markup_amount_normalized: type: number title: Markup Amount Normalized nullable: true description: Total markup in monetary terms in the organization's normalized currency. example: 2000 name: type: string title: Name description: Name of the service. example: UX design origin_service_id: type: integer title: Origin Service nullable: true description: ID of the deal service this scenario service was copied from, or null if it was added in the scenario. example: 983 position: type: integer title: Position nullable: true description: Sort order within the scenario's service list. example: 2 price: type: number title: Price nullable: true description: Unit price for this service. example: 12000 price_default: type: number title: Price Default nullable: true description: Unit price for this service in the organization's default currency. example: 12000 price_normalized: type: number title: Price Normalized nullable: true description: Unit price for this service in the organization's normalized currency. example: 12000 profit: type: number title: Profit nullable: true description: 'Service profit: revenue minus costs.' example: 240000 profit_default: type: number title: Profit Default nullable: true description: Service profit in the organization's default currency. example: 240000 profit_margin: type: - string - number title: Profit Margin description: Profit as a percentage of revenue. example: '25.0' profit_normalized: type: number title: Profit Normalized nullable: true description: Service profit in the organization's normalized currency. example: 240000 quantity: type: string title: Quantity description: Number of units (hours, days, or pieces) for this service. example: '80.0' revenue: type: number title: Revenue nullable: true description: Total revenue from this service. example: 960000 revenue_default: type: number title: Revenue Default nullable: true description: Total revenue from this service in the organization's default currency. example: 960000 revenue_normalized: type: number title: Revenue Normalized nullable: true description: Total revenue from this service in the organization's normalized currency. example: 960000 unit_id: enum: - 1 - 2 - 3 type: integer title: Unit nullable: true description: 'Tracking unit: hours, days, or pieces.' example: 1 deal: title: Deal description: The deal or budget this service is part of. example: data: type: deals id: '5678' id: type: integer title: Id description: Unique identifier of the service. example: 201 organization: title: Organization description: The organization this service belongs to. example: data: type: organizations id: '1' scenario: title: Scenario description: The scenario this service belongs to. example: data: type: scenarios id: '42' scenario_bookings: title: Scenario Bookings description: Bookings scheduled for this service's items. example: data: - type: scenario_bookings id: '401' scenario_id: type: integer title: Scenario description: ID of the scenario this service belongs to. example: 42 scenario_items: title: Scenario Items description: The person assignments on this service. example: data: - type: scenario_items id: '301' scenario_section: title: Scenario Section description: The section grouping this service within the scenario. example: data: type: scenario_sections id: '101' scenario_section_id: type: integer title: Scenario Section description: ID of the section grouping this service within the scenario. example: 101 service_type: title: Service Type description: The work category this service belongs to. example: data: type: service_types id: '31' service_type_id: type: integer title: Service Type description: The work category this service belongs to. example: 31 unit: enum: - 1 - 2 - 3 type: integer title: Unit description: The tracking unit (hours, days, or pieces) for this service. example: 1 example: name: UX design scenario_id: 42 scenario_section_id: 101 billing_type_id: 1 unit_id: 1 quantity: '80.0' price: 12000 markup: '20.0' discount: '10.0' billable: true budget_total: 960000 revenue: 960000 cost: 720000 profit: 240000 profit_margin: '25.0' resource_scenario: type: object title: Scenario Resource description: A what-if copy of a deal's sections, services, items, and bookings that can be applied back to the deal by overwrite (replace everything) or sync (diff and merge). properties: budget_total: type: number title: Budget Total nullable: true description: Total budget amount across all services (budget currency). example: 960000 budget_total_default: type: number title: Budget Total Default nullable: true description: Total budget amount across all services (organization default currency). example: 960000 budget_total_normalized: type: number title: Budget Total Normalized nullable: true description: Total budget amount across all services (normalized currency). example: 960000 budget_used: type: number title: Budget Used nullable: true description: Amount of budget consumed so far (budget currency). example: 480000 budget_used_default: type: number title: Budget Used Default nullable: true description: Amount of budget consumed so far (organization default currency). example: 480000 budget_used_normalized: type: number title: Budget Used Normalized nullable: true description: Amount of budget consumed so far (normalized currency). example: 480000 cost: type: number title: Cost nullable: true description: Total costs including labor and expenses (budget currency). example: 720000 cost_default: type: number title: Cost Default nullable: true description: Total costs including labor and expenses (organization default currency). example: 720000 cost_normalized: type: number title: Cost Normalized nullable: true description: Total costs including labor and expenses (normalized currency). example: 720000 created_at: type: string title: Created At format: date-time description: When the scenario was created. example: '2026-01-15T09:30:00.000+01:00' currency: type: string title: Currency nullable: true description: Scenario currency code (budget currency). example: EUR currency_default: type: string title: Currency Default description: Organization default currency code. example: EUR currency_normalized: type: string title: Currency Normalized nullable: true description: Normalized currency code. example: EUR deleted_at: type: string title: Deleted At format: date-time nullable: true description: Soft-deletion timestamp. example: '2026-02-28T10:00:00.000+01:00' end_date: type: string title: End Date format: date nullable: true description: End date of the scenario. example: '2026-05-29' last_applied_at: type: string title: Last Applied At format: date-time nullable: true description: When the scenario was last applied to its deal. example: '2026-02-20T14:00:00.000+01:00' metadata: type: object title: Metadata nullable: true description: Preview of what applying the scenario to its deal would change. properties: bookings_to_create: type: integer description: Number of bookings that applying the scenario would create on the deal. example: 5 bookings_to_create_time: type: integer description: Total time in minutes on the bookings that applying the scenario would create. example: 2400 bookings_to_destroy: type: integer description: Number of bookings that applying the scenario would delete from the deal. example: 1 bookings_to_update: type: integer description: Number of bookings that applying the scenario would update on the deal. example: 2 expenses_to_destroy: type: integer description: Number of expenses that applying the scenario would delete from the deal. example: 0 services_to_create: type: integer description: Number of services that applying the scenario would create on the deal. example: 2 services_to_destroy: type: integer description: Number of services that applying the scenario would delete from the deal. example: 1 services_to_update: type: integer description: Number of services that applying the scenario would update on the deal. example: 3 time_entries_to_destroy: type: integer description: Number of time entries that applying the scenario would delete from the deal. example: 4 time_entries_to_destroy_time: type: integer description: Total time in minutes on the time entries that applying the scenario would delete. example: 480 example: services_to_create: 2 services_to_update: 3 services_to_destroy: 1 expenses_to_destroy: 0 time_entries_to_destroy: 4 time_entries_to_destroy_time: 480 bookings_to_create: 5 bookings_to_create_time: 2400 bookings_to_update: 2 bookings_to_destroy: 1 name: type: string title: Name description: Descriptive name for the scenario. example: Q1 staffing plan profit: type: number title: Profit nullable: true description: Revenue minus costs (budget currency). example: 240000 profit_default: type: number title: Profit Default nullable: true description: Revenue minus costs (organization default currency). example: 240000 profit_margin: type: string title: Profit Margin nullable: true description: Profit as a percentage of revenue. example: '25.0' profit_normalized: type: number title: Profit Normalized nullable: true description: Revenue minus costs (normalized currency). example: 240000 revenue: type: number title: Revenue nullable: true description: Total revenue from services (budget currency). example: 960000 revenue_default: type: number title: Revenue Default nullable: true description: Total revenue from services (organization default currency). example: 960000 revenue_normalized: type: number title: Revenue Normalized nullable: true description: Total revenue from services (normalized currency). example: 960000 start_date: type: string title: Start Date format: date nullable: true description: Start date of the scenario. example: '2026-03-02' copy_services: type: boolean title: Copy Services description: Whether the new scenario starts with a copy of the deal's sections and services. example: true creator: title: Creator description: The person who created this scenario. example: data: type: people id: '7' deal: title: Deal description: The deal or budget this scenario belongs to. example: data: type: deals id: '5678' deal_id: type: integer title: Deal description: ID of the deal or budget this scenario belongs to. Set on create and cannot be changed. example: 5678 id: type: integer title: Id description: The unique identifier of this scenario. example: 42 organization: title: Organization description: The organization this scenario belongs to. example: data: type: organizations id: '1' project_id: type: integer title: Project description: ID of the project linked to the scenario's deal. example: 331 example: name: Q1 staffing plan created_at: '2026-01-15T09:30:00.000+01:00' start_date: '2026-03-02' end_date: '2026-05-29' currency: EUR budget_total: 960000 budget_used: 480000 revenue: 960000 cost: 720000 profit: 240000 profit_margin: '25.0' last_applied_at: '2026-02-20T14:00:00.000+01:00' deal_id: 5678 copy_services: true resource_scenario_booking: type: object title: Scenario Booking Resource description: A time booking scheduled for a scenario item, applied to the deal as a real booking when the scenario is applied with `apply_bookings`. properties: 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: 1 created_at: type: string title: Created At format: date-time description: Date when the booking was created. example: '2026-01-15T09:30:00.000+01:00' custom_fields: type: object title: Custom Fields nullable: true description: Custom field values for this booking. example: '1234': Phase 1 ended_on: type: string title: Ended On format: date description: Booking end date. example: '2026-03-13' hours: type: integer title: Hours nullable: true description: Scheduled hours per day for this booking. example: 4 last_activity_at: type: string title: Last Activity At format: date-time nullable: true description: Timestamp of the last activity recorded on this booking. example: '2026-02-20T14:00:00.000+01:00' note: type: string title: Note nullable: true description: An optional note or description for this booking. example: Kickoff sprint percentage: type: integer title: Percentage nullable: true description: Scheduled time as a percentage of the person's daily capacity. example: 50 started_on: type: string title: Started On format: date description: The start date of the booking. example: '2026-03-02' time: type: integer title: Time nullable: true description: The booked time in minutes per day. example: 240 total_time: type: integer title: Total Time description: The total booked time in minutes across the entire booking period. example: 2400 total_working_days: type: integer title: Total Working Days nullable: true description: The total number of working days covered by this booking. example: 10 updated_at: type: string title: Updated At format: date-time description: Timestamp when this booking was last updated. example: '2026-02-20T14:00:00.000+01:00' after: type: string title: After format: date description: Internal field used for date-range filtering. example: '2026-03-01' before: type: string title: Before format: date description: Internal field used for date-range filtering. example: '2026-06-30' creator: title: Creator description: The person who created this booking. example: data: type: people id: '7' id: type: integer title: Id description: Unique identifier of the booking. example: 401 organization: title: Organization description: The organization this booking belongs to. example: data: type: organizations id: '1' person_id: type: integer title: Person description: ID of the person assigned to this booking. example: 7 scenario_item: title: Scenario Item description: The scenario item this booking belongs to. example: data: type: scenario_items id: '301' scenario_item_id: type: integer title: Scenario Item description: ID of the scenario item this booking belongs to. example: 301 updater: title: Updater description: The person who last updated this booking. example: data: type: people id: '7' example: scenario_item_id: 301 booking_method_id: 1 time: 240 total_time: 2400 started_on: '2026-03-02' ended_on: '2026-03-13' total_working_days: 10 note: Kickoff sprint resource_scenario_section: type: object title: Scenario Section Resource description: A grouping of services within a scenario, mirroring a section on the deal. properties: editor_config: type: object title: Editor Config nullable: true description: Rich text editor configuration and content for this section's description. example: columns: - quantity - price name: type: string title: Name nullable: true description: The name of this section. example: Design phase position: type: integer title: Position nullable: true description: The sort position of this section within the scenario. example: 1 preferences: type: object title: Preferences nullable: true description: User-specific display preferences for this section, stored as key-value settings. example: collapsed: false id: type: integer title: Id description: The unique identifier of this section. example: 101 organization: title: Organization description: The organization this section belongs to. example: data: type: organizations id: '1' scenario: title: Scenario description: The scenario this section belongs to. example: data: type: scenarios id: '42' scenario_id: type: integer title: Scenario description: ID of the scenario this section belongs to. example: 42 example: name: Design phase position: 1 preferences: {} scenario_id: 42 resource_proposal: type: object title: Proposal Resource description: A document sent to a client summarizing proposed work, budget, and terms for a deal. properties: budget_total: title: Budget Total description: The total budget amount of this proposal in the proposal's currency. example: gt: 0 budget_total_default: title: Budget Total Default description: The total budget amount of this proposal in the organization's default currency. example: gt: 0 budget_total_normalized: title: Budget Total Normalized description: The total budget amount of this proposal in the normalized (reporting) currency. example: gt: 0 client: title: Client description: The client company this proposal is addressed to. example: eq: value contact: title: Contact description: The contact person this proposal is addressed to. example: eq: value created_at: type: string title: Created At format: date-time description: Timestamp when this proposal was created. example: gt: '2026-01-01' creator: title: Creator description: The person who created this proposal. example: eq: value currency: type: string title: Currency description: The currency code used for amounts in this proposal. example: eq: value currency_default: title: Currency Default description: The organization's default currency code. example: eq: value currency_normalized: title: Currency Normalized description: The normalized (reporting) currency code used across the organization. example: eq: value custom_fields: type: object title: Custom Fields description: Custom field values for this proposal. example: eq: value date: type: string title: Date format: date description: Date when this proposal was issued. example: gt: '2026-01-01' deal: title: Deal description: The deal (sales opportunity) this proposal belongs to. example: eq: value deal_creator: title: Deal Creator description: The person who created the deal associated with this proposal. example: eq: value deal_id: type: integer title: Deal description: The ID of the deal this proposal belongs to. example: - 123 disclaimer: type: string title: Disclaimer description: The optional disclaimer text appended to the proposal. example: eq: value disclaimer_enabled: type: boolean title: Disclaimer Enabled description: When true, the disclaimer text is shown on the proposal. example: eq: value document_type: title: Document Type description: The document type template applied to this proposal for PDF generation. example: eq: active end_date: type: string title: End Date format: date description: The end date of the proposal's validity or service period. example: gt: '2026-01-01' exchange_date: type: string title: Exchange Date format: date description: The date used to determine the exchange rate applied to this proposal. example: gt: '2026-01-01' exchange_rate: type: number title: Exchange Rate description: The exchange rate used to convert proposal amounts to the billing currency. example: gt: 0 footer: title: Footer description: The footer text template for the proposal, may contain interpolation variables. example: eq: value footer_interpolated: title: Footer Interpolated description: The footer text with all interpolation variables resolved. example: eq: value id: type: integer title: Id description: Unique identifier for the proposal. example: - 123 link_status: enum: - active - inactive type: string title: Link Status description: The public sharing link status of the proposal (e.g. active, disabled). example: eq: active name: type: string title: Name description: The display name of the proposal. example: eq: value note: type: string title: Note description: The body text of the proposal note, may contain interpolation variables. example: eq: value note_interpolated: title: Note Interpolated description: The proposal note with all interpolation variables resolved. example: eq: value organization: title: Organization description: The organization this proposal belongs to. example: eq: value project: title: Project description: The project associated with this proposal. example: eq: value proposal_from: title: Proposal From description: The sender details (subsidiary contact) shown on the proposal. example: eq: value proposal_to: title: Proposal To description: The recipient details (client contact) shown on the proposal. example: eq: value public_uuid: type: string title: Public Uuid description: The unique public UUID used to generate the proposal's public sharing link. example: eq: value purchase_order_number: type: string title: Purchase Order Number description: The client's purchase order number associated with this proposal. example: PO-2024-017 responder_email: type: string title: Responder Email nullable: true description: The email address of the person who responded to (signed) the proposal. example: eq: value responder_name: type: string title: Responder Name nullable: true description: The name of the person who responded to (signed) the proposal. example: eq: value responsible: title: Responsible description: The project manager responsible for this proposal. example: eq: value sent_at: type: string title: Sent At format: date-time description: Timestamp when the proposal was sent to the client. example: gt: '2026-01-01' signed: title: Signed description: When true, the proposal has been signed by the client. example: eq: value status: enum: - draft - pending_approval - approved - sent - accepted - declined type: string title: Status description: The current status of the proposal (e.g. draft, sent, approved, rejected). example: eq: active status_changed_at: type: string title: Status Changed At format: date-time description: Timestamp when the proposal status last changed. example: gt: '2026-01-01' subsidiary: title: Subsidiary description: The subsidiary (legal entity) issuing this proposal. example: eq: value tax_rate: title: Tax Rate description: The tax rate applied to proposal line items. example: gt: 0 decline_reason: type: string title: Decline Reason nullable: true responded_via_public_link: type: boolean title: Responded Via Public Link nullable: true company_id: type: integer title: Company description: ID of the client company associated with this proposal. example: - 123 creator_id: type: integer title: Creator description: ID of the person who created this proposal. example: - 123 responsible_id: type: integer title: Responsible description: ID of the person responsible for this proposal. example: - 123 updated_at: type: string title: Updated At format: date description: Timestamp of the last update to this proposal. example: gt: '2026-01-01' disclaimer_accepted: type: boolean title: Disclaimer Accepted identity_confirmation_enabled: type: boolean title: Identity Confirmation Enabled identity_confirmed_at: type: string title: Identity Confirmed At format: date-time nullable: true proposal_pdf_preview_on_mobile: type: boolean title: Proposal Pdf Preview On Mobile signature_image_url: type: string title: Signature Image Url signature_type: enum: - typed - drawn - uploaded type: string title: Signature Type pdf_url: type: string title: Pdf Url description: The URL of the generated PDF for this proposal. signed_pdf_url: type: string title: Signed Pdf Url description: URL of the audit trail PDF for this proposal, capturing signature and viewing history. approval_requested_at: type: string title: Approval Requested At format: date-time nullable: true approval_requester: title: Approval Requester approval_statuses: title: Approval Statuses approved_at: type: string title: Approved At format: date-time nullable: true rejected_at: type: string title: Rejected At format: date-time nullable: true rejected_reason: type: string title: Rejected Reason nullable: true rejecter: title: Rejecter number: type: string title: Number nullable: true attachment: title: Attachment scenario: title: Scenario description: The scenario this proposal was created from; set when the proposal's `source` is a scenario. example: data: type: scenarios id: '42' source: enum: - deal - scenario - upload type: string title: Source approval_status: enum: - approved - unapproved - rejected - auto_approved type: string title: Approval Status awaiting_approval_from_approver_id: type: integer title: Awaiting Approval From Approver approved_by_actual_approver_id: type: integer title: Approved By Actual Approver approved_for_assigned_approver_id: type: integer title: Approved For Assigned Approver example: id: '23' type: proposals attributes: name: Website Redesign Proposal status: sent created_at: '2026-02-15T10:00:00.000+00:00' sent_at: '2026-02-16T09:00:00.000+00:00' accepted_at: declined_at: currency: USD total: '45000.00' relationships: deal: data: type: deals id: '89' _filter_root_job_role_rate: oneOf: - type: object title: Advanced filters patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_job_role_rate" description: 'A logical filter group: combine multiple conditions with the `$op` operator.' 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. required: - "$op" - "$ref": "#/components/schemas/filter_job_role_rate" description: 'Filter schema for `job_role_rate` list endpoints: pass a single condition or a logical group.' filter_job_role_rate: type: object title: Filter job role rate description: Filter parameters for listing job role rates. Supports filtering by ID, role rate card, job role and unit. Standard ID operators apply. properties: id: "$ref": "#/components/schemas/_filter_id" job_role_id: "$ref": "#/components/schemas/_filter_id" job_role_rate_card_id: "$ref": "#/components/schemas/_filter_id" unit_id: "$ref": "#/components/schemas/_filter_id" resource_owned_resources_count: type: object title: Owned Resources Count Resource description: Counts of the work a person owns, one attribute per kind of work. Every attribute is read-only. properties: absence_approvals_and_subscriptions: type: integer title: Absence approvals and subscriptions description: Number of absence approval policies where this person approves on, or subscribes to, one of the policy's approval workflows. example: 3 bookings: type: integer title: Bookings description: Number of this person's bookings that have not ended yet, drafts included. An offboarding does not transfer bookings, so this count is informational. example: 12 budgets: type: integer title: Budgets description: Number of open budgets this person is responsible for. A budget counts as open while it is neither closed nor delivered. example: 5 deal_todos: type: integer title: Deal todos description: Number of open to-dos assigned to this person on deals and budgets. example: 4 deals: type: integer title: Deals description: Number of deals this person is responsible for that sit in an open pipeline stage. example: 2 direct_reports: type: integer title: Direct reports description: Number of active, enabled employees who report to this person. example: 5 expense_approvals_and_subscriptions: type: integer title: Expense approvals and subscriptions description: Number of expense approval policies where this person approves on, or subscribes to, one of the policy's approval workflows. example: 1 general_championship: type: integer title: General championship description: Whether this person holds the General Champion role, as a count of 0 or 1. example: 0 hr_championship: type: integer title: HR championship description: Whether this person holds the Human Resources Champion role, as a count of 0 or 1. example: 0 invoicing_championship: type: integer title: Invoicing championship description: Whether this person holds the Invoicing Champion role, as a count of 0 or 1. example: 0 pm_championship: type: integer title: PM championship description: Whether this person holds the Project Management Champion role, as a count of 0 or 1. example: 1 private_tasks_and_todos: type: integer title: Private tasks and todos description: Number of open private tasks assigned to this person, plus private tasks on which they have an open to-do assigned. An offboarding never transfers private tasks, so this count is informational. example: 3 project_milestones: type: integer title: Project milestones description: Number of milestones assigned to this person on active, non-template projects. example: 6 projects: type: integer title: Projects description: Number of active projects where this person is the project manager. Templates are included in this count. example: 4 resourcing_championship: type: integer title: Resourcing championship description: Whether this person holds the Resourcing Champion role, as a count of 0 or 1. example: 1 sales_championship: type: integer title: Sales championship description: Whether this person holds the Sales Champion role, as a count of 0 or 1. example: 0 tasks_and_todos: type: integer title: Tasks and todos description: Number of open, non-private tasks assigned to this person, plus open tasks on which they have an open to-do assigned. example: 27 template_budgets: type: integer title: Template budgets description: Number of open template budgets this person is responsible for. These are also counted in `budgets`. example: 1 template_deal_todos: type: integer title: Template deal todos description: Number of open to-dos assigned to this person on template deals and budgets. These are also counted in `deal_todos`. example: 0 template_deals: type: integer title: Template deals description: Number of template deals this person is responsible for that sit in an open pipeline stage. These are also counted in `deals`. example: 0 template_projects: type: integer title: Template projects description: Number of active template projects where this person is the project manager. These are also counted in `projects`. example: 1 template_tasks_and_todos: type: integer title: Template tasks and todos description: Number of open template tasks assigned to this person, plus template tasks on which they have an open to-do assigned. These are also counted in `tasks_and_todos`. example: 2 time_approvals_and_subscriptions: type: integer title: Time approvals and subscriptions description: Number of time approval policies where this person approves on, or subscribes to, one of the policy's approval workflows. example: 2 person_custom_fields: type: array items: type: object properties: approver_count: type: integer count: type: integer custom_field_id: type: string customizable_type: enum: - budgets - deals type: string name: type: string template_count: type: integer required: - custom_field_id - name - customizable_type - count - approver_count - template_count title: Person custom fields example: projects: 4 template_projects: 1 tasks_and_todos: 27 template_tasks_and_todos: 2 private_tasks_and_todos: 3 project_milestones: 6 budgets: 5 template_budgets: 1 deals: 2 template_deals: 0 deal_todos: 4 template_deal_todos: 0 bookings: 12 absence_approvals_and_subscriptions: 3 time_approvals_and_subscriptions: 2 expense_approvals_and_subscriptions: 1 direct_reports: 5 general_championship: 0 resourcing_championship: 1 invoicing_championship: 0 hr_championship: 0 pm_championship: 1 sales_championship: 0 resource_job_role_rate: type: object title: Job role rate Resource description: 'A rate on a role rate card: the amount one job role is charged per unit. A job role has at most one rate per card.' properties: amount: type: number title: Amount description: Rate amount in cents, in the role rate card's currency. created_at: type: string title: Created At format: date-time description: Timestamp when this rate was created. id: type: integer title: Id description: The unique identifier of this job role rate. job_role: title: Job Role description: The job role this rate is for. job_role_id: type: integer title: Job Role description: ID of the job role this rate is for. job_role_rate_card: title: Job Role Rate Card description: The role rate card this rate belongs to. job_role_rate_card_id: type: integer title: Job Role Rate Card description: ID of the role rate card this rate belongs to. organization: title: Organization description: The organization this rate belongs to. unit_id: enum: - 1 - 3 type: integer title: Unit description: ID of the unit the amount is charged per. updated_at: type: string title: Updated At format: date-time description: Timestamp when this rate was last updated. resource_job_role_rate_card: type: object title: Job role rate card Resource properties: archived_at: type: string title: Archived At format: date-time company: title: Company company_id: type: integer title: Company created_at: type: string title: Created At format: date-time creator: title: Creator currency: type: string title: Currency id: type: integer title: Id name: type: string title: Name organization: title: Organization status: enum: - 1 - 2 type: integer title: Status updated_at: type: string title: Updated At format: date-time rates_count: type: integer title: Rates Count description: The number of rates defined on this role rate card. error_code_company: enum: - bad_decimal_format - category_invalid - companies_export_not_enabled - company_export_ambiguous_customer - company_export_match_changed - company_export_missing_relationship_value - company_export_not_supported - company_exported_to_different_account - company_missing_subsidiary - contact_field_unknown - contact_list_not_array - contact_list_not_hash - contact_type_unknown - currency_invalid - custom_field_invalid_option - custom_field_invalid_person - custom_field_not_found - custom_field_value_not_date - custom_field_value_not_number - custom_field_value_not_string - custom_field_value_out_of_range - custom_field_value_too_long - domain_invalid_format - domain_too_long - domains_not_unique - integration_deactivated - integration_not_found - invalid_attribute_value - multiple_billing_addresses - netsuite_integration_feature_unavailable - non_finite_number - null_bytes_in_params - public_domain_not_allowed - required_custom_field type: string title: Error Code description: Every error `code` the companies endpoints can return. filter_project_relevancy_report: type: object title: Filter project relevancy report properties: activity_period_end: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/activity_period_end" - "$ref": "#/components/schemas/resource_project_relevancy_report/properties/activity_period_end" activity_period_start: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/activity_period_start" - "$ref": "#/components/schemas/resource_project_relevancy_report/properties/activity_period_start" domain: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/domain" not_eq: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/domain" contains: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/domain" not_contain: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/domain" - "$ref": "#/components/schemas/resource_project_relevancy_report/properties/domain" heuristic_type: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/heuristic_type" not_eq: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/heuristic_type" - "$ref": "#/components/schemas/resource_project_relevancy_report/properties/heuristic_type" description: Heuristics to run. Defaults to `time_tracked`, `booked` and `pinned_services`; `domain`, `activity`, `meeting_history` and `title` are more expensive per request and must be requested by name. A `not_eq` filter excludes from the default set rather than from the full list. person_id: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/person_id" - "$ref": "#/components/schemas/resource_project_relevancy_report/properties/person_id" time_trackable_on_date: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/time_trackable_on_date" - "$ref": "#/components/schemas/resource_project_relevancy_report/properties/time_trackable_on_date" time_tracked_period_end: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/time_tracked_period_end" - "$ref": "#/components/schemas/resource_project_relevancy_report/properties/time_tracked_period_end" time_tracked_period_start: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/time_tracked_period_start" - "$ref": "#/components/schemas/resource_project_relevancy_report/properties/time_tracked_period_start" booked_period_end: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/booked_period_end" - "$ref": "#/components/schemas/resource_project_relevancy_report/properties/booked_period_end" booked_period_start: anyOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/booked_period_start" - "$ref": "#/components/schemas/resource_project_relevancy_report/properties/booked_period_start" attendee_email: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/attendee_email" meeting_history_period_end: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/meeting_history_period_end" meeting_history_period_start: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/meeting_history_period_start" title: "$ref": "#/components/schemas/resource_project_relevancy_report/properties/title" resource_offboarding: type: object title: Offboarding Resource description: A single offboarding of a person. The serialized record carries the person and the state of the run; the new-owner fields are write-only inputs that decide where each kind of the person's work goes. properties: absence_approvals_and_subscriptions: type: integer title: New owner for absence approvals and subscriptions description: Person who replaces this person as approver or subscriber on time-off approval workflows. example: 654321 budgets: type: integer title: New owner for budgets description: Person who becomes responsible for the open budgets this person is responsible for. example: 654321 created_at: type: string title: Created At format: date-time description: Timestamp when the offboarding was created. example: '2026-09-22T10:15:00.000+02:00' deal_todos: type: integer title: New owner for deal todos description: Person who takes over the open to-dos assigned to this person on deals. example: 654321 deals: type: integer title: New owner for deals description: Person who becomes responsible for the open deals this person is responsible for. example: 654321 direct_reports: type: integer title: New manager for direct reports description: Person who becomes the manager of everyone this person currently manages. example: 654321 expense_approvals_and_subscriptions: type: integer title: New owner for expense approvals and subscriptions description: Person who replaces this person as approver or subscriber on expense approval workflows. example: 654321 general_championship: type: integer title: New general champion description: Person who takes over the General Champion role. If they already hold it, the offboarded person's championship is removed instead. example: 654321 hr_championship: type: integer title: New HR champion description: Person who takes over the Human Resources Champion role. If they already hold it, the offboarded person's championship is removed instead. example: 654321 invoicing_championship: type: integer title: New invoicing champion description: Person who takes over the Invoicing Champion role. If they already hold it, the offboarded person's championship is removed instead. example: 654321 person: title: Person description: The person being offboarded. example: data: type: people id: '123456' person_id: type: integer title: Person description: The person being offboarded. They are deactivated as part of the same request. example: 123456 pm_championship: type: integer title: New PM champion description: Person who takes over the Project Management Champion role. If they already hold it, the offboarded person's championship is removed instead. example: 654321 project_milestones: type: integer title: New owner for project milestones description: Person who takes over the milestones assigned to this person on active projects. Send `null` to leave them unassigned. example: 654321 projects: type: integer title: New owner for projects description: Person who takes over as project manager of the active projects this person manages. example: 654321 resourcing_championship: type: integer title: New resourcing champion description: Person who takes over the Resourcing Champion role. If they already hold it, the offboarded person's championship is removed instead. example: 654321 sales_championship: type: integer title: New sales champion description: Person who takes over the Sales Champion role. If they already hold it, the offboarded person's championship is removed instead. example: 654321 status: enum: - not_initiated - in_progress - failed - completed type: string title: Status description: State of the offboarding run. It starts in progress and settles once every background transfer job has reported its outcome. example: in_progress tasks_and_todos: type: integer title: New owner for tasks and todos description: Person who takes over the open tasks assigned to this person, and the open to-dos assigned to them on tasks. Private tasks are never transferred. Send `null` to leave them unassigned. example: 654321 time_approvals_and_subscriptions: type: integer title: New owner for time approvals and subscriptions description: Person who replaces this person as approver or subscriber on time approval workflows. example: 654321 updated_at: type: string title: Updated At format: date-time description: Timestamp when the offboarding was last updated, including when its final state was set. example: '2026-09-22T10:18:42.000+02:00' person_custom_fields: type: object title: New owner per person custom field additionalProperties: type: integer example: person_id: 123456 status: in_progress created_at: '2026-09-22T10:15:00.000+02:00' updated_at: '2026-09-22T10:18:42.000+02:00' parameters: filter_search_deal_mention: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/filter_search_deal_mention" required: true sort_financial_item_report: in: query name: sort style: form schema: type: array items: enum: - approval_status - "-approval_status" - average_blended_rate - "-average_blended_rate" - average_margin - "-average_margin" - average_recognized_margin - "-average_recognized_margin" - billing_type - "-billing_type" - budget - "-budget" - company - "-company" - company_billing_name - "-company_billing_name" - count - "-count" - custom_fields - "-custom_fields" - date - "-date" - deal_status - "-deal_status" - financial_item_date - "-financial_item_date" - financial_item_description - "-financial_item_description" - financial_item_type - "-financial_item_type" - future - "-future" - origin_deal - "-origin_deal" - person - "-person" - project - "-project" - project_type_id - "-project_type_id" - responsible - "-responsible" - section - "-section" - service - "-service" - service_type - "-service_type" - stage_status - "-stage_status" - stage_type - "-stage_type" - subsidiary - "-subsidiary" - total_billable_scheduled_time - "-total_billable_scheduled_time" - total_billable_time - "-total_billable_time" - total_billable_worked_time - "-total_billable_worked_time" - total_budget_total - "-total_budget_total" - total_budget_used - "-total_budget_used" - total_budgeted_time - "-total_budgeted_time" - total_cost - "-total_cost" - total_credited - "-total_credited" - total_draft_invoiced - "-total_draft_invoiced" - total_estimated_cost - "-total_estimated_cost" - total_estimated_time - "-total_estimated_time" - total_expense_cost - "-total_expense_cost" - total_invoiced - "-total_invoiced" - total_overhead_cost - "-total_overhead_cost" - total_overtime_time - "-total_overtime_time" - total_projected_revenue - "-total_projected_revenue" - total_recognized_profit - "-total_recognized_profit" - total_recognized_revenue - "-total_recognized_revenue" - total_recognized_time - "-total_recognized_time" - total_scheduled_cost - "-total_scheduled_cost" - total_scheduled_revenue - "-total_scheduled_revenue" - total_scheduled_time - "-total_scheduled_time" - total_time - "-total_time" - total_time_entry_cost - "-total_time_entry_cost" - total_worked_time - "-total_worked_time" type: string title: Sort financial item report explode: false required: false description: Sort financial item report group_task_report: in: query name: group style: form schema: enum: - assignee - closed_at - company - created_at - creator - custom_fields - due_date - folder - last_activity_at - last_actor - month - organization - parent_task - project - quarter - repeating - root_task - service - start_date - status - task - task_list - week - workflow - workflow_status - workflow_status_category_id - year type: string title: Group task report explode: false required: false description: Group task report filter_whiteboard: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_whiteboard" required: false include_whiteboard: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - project - creator type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false sort_whiteboard: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - id - "-id" - name - "-name" - updated_at - "-updated_at" type: string title: Sort whiteboard explode: false required: false sort_task_report: in: query name: sort style: form schema: type: array items: enum: - assignee - "-assignee" - closed_at - "-closed_at" - company - "-company" - count - "-count" - created_at - "-created_at" - creator - "-creator" - custom_fields - "-custom_fields" - due_date - "-due_date" - folder - "-folder" - last_activity_at - "-last_activity_at" - last_actor - "-last_actor" - month - "-month" - parent_task - "-parent_task" - placement - "-placement" - project - "-project" - quarter - "-quarter" - root_task - "-root_task" - service - "-service" - start_date - "-start_date" - status - "-status" - task - "-task" - task_closed_at - "-task_closed_at" - task_created_at - "-task_created_at" - task_custom_fields - "-task_custom_fields" - task_due_date - "-task_due_date" - task_last_activity_at - "-task_last_activity_at" - task_list - "-task_list" - task_number - "-task_number" - task_start_date - "-task_start_date" - title - "-title" - total_billable_time - "-total_billable_time" - total_booked_time - "-total_booked_time" - total_estimate_at_completion - "-total_estimate_at_completion" - total_estimation_offset_time - "-total_estimation_offset_time" - total_future_booked_time - "-total_future_booked_time" - total_initial_estimate - "-total_initial_estimate" - total_left_to_schedule_time - "-total_left_to_schedule_time" - total_net_unplanned_time - "-total_net_unplanned_time" - total_remaining_time - "-total_remaining_time" - total_worked_time - "-total_worked_time" - week - "-week" - workflow - "-workflow" - workflow_status - "-workflow_status" - workflow_status_category_id - "-workflow_status_category_id" - year - "-year" type: string title: Sort task report explode: false required: false description: Sort task report sort_deal: in: query name: sort style: form schema: type: array items: enum: - billable_time - "-billable_time" - budget_status - "-budget_status" - budget_total - "-budget_total" - budget_used - "-budget_used" - budget_warning - "-budget_warning" - budgeted_time - "-budgeted_time" - budgets_first - "-budgets_first" - client_access - "-client_access" - closed_at - "-closed_at" - company_name - "-company_name" - contact_name - "-contact_name" - cost - "-cost" - created_at - "-created_at" - creator_name - "-creator_name" - custom_fields - "-custom_fields" - date - "-date" - deal_number - "-deal_number" - deal_status - "-deal_status" - deals_first - "-deals_first" - designated_approver - "-designated_approver" - end_date - "-end_date" - estimated_time - "-estimated_time" - expense - "-expense" - expense_approval - "-expense_approval" - invoiced - "-invoiced" - last_activity_at - "-last_activity_at" - name - "-name" - number - "-number" - overtime_time - "-overtime_time" - pending_invoicing - "-pending_invoicing" - probability - "-probability" - profit - "-profit" - profit_margin - "-profit_margin" - project_name - "-project_name" - projected_revenue - "-projected_revenue" - purchase_order_number - "-purchase_order_number" - responsible - "-responsible" - responsible_name - "-responsible_name" - revenue - "-revenue" - sales_status_id - "-sales_status_id" - services_revenue - "-services_revenue" - stage_status - "-stage_status" - suffix - "-suffix" - time_approval - "-time_approval" - time_to_close - "-time_to_close" - todo_due_date - "-todo_due_date" - worked_time - "-worked_time" type: string title: Sort deal explode: false required: false description: Sort deal sort_holiday: in: query name: sort style: form schema: type: array items: type: string title: Sort holiday explode: false required: false description: Sort holiday sort_holiday_calendar: in: query name: sort style: form schema: type: array items: type: string title: Sort holiday calendar explode: false required: false description: Sort holiday calendar filter_project_milestone_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_project_milestone_report" required: false group_project_milestone_report: in: query name: group style: form schema: enum: - assignee - color - created_at - creator - date - icon - organization - project - project_milestone - upcoming - updated_at type: string title: Group project milestone report explode: false required: false sort_project_milestone_report: in: query name: sort style: form schema: type: array items: enum: - assignee - "-assignee" - color_id - "-color_id" - count - "-count" - created_at - "-created_at" - creator - "-creator" - date - "-date" - icon_id - "-icon_id" - project - "-project" - title - "-title" - upcoming - "-upcoming" - updated_at - "-updated_at" type: string title: Sort project milestone report explode: false required: false filter_memory: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_memory" required: false sort_memory: in: query name: sort style: form schema: type: array items: type: string title: Sort memory explode: false required: false header_no_count: in: header name: X-No-Count schema: type: string required: false page_after: in: query name: page[after] schema: type: string required: false allowEmptyValue: true page_number: in: query name: page[number] schema: type: integer minimum: 1 required: false page_size: in: query name: page[size] schema: type: integer minimum: 1 required: false filter_activity: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_activity" required: false description: Filters filter_agent: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_agent" required: false description: Query parameter for filtering the agents list. Accepts filter fields defined in the `filter_agent` schema. filter_company_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_company_report" required: false description: Filters filter_invoice_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_invoice_report" required: false description: Filters filter_task_dependency: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_task_dependency" required: false description: Filters filter_task_list: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_task_list" required: false description: Filters group_automation_report: in: query name: group style: form schema: enum: - automation - created_at - creator - enabled - organization - project - target - type - updated_at type: string title: Group automation report explode: false required: false group_booking_report: in: query name: group style: form schema: enum: - absence_type - approval_status - approved_at - autotracking - billing_type - booking - budget - canceled_at - company - created_at - custom_fields - date - draft - event - organization - people_custom_fields - person - project - project_type - rejected_at - responsible - service - service_type - stage_type - task type: string title: Group booking report explode: false required: false description: Group booking report group_survey_report: in: query name: group style: form schema: enum: - creator - organization - project - survey - updater type: string title: Group survey report explode: false required: false description: Group survey report sort_bank_account: in: query name: sort style: form schema: type: array items: enum: - id - "-id" - name - "-name" type: string title: Sort bank account explode: false required: false description: Sort order for bank account list results. Accepts one or more field names, comma-separated; prefix with `-` for descending. --branch descriptions sort_company_report: in: query name: sort style: form schema: type: array items: enum: - company - "-company" - company_billing_name - "-company_billing_name" - company_code - "-company_code" - company_created_at - "-company_created_at" - company_custom_fields - "-company_custom_fields" - company_last_activity_at - "-company_last_activity_at" - company_name - "-company_name" - contact_address - "-contact_address" - contact_city - "-contact_city" - contact_country - "-contact_country" - contact_email - "-contact_email" - contact_phone - "-contact_phone" - contact_state - "-contact_state" - contact_website - "-contact_website" - contact_zipcode - "-contact_zipcode" - count - "-count" - created_at - "-created_at" - custom_fields - "-custom_fields" - last_activity_at - "-last_activity_at" - month - "-month" - parent_company - "-parent_company" - payment_terms - "-payment_terms" - quarter - "-quarter" - status - "-status" - subsidiary - "-subsidiary" - week - "-week" - year - "-year" type: string title: Sort company report explode: false required: false description: Sort company report sort_exchange_rate: in: query name: sort style: form schema: type: array items: enum: - date - "-date" type: string title: Sort exchange rate explode: false required: false description: Sort exchange rate sort_folder: in: query name: sort style: form schema: type: array items: type: string title: Sort folder explode: false required: false description: Sort folders by one or more fields. Prefix a field name with a minus sign for descending order. sort_job_role: in: query name: sort style: form schema: type: array items: type: string title: Sort job role explode: false required: false sort_section: in: query name: sort style: form schema: type: array items: type: string title: Sort section explode: false required: false description: Sort section sort_survey_response: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - creator - "-creator" - creator_id - "-creator_id" - custom_fields - "-custom_fields" - id - "-id" - survey_id - "-survey_id" - updated_at - "-updated_at" type: string title: Sort survey response explode: false required: false description: Sort order for survey response list results. Accepts one or more field names, comma-separated; prefix with `-` for descending. --branch descriptions filter_agent_config: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_agent_config" required: false description: Query parameter for filtering the agent configurations list. Accepts filter fields defined in the `filter_agent_config` schema. filter_approval_policy: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_approval_policy" required: false description: Filter parameter for querying approval policies. filter_approval_policy_assignment: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_approval_policy_assignment" required: false description: Filter parameter for querying approval policy assignments. filter_approval_status: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_approval_status" required: false filter_artifact: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_artifact" required: false filter_attachment: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_attachment" required: false description: Filters filter_automatic_invoicing_rule: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_automatic_invoicing_rule" required: false description: Filter parameter for querying automatic invoicing rules. filter_automation_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_automation_report" required: false filter_backoffice_organization_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_backoffice_organization_report" required: false filter_bank_account: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_bank_account" required: false description: Filter parameter for querying bank accounts. filter_booking: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_booking" required: false description: Filters filter_booking_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_booking_report" required: false description: Filters filter_budget_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_budget_report" required: false description: Filters filter_comment: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_comment" required: false description: Filters filter_company: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_company" required: false description: Filters filter_contact_entry: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_contact_entry" required: false description: Filters filter_contract: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_contract" required: false description: Filters filter_custom_domain: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_custom_domain" required: false description: Filters filter_custom_field: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_custom_field" required: false description: Filters filter_custom_field_option: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_custom_field_option" required: false description: Filters filter_custom_field_section: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_custom_field_section" required: false description: Filters filter_dashboard: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_dashboard" required: false description: Filters filter_deal: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_deal" required: false description: Filters filter_deal_contact: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_deal_contact" required: false filter_deal_cost_rate: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_deal_cost_rate" required: false description: Filters filter_deal_funnel_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_deal_funnel_report" required: false description: Filters filter_deal_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_deal_report" required: false description: Filters filter_deal_status: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_deal_status" required: false description: Filters filter_deleted_item: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_deleted_item" required: false description: Filters filter_discussion: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_discussion" required: false description: Filters filter_document_style: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_document_style" required: false description: Filters filter_document_type: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_document_type" required: false description: Filters filter_einvoice_configuration: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_einvoice_configuration" required: false filter_einvoice_identity: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_einvoice_identity" required: false filter_einvoice_transaction: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_einvoice_transaction" required: false filter_email: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_email" required: false description: Filters filter_entitlement: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_entitlement" required: false description: Filters filter_entitlement_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_entitlement_report" required: false description: Filters filter_event: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_event" required: false description: Filters filter_exchange_rate: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_exchange_rate" required: false description: Filters filter_expense: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_expense" required: false description: Filters filter_expense_line_item: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_expense_line_item" required: false filter_expense_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_expense_report" required: false description: Filters filter_filter: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_filter" required: false description: Filters filter_financial_item_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_financial_item_report" required: false description: Filters filter_folder: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_folder" required: false description: Filter folders by specific criteria. Accepts a filter object with field-value pairs. filter_holiday: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_holiday" required: false description: Filters filter_holiday_calendar: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_holiday_calendar" required: false description: Filters filter_integration: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_integration" required: false description: Filters filter_integration_exporter_configuration: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_integration_exporter_configuration" required: false description: Filter parameter for querying integration exporter configurations. filter_integration_task_management_configuration: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_integration_task_management_configuration" required: false filter_invoice: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_invoice" required: false description: Filters filter_invoice_attribution: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_invoice_attribution" required: false description: Filters filter_invoice_template: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_invoice_template" required: false description: Filter parameter for querying invoice templates. filter_kpd_code: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_kpd_code" required: false filter_line_item: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_line_item" required: false description: Filters filter_line_item_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_line_item_report" required: false description: Filters filter_lost_reason: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_lost_reason" required: false description: Filters filter_meeting: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_meeting" required: false filter_membership: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_membership" required: false description: Filters filter_new_salary_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_new_salary_report" required: false description: Filters filter_new_time_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_new_time_report" required: false description: Filters filter_notification: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_notification" required: false description: Filters filter_organization: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_organization" required: false description: Filters filter_organization_membership: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_organization_membership" required: false description: Filters filter_overhead: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_overhead" required: false description: Filters filter_page: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_page" required: false description: Filter parameter for querying pages. filter_page_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_page_report" required: false description: Filters filter_page_version: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_page_version" required: false description: Filters filter_payment: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_payment" required: false description: Filters filter_payment_reminder_sequence: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_payment_reminder_sequence" required: false description: Filters filter_payment_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_payment_report" required: false description: Filters filter_payroll_item_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_payroll_item_report" required: false description: Filters filter_person: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_person" required: false description: Filters filter_person_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_person_report" required: false description: Filters filter_pipeline: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_pipeline" required: false description: Filters filter_placeholder: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_placeholder" required: false description: Filter parameter for querying placeholders. filter_placeholder_usage: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_placeholder_usage" required: false description: Filter parameter for querying placeholder usages. filter_price: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_price" required: false description: Filters filter_price_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_price_report" required: false description: Filters filter_project: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_project" required: false description: Filters filter_project_relevancy_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_project_relevancy_report" required: false filter_project_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_project_report" required: false description: Filters filter_proposal: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_proposal" required: false description: Filter parameter for querying proposals. filter_proposal_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_proposal_report" required: false description: Filter proposal reports by specific criteria. Accepts a filter object with field-value pairs. filter_pulse: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_pulse" required: false description: Filters filter_purchase_order: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_purchase_order" required: false description: JSON:API `filter` query parameter for the purchase orders collection. Accepts a nested object keyed by field name and operator (`eq`, `not_eq`, `contains`, `not_contain`, `gt`, `lt`, …). filter_rate_card: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_rate_card" required: false description: Filters filter_report_category: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_report_category" required: false description: Filters filter_resource_request: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_resource_request" required: false description: Filter parameters for listing resource requests. filter_resource_request_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_resource_request" required: false description: Filters filter_revenue_distribution: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_revenue_distribution" required: false description: Filter parameter for querying revenue distributions. filter_role: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_role" required: false description: Filters filter_salary: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_salary" required: false description: Filters filter_search_quick: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/filter_search_quick" required: false filter_section: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_section" required: false description: Filters filter_service: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_service" required: false description: Filter parameter for querying services. filter_service_assignment: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_service_assignment" required: false description: Filters filter_service_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_service_report" required: false description: Filters filter_service_type: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_service_type" required: false description: Filters filter_service_type_assignment: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_service_type_assignment" required: false description: Filters filter_session: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_session" required: false description: Filters filter_subsidiary: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_subsidiary" required: false description: Filters filter_survey: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_survey" required: false description: Filter parameter for querying surveys. filter_survey_response: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_survey_response" required: false description: Filter parameter for querying survey responses. filter_tag: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_tag" required: false description: Filters filter_task: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_task" required: false description: Filters filter_task_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_task_report" required: false description: Filters filter_tax_rate: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_tax_rate" required: false description: Filters filter_team: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_team" required: false description: Filters filter_team_membership: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_team_membership" required: false description: Filters filter_template: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_template" required: false description: Filter the templates collection. Accepts a deepObject of operator-keyed fields (see `_filter_root_template`). filter_time_entry: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_time_entry" required: false description: Filters filter_time_entry_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_time_entry_report" required: false description: Filters filter_time_entry_version: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_time_entry_version" required: false description: Filters filter_time_tracking_policy: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_time_tracking_policy" required: false description: Filter parameter for querying time tracking policies. filter_timer: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_timer" required: false description: Filters filter_timesheet: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_timesheet" required: false description: Filter parameter for querying timesheets. filter_timesheet_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_timesheet_report" required: false description: Filters filter_todo: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_todo" required: false description: Filters filter_user: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_user" required: false description: Filters filter_webhook: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_webhook" required: false description: Filters filter_webhook_log: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_webhook_log" required: false description: Filters filter_widget: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_widget" required: false description: Filters filter_workflow: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_workflow" required: false description: Filters filter_workflow_status: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_workflow_status" required: false description: Filters group_backoffice_organization_report: in: query name: group style: form schema: enum: - root - organization - status - subscription_state - plan - payment_method - cycle - country - erector - customer_success_specialist - billing_group_owner - billing_group_admin - addons - verification_status - products - discount - referrer - company_size - company_type - gtm_motion - release_channel - created_at - contract_date - contract_end_date - next_billing_cycle_at type: string title: Group backoffice organization report explode: false required: false group_budget_report: in: query name: group style: form schema: enum: - budget - closed_at - company - contract - created_at - custom_fields - date - deal_type - delivered_on - designated_approver - end_date - last_activity_at - month - next_occurrence_on - organization - origin_deal - primary_contact - project - project_type - purchase_order_number - quarter - recurring - recurring_ends_on - recurring_interval - recurring_starts_on - responsible - revenue_distribution_type - status - subsidiary - tracking_type_id - week - year type: string title: Group budget report explode: false required: false description: Group budget report group_company_report: in: query name: group style: form schema: enum: - company - contact_address - contact_city - contact_country - contact_email - contact_phone - contact_state - contact_website - contact_zipcode - created_at - custom_fields - last_activity_at - month - organization - parent_company - quarter - status - subsidiary - week - year type: string title: Group company report explode: false required: false description: Group company report group_deal_funnel_report: in: query name: group style: form schema: enum: - deal_funnel - deal_status - organization - pipeline type: string title: Group deal funnel report explode: false required: false description: Group deal funnel report group_deal_report: in: query name: group style: form schema: enum: - company - contact - created_at - creator - custom_fields - date - deal - deal_status - deal_value_source - designated_approver - last_activity_at - lost_reason - month - organization - pipeline - previous_deal_status - primary_contact - project - quarter - responsible - revenue_distribution_base - revenue_distribution_end_on - revenue_distribution_start_on - sales_closed_at - sales_closed_on - sales_status_id - stage_status_id - stage_updated_at - subsidiary - tracking_type_id - week - year type: string title: Group deal report explode: false required: false description: Group deal report group_entitlement_report: in: query name: group style: form schema: enum: - absence_type - end_date - entitlement - event - organization - people_custom_fields - person - start_date - subsidiary type: string title: Group entitlement report explode: false required: false description: Group entitlement report group_expense_report: in: query name: group style: form schema: enum: - approval_status - approved_at - approver - company - created_at - creator - custom_fields - date - deal - designated_approver - expense - invoice - invoiced - invoicing_status - month - organization - paid_on - pay_on - person - project - purchase_order - quarter - quote_type - reimbursed_on - reimbursement - responsible - section_name - service - service_type - stage_type - status - tax_rate - updated_at - updater - vendor - week - year type: string title: Group expense report explode: false required: false description: Group expense report group_financial_item_report: in: query name: group style: form schema: enum: - approval_status - billing_type - budget - company - custom_fields - date - deal_status - financial_item - financial_item_type - future - organization - origin_deal - person - project - project_type - responsible - section - service - service_type - stage_status - stage_type - subsidiary type: string title: Group financial item report explode: false required: false description: Group financial item report group_invoice_report: in: query name: group style: form schema: enum: - company - created_at - creator - currency - custom_fields - delivery_on - einvoice_status - fiscalization_status - invoice - invoice_aging - invoice_state - invoice_status - invoice_type - invoiced_on - issuer - last_activity_at - month - organization - overdue_status - paid_on - pay_on - payment_status - quarter - sent_on - sent_status - subsidiary - week - year type: string title: Group invoice report explode: false required: false description: Group invoice report group_line_item_report: in: query name: group style: form schema: enum: - company - creator - expense - invoice - kpd_code - line_item - organization - service - service_type - unit - updater type: string title: Group line item report explode: false required: false description: Group line item report group_new_salary_report: in: query name: group style: form schema: enum: - date - organization - overhead - people_custom_fields - person - salary - salary_type_id type: string title: Group new salary report explode: false required: false description: Group new salary report group_new_time_report: in: query name: group style: form schema: enum: - billing_type - budget - company - date - day - event - future - job_role - manager - month - organization - people_custom_fields - person - project - quarter - service - service_type - stage_type - subsidiary - week - year type: string title: Group new time report explode: false required: false description: Group new time report group_page_report: in: query name: group style: form schema: enum: - creator - custom_fields - organization - page - project - updater type: string title: Group page report explode: false required: false description: Group page report group_payment_report: in: query name: group style: form schema: enum: - company - date - invoice - month - organization - payment - quarter - subsidiary - week - year type: string title: Group payment report explode: false required: false description: Group payment report group_payroll_item_report: in: query name: group style: form schema: enum: - booking - company - custom_fields - date - organization - payroll_item - payroll_item_type - person - person_status - person_type - role - salary - salary_type - subsidiary - time_entry type: string title: Group payroll item report explode: false required: false description: Group payroll item report group_person_report: in: query name: group style: form schema: enum: - approval_policy - autotracking - company - contact_address - contact_city - contact_country - contact_email - contact_phone - contact_state - contact_website - contact_zipcode - created_at - custom_fields - custom_role - deactivated_at - job_role - joined_at - last_activity_at - manager - month - offboarding_status - organization - person - quarter - role_id - shared_seat - status - subsidiary - type - week - year type: string title: Group person report explode: false required: false description: Group person report group_price_report: in: query name: group style: form schema: enum: - booking_tracking_enabled - company - currency - expense_tracking_enabled - organization - price - rate_card - rate_card_status - service_type - time_tracking_enabled type: string title: Group price report explode: false required: false description: Group price report group_project_report: in: query name: group style: form schema: enum: - company - created_at - custom_fields - last_activity_at - month - organization - project - project_manager - project_status - project_type - quarter - week - year type: string title: Group project report explode: false required: false description: Group project report group_service_report: in: query name: group style: form schema: enum: - billable - billing_type - booking_tracking_enabled - budget - budget_cap_enabled - budget_custom_fields - budget_status - company - custom_fields - date - deal_custom_fields - deal_status - expense_tracking_enabled - limitation_type - organization - origin_deal - pipeline - project - project_type - recurring - responsible - sales_status - section - section_name - service - service_type - stage_status - stage_type - subsidiary - time_tracking_enabled - unit type: string title: Group service report explode: false required: false description: Group service report group_time_entry_report: in: query name: group style: form schema: enum: - approval_policy - approver - autotracked - billing_type - budget - company - created_at - creator - custom_fields - date - day - deal_subsidiary - designated_approver - ended_at - intercompany_hours - invoice - invoiced - invoicing_status - jira_issue_id - jira_issue_status - jira_issue_summary - last_activity_at - last_actor - month - organization - overhead - people_custom_fields - person - person_manager - person_subsidiary - project - project_type_id - quarter - responsible - section_name - service - service_type - stage_type - started_at - status - task - task_list - time_entry - track_method_id - unit_id - week - year type: string title: Group time entry report explode: false required: false description: Group time entry report group_timesheet_report: in: query name: group style: form schema: enum: - organization - person - week type: string title: Group timesheet report explode: false required: false description: Group timesheet report sort_activity: in: query name: sort style: form schema: type: array items: type: string title: Sort activity explode: false required: false description: Sort activity sort_approval_policy: in: query name: sort style: form schema: type: array items: type: string title: Sort approval policy explode: false required: false description: Sort parameter for ordering approval policies. sort_approval_policy_assignment: in: query name: sort style: form schema: type: array items: type: string title: Sort approval policy assignment explode: false required: false description: Sort parameter for ordering approval policy assignments. sort_artifact: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - name - "-name" - updated_at - "-updated_at" type: string title: Sort artifact explode: false required: false sort_attachment: in: query name: sort style: form schema: type: array items: enum: - id - "-id" type: string title: Sort attachment explode: false required: false description: Sort attachment sort_automatic_invoicing_rule: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - id - "-id" type: string title: Sort automatic invoicing rule explode: false required: false description: The sort automatic invoicing rule. sort_automation_report: in: query name: sort style: form schema: type: array items: enum: - automation_created_at - "-automation_created_at" - automation_updated_at - "-automation_updated_at" - count - "-count" - created_at - "-created_at" - creator - "-creator" - description - "-description" - enabled - "-enabled" - name - "-name" - project - "-project" - target_id - "-target_id" - type_id - "-type_id" - updated_at - "-updated_at" type: string title: Sort automation report explode: false required: false sort_backoffice_organization_report: in: query name: sort style: form schema: type: array items: enum: - organization_id - "-organization_id" - name - "-name" - status - "-status" - subscription_state - "-subscription_state" - plan - "-plan" - payment_method - "-payment_method" - cycle - "-cycle" - lead_score - "-lead_score" - country - "-country" - erector - "-erector" - customer_success_specialist - "-customer_success_specialist" - billing_group_owner - "-billing_group_owner" - billing_group_admin - "-billing_group_admin" - number_of_calls - "-number_of_calls" - addons - "-addons" - deactivation_reason_id - "-deactivation_reason_id" - deactivation_note - "-deactivation_note" - verification_status - "-verification_status" - products - "-products" - discount - "-discount" - referrer - "-referrer" - company_size - "-company_size" - company_type - "-company_type" - gtm_motion - "-gtm_motion" - release_channel - "-release_channel" - count - "-count" - total_seats - "-total_seats" - total_seats_used - "-total_seats_used" - total_seats_max - "-total_seats_max" - total_mrr - "-total_mrr" - organization_created_at - "-organization_created_at" - organization_contract_date - "-organization_contract_date" - organization_organization_subscription_next_billing_cycle_at - "-organization_organization_subscription_next_billing_cycle_at" - created_at - "-created_at" - contract_date - "-contract_date" - contract_end_date - "-contract_end_date" - next_billing_cycle_at - "-next_billing_cycle_at" type: string title: Sort backoffice organization report explode: false required: false sort_booking: in: query name: sort style: form schema: type: array items: enum: - draft - "-draft" - last_activity_at - "-last_activity_at" - started_on - "-started_on" type: string title: Sort booking explode: false required: false description: Sort booking sort_booking_report: in: query name: sort style: form schema: type: array items: enum: - absence_type - "-absence_type" - approval_status - "-approval_status" - approved_at - "-approved_at" - autotracking - "-autotracking" - average_blended_rate - "-average_blended_rate" - average_recognized_margin - "-average_recognized_margin" - billing_type - "-billing_type" - booking - "-booking" - booking_approved_at - "-booking_approved_at" - booking_canceled_at - "-booking_canceled_at" - booking_created_at - "-booking_created_at" - booking_ended_on - "-booking_ended_on" - booking_rejected_at - "-booking_rejected_at" - booking_started_on - "-booking_started_on" - budget - "-budget" - canceled_at - "-canceled_at" - company - "-company" - count - "-count" - created_at - "-created_at" - custom_fields - "-custom_fields" - date - "-date" - deal - "-deal" - draft - "-draft" - event - "-event" - mandays - "-mandays" - people_custom_fields - "-people_custom_fields" - person - "-person" - project - "-project" - project_type - "-project_type" - rejected_at - "-rejected_at" - responsible - "-responsible" - service - "-service" - service_type - "-service_type" - stage_type - "-stage_type" - task - "-task" - time - "-time" - total_base_cost - "-total_base_cost" - total_cost - "-total_cost" - total_recognized_profit - "-total_recognized_profit" - total_recognized_revenue - "-total_recognized_revenue" - total_recognized_time - "-total_recognized_time" type: string title: Sort booking report explode: false required: false description: Sort booking report sort_contact_entry: in: query name: sort style: form schema: type: array items: type: string title: Sort contact entry explode: false required: false description: Sort contact entry sort_contract: in: query name: sort style: form schema: type: array items: type: string title: Sort contract explode: false required: false description: Sort contract sort_custom_domain: in: query name: sort style: form schema: type: array items: type: string title: Sort custom domain explode: false required: false description: Sort custom domain sort_custom_field: in: query name: sort style: form schema: type: array items: type: string title: Sort custom field explode: false required: false description: Sort custom field sort_custom_field_option: in: query name: sort style: form schema: type: array items: type: string title: Sort custom field option explode: false required: false description: Sort custom field option sort_custom_field_section: in: query name: sort style: form schema: type: array items: type: string title: Sort custom field section explode: false required: false description: Sort custom field section sort_dashboard: in: query name: sort style: form schema: type: array items: type: string title: Sort dashboard explode: false required: false description: Sort dashboard sort_deal_cost_rate: in: query name: sort style: form schema: type: array items: enum: - rate_cents - "-rate_cents" type: string title: Sort deal cost rate explode: false required: false description: Sort deal cost rate sort_deal_funnel_report: in: query name: sort style: form schema: type: array items: type: string title: Sort deal funnel report explode: false required: false description: Sort deal funnel report sort_deal_status: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - id - "-id" - name - "-name" - pipeline_id - "-pipeline_id" - position - "-position" - status_id - "-status_id" type: string title: Sort deal status explode: false required: false description: Sort deal status sort_deleted_item: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - location - "-location" - name - "-name" type: string title: Sort deleted item explode: false required: false description: Sort deleted item sort_discussion: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - resolved_at - "-resolved_at" - updated_at - "-updated_at" type: string title: Sort discussion explode: false required: false description: Sort discussion sort_document_style: in: query name: sort style: form schema: type: array items: type: string title: Sort document style explode: false required: false description: Sort document style sort_document_type: in: query name: sort style: form schema: type: array items: type: string title: Sort document type explode: false required: false description: Sort document type sort_email: in: query name: sort style: form schema: type: array items: type: string title: Sort email explode: false required: false description: Sort email sort_entitlement: in: query name: sort style: form schema: type: array items: enum: - end_date - "-end_date" - event - "-event" - person - "-person" - start_date - "-start_date" type: string title: Sort entitlement explode: false required: false description: Sort entitlement sort_entitlement_report: in: query name: sort style: form schema: type: array items: enum: - absence_type - "-absence_type" - count - "-count" - end_date - "-end_date" - entitlement - "-entitlement" - entitlement_end_date - "-entitlement_end_date" - entitlement_start_date - "-entitlement_start_date" - event - "-event" - people_custom_fields - "-people_custom_fields" - person - "-person" - start_date - "-start_date" - subsidiary - "-subsidiary" - total_allocated - "-total_allocated" - total_allocated_minutes - "-total_allocated_minutes" - total_available - "-total_available" - total_available_minutes - "-total_available_minutes" - total_pending - "-total_pending" - total_pending_minutes - "-total_pending_minutes" - total_used - "-total_used" - total_used_minutes - "-total_used_minutes" type: string title: Sort entitlement report explode: false required: false description: Sort entitlement report sort_event: in: query name: sort style: form schema: type: array items: type: string title: Sort event explode: false required: false description: Sort event sort_expense: in: query name: sort style: form schema: type: array items: enum: - amount - "-amount" - amount_with_tax - "-amount_with_tax" - billable_amount - "-billable_amount" - created_at - "-created_at" - custom_fields - "-custom_fields" - date - "-date" - deal_company_name - "-deal_company_name" - deal_name - "-deal_name" - deal_project_name - "-deal_project_name" - draft - "-draft" - id - "-id" - name - "-name" - paid_on - "-paid_on" - pay_on - "-pay_on" - profit - "-profit" - recognized_revenue - "-recognized_revenue" - service_name - "-service_name" - service_type_name - "-service_type_name" - tax_rate_id - "-tax_rate_id" type: string title: Sort expense explode: false required: false description: Sort expense sort_expense_line_item: in: query name: sort style: form schema: type: array items: enum: - expense_id - "-expense_id" - id - "-id" - tax_rate_id - "-tax_rate_id" type: string title: Sort expense line item explode: false required: false sort_expense_report: in: query name: sort style: form schema: type: array items: enum: - approval_status - "-approval_status" - approved_at - "-approved_at" - approver - "-approver" - average_profit_margin - "-average_profit_margin" - company - "-company" - count - "-count" - created_at - "-created_at" - creator - "-creator" - custom_fields - "-custom_fields" - date - "-date" - deal - "-deal" - designated_approver - "-designated_approver" - expense - "-expense" - expense_created_at - "-expense_created_at" - expense_date - "-expense_date" - expense_name - "-expense_name" - expense_paid_on - "-expense_paid_on" - expense_pay_on - "-expense_pay_on" - expense_reimbursed_on - "-expense_reimbursed_on" - invoiced - "-invoiced" - invoicing_status - "-invoicing_status" - month - "-month" - name - "-name" - paid_on - "-paid_on" - pay_on - "-pay_on" - person - "-person" - project - "-project" - project_id - "-project_id" - purchase_order - "-purchase_order" - quantity - "-quantity" - quarter - "-quarter" - quote_type - "-quote_type" - reimbursed_on - "-reimbursed_on" - reimbursement - "-reimbursement" - responsible - "-responsible" - section_name - "-section_name" - service - "-service" - service_type - "-service_type" - stage_type - "-stage_type" - status - "-status" - tax_rate_id - "-tax_rate_id" - total_amount - "-total_amount" - total_amount_with_tax - "-total_amount_with_tax" - total_billable_amount - "-total_billable_amount" - total_profit - "-total_profit" - total_recognized_revenue - "-total_recognized_revenue" - total_tax_amount - "-total_tax_amount" - updated_at - "-updated_at" - updater - "-updater" - vendor - "-vendor" - week - "-week" - year - "-year" type: string title: Sort expense report explode: false required: false description: Sort expense report sort_filter: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - creator - "-creator" - description - "-description" - filterable_collection - "-filterable_collection" - last_accessed_at - "-last_accessed_at" - last_pulse_sent_at - "-last_pulse_sent_at" - last_viewed_at - "-last_viewed_at" - name - "-name" - report_category_id - "-report_category_id" - updated_at - "-updated_at" type: string title: Sort filter explode: false required: false description: Sort filter sort_integration: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - id - "-id" type: string title: Sort integration explode: false required: false description: Sort integration sort_integration_exporter_configuration: in: query name: sort style: form schema: type: array items: enum: - client_id - "-client_id" - company_type - "-company_type" type: string title: Sort integration exporter configuration explode: false required: false description: The sort integration exporter configuration. sort_integration_task_management_configuration: in: query name: sort style: form schema: type: array items: enum: - id - "-id" - project_id - "-project_id" - deal_id - "-deal_id" - created_at - "-created_at" type: string title: Sort integration task management configuration explode: false required: false sort_invoice: in: query name: sort style: form schema: type: array items: enum: - amount - "-amount" - amount_credited - "-amount_credited" - amount_credited_with_tax - "-amount_credited_with_tax" - amount_paid - "-amount_paid" - amount_tax - "-amount_tax" - amount_with_tax - "-amount_with_tax" - amount_written_off - "-amount_written_off" - company_name - "-company_name" - created_at - "-created_at" - credited - "-credited" - custom_fields - "-custom_fields" - deleted_at - "-deleted_at" - delivery_on - "-delivery_on" - discount - "-discount" - invoiced_on - "-invoiced_on" - last_activity_at - "-last_activity_at" - number - "-number" - pay_on - "-pay_on" - purchase_order_number - "-purchase_order_number" - sent_on - "-sent_on" - subject - "-subject" type: string title: Sort invoice explode: false required: false description: Sort invoice sort_invoice_attribution: in: query name: sort style: form schema: type: array items: type: string title: Sort invoice attribution explode: false required: false description: Sort invoice attribution sort_invoice_report: in: query name: sort style: form schema: type: array items: enum: - automatically_created - "-automatically_created" - average_due_in - "-average_due_in" - average_paid_in - "-average_paid_in" - budget - "-budget" - company - "-company" - company_billing_name - "-company_billing_name" - count - "-count" - created_at - "-created_at" - creator - "-creator" - currency - "-currency" - custom_fields - "-custom_fields" - delivery_on - "-delivery_on" - einvoice_status - "-einvoice_status" - fiscalization_status - "-fiscalization_status" - invoice - "-invoice" - invoice_aging - "-invoice_aging" - invoice_created_at - "-invoice_created_at" - invoice_custom_fields - "-invoice_custom_fields" - invoice_delivery_on - "-invoice_delivery_on" - invoice_discount - "-invoice_discount" - invoice_invoiced_on - "-invoice_invoiced_on" - invoice_last_activity_at - "-invoice_last_activity_at" - invoice_number - "-invoice_number" - invoice_paid_on - "-invoice_paid_on" - invoice_pay_on - "-invoice_pay_on" - invoice_purchase_order_number - "-invoice_purchase_order_number" - invoice_sent_on - "-invoice_sent_on" - invoice_state - "-invoice_state" - invoice_status - "-invoice_status" - invoice_subject - "-invoice_subject" - invoice_type - "-invoice_type" - invoiced_on - "-invoiced_on" - issuer - "-issuer" - last_activity_at - "-last_activity_at" - month - "-month" - overdue_status - "-overdue_status" - paid_on - "-paid_on" - pay_on - "-pay_on" - payment_status - "-payment_status" - project - "-project" - quarter - "-quarter" - sent_on - "-sent_on" - sent_status - "-sent_status" - subsidiary - "-subsidiary" - tax_rates - "-tax_rates" - total_amount - "-total_amount" - total_amount_credited - "-total_amount_credited" - total_amount_credited_with_tax - "-total_amount_credited_with_tax" - total_amount_paid - "-total_amount_paid" - total_amount_tax - "-total_amount_tax" - total_amount_unpaid - "-total_amount_unpaid" - total_amount_with_tax - "-total_amount_with_tax" - total_amount_written_off - "-total_amount_written_off" - week - "-week" - year - "-year" type: string title: Sort invoice report explode: false required: false description: Sort invoice report sort_invoice_template: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - id - "-id" type: string title: Sort invoice template explode: false required: false description: Sort order for invoice template list results. Accepts one or more field names, comma-separated; prefix with `-` for descending. --branch descriptions sort_line_item: in: query name: sort style: form schema: type: array items: type: string title: Sort line item explode: false required: false description: Sort line item sort_line_item_report: in: query name: sort style: form schema: type: array items: enum: - budget - "-budget" - company - "-company" - count - "-count" - creator - "-creator" - expense - "-expense" - invoice - "-invoice" - kpd_code - "-kpd_code" - service - "-service" - tax_rate - "-tax_rate" - total_amount - "-total_amount" - total_amount_tax - "-total_amount_tax" - total_amount_with_tax - "-total_amount_with_tax" - unit_id - "-unit_id" - unit_price - "-unit_price" - updater - "-updater" type: string title: Sort line item report explode: false required: false description: Sort line item report sort_membership: in: query name: sort style: form schema: type: array items: type: string title: Sort membership explode: false required: false description: Sort membership sort_new_salary_report: in: query name: sort style: form schema: type: array items: enum: - count - "-count" - date - "-date" - engagement_ended_on - "-engagement_ended_on" - engagement_started_on - "-engagement_started_on" - estimated_weekly_hours - "-estimated_weekly_hours" - overhead - "-overhead" - people_custom_fields - "-people_custom_fields" - person - "-person" - salary_id - "-salary_id" - salary_type_id - "-salary_type_id" - time - "-time" - total_annually_cost - "-total_annually_cost" - total_bi_weekly_cost - "-total_bi_weekly_cost" - total_hourly_cost - "-total_hourly_cost" - total_monthly_cost - "-total_monthly_cost" - total_weekly_cost - "-total_weekly_cost" type: string title: Sort new salary report explode: false required: false description: Sort new salary report sort_lost_reason: in: query name: sort style: form schema: type: array items: enum: - position - "-position" type: string title: Sort lost reason explode: false required: false description: Sort lost reason sort_new_time_report: in: query name: sort style: form schema: type: array items: enum: - available_time - "-available_time" - average_cost_rate - "-average_cost_rate" - billable_time - "-billable_time" - billing_type - "-billing_type" - bookings_custom_fields - "-bookings_custom_fields" - budget - "-budget" - capacity - "-capacity" - client_time - "-client_time" - company - "-company" - count - "-count" - date - "-date" - day - "-day" - draft_scheduled_billable_time - "-draft_scheduled_billable_time" - draft_scheduled_client_time - "-draft_scheduled_client_time" - draft_scheduled_internal_time - "-draft_scheduled_internal_time" - draft_scheduled_time - "-draft_scheduled_time" - event - "-event" - event_time - "-event_time" - future - "-future" - holiday_time - "-holiday_time" - internal_time - "-internal_time" - job_role - "-job_role" - manager - "-manager" - month - "-month" - paid_event_time - "-paid_event_time" - people_custom_fields - "-people_custom_fields" - person - "-person" - person_company - "-person_company" - person_title - "-person_title" - person_type - "-person_type" - project - "-project" - quarter - "-quarter" - recognized_scheduled_time - "-recognized_scheduled_time" - recognized_time - "-recognized_time" - scheduled_billable_time - "-scheduled_billable_time" - scheduled_client_time - "-scheduled_client_time" - scheduled_event_time - "-scheduled_event_time" - scheduled_internal_time - "-scheduled_internal_time" - scheduled_remote_work_time - "-scheduled_remote_work_time" - scheduled_time - "-scheduled_time" - service - "-service" - service_type - "-service_type" - stage_type - "-stage_type" - subsidiary - "-subsidiary" - total_cost - "-total_cost" - total_draft_scheduled_cost - "-total_draft_scheduled_cost" - total_draft_scheduled_revenue - "-total_draft_scheduled_revenue" - total_scheduled_cost - "-total_scheduled_cost" - total_scheduled_revenue - "-total_scheduled_revenue" - total_work_cost - "-total_work_cost" - unapproved_time - "-unapproved_time" - unpaid_event_time - "-unpaid_event_time" - week - "-week" - worked_time - "-worked_time" - workload - "-workload" - year - "-year" type: string title: Sort new time report explode: false required: false description: Sort new time report sort_organization: in: query name: sort style: form schema: type: array items: enum: - name - "-name" type: string title: Sort organization explode: false required: false description: Sort organization sort_overhead: in: query name: sort style: form schema: type: array items: enum: - ended_on - "-ended_on" - started_on - "-started_on" type: string title: Sort overhead explode: false required: false description: Sort overhead sort_page: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - creator_name - "-creator_name" - edited_at - "-edited_at" - id - "-id" - last_activity_at - "-last_activity_at" - project - "-project" - project_name - "-project_name" - title - "-title" - updated_at - "-updated_at" type: string title: Sort page explode: false required: false description: Sort order for page list results. Accepts one or more field names, comma-separated; prefix with `-` for descending. --branch descriptions sort_page_report: in: query name: sort style: form schema: type: array items: enum: - count - "-count" - created_at - "-created_at" - creator - "-creator" - custom_fields - "-custom_fields" - edited_at - "-edited_at" - page - "-page" - page_id - "-page_id" - page_last_activity_at - "-page_last_activity_at" - project - "-project" - title - "-title" - updater - "-updater" type: string title: Sort page report explode: false required: false description: Sort page report sort_page_version: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - name - "-name" - updated_at - "-updated_at" type: string title: Sort page version explode: false required: false description: Sort page version sort_payment: in: query name: sort style: form schema: type: array items: enum: - amount - "-amount" - date - "-date" - invoice_number - "-invoice_number" - note - "-note" - paid_on - "-paid_on" - written_off_on - "-written_off_on" type: string title: Sort payment explode: false required: false description: Sort payment sort_payment_reminder_sequence: in: query name: sort style: form schema: type: array items: enum: - default_sequence - "-default_sequence" type: string title: Sort payment reminder sequence explode: false required: false description: Sort payment reminder sequence sort_payment_report: in: query name: sort style: form schema: type: array items: enum: - company - "-company" - count - "-count" - date - "-date" - deal - "-deal" - invoice - "-invoice" - month - "-month" - payment - "-payment" - payment_date - "-payment_date" - payment_external_id - "-payment_external_id" - payment_note - "-payment_note" - payment_paid_on - "-payment_paid_on" - payment_written_off_on - "-payment_written_off_on" - project - "-project" - quarter - "-quarter" - subsidiary - "-subsidiary" - total_amount - "-total_amount" - week - "-week" - year - "-year" type: string title: Sort payment report explode: false required: false description: Sort payment report sort_payroll_item_report: in: query name: sort style: form schema: type: array items: enum: - company_id - "-company_id" - count - "-count" - custom_fields - "-custom_fields" - date - "-date" - end_date - "-end_date" - payroll_item_id - "-payroll_item_id" - payroll_item_type - "-payroll_item_type" - person - "-person" - person_status - "-person_status" - person_type - "-person_type" - role_id - "-role_id" - salary_id - "-salary_id" - salary_type_id - "-salary_type_id" - start_date - "-start_date" - subsidiary_id - "-subsidiary_id" - total_availability - "-total_availability" - total_capacity - "-total_capacity" - total_cost - "-total_cost" - total_scheduled_time - "-total_scheduled_time" - total_time - "-total_time" - total_time_off_cost - "-total_time_off_cost" - total_time_off_time - "-total_time_off_time" type: string title: Sort payroll item report explode: false required: false description: Sort payroll item report sort_person: in: query name: sort style: form schema: type: array items: enum: - autotracking - "-autotracking" - company_name - "-company_name" - custom_fields - "-custom_fields" - custom_role - "-custom_role" - email - "-email" - job_role - "-job_role" - joined_at - "-joined_at" - last_seen_at - "-last_seen_at" - manager - "-manager" - name - "-name" - resource_request_match - "-resource_request_match" - role_id - "-role_id" - schedulable - "-schedulable" - subsidiary - "-subsidiary" - title - "-title" - two_factor_auth - "-two_factor_auth" type: string title: Sort person explode: false required: false description: Sort person sort_person_report: in: query name: sort style: form schema: type: array items: enum: - approval_policy - "-approval_policy" - autotracking - "-autotracking" - company - "-company" - contact_address - "-contact_address" - contact_city - "-contact_city" - contact_country - "-contact_country" - contact_email - "-contact_email" - contact_phone - "-contact_phone" - contact_state - "-contact_state" - contact_website - "-contact_website" - contact_zipcode - "-contact_zipcode" - count - "-count" - created_at - "-created_at" - custom_fields - "-custom_fields" - custom_role - "-custom_role" - deactivated_at - "-deactivated_at" - job_role - "-job_role" - joined_at - "-joined_at" - last_activity_at - "-last_activity_at" - manager - "-manager" - month - "-month" - offboarding_status - "-offboarding_status" - person - "-person" - person_active_teams - "-person_active_teams" - person_created_at - "-person_created_at" - person_custom_fields - "-person_custom_fields" - person_deactivated_at - "-person_deactivated_at" - person_email - "-person_email" - person_first_name - "-person_first_name" - person_joined_at - "-person_joined_at" - person_last_activity_at - "-person_last_activity_at" - person_last_name - "-person_last_name" - person_last_seen_at - "-person_last_seen_at" - person_name - "-person_name" - person_role_id - "-person_role_id" - person_status - "-person_status" - person_title - "-person_title" - person_type - "-person_type" - quarter - "-quarter" - role_id - "-role_id" - shared_seat - "-shared_seat" - status - "-status" - subsidiary - "-subsidiary" - type - "-type" - week - "-week" - year - "-year" type: string title: Sort person report explode: false required: false description: Sort person report sort_pipeline: in: query name: sort style: form schema: type: array items: type: string title: Sort pipeline explode: false required: false description: Sort pipeline sort_placeholder: in: query name: sort style: form schema: type: array items: enum: - category - "-category" - id - "-id" - name - "-name" - type - "-type" type: string title: Sort placeholder explode: false required: false description: Sort order for placeholder list results. Accepts one or more field names, comma-separated; prefix with `-` for descending. --branch descriptions sort_price: in: query name: sort style: form schema: type: array items: enum: - billing_type_id - "-billing_type_id" - booking_tracking_enabled - "-booking_tracking_enabled" - custom_fields - "-custom_fields" - description - "-description" - discount - "-discount" - estimated_cost - "-estimated_cost" - expense_tracking_enabled - "-expense_tracking_enabled" - markup - "-markup" - name - "-name" - quantity - "-quantity" - rate - "-rate" - service_type - "-service_type" - time_tracking_enabled - "-time_tracking_enabled" - unit_id - "-unit_id" type: string title: Sort price explode: false required: false description: Sort price sort_price_report: in: query name: sort style: form schema: type: array items: enum: - average_discount - "-average_discount" - average_discount_amount - "-average_discount_amount" - average_discounted_rate - "-average_discounted_rate" - average_estimated_cost - "-average_estimated_cost" - average_markup - "-average_markup" - average_markup_amount - "-average_markup_amount" - average_rate - "-average_rate" - booking_tracking_enabled - "-booking_tracking_enabled" - company - "-company" - count - "-count" - expense_tracking_enabled - "-expense_tracking_enabled" - price - "-price" - price_description - "-price_description" - price_name - "-price_name" - price_quantity - "-price_quantity" - rate_card - "-rate_card" - rate_card_status - "-rate_card_status" - service_type - "-service_type" - time_tracking_enabled - "-time_tracking_enabled" type: string title: Sort price report explode: false required: false description: Sort price report sort_project: in: query name: sort style: form schema: type: array items: enum: - company_name - "-company_name" - created_at - "-created_at" - custom_fields - "-custom_fields" - last_activity_at - "-last_activity_at" - name - "-name" - number - "-number" - project_number - "-project_number" type: string title: Sort project explode: false required: false description: Sort project sort_project_report: in: query name: sort style: form schema: type: array items: enum: - average_profit_margin - "-average_profit_margin" - company - "-company" - count - "-count" - created_at - "-created_at" - custom_fields - "-custom_fields" - last_activity_at - "-last_activity_at" - month - "-month" - project - "-project" - project_created_at - "-project_created_at" - project_custom_fields - "-project_custom_fields" - project_last_activity_at - "-project_last_activity_at" - project_manager - "-project_manager" - project_name - "-project_name" - project_number - "-project_number" - project_status - "-project_status" - project_type - "-project_type" - quarter - "-quarter" - total_cost - "-total_cost" - total_estimated_time - "-total_estimated_time" - total_needs_invoicing - "-total_needs_invoicing" - total_pending_invoicing - "-total_pending_invoicing" - total_profit - "-total_profit" - total_projected_revenue - "-total_projected_revenue" - total_revenue - "-total_revenue" - total_worked_time - "-total_worked_time" - week - "-week" - year - "-year" type: string title: Sort project report explode: false required: false description: Sort project report sort_proposal: in: query name: sort style: form schema: type: array items: type: string title: Sort proposal explode: false required: false description: Sort order for proposal list results. Accepts one or more field names, comma-separated; prefix with `-` for descending. --branch descriptions sort_purchase_order: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - deal_id - "-deal_id" - deal_name - "-deal_name" - delivery_on - "-delivery_on" - id - "-id" - issued_on - "-issued_on" - number - "-number" - payment_status_id - "-payment_status_id" - received_on - "-received_on" - sent_on - "-sent_on" - status_id - "-status_id" - total_cost - "-total_cost" - total_cost_with_tax - "-total_cost_with_tax" - total_received - "-total_received" - vendor_id - "-vendor_id" type: string title: Sort purchase order explode: false required: false description: JSON:API `sort` query parameter for the purchase orders collection. Comma-separated list of sort keys — prefix with `-` for descending. sort_rate_card: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - name - "-name" type: string title: Sort rate card explode: false required: false description: Sort rate card sort_report_category: in: query name: sort style: form schema: type: array items: type: string title: Sort report category explode: false required: false description: Sort report category sort_resource_request: in: query name: sort style: form schema: type: array items: enum: - booking_method_id - "-booking_method_id" - created_at - "-created_at" - creator - "-creator" - ended_on - "-ended_on" - id - "-id" - percentage - "-percentage" - resolved_at - "-resolved_at" - resolver - "-resolver" - service - "-service" - started_on - "-started_on" - status - "-status" - time - "-time" - total_time - "-total_time" type: string title: Sort resource request explode: false required: false description: Sort order for resource request list results. Accepts field names, comma-separated; prefix with - for descending. sort_role: in: query name: sort style: form schema: type: array items: enum: - active_agents_count - "-active_agents_count" - active_users_count - "-active_users_count" - description - "-description" - inactive_agents_count - "-inactive_agents_count" - inactive_users_count - "-inactive_users_count" - name - "-name" type: string title: Sort role explode: false required: false description: Sort role sort_salary: in: query name: sort style: form schema: type: array items: type: string title: Sort salary explode: false required: false description: Sort salary sort_service: in: query name: sort style: form schema: type: array items: enum: - budget - "-budget" - company - "-company" - custom_fields - "-custom_fields" - name - "-name" - project_name - "-project_name" type: string title: Sort service explode: false required: false description: Sort order for service list results. Accepts one or more field names, comma-separated; prefix with `-` for descending. --branch descriptions sort_service_assignment: in: query name: sort style: form schema: type: array items: type: string title: Sort service assignment explode: false required: false description: Sort service assignment sort_service_type: in: query name: sort style: form schema: type: array items: type: string title: Sort service type explode: false required: false description: Sort service type sort_service_type_assignment: in: query name: sort style: form schema: type: array items: type: string title: Sort service type assignment explode: false required: false description: Sort service type assignment sort_session: in: query name: sort style: form schema: type: array items: enum: - id - "-id" - last_activity_at - "-last_activity_at" type: string title: Sort session explode: false required: false description: Sort session sort_subsidiary: in: query name: sort style: form schema: type: array items: enum: - name - "-name" type: string title: Sort subsidiary explode: false required: false description: Sort subsidiary sort_survey: in: query name: sort style: form schema: type: array items: enum: - id - "-id" - title - "-title" type: string title: Sort survey explode: false required: false description: Sort order for survey list results. Accepts one or more field names, comma-separated; prefix with `-` for descending. --branch descriptions sort_survey_field: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - id - "-id" - name - "-name" - project_id - "-project_id" - survey_id - "-survey_id" - updated_at - "-updated_at" type: string title: Sort survey field explode: false required: false description: Sort order for survey field list results. Accepts one or more field names, comma-separated; prefix with `-` for descending. --branch descriptions sort_survey_field_option: in: query name: sort style: form schema: type: array items: type: string title: Sort survey field option explode: false required: false description: The sort survey field option. sort_survey_report: in: query name: sort style: form schema: type: array items: enum: - count - "-count" - created_at - "-created_at" - creator - "-creator" - project - "-project" - survey - "-survey" - survey_id - "-survey_id" - title - "-title" - updater - "-updater" type: string title: Sort survey report explode: false required: false description: Sort survey report sort_tag: in: query name: sort style: form schema: type: array items: type: string title: Sort tag explode: false required: false description: Sort tag sort_task_dependency: in: query name: sort style: form schema: type: array items: type: string title: Sort task dependency explode: false required: false description: Sort task dependency sort_tax_rate: in: query name: sort style: form schema: type: array items: enum: - name - "-name" - subsidiary_name - "-subsidiary_name" type: string title: Sort tax rate explode: false required: false description: Sort tax rate sort_team: in: query name: sort style: form schema: type: array items: enum: - name - "-name" type: string title: Sort team explode: false required: false description: Sort team sort_team_membership: in: query name: sort style: form schema: type: array items: enum: - person_name - "-person_name" type: string title: Sort team membership explode: false required: false description: Sort team membership sort_template: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - id - "-id" - project_id - "-project_id" - target_id - "-target_id" - target_type - "-target_type" - updated_at - "-updated_at" type: string title: Sort template explode: false required: false description: Sort the templates collection by one or more fields. Prefix a field with `-` for descending order. sort_time_entry: in: query name: sort style: form schema: type: array items: enum: - date - "-date" - deal_name - "-deal_name" - person_name - "-person_name" - service_name - "-service_name" - updated_at - "-updated_at" type: string title: Sort time entry explode: false required: false description: Sort time entry sort_time_entry_version: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" type: string title: Sort time entry version explode: false required: false description: Sort time entry version sort_time_tracking_policy: in: query name: sort style: form schema: type: array items: enum: - name - "-name" type: string title: Sort time tracking policy explode: false required: false description: The sort time tracking policy. sort_timer: in: query name: sort style: form schema: type: array items: enum: - started_at - "-started_at" - stopped_at - "-stopped_at" type: string title: Sort timer explode: false required: false description: Sort timer sort_timesheet: in: query name: sort style: form schema: type: array items: enum: - date - "-date" - id - "-id" - person_id - "-person_id" type: string title: Sort timesheet explode: false required: false description: Sort order for timesheet list results. Accepts one or more field names, comma-separated; prefix with `-` for descending. --branch descriptions sort_timesheet_report: in: query name: sort style: form schema: type: array items: enum: - count - "-count" - friday_capacity - "-friday_capacity" - friday_time - "-friday_time" - monday_capacity - "-monday_capacity" - monday_time - "-monday_time" - person - "-person" - saturday_capacity - "-saturday_capacity" - saturday_time - "-saturday_time" - sunday_capacity - "-sunday_capacity" - sunday_time - "-sunday_time" - thursday_capacity - "-thursday_capacity" - thursday_time - "-thursday_time" - tuesday_capacity - "-tuesday_capacity" - tuesday_time - "-tuesday_time" - wednesday_capacity - "-wednesday_capacity" - wednesday_time - "-wednesday_time" - week - "-week" - week_submission_status - "-week_submission_status" type: string title: Sort timesheet report explode: false required: false description: Sort timesheet report sort_todo: in: query name: sort style: form schema: type: array items: type: string title: Sort todo explode: false required: false description: Sort todo sort_user: in: query name: sort style: form schema: type: array items: type: string title: Sort user explode: false required: false description: Sort user sort_webhook: in: query name: sort style: form schema: type: array items: type: string title: Sort webhook explode: false required: false description: Sort webhook sort_webhook_log: in: query name: sort style: form schema: type: array items: type: string title: Sort webhook log explode: false required: false description: Sort webhook log sort_widget: in: query name: sort style: form schema: type: array items: type: string title: Sort widget explode: false required: false description: Sort widget sort_workflow: in: query name: sort style: form schema: type: array items: enum: - name - "-name" type: string title: Sort workflow explode: false required: false description: Sort workflow sort_workflow_status: in: query name: sort style: form schema: type: array items: enum: - name - "-name" - position - "-position" type: string title: Sort workflow status explode: false required: false description: Sort workflow status sort_time_entry_report: in: query name: sort style: form schema: type: array items: enum: - approval_policy - "-approval_policy" - approver - "-approver" - autotracked - "-autotracked" - average_blended_rate - "-average_blended_rate" - average_recognized_margin - "-average_recognized_margin" - billing_type - "-billing_type" - budget - "-budget" - company - "-company" - count - "-count" - created_at - "-created_at" - creator - "-creator" - custom_fields - "-custom_fields" - date - "-date" - day - "-day" - deal_subsidiary - "-deal_subsidiary" - designated_approver - "-designated_approver" - ended_at - "-ended_at" - intercompany_hours - "-intercompany_hours" - invoiced - "-invoiced" - invoicing_status - "-invoicing_status" - jira_issue_id - "-jira_issue_id" - jira_issue_status - "-jira_issue_status" - jira_issue_summary - "-jira_issue_summary" - last_activity_at - "-last_activity_at" - last_actor - "-last_actor" - month - "-month" - overhead - "-overhead" - people_custom_fields - "-people_custom_fields" - person - "-person" - person_manager - "-person_manager" - person_subsidiary - "-person_subsidiary" - project - "-project" - project_type_id - "-project_type_id" - quarter - "-quarter" - responsible - "-responsible" - section_name - "-section_name" - service - "-service" - service_type - "-service_type" - stage_type - "-stage_type" - started_at - "-started_at" - status - "-status" - task - "-task" - task_list - "-task_list" - time_entry - "-time_entry" - time_entry_created_at - "-time_entry_created_at" - time_entry_date - "-time_entry_date" - time_entry_ended_at - "-time_entry_ended_at" - time_entry_last_activity_at - "-time_entry_last_activity_at" - time_entry_started_at - "-time_entry_started_at" - total_billable_approved_time - "-total_billable_approved_time" - total_billable_revenue - "-total_billable_revenue" - total_billable_time - "-total_billable_time" - total_cost - "-total_cost" - total_facility_overhead_cost - "-total_facility_overhead_cost" - total_internal_overhead_cost - "-total_internal_overhead_cost" - total_overhead_cost - "-total_overhead_cost" - total_recognized_profit - "-total_recognized_profit" - total_recognized_revenue - "-total_recognized_revenue" - total_recognized_time - "-total_recognized_time" - total_time - "-total_time" - total_work_cost - "-total_work_cost" - track_method_id - "-track_method_id" - unit_id - "-unit_id" - week - "-week" - year - "-year" type: string title: Sort time entry report explode: false required: false description: Sort time entry report filter_job_role: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_job_role" required: false description: Filter job roles by ID, archival status, or name. filter_project_milestone: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_project_milestone" required: false description: Filter parameter for querying project milestones. sort_project_milestone: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - date - "-date" - id - "-id" - title - "-title" type: string title: Sort project milestone explode: false required: false description: Sort order for project milestone list results. Accepts one or more field names, comma-separated; prefix with `-` for descending. sort_budget_report: in: query name: sort style: form schema: type: array items: enum: - applied_scenario_margin - "-applied_scenario_margin" - average_actual_rate - "-average_actual_rate" - average_budget_usage - "-average_budget_usage" - average_forecasted_budget_overrun - "-average_forecasted_budget_overrun" - average_forecasted_budget_usage - "-average_forecasted_budget_usage" - average_forecasted_time_usage - "-average_forecasted_time_usage" - average_invoiced_percentage - "-average_invoiced_percentage" - average_invoiced_rate - "-average_invoiced_rate" - average_profit_margin - "-average_profit_margin" - budget - "-budget" - budget_client_access - "-budget_client_access" - budget_closed_at - "-budget_closed_at" - budget_created_at - "-budget_created_at" - budget_custom_fields - "-budget_custom_fields" - budget_date - "-budget_date" - budget_delivered_on - "-budget_delivered_on" - budget_end_date - "-budget_end_date" - budget_last_activity_at - "-budget_last_activity_at" - budget_number - "-budget_number" - budget_purchase_order_number - "-budget_purchase_order_number" - budget_status - "-budget_status" - budget_suffix - "-budget_suffix" - budget_time_approval - "-budget_time_approval" - budget_warning_percentage - "-budget_warning_percentage" - closed_at - "-closed_at" - company - "-company" - contract - "-contract" - count - "-count" - created_at - "-created_at" - custom_fields - "-custom_fields" - date - "-date" - deal_type - "-deal_type" - delivered_on - "-delivered_on" - designated_approver - "-designated_approver" - end_date - "-end_date" - last_activity_at - "-last_activity_at" - month - "-month" - next_occurrence_on - "-next_occurrence_on" - origin_deal - "-origin_deal" - project - "-project" - project_type - "-project_type" - quarter - "-quarter" - recurring - "-recurring" - recurring_ends_on - "-recurring_ends_on" - recurring_interval - "-recurring_interval" - recurring_starts_on - "-recurring_starts_on" - responsible - "-responsible" - status - "-status" - subsidiary - "-subsidiary" - total_billable_time - "-total_billable_time" - total_budget_remaining - "-total_budget_remaining" - total_budget_total - "-total_budget_total" - total_budget_used - "-total_budget_used" - total_budgeted_time - "-total_budgeted_time" - total_cost - "-total_cost" - total_credited - "-total_credited" - total_draft_invoiced - "-total_draft_invoiced" - total_estimated_cost - "-total_estimated_cost" - total_estimated_remaining_time - "-total_estimated_remaining_time" - total_estimated_time - "-total_estimated_time" - total_expense - "-total_expense" - total_expense_billable - "-total_expense_billable" - total_forecasted_billable_time - "-total_forecasted_billable_time" - total_forecasted_budget_overrun - "-total_forecasted_budget_overrun" - total_forecasted_budget_used - "-total_forecasted_budget_used" - total_forecasted_cost - "-total_forecasted_cost" - total_future_booked_time - "-total_future_booked_time" - total_future_budget_used - "-total_future_budget_used" - total_future_cost - "-total_future_cost" - total_invoiced - "-total_invoiced" - total_manually_invoiced - "-total_manually_invoiced" - total_overtime_time - "-total_overtime_time" - total_pending_invoicing - "-total_pending_invoicing" - total_profit - "-total_profit" - total_revenue - "-total_revenue" - total_services_revenue - "-total_services_revenue" - total_unapproved_time - "-total_unapproved_time" - total_work_cost - "-total_work_cost" - total_worked_time - "-total_worked_time" - tracking_type_id - "-tracking_type_id" - week - "-week" - year - "-year" type: string title: Sort budget report explode: false required: false description: Sort budget report sort_deal_report: in: query name: sort style: form schema: type: array items: enum: - applied_scenario_margin - "-applied_scenario_margin" - average_actual_rate - "-average_actual_rate" - average_rate - "-average_rate" - average_retainer_interval_count - "-average_retainer_interval_count" - budget_status - "-budget_status" - company - "-company" - contact - "-contact" - count - "-count" - created_at - "-created_at" - creator - "-creator" - custom_fields - "-custom_fields" - date - "-date" - deal - "-deal" - deal_average_days_in_current_stage - "-deal_average_days_in_current_stage" - deal_average_days_since_created - "-deal_average_days_since_created" - deal_average_days_since_last_activity - "-deal_average_days_since_last_activity" - deal_budget_warning - "-deal_budget_warning" - deal_client_access - "-deal_client_access" - deal_closed_at - "-deal_closed_at" - deal_created_at - "-deal_created_at" - deal_custom_fields - "-deal_custom_fields" - deal_date - "-deal_date" - deal_end_date - "-deal_end_date" - deal_last_activity_at - "-deal_last_activity_at" - deal_lost_date - "-deal_lost_date" - deal_number - "-deal_number" - deal_previous_probability - "-deal_previous_probability" - deal_probability - "-deal_probability" - deal_purchase_order_number - "-deal_purchase_order_number" - deal_retainer - "-deal_retainer" - deal_retainer_interval - "-deal_retainer_interval" - deal_revenue_distribution_end_on - "-deal_revenue_distribution_end_on" - deal_revenue_distribution_start_on - "-deal_revenue_distribution_start_on" - deal_sales_closed_at - "-deal_sales_closed_at" - deal_sales_closed_on - "-deal_sales_closed_on" - deal_sales_status_updated_at - "-deal_sales_status_updated_at" - deal_status - "-deal_status" - deal_suffix - "-deal_suffix" - deal_time_approval - "-deal_time_approval" - deal_todo_due_date - "-deal_todo_due_date" - deal_value_source - "-deal_value_source" - deal_won_date - "-deal_won_date" - designated_approver - "-designated_approver" - last_activity_at - "-last_activity_at" - lost_reason - "-lost_reason" - month - "-month" - pipeline - "-pipeline" - previous_deal_status - "-previous_deal_status" - project - "-project" - quarter - "-quarter" - responsible - "-responsible" - revenue_distribution_base - "-revenue_distribution_base" - revenue_distribution_end_on - "-revenue_distribution_end_on" - revenue_distribution_start_on - "-revenue_distribution_start_on" - sales_closed_at - "-sales_closed_at" - sales_closed_on - "-sales_closed_on" - sales_status_id - "-sales_status_id" - stage_status_id - "-stage_status_id" - stage_updated_at - "-stage_updated_at" - subsidiary - "-subsidiary" - total_billable_time - "-total_billable_time" - total_budget_from_services - "-total_budget_from_services" - total_budget_total - "-total_budget_total" - total_budget_used - "-total_budget_used" - total_budgeted_time - "-total_budgeted_time" - total_cost - "-total_cost" - total_estimated_cost - "-total_estimated_cost" - total_estimated_remaining_time - "-total_estimated_remaining_time" - total_estimated_time - "-total_estimated_time" - total_expense - "-total_expense" - total_overtime_time - "-total_overtime_time" - total_profit - "-total_profit" - total_projected_revenue - "-total_projected_revenue" - total_revenue - "-total_revenue" - total_services_revenue - "-total_services_revenue" - total_work_cost - "-total_work_cost" - total_worked_time - "-total_worked_time" - tracking_type_id - "-tracking_type_id" - week - "-week" - year - "-year" type: string title: Sort deal report explode: false required: false description: Sort deal report sort_pulse: in: query name: sort style: form schema: type: array items: type: string title: Sort pulse explode: false required: false description: Sort pulse filter_survey_field: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_survey_field" required: false description: Filter parameter for querying survey fields. filter_survey_field_option: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_survey_field_option" required: false description: Filter parameter for querying survey field options. filter_survey_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_survey_report" required: false description: Filters sort_agent: in: query name: sort style: form schema: type: array items: type: string title: Sort agent explode: false required: false sort_agent_config: in: query name: sort style: form schema: type: array items: type: string title: Sort agent config explode: false required: false sort_comment: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" type: string title: Sort comment explode: false required: false description: Sort comment sort_company: in: query name: sort style: form schema: type: array items: enum: - company_code - "-company_code" - created_at - "-created_at" - custom_fields - "-custom_fields" - last_activity_at - "-last_activity_at" - name - "-name" - parent_company - "-parent_company" type: string title: Sort company explode: false required: false description: Sort company sort_notification: in: query name: sort style: form schema: type: array items: type: string title: Sort notification explode: false required: false description: Sort notification sort_organization_membership: in: query name: sort style: form schema: type: array items: type: string title: Sort organization membership explode: false required: false description: Sort organization membership sort_placeholder_usage: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - field - "-field" - id - "-id" - interval_direction - "-interval_direction" - interval_unit - "-interval_unit" - interval_value - "-interval_value" - placeholder_id - "-placeholder_id" - skip_weekends - "-skip_weekends" - target_id - "-target_id" - target_type - "-target_type" - updated_at - "-updated_at" type: string title: Sort placeholder usage explode: false required: false description: Sort order for placeholder usage list results. Accepts one or more field names, comma-separated; prefix with `-` for descending. --branch descriptions sort_revenue_distribution: in: query name: sort style: form schema: type: array items: enum: - amount - "-amount" - amount_percent - "-amount_percent" - created_at - "-created_at" - deal - "-deal" - deal_id - "-deal_id" - end_on - "-end_on" - id - "-id" - start_on - "-start_on" type: string title: Sort revenue distribution explode: false required: false description: Sort order for revenue distribution list results. Accepts one or more field names, comma-separated; prefix with `-` for descending. --branch descriptions sort_service_report: in: query name: sort style: form schema: type: array items: enum: - average_actual_rate - "-average_actual_rate" - average_budget_usage - "-average_budget_usage" - average_discount - "-average_discount" - average_forecasted_budget_usage - "-average_forecasted_budget_usage" - average_forecasted_time_usage - "-average_forecasted_time_usage" - average_markup - "-average_markup" - average_profit_margin - "-average_profit_margin" - billable - "-billable" - billing_type - "-billing_type" - booking_tracking_enabled - "-booking_tracking_enabled" - budget - "-budget" - budget_cap_enabled - "-budget_cap_enabled" - budget_custom_fields - "-budget_custom_fields" - budget_status - "-budget_status" - company - "-company" - count - "-count" - custom_fields - "-custom_fields" - date - "-date" - deal_custom_fields - "-deal_custom_fields" - deal_status - "-deal_status" - expense_tracking_enabled - "-expense_tracking_enabled" - limitation_type - "-limitation_type" - origin_deal - "-origin_deal" - pipeline - "-pipeline" - project - "-project" - project_type - "-project_type" - responsible - "-responsible" - sales_status_id - "-sales_status_id" - section - "-section" - section_name - "-section_name" - section_position - "-section_position" - service - "-service" - service_billable - "-service_billable" - service_deal_date - "-service_deal_date" - service_description - "-service_description" - service_discount - "-service_discount" - service_markup - "-service_markup" - service_name - "-service_name" - service_position - "-service_position" - service_type - "-service_type" - service_unit - "-service_unit" - stage_status - "-stage_status" - stage_type - "-stage_type" - subsidiary - "-subsidiary" - time_tracking_enabled - "-time_tracking_enabled" - total_billable_time - "-total_billable_time" - total_booked_time - "-total_booked_time" - total_budget_remaining - "-total_budget_remaining" - total_budget_total - "-total_budget_total" - total_budget_used - "-total_budget_used" - total_invoiced - "-total_invoiced" - total_budgeted_time - "-total_budgeted_time" - total_cost - "-total_cost" - total_discount_amount - "-total_discount_amount" - total_estimated_cost - "-total_estimated_cost" - total_estimated_remaining_time - "-total_estimated_remaining_time" - total_estimated_time - "-total_estimated_time" - total_expense_cost - "-total_expense_cost" - total_forecasted_billable_time - "-total_forecasted_billable_time" - total_forecasted_budget_used - "-total_forecasted_budget_used" - total_future_booked_time - "-total_future_booked_time" - total_future_budget_used - "-total_future_budget_used" - total_future_tentative_booked_time - "-total_future_tentative_booked_time" - total_left_to_schedule_time - "-total_left_to_schedule_time" - total_markup_amount - "-total_markup_amount" - total_overtime_time - "-total_overtime_time" - total_price - "-total_price" - total_profit - "-total_profit" - total_projected_revenue - "-total_projected_revenue" - total_recognized_revenue - "-total_recognized_revenue" - total_remaining_scheduled_time - "-total_remaining_scheduled_time" - total_revenue - "-total_revenue" - total_rolled_over_time - "-total_rolled_over_time" - total_tentative_booked_time - "-total_tentative_booked_time" - total_unapproved_time - "-total_unapproved_time" - total_worked_cost - "-total_worked_cost" - total_worked_time - "-total_worked_time" - unit - "-unit" type: string title: Sort service report explode: false required: false description: Sort service report filter_project_preference: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_project_preference" required: false description: Filter conditions for the project preference list. Supports filtering by `id`, `person_id` and `project_id`. sort_project_preference: in: query name: sort style: form schema: type: array items: type: string title: Sort project preference explode: false required: false description: Sort order for project preference list results. Accepts one or more field names, comma-separated; prefix with `-` for descending. filter_approval_workflow: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_approval_workflow" required: false description: Filter parameter for querying approval workflows. sort_approval_workflow: in: query name: sort style: form schema: type: array items: type: string title: Sort approval workflow explode: false required: false description: Sort parameter for approval workflows. sort_jira_worklog_import: in: query name: sort style: form schema: type: array items: enum: - status - "-status" - date - "-date" - time - "-time" - error_type - "-error_type" - attempted_at - "-attempted_at" type: string title: Sort Jira worklog import explode: false required: false filter_skill: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_skill" required: false sort_skill: in: query name: sort style: form schema: type: array items: type: string title: Sort skill explode: false required: false filter_job_role_rate_card: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_job_role_rate_card" required: false sort_job_role_rate_card: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - name - "-name" type: string title: Sort job role rate card explode: false required: false filter_jira_worklog_import: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_jira_worklog_import" required: false fields: in: query name: fields style: deepObject schema: type: object patternProperties: "^[a-z_]+$": type: string additionalProperties: type: string required: false filter_automation: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_automation" required: false filter_email_thread: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_email_thread" required: false include_activity: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator - comment - email - email_link - attachment - role type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_agent: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - custom_role - manager - person - subsidiary - agent_config - memberships type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_agent_config: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - agent - attachments type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_agent_session: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - person - transcript type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_approval_policy: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - subsidiary type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_approval_policy_assignment: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - person - deal - approval_policy type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_approval_status: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - approver - actual_approver - approval_workflow - custom_field - booking - expense - time_entry type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_approval_workflow: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - event - approval_policy - approvers - subscribers type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_artifact: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator - attachment - memberships - thumbnail_attachment type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_artifact_version: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - artifact - creator - attachment type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_attachment: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator - invoice - purchase_order - bill - email - page - expense - comment - task - document_style - document_type - deal type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_automatic_invoicing_rule: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - budget - creator type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_automation: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - agent - creator - survey - subsidiary type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_comment: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - company - creator - deal - discussion - invoice - person - pinned_by - task - project - purchase_order - attachments type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_company: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - import - default_subsidiary - subsidiary - default_tax_rate - default_document_type - default_payment_reminder_sequence - custom_field_people - custom_field_attachments - integration_exporter_configuration - einvoice_identity - parent_company type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_company_report: in: query name: include style: form schema: type: array items: anyOf: - enum: - company - parent_company - subsidiary - parent_company_report type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_custom_field: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - project - section - survey - subsidiary - custom_field_people - options type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_custom_field_option: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - custom_field type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_custom_field_section: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_dashboard: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator - project - subsidiary - memberships type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_deal: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator - company - document_type - proposal_document_type - responsible - deal_status - project - lost_reason - contract - contact - subsidiary - template - tax_rate - pipeline - origin_deal - designated_approver - import - approval_policy_assignment - next_todo - expense_approval_workflow - time_approval_workflow - invoice_template - automatic_invoicing_rule - primary_contact - custom_field_people - custom_field_attachments - contacts - memberships type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_deal_contact: in: query name: include style: form schema: type: array items: anyOf: - enum: - deal - person type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_deal_cost_rate: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - deal - person type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_deal_status: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - pipeline type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_deleted_item: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - deleter type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_discussion: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - page type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_document_style: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - attachments type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_document_type: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - subsidiary - document_style - attachments type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_einvoice_configuration: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - subsidiary type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_einvoice_identity: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - subsidiary - company type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_email: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator - deal - invoice - payment_reminder - integration - participants - recipients - to_recipients - cc_recipients - bcc_recipients - attachments type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_email_link: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - email - creator type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_email_thread: in: query name: include style: form schema: type: array items: anyOf: - enum: - integration - emails type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_entitlement: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - event - person - approval_workflow type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_event: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - subsidiary type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_expense: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - deal - service_type - person - creator - updater - approver - rejecter - vendor - service - purchase_order - tax_rate - invoice_attribution - attachment - custom_field_people - custom_field_attachments - approval_statuses - expense_line_items type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_expense_line_item: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - expense - tax_rate type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_filter: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator - report_category - subsidiary - template_object - memberships type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_filter_preference: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - person type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_financial_month: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_folder: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - project type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_holiday: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - holiday_calendar - creator type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_holiday_calendar: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - subsidiary type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_integration: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - subsidiary - project - creator - deal - person type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_integration_exporter_configuration: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - company type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_integration_task_management_configuration: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - integration - project - deal - default_service - default_person type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_invoice: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - bill_to - bill_from - company - document_type - creator - subsidiary - parent_invoice - issuer - bank_account - invoice_attributions - invoiced_budgets - custom_field_people - custom_field_attachments - attachment type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_invoice_attribution: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - invoice - budget - service type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_invoice_report: in: query name: include style: form schema: type: array items: anyOf: - enum: - invoice - company - subsidiary - creator - issuer - company_report - issuer_report - creator_report type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_invoice_template: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - document_type - subsidiary type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_invoiced_budget: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - invoice - budget type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_job_role: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_job_role_rate: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - job_role_rate_card - job_role type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_job_role_rate_card: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - company - creator type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_line_item: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - invoice - service - expense - service_type - tax_rate - kpd_code type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_line_item_report: in: query name: include style: form schema: type: array items: anyOf: - enum: - line_item - invoice - service - expense - creator - updater - company - service_type - kpd_code - invoice_report type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_lost_reason: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - subsidiary type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_mcp_connector: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - mcp_server - person type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_mcp_server: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_meeting: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator - deal - project - meeting_participants - suggested_projects - suggested_deals - memberships type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_membership: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - person - team - dashboard - deal - filter - meeting - page - project - survey - agent - skill - artifact type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_memory: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - person - project type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_new_salary_report: in: query name: include style: form schema: type: array items: anyOf: - enum: - person - salary - person_report type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_new_time_report: in: query name: include style: form schema: type: array items: anyOf: - enum: - person - budget - project - company - service - service_type - event - subsidiary - job_role - manager - deal_or_budget_report - company_report - person_report - project_report type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_notification: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - actor type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_organization: in: query name: include style: form schema: type: array items: anyOf: - enum: - owner - company - organization_subscription type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_organization_membership: in: query name: include style: form schema: type: array items: anyOf: - enum: - tasks_favorite_filter - deals_favorite_filter - deal_services_favorite_filter - projects_favorite_filter - people_favorite_filter - contacts_favorite_filter - companies_favorite_filter - company_time_favorite_filter - invoices_favorite_filter - budgets_favorite_filter - budget_services_favorite_filter - expenses_favorite_filter - bookings_favorite_filter - payments_favorite_filter - time_reports_favorite_filter - salary_reports_favorite_filter - time_entry_reports_favorite_filter - booking_approvals_favorite_filter - expense_approvals_favorite_filter - time_approvals_favorite_filter - docs_favorite_filter - internal_budget_services_favorite_filter - employees_favorite_filter - organization - person - user - time_tracking_policy type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_overhead: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - updater - subsidiary type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_page: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator - updater - project - parent_page - root_page - attachments - template_object - memberships type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_page_report: in: query name: include style: form schema: type: array items: anyOf: - enum: - report - page - creator - updater - project type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_page_version: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - page - person type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_payment: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - invoice type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_payment_reminder: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - invoice - payment_reminder_sequence type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_payment_reminder_sequence: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator - updater - payment_reminders type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_payment_report: in: query name: include style: form schema: type: array items: anyOf: - enum: - report - payment - invoice - company - subsidiary - invoice_report - company_report type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_payroll_item_report: in: query name: include style: form schema: type: array items: anyOf: - enum: - report - person - salary - time_entry - booking - company - subsidiary - person_report type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_person: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - company - custom_role - import - manager - subsidiary - time_tracking_policy - job_role - approval_policy_assignment - person_session - teams - service_types - custom_field_people - custom_field_attachments type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_person_report: in: query name: include style: form schema: type: array items: anyOf: - enum: - report - person - company - subsidiary - custom_role - job_role - manager - approval_policy - company_report - manager_report type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_pipeline: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator - updater - subsidiary type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_placeholder: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - project type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_placeholder_usage: in: query name: include style: form schema: type: array items: anyOf: - enum: - placeholder - task - todo type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_price: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - service_type - company - updater - rate_card - custom_field_people - custom_field_attachments type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_project: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - company - project_manager - last_actor - workflow - import - subsidiary - custom_field_people - custom_field_attachments - project_milestones - memberships - template_object type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_project_milestone: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator - assignee - project type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_project_preference: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - person - project type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_proposal: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - client - deal - scenario - document_type - proposal_from - proposal_to - responsible - subsidiary - tax_rate - contact - creator - deal_creator - project - attachment type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_proposal_report: in: query name: include style: form schema: type: array items: anyOf: - enum: - report - company - deal - creator - proposal - responsible - subsidiary - company_report - deal_report - creator_report - responsible_report type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_proposal_service: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - deal - proposal - proposal_section - service_type type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_proposal_session: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - proposal type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_pulse: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator - filter - memberships type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_purchase_order: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - vendor - deal - creator - document_type - attachment - bill_to - bill_from type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_purchase_order_report: in: query name: include style: form schema: type: array items: anyOf: - enum: - report - purchase_order - vendor - creator - deal - project type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_rate_card: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - company - creator type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_report_category: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_resource_request: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - service - creator - resolver - custom_field_people - custom_field_attachments type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_revenue_distribution: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - deal type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_role: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - subsidiary type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_salary: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - person - holiday_calendar type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_scenario: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - deal - creator type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_scenario_booking: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - scenario_item - creator - updater type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_scenario_item: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - booking - expense - person - scenario_service - scenario_bookings type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_scenario_section: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - scenario type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_scenario_service: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - deal - scenario - scenario_section - service_type - scenario_items - scenario_bookings type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_section: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - deal type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_service: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - service_type - deal - person - section - import - custom_field_people - custom_field_attachments type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_service_assignment: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - person - service type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_service_type: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - subsidiary type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_service_type_assignment: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - person - service_type type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_session: in: query name: include style: form schema: type: array items: anyOf: - enum: - user type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_skill: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator - memberships type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_subsidiary: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - bill_from - custom_domain - default_tax_rate - default_bank_account - default_document_type - integration - einvoice_configuration - einvoice_identity type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_survey: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - project - creator - updater - memberships type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_survey_field: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - survey - origin_field - options - custom_field_people type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_survey_field_option: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - survey_field type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_survey_response: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - survey - creator - custom_field_attachments type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_task: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - project - creator - assignee - last_actor - task_list - parent_task - root_task - workflow_status - service - repeated_task - template_object - attachments - custom_field_people - custom_field_attachments - placeholder_usages - todos - subtasks - task_dependencies type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_task_dependency: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - task - dependent_task - reverse_dependency type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_task_list: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - project - folder type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_tax_rate: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - subsidiary type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_team: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - members - subsidiary type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_team_membership: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - person - team type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_template: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - project - deal - page - task - filter - creator type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_time_entry: in: query name: include style: form schema: type: array items: anyOf: - enum: - person - service - task - approver - updater - rejecter - creator - last_actor - person_subsidiary - deal_subsidiary - timesheet - invoice_attribution - approval_statuses type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_time_entry_version: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator - deal - service - person type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_time_tracking_policy: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - last_actor - creator type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_timer: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - time_entry type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_timesheet: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - person - creator type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_todo: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - assignee - deal - task type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_webhook: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - creator type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_webhook_log: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - webhook type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_widget: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - dashboard - filter - attachments type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_workflow: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - workflow_statuses - subsidiary type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_workflow_status: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - workflow type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false include_workload_item: in: query name: include style: form schema: type: array items: anyOf: - enum: - person - task type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false changed_since: in: query name: changed_since schema: type: integer format: int64 required: false include_bank_account: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - subsidiary type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false filter_artifact_version: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_artifact_version" required: false filter_balancing_hour_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_balancing_hour_report" required: false filter_connection: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_connection" required: false filter_email_link: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_email_link" required: false filter_filter_preference: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_filter_preference" required: false filter_financial_month: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_financial_month" required: false filter_mcp_connector: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_mcp_connector" required: false filter_mcp_server: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_mcp_server" required: false filter_payment_reminder: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_payment_reminder" required: false filter_proposal_service: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_proposal_service" required: false filter_proposal_session: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_proposal_session" required: false filter_purchase_order_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_purchase_order_report" required: false filter_workload_item: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_workload_item" required: false group_backoffice_feature_report: in: query name: group style: form schema: enum: - feature - category - upcoming - organization - product - active - type - discoverable type: string title: Group backoffice feature report explode: false required: false group_backoffice_session_report: in: query name: group style: form schema: enum: - organization - session - user - creator - device - device_type - browser - platform - location - read_only - created_at - last_activity_at type: string title: Group backoffice session report explode: false required: false group_backoffice_user_report: in: query name: group style: form schema: enum: - user - sysadmin - sysadmin_permissions - organization type: string title: Group backoffice user report explode: false required: false group_balancing_hour_report: in: query name: group style: form schema: enum: - organization - person type: string title: Group balancing hour report explode: false required: false group_purchase_order_report: in: query name: group style: form schema: enum: - creator - deal - delivery_on - issued_on - organization - payment_status - project - purchase_order - received_on - sent_on - sent_status - status - vendor type: string title: Group purchase order report explode: false required: false sort_artifact_version: in: query name: sort style: form schema: type: array items: enum: - version_number - "-version_number" - created_at - "-created_at" type: string title: Sort artifact version explode: false required: false sort_balancing_hour_report: in: query name: sort style: form schema: type: array items: enum: - count - "-count" - person - "-person" type: string title: Sort balancing hour report explode: false required: false sort_connection: in: query name: sort style: form schema: type: array items: enum: - id - "-id" - record_connection_id - "-record_connection_id" type: string title: Sort connection explode: false required: false sort_filter_preference: in: query name: sort style: form schema: type: array items: enum: - created_at - "-created_at" - frecency - "-frecency" - id - "-id" type: string title: Sort filter preference explode: false required: false sort_financial_month: in: query name: sort style: form schema: type: array items: enum: - ended_on - "-ended_on" - month - "-month" - started_on - "-started_on" type: string title: Sort financial month explode: false required: false sort_mcp_connector: in: query name: sort style: form schema: type: array items: type: string title: Sort mcp connector explode: false required: false sort_mcp_server: in: query name: sort style: form schema: type: array items: type: string title: Sort mcp server explode: false required: false sort_payment_reminder: in: query name: sort style: form schema: type: array items: enum: - scheduled_on - "-scheduled_on" type: string title: Sort payment reminder explode: false required: false sort_proposal_service: in: query name: sort style: form schema: type: array items: type: string title: Sort proposal service explode: false required: false sort_purchase_order_report: in: query name: sort style: form schema: type: array items: enum: - count - "-count" - created_at - "-created_at" - creator - "-creator" - deal - "-deal" - delivery_on - "-delivery_on" - issued_on - "-issued_on" - number - "-number" - payment_status_id - "-payment_status_id" - purchase_order - "-purchase_order" - purchase_order_delivery_on - "-purchase_order_delivery_on" - purchase_order_issued_on - "-purchase_order_issued_on" - purchase_order_received_on - "-purchase_order_received_on" - purchase_order_sent_on - "-purchase_order_sent_on" - received_on - "-received_on" - sent_on - "-sent_on" - sent_status - "-sent_status" - status_id - "-status_id" - total_cost - "-total_cost" - total_cost_with_tax - "-total_cost_with_tax" - total_received - "-total_received" - vendor - "-vendor" type: string title: Sort purchase order report explode: false required: false sort_workload_item: in: query name: sort style: form schema: type: array items: enum: - person - "-person" - task - "-task" - date - "-date" - project - "-project" type: string title: Sort workload item explode: false required: false group_resource_request_report: in: query name: group style: form schema: enum: - booking_method - created_at - creator - custom_fields - deal_or_budget_report.custom_fields - ended_on - job_role - organization - resolver - resource_request - service - service_type - started_on - status - subsidiary type: string title: Group resource request report explode: false required: false description: Group resource request report sort_resource_request_report: in: query name: sort style: form schema: type: array items: enum: - booking_method - "-booking_method" - created_at - "-created_at" - creator - "-creator" - custom_fields - "-custom_fields" - deal_or_budget_report.custom_fields - "-deal_or_budget_report.custom_fields" - ended_on - "-ended_on" - job_role - "-job_role" - resolver - "-resolver" - resource_request - "-resource_request" - resource_request_created_at - "-resource_request_created_at" - resource_request_ended_on - "-resource_request_ended_on" - resource_request_started_on - "-resource_request_started_on" - service - "-service" - service_type - "-service_type" - started_on - "-started_on" - status - "-status" - subsidiary - "-subsidiary" type: string title: Sort resource request report explode: false required: false description: Sort resource request report filter_invoiced_budget: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_invoiced_budget" required: false sort_invoiced_budget: in: query name: sort style: form schema: type: array items: type: string title: Sort invoiced budget explode: false required: false filter_deal_job_role_rate: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_deal_job_role_rate" required: false include_deal_job_role_rate: in: query name: include style: form schema: type: array items: anyOf: - enum: - organization - deal - job_role type: string title: Relationship - type: string title: Nested path pattern: "^[a-z_]+(\\.[a-z_]+)+$" explode: false required: false sort_deal_job_role_rate: in: query name: sort style: form schema: type: array items: enum: - amount - "-amount" - created_at - "-created_at" - job_role - "-job_role" type: string title: Sort deal job role rate explode: false required: false filter_agent_session: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_agent_session" required: false sort_agent_session: in: query name: sort style: form schema: type: array items: type: string title: Sort agent session explode: false required: false group_proposal_report: in: query name: group style: form schema: enum: - approval_requested_at - approval_status - approved_at - company - created_at - creator - currency - date_signed - deal - link_status - organization - proposal - responsible - sent_at - signed - status - status_changed_at - subsidiary - updated_at type: string title: Group proposal report explode: false required: false description: Group proposal report results by one or more fields. sort_proposal_report: in: query name: sort style: form schema: type: array items: enum: - approval_requested_at - "-approval_requested_at" - approval_status - "-approval_status" - approved_at - "-approved_at" - average_tax_rate_value - "-average_tax_rate_value" - company - "-company" - count - "-count" - created_at - "-created_at" - creator - "-creator" - date_signed - "-date_signed" - deal - "-deal" - link_status - "-link_status" - name - "-name" - responsible - "-responsible" - sent_at - "-sent_at" - signed - "-signed" - signed_by_email - "-signed_by_email" - status - "-status" - status_changed_at - "-status_changed_at" - subsidiary - "-subsidiary" - total_budget_total - "-total_budget_total" - total_tax_amount - "-total_tax_amount" - updated_at - "-updated_at" type: string title: Sort proposal report explode: false required: false description: Sort proposal report results by one or more fields. Prefix a field name with a minus sign for descending order. sort_task: in: query name: sort style: form schema: type: array items: enum: - assignee_name - "-assignee_name" - billable_time - "-billable_time" - closed_at - "-closed_at" - company_name - "-company_name" - created_at - "-created_at" - creator_name - "-creator_name" - custom_fields - "-custom_fields" - due_date - "-due_date" - folder_name - "-folder_name" - folder_position - "-folder_position" - id - "-id" - initial_estimate - "-initial_estimate" - last_activity - "-last_activity" - last_activity_at - "-last_activity_at" - last_actor_name - "-last_actor_name" - number - "-number" - placement - "-placement" - project_name - "-project_name" - remaining_time - "-remaining_time" - start_date - "-start_date" - task_list_name - "-task_list_name" - task_list_position - "-task_list_position" - task_number - "-task_number" - title - "-title" - updated_at - "-updated_at" - worked_time - "-worked_time" - workflow_status_name - "-workflow_status_name" - workflow_status_position - "-workflow_status_position" type: string title: Sort task explode: false required: false description: Sort task sort_task_list: in: query name: sort style: form schema: type: array items: enum: - company_name - "-company_name" - folder_name - "-folder_name" - project_name - "-project_name" type: string title: Sort task list explode: false required: false description: Sort task list filter_bill_report: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_bill_report" required: false group_bill_report: in: query name: group style: form schema: enum: - bill - creator - date - deal - due_date - number - organization - payment_status_id - purchase_order - sent_status - status_id - vendor type: string title: Group bill report explode: false required: false sort_bill_report: in: query name: sort style: form schema: type: array items: enum: - bill_date - "-bill_date" - bill_due_date - "-bill_due_date" - bill_invoice_number - "-bill_invoice_number" - count - "-count" - creator - "-creator" - date - "-date" - deal - "-deal" - due_date - "-due_date" - number - "-number" - payment_status_id - "-payment_status_id" - purchase_order - "-purchase_order" - sent_status - "-sent_status" - status_id - "-status_id" - total_cost - "-total_cost" - total_received - "-total_received" - vendor - "-vendor" type: string title: Sort bill report explode: false required: false sort_meeting: in: query name: sort style: form schema: type: array items: enum: - scheduled_at - "-scheduled_at" - started_at - "-started_at" - created_at - "-created_at" type: string title: Sort meeting explode: false required: false transcript_structure_meeting: in: query name: transcript_structure schema: enum: - legacy - compact type: string title: Transcript Structure examples: - compact required: false description: The structure of `transcript`; `compact` renders it as stored, behind meetingRenameOrAddGuests. Defaults to `legacy`. filter_scenario: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_scenario" required: false description: Filters filter_scenario_booking: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_scenario_booking" required: false description: Filters filter_scenario_item: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_scenario_item" required: false description: Filters filter_scenario_section: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_scenario_section" required: false description: Filters filter_scenario_service: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_scenario_service" required: false description: Filters sort_scenario: in: query name: sort style: form schema: type: array items: enum: - cost - "-cost" - created_at - "-created_at" - creator - "-creator" - end_date - "-end_date" - last_applied_at - "-last_applied_at" - name - "-name" - profit_margin - "-profit_margin" - revenue - "-revenue" - start_date - "-start_date" type: string title: Sort scenario explode: false required: false description: Sort scenario sort_scenario_booking: in: query name: sort style: form schema: type: array items: enum: - id - "-id" type: string title: Sort scenario booking explode: false required: false description: Sort scenario booking sort_scenario_service: in: query name: sort style: form schema: type: array items: enum: - budget - "-budget" - company - "-company" - name - "-name" - project_name - "-project_name" type: string title: Sort scenario service explode: false required: false description: Sort scenario service filter_job_role_rate: in: query name: filter style: deepObject schema: "$ref": "#/components/schemas/_filter_root_job_role_rate" required: false description: Filters sort_job_role_rate: in: query name: sort style: form schema: type: array items: enum: - amount - "-amount" - created_at - "-created_at" - job_role - "-job_role" type: string title: Sort job role rate explode: false required: false description: Sort job role rate header_count: in: header name: X-Count schema: type: string required: false requestBodies: membership: content: application/vnd.api+json: schema: type: object description: Request body schema for a membership. properties: data: type: object description: The JSON:API data object containing the membership resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_membership_create_attributes" relationships: type: object properties: whiteboard: "$ref": "#/components/schemas/_single_linkage_nullable" agent: "$ref": "#/components/schemas/_single_linkage_nullable" dashboard: "$ref": "#/components/schemas/_single_linkage_nullable" deal: "$ref": "#/components/schemas/_single_linkage_nullable" filter: "$ref": "#/components/schemas/_single_linkage_nullable" page: "$ref": "#/components/schemas/_single_linkage_nullable" person: "$ref": "#/components/schemas/_single_linkage" project: "$ref": "#/components/schemas/_single_linkage_nullable" survey: "$ref": "#/components/schemas/_single_linkage_nullable" team: "$ref": "#/components/schemas/_single_linkage" type: enum: - memberships type: string required: - type - attributes example: eq: value required: - data example: data: type: memberships attributes: access_type_id: 1 relationships: person: data: type: people id: '12' project: data: type: projects id: '6899' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_membership_create_attributes" relationships: type: object properties: whiteboard: "$ref": "#/components/schemas/_single_linkage_nullable" agent: "$ref": "#/components/schemas/_single_linkage_nullable" dashboard: "$ref": "#/components/schemas/_single_linkage_nullable" deal: "$ref": "#/components/schemas/_single_linkage_nullable" filter: "$ref": "#/components/schemas/_single_linkage_nullable" page: "$ref": "#/components/schemas/_single_linkage_nullable" person: "$ref": "#/components/schemas/_single_linkage" project: "$ref": "#/components/schemas/_single_linkage_nullable" survey: "$ref": "#/components/schemas/_single_linkage_nullable" team: "$ref": "#/components/schemas/_single_linkage" type: enum: - memberships type: string required: - type - attributes minItems: 1 required: - data required: true description: Request body for creating or updating a membership. Specify the person or team, the target resource (project, deal, page, dashboard, filter, or survey), and the access type. Use type_id to set the permission level. expense_bulk_approve: content: application/vnd.api+json: schema: type: object properties: ids: type: array items: "$ref": "#/components/schemas/_request_id" approver_id: type: integer title: Approve on behalf of description: Approves the approval statuses of this person instead of the current person's. Requires the "Approve all expenses" permission when it is not the current person (403 without it). Returns 422 when the value is not an integer, another person is combined with for_all_approvers, the approver is unknown, or the approver has no pending approvals on the selected expenses. The 422 error points at data/attributes/approver_id. The current person's own id behaves as if it was not sent. for_all_approvers: type: boolean title: Approve for all approvers description: Approves every pending approval status of the expenses, not only the current person's. Requires the "Approve all expenses" permission (403 without it). Cannot be combined with another person's approver_id. required: - ids example: data: type: expenses attributes: name: Design software license amount: '199.00' currency: USD date: '2026-03-01' billable: true relationships: person: data: type: people id: '12' deal: data: type: deals id: '89' required: true whiteboard_copy: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: name: allOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/name" - maxLength: 255 project_id: anyOf: - "$ref": "#/components/schemas/resource_whiteboard/properties/project_id" - type: 'null' title: 'Null' template_id: type: string description: The whiteboard to copy required: - template_id type: enum: - whiteboards type: string required: - type - attributes required: - data required: true invoice_attribution_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_invoice_attribution_update_attributes" type: enum: - invoice_attributions type: string required: - type required: - data required: true invitation: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating an invitation. properties: data: type: object description: The JSON:API data object containing the invitation resource attributes and relationships. properties: attributes: type: object description: Invitation attributes. properties: email: "$ref": "#/components/schemas/resource_invitation/properties/email" token: type: string required: - token - email example: eq: value type: enum: - invitations type: string required: - type - attributes example: eq: value required: - data example: data: type: invitations attributes: email: newdev@example.com first_name: Jordan last_name: Lee time_zone: Europe/London required: true description: Request body for creating or updating an invitation. page_markdown_body: content: application/vnd.api+json: schema: type: object description: Plain JSON object (not a JSON:API document) carrying the `markdown` string. properties: markdown: type: string minLength: 1 description: Markdown content that is converted to the page's rich-text representation before being persisted. example: |- ## Notes Kickoff summary with **decisions**. required: - markdown example: markdown: |- ## Notes Kickoff summary with **decisions**. required: true description: Markdown content to apply to a page body. Used by the append-markdown and replace-body-with-markdown endpoints. page_html_body: content: application/vnd.api+json: schema: type: object description: Plain JSON object (not a JSON:API document) carrying the `html` string. properties: html: type: string minLength: 1 description: HTML content that is converted to the page's rich-text representation before being persisted. example: "

Notes

Kickoff summary with decisions.

" required: - html example: html: "

Notes

Kickoff summary with decisions.

" required: true description: HTML content to apply to a page body. Used by the append-html and replace-body-with-html endpoints. section: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a section. properties: data: type: object description: The JSON:API data object containing the section resource attributes and relationships. properties: attributes: type: object description: Section attributes. properties: editor_config: "$ref": "#/components/schemas/resource_section/properties/editor_config" name: allOf: - "$ref": "#/components/schemas/resource_section/properties/name" - maxLength: 255 description: The name of the section. position: "$ref": "#/components/schemas/resource_section/properties/position" preferences: "$ref": "#/components/schemas/resource_section/properties/preferences" description: type: string example: eq: value relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage" required: - deal type: enum: - sections type: string required: - type - relationships example: eq: value required: - data example: data: type: sections attributes: name: Design Phase position: 1 relationships: deal: data: type: deals id: '89' required: true description: Request body for creating or updating a section. meeting_participant: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: email: type: string format: email maxLength: 255 description: An external guest's email. Stored on the row; it grants no access. name: type: string maxLength: 255 description: The guest's name. Required unless a person is linked, whose name is taken when it is left out. relationships: type: object properties: meeting: "$ref": "#/components/schemas/_single_linkage" person: "$ref": "#/components/schemas/_single_linkage_nullable" meeting_transcript_speakers: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: speakers: "$ref": "#/components/schemas/resource_meeting/properties/speakers" required: - speakers type: enum: - meetings type: string required: - type required: - data required: true whiteboard: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_whiteboard_create_attributes" type: enum: - whiteboards type: string required: - type - attributes required: - data required: true whiteboard_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_whiteboard_update_attributes" type: enum: - whiteboards type: string required: - type required: - data required: true subsidiary: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a subsidiary. properties: data: type: object description: The JSON:API data object containing the subsidiary resource attributes and relationships. properties: attributes: type: object description: Subsidiary attributes. properties: custom_domain_id: "$ref": "#/components/schemas/resource_subsidiary/properties/custom_domain_id" default_bank_account_id: "$ref": "#/components/schemas/resource_subsidiary/properties/default_bank_account_id" default_document_type_id: "$ref": "#/components/schemas/resource_subsidiary/properties/default_document_type_id" default_tax_rate_id: "$ref": "#/components/schemas/resource_subsidiary/properties/default_tax_rate_id" facility_costs: "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs" facility_costs_breakdown: "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs_breakdown" invoice_logo_url: "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_logo_url" invoice_number_format: "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_number_format" invoice_number_scope: "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_number_scope" name: "$ref": "#/components/schemas/resource_subsidiary/properties/name" show_delivery_date: "$ref": "#/components/schemas/resource_subsidiary/properties/show_delivery_date" avatar_url: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/avatar_url" - type: 'null' required: - name example: eq: value type: enum: - subsidiaries type: string required: - type - attributes example: eq: value required: - data example: data: type: subsidiaries attributes: name: Acme Agency EU required: true description: Request body for creating or updating a subsidiary (legal entity). Specify the name, invoice number format, invoice number scope, and optional branding (logo, document style) and default tax rate and bank account. agent_role: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: permissions: "$ref": "#/components/schemas/resource_role/properties/permissions" type: enum: - roles type: string required: - type required: - data required: true description: Request body for updating an agent role's permissions. agent_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: avatar_url: "$ref": "#/components/schemas/resource_agent/properties/avatar_url" name: "$ref": "#/components/schemas/resource_agent/properties/name" title: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/title" - type: 'null' title: 'Null' relationships: type: object properties: manager: "$ref": "#/components/schemas/_single_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - agents type: string required: - type required: - data required: true approval_policy: content: application/vnd.api+json: schema: type: object description: JSON:API document containing the approval policy data. properties: data: type: object description: The JSON:API data object containing the approval_policy resource attributes and relationships. properties: attributes: type: object description: The attributes of the approval_policy resource to create or update. properties: custom: "$ref": "#/components/schemas/resource_approval_policy/properties/custom" default: "$ref": "#/components/schemas/resource_approval_policy/properties/default" name: "$ref": "#/components/schemas/resource_approval_policy/properties/name" type_id: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" description: type: string required: - type_id example: eq: value relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - approval_policies type: string required: - type - attributes example: eq: value required: - data example: data: type: approval_policies attributes: name: Time Entry Approval policy_type: time_entry required: true description: Request body for creating or updating an approval policy. Specify the policy type (time, absence, or expense), the set of approvers, and whether unanimous approval is required. Link to a service or person to scope the policy. agent_session_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: title: allOf: - "$ref": "#/components/schemas/resource_agent_session/properties/title" - type: string minLength: 1 type: enum: - agent_sessions type: string required: - type required: - data required: true agent: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: avatar_url: "$ref": "#/components/schemas/resource_agent/properties/avatar_url" name: "$ref": "#/components/schemas/resource_agent/properties/name" title: anyOf: - "$ref": "#/components/schemas/resource_agent/properties/title" - type: 'null' title: 'Null' required: - name relationships: type: object properties: manager: "$ref": "#/components/schemas/_single_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" required: - manager type: enum: - agents type: string required: - type - attributes - relationships required: - data required: true description: Request body for creating or updating an agent, including name, title, manager, custom role, and optional avatar. approval_policy_assignment: content: application/vnd.api+json: schema: type: object description: JSON:API document containing the approval policy assignment data. properties: data: type: object description: The JSON:API data object containing the approval_policy_assignment resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_approval_policy_assignment_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_approval_policy_assignment_create_relationships" - {} type: enum: - approval_policy_assignments type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: approval_policy_assignments relationships: person: data: type: people id: '12' approval_policy: data: type: approval_policies id: '7' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_approval_policy_assignment_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_approval_policy_assignment_create_relationships" - {} type: enum: - approval_policy_assignments type: string required: - type - attributes - relationships minItems: 1 required: - data required: true description: Request body for creating or updating an approval policy assignment. approval_policy_assignment_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object relationships: type: object properties: approval_policy: "$ref": "#/components/schemas/_single_linkage" type: enum: - approval_policy_assignments type: string required: - type required: - data required: true approval_policy_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: default: "$ref": "#/components/schemas/resource_approval_policy/properties/default" description: type: string name: "$ref": "#/components/schemas/resource_approval_policy/properties/name" type_id: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - approval_policies type: string required: - type required: - data required: true approval_status_approve: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: note: "$ref": "#/components/schemas/resource_approval_status/properties/note" type: enum: - approval_statuses type: string required: - type approval_status_reject: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: note: "$ref": "#/components/schemas/resource_approval_status/properties/note" type: enum: - approval_statuses type: string required: - type approval_workflow: content: application/vnd.api+json: schema: type: object description: JSON:API document containing the approval workflow data. properties: data: type: object description: The JSON:API data object containing the approval_workflow resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_approval_workflow_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_approval_workflow_relationships" - {} type: enum: - approval_workflows type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: approval_workflows attributes: approval_requirement_id: 1 target_type_id: 1 relationships: approval_policy: data: type: approval_policies id: '7' approvers: data: - type: people id: '8' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_approval_workflow_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_approval_workflow_relationships" - {} type: enum: - approval_workflows type: string required: - type - attributes - relationships minItems: 1 required: - data required: true description: Request body for creating or updating an approval workflow. approval_workflow_bulk: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: relationships: "$ref": "#/components/schemas/_approval_workflow_relationships" attributes: "$ref": "#/components/schemas/_approval_workflow_attributes" id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - approval_workflows type: string required: - id - type minItems: 1 required: - data required: true approval_workflow_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_approval_workflow_attributes" relationships: "$ref": "#/components/schemas/_approval_workflow_relationships" type: enum: - approval_workflows type: string required: - type required: - data required: true artifact: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_artifact_create_attributes" type: enum: - artifacts type: string required: - type - attributes required: - data required: true artifact_restore: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: version_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer required: - version_id type: enum: - artifacts type: string required: - type - attributes required: - data required: true artifact_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_artifact_update_attributes" type: enum: - artifacts type: string required: - type required: - data required: true attachment: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating an attachment. properties: data: type: object description: The JSON:API data object containing the attachment resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_attachment_create_attributes" relationships: "$ref": "#/components/schemas/_attachment_relationships" type: enum: - attachments type: string required: - type - attributes example: eq: value required: - data example: data: type: attachments attributes: name: design-mockup-v2.png content_type: image/png required: true description: Request body for uploading an attachment. Provide the file data and the parent resource relationship (comment, task, deal, page, invoice, expense, purchase order, or bill). Supports direct upload via temp_url workflow. attachment_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_attachment_attributes" relationships: "$ref": "#/components/schemas/_attachment_relationships" type: enum: - attachments type: string required: - type required: - data required: true attachment_upload: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: content_type: "$ref": "#/components/schemas/resource_attachment/properties/content_type" external_id: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/external_id" - type: string title: String message_id: anyOf: - "$ref": "#/components/schemas/resource_attachment/properties/message_id" - type: string title: String name: "$ref": "#/components/schemas/resource_attachment/properties/name" size: "$ref": "#/components/schemas/resource_attachment/properties/size" required: - name type: enum: - attachments type: string required: - type - attributes required: - data required: true automatic_invoicing_rule: content: application/vnd.api+json: schema: type: object description: Request body schema for an automatic invoicing rule. properties: data: type: object description: The automatic invoicing rule resource object. properties: attributes: "$ref": "#/components/schemas/_automatic_invoicing_rule_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_automatic_invoicing_rule_relationships" - {} type: enum: - automatic_invoicing_rules type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: automatic_invoicing_rules attributes: name: Monthly retainer invoicing frequency: monthly active: true relationships: deal: data: type: deals id: '89' required: true description: Request body for creating or updating an automatic invoicing rule. automatic_invoicing_rule_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_automatic_invoicing_rule_attributes" relationships: "$ref": "#/components/schemas/_automatic_invoicing_rule_relationships" type: enum: - automatic_invoicing_rules type: string required: - type required: - data required: true automation: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - automations type: string attributes: "$ref": "#/components/schemas/_automation_create_attributes" relationships: "$ref": "#/components/schemas/_automation_create_relationships" required: - type - attributes required: - data required: true automation_copy: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: description: "$ref": "#/components/schemas/resource_automation/properties/description" name: "$ref": "#/components/schemas/resource_automation/properties/name" required: - name relationships: type: object properties: template: "$ref": "#/components/schemas/_single_linkage" required: - template type: enum: - automations type: string required: - type - attributes - relationships required: - data required: true automation_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_automation_attributes" relationships: "$ref": "#/components/schemas/_automation_relationships" type: enum: - automations type: string required: - type required: - data required: true aws_policy: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - aws_policies type: string attributes: type: object properties: file_content_type: type: string minLength: 1 file_name: type: string minLength: 1 source: enum: - organization - company - user - person - subsidiary type: string type: enum: - avatar - invoice_logo type: string required: - source - type - file_name - file_content_type required: - type - attributes required: - data required: true bank_account: content: application/vnd.api+json: schema: type: object description: Request body schema for a bank account. properties: data: type: object description: The bank account resource object. properties: attributes: "$ref": "#/components/schemas/_bank_account_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_bank_account_relationships" - {} type: enum: - bank_accounts type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: bank_accounts attributes: name: Main Business Account iban: DE89370400440532013000 bic: COBADEFFXXX bank_name: Commerzbank currency: EUR relationships: subsidiary: data: type: subsidiaries id: '2' required: true description: Request body for creating or updating a bank account. bank_account_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_bank_account_update_attributes" relationships: "$ref": "#/components/schemas/_bank_account_relationships" type: enum: - bank_accounts type: string required: - type required: - data required: true bill: content: application/vnd.api+json: schema: type: object description: Request body schema for a bill. properties: data: type: object description: The JSON:API data object containing the bill resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_bill_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_bill_relationships" - {} type: enum: - bills type: string required: - type - relationships example: eq: value required: - data example: data: type: bills attributes: name: Software Subscription amount: '299.00' currency: USD date: '2026-03-01' relationships: company: data: type: companies id: '65111' required: true description: Request body for creating or updating a bill (vendor receipt). Specify the purchase order, date, due date, invoice number, description, currency, and total amounts. Attach a document via the attachment relationship. bill_item: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: relationships: allOf: - "$ref": "#/components/schemas/_bill_item_relationships" - {} type: enum: - bill_items type: string attributes: "$ref": "#/components/schemas/_bill_item_create_attributes" required: - type - relationships required: - data required: true bill_item_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_bill_item_update_attributes" relationships: "$ref": "#/components/schemas/_bill_item_relationships" type: enum: - bill_items type: string required: - type required: - data required: true bill_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_bill_update_attributes" relationships: "$ref": "#/components/schemas/_bill_relationships" type: enum: - bills type: string required: - type required: - data required: true booking_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object description: Request body for bulk-deleting bookings. properties: data: type: array items: type: object description: Identifier of a booking to delete. properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - bookings type: string description: Resource type, always `bookings`. example: bookings required: - id - type example: type: bookings id: '1234567' description: Array of booking resource identifiers to delete. example: - type: bookings id: '1234567' - type: bookings id: '1234568' required: - data example: data: - type: bookings id: '1234567' - type: bookings id: '1234568' required: true description: Payload for deleting several bookings in one request, as an array of `bookings` resource identifiers. booking_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object description: Request body for bulk-updating bookings. properties: data: type: array items: type: object description: A booking to update, identified by `type` and `id`, with the attributes to change. properties: attributes: "$ref": "#/components/schemas/_booking_update_attributes" id: "$ref": "#/components/schemas/_request_id" type: enum: - bookings type: string description: Resource type, always `bookings`. example: bookings relationships: "$ref": "#/components/schemas/_booking_relationships" required: - id - type example: type: bookings id: '1234567' attributes: started_on: '2026-10-19' ended_on: '2026-10-23' time: 480 description: Array of booking resource objects to update. example: - type: bookings id: '1234567' attributes: started_on: '2026-10-19' ended_on: '2026-10-23' time: 480 - type: bookings id: '1234568' attributes: note: Moved to the next sprint required: - data example: data: - type: bookings id: '1234567' attributes: started_on: '2026-10-19' ended_on: '2026-10-23' time: 480 - type: bookings id: '1234568' attributes: note: Moved to the next sprint required: true description: Payload for updating several bookings in one request. Each item carries the booking `id` and a partial `attributes` object; only the attributes sent are changed. booking_create: content: application/vnd.api+json: schema: type: object description: Request body for creating a single booking. properties: data: type: object description: The JSON:API data object containing the booking resource attributes. properties: attributes: "$ref": "#/components/schemas/_booking_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_booking_relationships" - {} type: enum: - bookings type: string required: - type - attributes - relationships example: type: bookings attributes: person_id: 1234501 service_id: 987654 started_on: '2026-10-19' ended_on: '2026-10-23' booking_method_id: 1 time: 480 note: Sprint 42 frontend work required: - data example: data: type: bookings attributes: person_id: 1234501 service_id: 987654 started_on: '2026-10-19' ended_on: '2026-10-23' booking_method_id: 1 time: 480 note: Sprint 42 frontend work required: true description: Request body for creating bookings. Send `application/vnd.api+json` to create one booking, or `application/vnd.api+json; ext=bulk` to create several in one request. booking_move: content: application/vnd.api+json: schema: type: object description: Request body for moving bookings from one person to another. properties: data: type: object description: The JSON:API data object containing the move attributes. properties: attributes: type: object description: Move attributes. properties: move_from_id: "$ref": "#/components/schemas/_request_id" move_to_id: "$ref": "#/components/schemas/_request_id" required: - move_from_id - move_to_id example: move_from_id: 5001 move_to_id: 5002 type: enum: - bookings type: string required: - type - attributes example: type: bookings attributes: move_from_id: 5001 move_to_id: 5002 required: - data example: data: type: bookings attributes: move_from_id: 5001 move_to_id: 5002 required: true description: Payload for moving bookings between people, carrying the required `move_from_id` and `move_to_id` attributes. booking_split: content: application/vnd.api+json: schema: type: object description: Request body for splitting a booking. properties: data: type: object description: The JSON:API data object containing the split attributes. properties: attributes: type: object description: Split attributes. properties: date: type: string format: date description: The date the booking is split on. Must be after the booking's start date and on or before its end date; the new booking starts on this date. example: '2026-10-15' required: - date example: date: '2026-10-15' type: enum: - bookings type: string required: - type - attributes example: type: bookings attributes: date: '2026-10-15' required: - data example: data: type: bookings attributes: date: '2026-10-15' required: true description: Payload for splitting a booking, carrying the required `date` attribute. comment: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a comment. properties: data: type: object description: The JSON:API data object containing the comment resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_comment_create_attributes" relationships: "$ref": "#/components/schemas/_comment_create_relationships" type: enum: - comments type: string required: - type example: eq: value required: - data example: data: type: comments attributes: note: Looks good! I added a few edge cases to handle. relationships: task: data: type: tasks id: '120501' required: true description: Request body for creating or updating a comment. Provide the rich text body (HTML with @mentions), the parent resource relationship (task, deal, person, etc.), and optional draft status. Reactions and pin state are managed via separate actions. comment_add_reaction: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: reaction: type: string required: - reaction type: enum: - comments type: string required: - type - attributes required: - data required: true comment_remove_reaction: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: reaction: type: string required: - reaction type: enum: - comments type: string required: - type - attributes required: - data required: true comment_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_comment_update_attributes" relationships: "$ref": "#/components/schemas/_comment_update_relationships" type: enum: - comments type: string required: - type required: - data required: true company_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_company_update_attributes" relationships: "$ref": "#/components/schemas/_company_relationships" type: enum: - companies type: string required: - type required: - data required: true company_bulk_archive: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - companies type: string required: - id - type minItems: 1 required: - data required: true connection: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - connections - connection type: string attributes: type: object properties: connection_type: "$ref": "#/components/schemas/resource_connection/properties/connection_type" origin_record_id: "$ref": "#/components/schemas/resource_connection/properties/origin_record_id" required: - connection_type - origin_record_id required: - type - attributes required: - data required: true connection_accept: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - connections - connection type: string attributes: type: object properties: connection_code: "$ref": "#/components/schemas/resource_connection/properties/connection_code" required: - connection_code required: - type - attributes required: - data required: true contact_entry: content: application/vnd.api+json: schema: type: object description: Request body schema for a contact entry. properties: data: type: object description: The contact entry resource object. properties: attributes: allOf: - "$ref": "#/components/schemas/_contact_entry_attributes" - {} description: Contact entry attributes. example: eq: value relationships: "$ref": "#/components/schemas/_contact_entry_relationships" type: enum: - contact_entries type: string required: - type - attributes example: eq: value required: - data example: data: type: contact_entries attributes: name: Headquarters email: hello@acmecorp.com phone: "+1-555-0123" address: 123 Innovation Drive city: San Francisco country: US relationships: company: data: type: companies id: '65111' required: true description: Request body for creating or updating a contact entry. Specify the type (email, phone, address, website), the contact fields, and the parent relationship (company or person). Billing fields (billing_address, billing_email, VAT) are available when financials are enabled. contact_entry_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_contact_entry_attributes" relationships: "$ref": "#/components/schemas/_contact_entry_relationships" type: enum: - contact_entries type: string required: - type required: - data required: true contract: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a contract. properties: data: type: object description: The JSON:API data object containing the contract resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_contract_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_contract_create_relationships" - {} type: enum: - contracts type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: contracts attributes: name: Master Services Agreement start_date: '2026-01-01' end_date: '2026-12-31' relationships: company: data: type: companies id: '65111' required: true description: Request body for creating or updating a contract (recurring retainer). Specify the template deal, interval (monthly, quarterly, etc.), start and end dates, and options for rolling over hours and copying purchase order numbers and expenses. contract_generate: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: generate_until: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/generate_until" - type: 'null' title: 'Null' type: enum: - contracts type: string required: - type required: - data required: true contract_recalculate_rolled_over_time: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage" type: enum: - contracts type: string required: - type required: - data required: true contract_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_contract_update_attributes" type: enum: - contracts type: string required: - type required: - data required: true custom_domain: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a custom domain. properties: data: type: object description: The custom domain resource object. properties: attributes: type: object description: Custom domain attributes. properties: allow_user_email: "$ref": "#/components/schemas/resource_custom_domain/properties/allow_user_email" email_sender_address: "$ref": "#/components/schemas/resource_custom_domain/properties/email_sender_address" email_sender_name: "$ref": "#/components/schemas/resource_custom_domain/properties/email_sender_name" name: "$ref": "#/components/schemas/resource_custom_domain/properties/name" required: - name example: eq: value type: enum: - custom_domains type: string required: - type - attributes example: eq: value required: - data example: data: type: custom_domains attributes: domain: app.myagency.com relationships: subsidiary: data: type: subsidiaries id: '2' required: true description: Request body for creating or updating a custom domain. custom_domain_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: allow_user_email: "$ref": "#/components/schemas/resource_custom_domain/properties/allow_user_email" email_sender_address: "$ref": "#/components/schemas/resource_custom_domain/properties/email_sender_address" email_sender_name: "$ref": "#/components/schemas/resource_custom_domain/properties/email_sender_name" name: "$ref": "#/components/schemas/resource_custom_domain/properties/name" type: enum: - custom_domains type: string required: - type required: - data required: true custom_field: content: application/vnd.api+json: schema: type: object description: Request body schema for a custom field. properties: data: type: object description: The custom field resource object. properties: attributes: "$ref": "#/components/schemas/_custom_field_create_attributes" relationships: "$ref": "#/components/schemas/_custom_field_relationships" type: enum: - custom_fields type: string required: - type - attributes example: eq: value required: - data example: data: type: custom_fields attributes: name: Priority field_type: dropdown required: false filterable: true relationships: custom_field_section: data: type: custom_field_sections id: '12' required: true description: Request body for creating or updating a custom field. Specify the customizable type, data type (data_type_id), name, and optional configuration (required, global, sensitive, show_in_add_edit_views, position, description). Link to a project or section to scope the field. custom_field_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: relationships: "$ref": "#/components/schemas/_custom_field_relationships" attributes: "$ref": "#/components/schemas/_custom_field_update_attributes" id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - custom_fields type: string required: - id - type minItems: 1 required: - data required: true custom_field_option: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a custom field option. properties: data: type: object description: The custom field option resource object. properties: attributes: type: object description: Custom field option attributes. properties: color_id: "$ref": "#/components/schemas/resource_custom_field_option/properties/color_id" name: "$ref": "#/components/schemas/resource_custom_field_option/properties/name" position: "$ref": "#/components/schemas/resource_custom_field_option/properties/position" required: - name example: eq: value relationships: type: object properties: custom_field: "$ref": "#/components/schemas/_single_linkage" required: - custom_field type: enum: - custom_field_options type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: custom_fields attributes: name: Priority field_type: dropdown required: false filterable: true relationships: custom_field_section: data: type: custom_field_sections id: '12' required: true description: Request body for creating or updating a custom field option. Specify the parent custom field, option name, position, and optional color. custom_field_option_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: color_id: "$ref": "#/components/schemas/resource_custom_field_option/properties/color_id" name: "$ref": "#/components/schemas/resource_custom_field_option/properties/name" position: "$ref": "#/components/schemas/resource_custom_field_option/properties/position" relationships: type: object properties: custom_field: "$ref": "#/components/schemas/_single_linkage" type: enum: - custom_field_options type: string required: - type required: - data required: true custom_field_section_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: customizable_type: enum: - employees type: string description: anyOf: - type: string title: String - type: 'null' title: 'Null' name: "$ref": "#/components/schemas/resource_custom_field_section/properties/name" position: "$ref": "#/components/schemas/resource_custom_field_section/properties/position" type: enum: - custom_field_sections type: string required: - type required: - data required: true custom_field_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_custom_field_update_attributes" relationships: "$ref": "#/components/schemas/_custom_field_relationships" type: enum: - custom_fields type: string required: - type required: - data required: true dashboard: content: application/vnd.api+json: schema: type: object description: Request body schema for a dashboard. properties: data: type: object description: The JSON:API data object containing the dashboard resource attributes and relationships. properties: attributes: type: object description: Dashboard attributes. properties: is_private: "$ref": "#/components/schemas/resource_dashboard/properties/is_private" name: "$ref": "#/components/schemas/resource_dashboard/properties/name" required: - name example: eq: value relationships: type: object properties: project: "$ref": "#/components/schemas/_single_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - dashboards type: string required: - type - attributes example: eq: value required: - data example: data: type: dashboards attributes: name: Project Overview shared: false required: true description: Request body for creating or updating a dashboard. dashboard_copy: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: copy_memberships: type: boolean is_private: "$ref": "#/components/schemas/resource_dashboard/properties/is_private" name: type: string maxLength: 255 required: - name relationships: type: object properties: template: "$ref": "#/components/schemas/_single_linkage" required: - template type: enum: - dashboards type: string required: - type - attributes - relationships required: - data required: true dashboard_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: is_private: "$ref": "#/components/schemas/resource_dashboard/properties/is_private" name: "$ref": "#/components/schemas/resource_dashboard/properties/name" relationships: type: object properties: project: "$ref": "#/components/schemas/_single_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - dashboards type: string required: - type required: - data required: true deal: content: application/vnd.api+json: schema: type: object description: Single deal record in JSON:API format. properties: data: type: object description: A deal resource object. properties: attributes: "$ref": "#/components/schemas/_deal_create_attributes" relationships: "$ref": "#/components/schemas/_deal_update_relationships" type: enum: - deals type: string required: - type - attributes example: eq: value required: - data example: data: type: deals attributes: name: Website Redesign Project date: '2026-01-15' end_date: '2026-06-30' description: Full redesign of the company website relationships: company: data: type: companies id: '65111' person: data: type: people id: '12' pipeline: data: type: pipelines id: '1' required: true description: Request body for creating or updating a deal. deal_bulk_close: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_deal_close_attributes" id: "$ref": "#/components/schemas/_deal_id" type: enum: - deals type: string required: - id - type maxItems: 100 minItems: 1 required: - data required: true deal_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_deal_id" type: enum: - deals type: string required: - id - type minItems: 1 required: - data required: true deal_bulk_open: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_deal_id" type: enum: - deals type: string required: - id - type maxItems: 100 minItems: 1 required: - data required: true deal_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_deal_update_attributes" id: "$ref": "#/components/schemas/_deal_id" relationships: "$ref": "#/components/schemas/_deal_update_relationships" type: enum: - deals type: string required: - id - type minItems: 1 required: - data required: true deal_close: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_deal_close_attributes" type: enum: - deals type: string required: - type required: - data deal_copy: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_deal_copy_attributes" relationships: allOf: - "$ref": "#/components/schemas/_deal_copy_relationships" - {} type: enum: - deals type: string required: - type - attributes - relationships required: - data application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_deal_copy_attributes" relationships: allOf: - "$ref": "#/components/schemas/_deal_copy_relationships" - {} type: enum: - deals type: string required: - type - attributes - relationships maxItems: 100 minItems: 1 required: - data required: true deal_contact: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: position: type: integer minimum: 1 required: - position relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage" person: "$ref": "#/components/schemas/_single_linkage" type: enum: - deal_contacts type: string required: - type - attributes required: - data required: true deal_contact_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: type: object properties: position: type: integer minimum: 1 id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - deal_contacts type: string required: - id - type minItems: 1 required: - data required: true deal_cost_rate: content: application/vnd.api+json: schema: type: object description: Request body schema for a deal cost rate. properties: data: type: object description: The deal cost rate resource object. properties: attributes: type: object description: Deal cost rate attributes. properties: currency: "$ref": "#/components/schemas/resource_deal_cost_rate/properties/currency" rate_cents: "$ref": "#/components/schemas/resource_deal_cost_rate/properties/rate_cents" required: - currency - rate_cents example: eq: value relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage" person: "$ref": "#/components/schemas/_single_linkage" type: enum: - deal_cost_rates type: string required: - type - attributes example: eq: value required: - data example: data: 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' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: type: object properties: currency: "$ref": "#/components/schemas/resource_deal_cost_rate/properties/currency" rate_cents: "$ref": "#/components/schemas/resource_deal_cost_rate/properties/rate_cents" required: - currency - rate_cents relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage" person: "$ref": "#/components/schemas/_single_linkage" type: enum: - deal_cost_rates type: string required: - type - attributes minItems: 1 required: - data required: true description: Request body for creating or updating a deal cost rate. deal_cost_rate_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - deal_cost_rates type: string required: - id - type minItems: 1 required: - data required: true deal_cost_rate_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: currency: "$ref": "#/components/schemas/resource_deal_cost_rate/properties/currency" rate_cents: "$ref": "#/components/schemas/resource_deal_cost_rate/properties/rate_cents" relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage" person: "$ref": "#/components/schemas/_single_linkage" type: enum: - deal_cost_rates type: string required: - type required: - data required: true deal_create_from_origin: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_deal_create_from_origin_attributes" relationships: allOf: - "$ref": "#/components/schemas/_deal_create_from_origin_relationships" - {} type: enum: - deals type: string required: - type - relationships required: - data required: true deal_status_merge: content: application/vnd.api+json: schema: type: object properties: loser_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer winner_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer required: - winner_id - loser_id required: true deal_status: content: application/vnd.api+json: schema: type: object description: Request body schema for a pipeline stage. properties: data: type: object description: The pipeline stage resource object. properties: attributes: type: object description: Pipeline stage attributes. properties: booking_tracking_enabled: "$ref": "#/components/schemas/resource_deal_status/properties/booking_tracking_enabled" color_id: "$ref": "#/components/schemas/resource_deal_status/properties/color_id" expense_tracking_enabled: "$ref": "#/components/schemas/resource_deal_status/properties/expense_tracking_enabled" lost_reason_enabled: "$ref": "#/components/schemas/resource_deal_status/properties/lost_reason_enabled" name: allOf: - "$ref": "#/components/schemas/resource_deal_status/properties/name" - maxLength: 40 description: The display name of the pipeline stage. position: "$ref": "#/components/schemas/resource_deal_status/properties/position" probability: "$ref": "#/components/schemas/resource_deal_status/properties/probability" probability_enabled: "$ref": "#/components/schemas/resource_deal_status/properties/probability_enabled" status_id: "$ref": "#/components/schemas/resource_deal_status/properties/status_id" time_tracking_enabled: "$ref": "#/components/schemas/resource_deal_status/properties/time_tracking_enabled" required: - name example: eq: value relationships: allOf: - "$ref": "#/components/schemas/_deal_status_relationships" - {} type: enum: - deal_statuses type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: deal_statuses attributes: name: Proposal Sent position: 3 outcome: open color_id: '7' relationships: pipeline: data: type: pipelines id: '1' required: true description: Request body for creating or updating a deal status. Specify the pipeline, name, position, outcome category (status_id), color, and optional tracking flags for time, expenses, bookings, and probability. deal_status_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: booking_tracking_enabled: "$ref": "#/components/schemas/resource_deal_status/properties/booking_tracking_enabled" color_id: "$ref": "#/components/schemas/resource_deal_status/properties/color_id" expense_tracking_enabled: "$ref": "#/components/schemas/resource_deal_status/properties/expense_tracking_enabled" lost_reason_enabled: "$ref": "#/components/schemas/resource_deal_status/properties/lost_reason_enabled" name: allOf: - "$ref": "#/components/schemas/resource_deal_status/properties/name" - maxLength: 40 position: "$ref": "#/components/schemas/resource_deal_status/properties/position" probability: "$ref": "#/components/schemas/resource_deal_status/properties/probability" probability_enabled: "$ref": "#/components/schemas/resource_deal_status/properties/probability_enabled" status_id: "$ref": "#/components/schemas/resource_deal_status/properties/status_id" time_tracking_enabled: "$ref": "#/components/schemas/resource_deal_status/properties/time_tracking_enabled" relationships: type: object properties: pipeline: "$ref": "#/components/schemas/_single_linkage" type: enum: - deal_statuses type: string required: - type required: - data required: true deal_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_deal_update_attributes" relationships: "$ref": "#/components/schemas/_deal_update_relationships" type: enum: - deals type: string required: - type required: - data discussion_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_discussion_update_attributes" relationships: "$ref": "#/components/schemas/_discussion_relationships" type: enum: - discussions type: string required: - type required: - data document_style: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a document style. properties: data: type: object description: The document style resource object. properties: attributes: type: object description: Document style attributes. properties: name: "$ref": "#/components/schemas/resource_document_style/properties/name" styles: "$ref": "#/components/schemas/resource_document_style/properties/styles" required: - name - styles example: eq: value relationships: type: object properties: attachments: "$ref": "#/components/schemas/_collection_linkage" type: enum: - document_styles type: string required: - type - attributes example: eq: value required: - data example: data: type: document_styles attributes: name: Modern Blue required: true description: Request body for creating or updating a document style. document_style_copy: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object relationships: type: object properties: template: "$ref": "#/components/schemas/_single_linkage" required: - template type: enum: - document_styles type: string required: - type - relationships required: - data required: true document_style_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: name: "$ref": "#/components/schemas/resource_document_style/properties/name" styles: "$ref": "#/components/schemas/resource_document_style/properties/styles" relationships: type: object properties: attachments: "$ref": "#/components/schemas/_collection_linkage" type: enum: - document_styles type: string required: - type required: - data required: true document_type: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a document type. properties: data: type: object description: The document type resource object. properties: attributes: "$ref": "#/components/schemas/_document_type_create_attributes" relationships: "$ref": "#/components/schemas/_document_type_relationships" type: enum: - document_types type: string required: - type - attributes example: eq: value required: - data example: data: type: document_types attributes: name: Standard Invoice default: true required: true description: Request body for creating or updating a document type. document_type_copy: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object relationships: type: object properties: template: "$ref": "#/components/schemas/_single_linkage" required: - template type: enum: - document_types type: string required: - type - relationships required: - data required: true document_type_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_document_type_update_attributes" relationships: "$ref": "#/components/schemas/_document_type_relationships" type: enum: - document_types type: string required: - type required: - data required: true einvoice_identity: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: buyer_reference: "$ref": "#/components/schemas/resource_einvoice_identity/properties/buyer_reference" dir3_fiscal_code: "$ref": "#/components/schemas/resource_einvoice_identity/properties/dir3_fiscal_code" dir3_pagador_code: "$ref": "#/components/schemas/resource_einvoice_identity/properties/dir3_pagador_code" dir3_receptor_code: "$ref": "#/components/schemas/resource_einvoice_identity/properties/dir3_receptor_code" dire_code: "$ref": "#/components/schemas/resource_einvoice_identity/properties/dire_code" is_government_entity: "$ref": "#/components/schemas/resource_einvoice_identity/properties/is_government_entity" peppol_id: "$ref": "#/components/schemas/resource_einvoice_identity/properties/peppol_id" sdi_code: anyOf: - type: string title: String pattern: "^[A-Z0-9]{6,7}$" - type: string title: String maxLength: 0 - type: 'null' title: 'Null' example: company_id: '89' peppol_id: '0088:1234567890123' relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage" type: enum: - einvoice_identities type: string required: - type example: type: einvoice_identities attributes: company_id: '89' peppol_id: '0088:1234567890123' required: - data example: data: type: einvoice_identities attributes: company_id: '89' peppol_id: '0088:1234567890123' required: true email_attach: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage" invoice: "$ref": "#/components/schemas/_single_linkage" type: enum: - emails type: string required: - type required: - data required: true email_link: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" deal: "$ref": "#/components/schemas/_single_linkage" email: "$ref": "#/components/schemas/_single_linkage" invoice: "$ref": "#/components/schemas/_single_linkage" person: "$ref": "#/components/schemas/_single_linkage" project: "$ref": "#/components/schemas/_single_linkage" task: "$ref": "#/components/schemas/_single_linkage" required: - email attributes: type: object type: enum: - email_links type: string required: - type - relationships required: - data required: true entitlement_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: allocated: allOf: - "$ref": "#/components/schemas/resource_entitlement/properties/allocated" - multipleOf: 0.5 end_date: "$ref": "#/components/schemas/resource_entitlement/properties/end_date" event_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer note: anyOf: - "$ref": "#/components/schemas/resource_entitlement/properties/note" - type: 'null' title: 'Null' start_date: "$ref": "#/components/schemas/resource_entitlement/properties/start_date" relationships: type: object properties: event: "$ref": "#/components/schemas/_single_linkage" person: "$ref": "#/components/schemas/_single_linkage" type: enum: - entitlements type: string required: - type required: - data required: true event_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: absence_type: "$ref": "#/components/schemas/resource_event/properties/absence_type" color_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer - type: 'null' title: 'Null' description: anyOf: - "$ref": "#/components/schemas/resource_event/properties/description" - type: 'null' title: 'Null' event_type_id: "$ref": "#/components/schemas/resource_event/properties/event_type_id" half_day_bookings: "$ref": "#/components/schemas/resource_event/properties/half_day_bookings" icon_id: anyOf: - "$ref": "#/components/schemas/resource_event/properties/icon_id" - type: 'null' title: 'Null' limitation_type_id: "$ref": "#/components/schemas/resource_event/properties/limitation_type_id" name: "$ref": "#/components/schemas/resource_event/properties/name" sync_personal_integrations: "$ref": "#/components/schemas/resource_event/properties/sync_personal_integrations" relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - events type: string required: - type required: - data required: true expense: content: application/vnd.api+json: schema: type: object description: JSON:API request envelope for an expense. properties: data: type: object description: The JSON:API data object containing the expense resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_expense_create_attributes" relationships: "$ref": "#/components/schemas/_expense_relationships" type: enum: - expenses type: string required: - type - attributes example: eq: value required: - data example: data: type: expenses attributes: name: Design software license amount: '199.00' currency: USD date: '2026-03-01' billable: true relationships: person: data: type: people id: '12' deal: data: type: deals id: '89' required: true description: Request body for creating or updating an expense. expense_approve: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: note: type: string example: eq: value example: eq: value relationships: type: object properties: approver: "$ref": "#/components/schemas/_single_linkage" type: enum: - expenses type: string required: - type example: eq: value required: - data example: data: type: expenses attributes: name: Design software license amount: '199.00' currency: USD date: '2026-03-01' billable: true relationships: person: data: type: people id: '12' deal: data: type: deals id: '89' required: true expense_bulk_datev: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - expenses type: string required: - id - type minItems: 1 required: - data required: true expense_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - expenses type: string required: - id - type minItems: 1 required: - data required: true expense_bulk_export: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_expense_export_attributes" id: "$ref": "#/components/schemas/_request_id" type: enum: - expenses type: string required: - id - type minItems: 1 required: - data required: true expense_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_expense_update_attributes" id: "$ref": "#/components/schemas/_request_id" relationships: "$ref": "#/components/schemas/_expense_relationships" type: enum: - expenses type: string required: - id - type minItems: 1 required: - data required: true expense_copy: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: name: "$ref": "#/components/schemas/resource_expense/properties/name" example: eq: value relationships: type: object properties: service: "$ref": "#/components/schemas/_single_linkage" template: "$ref": "#/components/schemas/_single_linkage" required: - service - template type: enum: - expenses type: string required: - type - relationships example: eq: value required: - data example: data: type: expenses attributes: name: Design software license amount: '199.00' currency: USD date: '2026-03-01' billable: true relationships: person: data: type: people id: '12' deal: data: type: deals id: '89' required: true expense_export: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_expense_export_attributes" type: enum: - expenses type: string required: - type example: eq: value required: - data example: data: type: expenses attributes: name: Design software license amount: '199.00' currency: USD date: '2026-03-01' billable: true relationships: person: data: type: people id: '12' deal: data: type: deals id: '89' required: true expense_line_item_bulk_create: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_expense_line_item_create_attributes" type: enum: - expense_line_items type: string relationships: allOf: - "$ref": "#/components/schemas/_expense_line_item_relationships" - {} required: - type - attributes - relationships minItems: 1 required: - data required: true expense_line_item_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - expense_line_items type: string required: - id - type minItems: 1 required: - data required: true expense_line_item_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_expense_line_item_update_attributes" id: "$ref": "#/components/schemas/_request_id" type: enum: - expense_line_items type: string relationships: "$ref": "#/components/schemas/_expense_line_item_relationships" required: - id - type minItems: 1 required: - data required: true expense_unreject: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: note: type: string example: eq: value example: eq: value relationships: type: object properties: approver: "$ref": "#/components/schemas/_single_linkage" type: enum: - expenses type: string required: - type example: eq: value required: - data example: data: type: expenses attributes: name: Design software license amount: '199.00' currency: USD date: '2026-03-01' billable: true relationships: person: data: type: people id: '12' deal: data: type: deals id: '89' required: true expense_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_expense_update_attributes" relationships: "$ref": "#/components/schemas/_expense_relationships" type: enum: - expenses type: string required: - type required: - data required: true filter: content: application/vnd.api+json: schema: type: object description: Request body schema for a saved view or report. properties: data: type: object description: The saved view or report resource object. properties: attributes: allOf: - "$ref": "#/components/schemas/_filter_update_attributes" - type: object description: Saved view or report attributes. example: eq: value relationships: "$ref": "#/components/schemas/_filter_relationships" type: enum: - filters type: string required: - type - attributes example: eq: value required: - data example: data: type: filters attributes: name: My Open Tasks item_type: task filter_data: assignee_id: - 12 closed: eq: false required: true description: Request body for creating or updating a saved view or report. filter_preference: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - filter_preferences type: string attributes: type: object properties: field_id: "$ref": "#/components/schemas/resource_filter_preference/properties/field_id" filterable_collection: "$ref": "#/components/schemas/resource_filter_preference/properties/filterable_collection" option_type: "$ref": "#/components/schemas/resource_filter_preference/properties/option_type" required: - field_id - filterable_collection - option_type required: - type - attributes required: - data required: true filter_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_filter_update_attributes" relationships: "$ref": "#/components/schemas/_filter_relationships" type: enum: - filters type: string required: - type required: - data required: true folder: content: application/vnd.api+json: schema: type: object description: JSON:API request schema for folder create or update operations. properties: data: type: object description: The JSON:API data object containing the folder resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_folder_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_folder_relationships" - {} type: enum: - folders type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: folders attributes: name: Features relationships: project: data: type: projects id: '6899' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_folder_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_folder_relationships" - {} type: enum: - folders type: string required: - type - attributes - relationships minItems: 1 required: - data required: true description: The request body for creating or updating a folder. financial_month: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - financial_months type: string attributes: type: object properties: status_id: enum: - 1 - 2 type: integer required: - status_id required: - type - attributes required: - data required: true filter_copy: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: name: allOf: - "$ref": "#/components/schemas/resource_filter/properties/name" - maxLength: 140 required: - name relationships: type: object properties: project: "$ref": "#/components/schemas/_single_linkage_nullable" template: "$ref": "#/components/schemas/_single_linkage" required: - template type: enum: - filters type: string required: - type - attributes - relationships required: - data required: true folder_copy: content: application/vnd.api+json: schema: type: object description: JSON:API request envelope for the folder copy operation. properties: data: type: object description: The resource object being created. `type` must be `folders`. properties: attributes: "$ref": "#/components/schemas/_folder_copy_attributes" relationships: type: object properties: project: "$ref": "#/components/schemas/_single_linkage" template: "$ref": "#/components/schemas/_single_linkage" required: - template - project type: enum: - folders type: string required: - type - attributes - relationships example: type: folders attributes: name: Design (copy) template_id: 88440 project_id: 31002 required: - data example: data: type: folders attributes: name: Design (copy) template_id: 88440 project_id: 31002 application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_folder_copy_attributes" relationships: type: object properties: project: "$ref": "#/components/schemas/_single_linkage" template: "$ref": "#/components/schemas/_single_linkage" required: - template - project type: enum: - folders type: string required: - type - attributes - relationships minItems: 1 required: - data required: true description: 'Request body for copying an existing folder. Required attributes: `name`, `template_id`, `project_id`. Optional `copy_*` flags control how much of the source folder''s contents is duplicated — see the operation description for the prerequisite tree.' folder_move: content: application/vnd.api+json: schema: type: object description: JSON:API request envelope for the folder move operation. properties: data: type: object description: The resource object being updated. `type` must be `folders`. properties: attributes: type: object description: 'Move attributes: the target `project_id` (required) and an optional workflow status `map` (required only when the target project''s workflow differs from the source).' properties: map: type: object additionalProperties: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer description: Workflow status ID mapping, required when the target project uses a different workflow than the source. Keys are source workflow status IDs, values are target workflow status IDs; the map must cover every status in the source workflow. example: project_id: 31055 map: '101': 205 '102': 206 '103': 207 relationships: type: object properties: project: "$ref": "#/components/schemas/_single_linkage" required: - project type: enum: - folders type: string required: - type - relationships example: type: folders attributes: project_id: 31055 map: '101': 205 '102': 206 '103': 207 required: - data example: data: type: folders attributes: project_id: 31055 map: '101': 205 '102': 206 '103': 207 required: true description: Request body for moving a folder to a different project. The target `project_id` is required; provide `map` when the target project uses a different workflow than the source. folder_reposition: content: application/vnd.api+json: schema: type: object description: JSON:API request envelope for the folder reposition operation. properties: data: type: object description: The resource object being repositioned. `type` must be `folders`. properties: attributes: type: object description: 'Positioning attributes: `move_before_id` and/or `move_after_id`, the IDs of the folders to position this folder relative to.' properties: move_after_id: anyOf: - type: integer title: Integer - type: 'null' title: 'Null' description: Place the folder directly after the folder with this ID. When both move_before_id and move_after_id are passed, the folder is placed between them. move_before_id: anyOf: - type: integer title: Integer - type: 'null' title: 'Null' description: Place the folder directly before the folder with this ID. example: move_after_id: 5521 type: enum: - folders type: string required: - type example: type: folders attributes: move_after_id: 5521 required: - data example: data: type: folders attributes: move_after_id: 5521 required: true description: Request body for reordering a folder among the other folders in its project. Pass `move_before_id` and/or `move_after_id`. folder_update: content: application/vnd.api+json: schema: type: object description: JSON:API request schema for folder create or update operations. properties: data: type: object description: The JSON:API data object containing the folder resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_folder_update_attributes" relationships: "$ref": "#/components/schemas/_folder_relationships" type: enum: - folders type: string required: - type example: type: folders attributes: name: Design (renamed) required: - data example: data: type: folders attributes: name: Design (renamed) required: true description: The request body for creating or updating a folder. holiday: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a holiday. properties: data: type: object description: The JSON:API data object containing the holiday resource attributes and relationships. properties: attributes: type: object description: Holiday attributes. properties: date: "$ref": "#/components/schemas/resource_holiday/properties/date" name: "$ref": "#/components/schemas/resource_holiday/properties/name" required: - name - date example: eq: value relationships: type: object properties: holiday_calendar: "$ref": "#/components/schemas/_single_linkage" required: - holiday_calendar type: enum: - holidays type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: holidays attributes: name: New Year's Day date: '2026-01-01' holiday_calendar_id: 3 required: true description: Request body for creating or updating a holiday. holiday_calendar: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a holiday calendar. properties: data: type: object description: The holiday calendar resource object. properties: attributes: type: object description: Holiday calendar attributes. properties: autogenerate_holidays: "$ref": "#/components/schemas/resource_holiday_calendar/properties/autogenerate_holidays" country: "$ref": "#/components/schemas/resource_holiday_calendar/properties/country" name: "$ref": "#/components/schemas/resource_holiday_calendar/properties/name" state: "$ref": "#/components/schemas/resource_holiday_calendar/properties/state" required: - name example: eq: value relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - holiday_calendars type: string required: - type - attributes example: eq: value required: - data example: data: type: holiday_calendars attributes: name: United States country: US state: US-CA autogenerate_holidays: true required: true description: Request body for creating or updating a holiday calendar. holiday_calendar_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: autogenerate_holidays: "$ref": "#/components/schemas/resource_holiday_calendar/properties/autogenerate_holidays" country: "$ref": "#/components/schemas/resource_holiday_calendar/properties/country" name: "$ref": "#/components/schemas/resource_holiday_calendar/properties/name" state: "$ref": "#/components/schemas/resource_holiday_calendar/properties/state" relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - holiday_calendars type: string required: - type required: - data required: true holiday_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: date: "$ref": "#/components/schemas/resource_holiday/properties/date" name: "$ref": "#/components/schemas/resource_holiday/properties/name" relationships: type: object properties: holiday_calendar: "$ref": "#/components/schemas/_single_linkage" type: enum: - holidays type: string required: - type required: - data required: true integration: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating an integration. properties: data: type: object description: The JSON:API data object containing the integration resource attributes and relationships. properties: attributes: type: object additionalProperties: true description: Integration attributes. properties: agent_id: anyOf: - "$ref": "#/components/schemas/_request_id" - type: 'null' title: 'Null' integration_type_id: "$ref": "#/components/schemas/_request_id" required: - integration_type_id example: eq: value relationships: type: object additionalProperties: true type: enum: - integrations type: string required: - type - attributes example: eq: value required: - data example: data: type: integrations attributes: name: Xero Accounting integration_type_id: 2 relationships: subsidiary: data: type: subsidiaries id: '2' required: true description: Request body for creating or updating an integration. integration_connect: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: code: type: string state: type: string token: type: string type: enum: - integrations type: string required: - type - attributes required: - data required: true integration_exporter_configuration_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: company_type: anyOf: - "$ref": "#/components/schemas/resource_integration_exporter_configuration/properties/company_type" - type: 'null' title: 'Null' datev_client_account_code: type: string datev_vendor_account_code: type: string relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" type: enum: - integration_exporter_configurations type: string required: - type required: - data required: true integration_task_management_configuration: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: jira_board: "$ref": "#/components/schemas/resource_integration_task_management_configuration/properties/jira_board" jira_hierarchy_resolution_enabled: "$ref": "#/components/schemas/resource_integration_task_management_configuration/properties/jira_hierarchy_resolution_enabled" jira_project: "$ref": "#/components/schemas/resource_integration_task_management_configuration/properties/jira_project" jira_screens: "$ref": "#/components/schemas/resource_integration_task_management_configuration/properties/jira_screens" required: - jira_project relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage" default_person: "$ref": "#/components/schemas/_single_linkage_nullable" default_service: "$ref": "#/components/schemas/_single_linkage_nullable" integration: "$ref": "#/components/schemas/_single_linkage" project: "$ref": "#/components/schemas/_single_linkage" type: enum: - integration_task_management_configurations type: string required: - type - attributes required: - data required: true integration_task_management_configuration_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: jira_board: "$ref": "#/components/schemas/resource_integration_task_management_configuration/properties/jira_board" jira_hierarchy_resolution_enabled: "$ref": "#/components/schemas/resource_integration_task_management_configuration/properties/jira_hierarchy_resolution_enabled" jira_project: "$ref": "#/components/schemas/resource_integration_task_management_configuration/properties/jira_project" jira_screens: "$ref": "#/components/schemas/resource_integration_task_management_configuration/properties/jira_screens" relationships: type: object properties: default_person: "$ref": "#/components/schemas/_single_linkage_nullable" default_service: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - integration_task_management_configurations type: string required: - type required: - data required: true integration_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object additionalProperties: true properties: account_code: type: string code: type: string oauth_verifier: type: string org: type: string reconnect: type: boolean tax_rate_mapping: {} relationships: type: object additionalProperties: true type: enum: - integrations type: string required: - type required: - data required: true invitation_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: first_name: "$ref": "#/components/schemas/resource_invitation/properties/first_name" last_name: "$ref": "#/components/schemas/resource_invitation/properties/last_name" newsletter_consent: "$ref": "#/components/schemas/resource_invitation/properties/newsletter_consent" password: type: string pattern: "[a-zA-Z]" maxLength: 72 minLength: 12 required: - password type: enum: - invitations type: string required: - type - attributes required: - data required: true invoice: content: application/vnd.api+json: schema: type: object description: Request body schema for an invoice. properties: data: type: object description: The JSON:API data object containing the invoice resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_invoice_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_invoice_relationships" - {} type: enum: - invoices type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: invoices attributes: number: INV-2026-001 date: '2026-03-15' due_date: '2026-04-15' notes: Payment due within 30 days currency: USD relationships: company: data: type: companies id: '65111' deal: data: type: deals id: '89' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_invoice_create_attributes" type: enum: - invoices type: string relationships: allOf: - "$ref": "#/components/schemas/_invoice_relationships" - {} required: - type - attributes - relationships maxItems: 100 minItems: 1 required: - data required: true description: Request body for creating or updating an invoice. invoice_attribution: content: application/vnd.api+json: schema: type: object description: Request body schema for an invoice attribution. properties: data: type: object description: The invoice attribution resource object. properties: attributes: "$ref": "#/components/schemas/_invoice_attribution_create_attributes" relationships: "$ref": "#/components/schemas/_invoice_attribution_create_relationships" type: enum: - invoice_attributions type: string required: - type - attributes example: eq: value required: - data example: data: type: invoice_attributions attributes: amount: '500.00' currency: USD relationships: invoice: data: type: invoices id: '234' service: data: type: services id: '1856422' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_invoice_attribution_create_attributes" type: enum: - invoice_attributions type: string relationships: "$ref": "#/components/schemas/_invoice_attribution_create_relationships" required: - type - attributes maxItems: 100 minItems: 1 required: - data required: true description: Request body for creating or updating an invoice attribution. invoice_attribution_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - invoice_attributions type: string required: - type - id maxItems: 100 minItems: 1 required: - data required: true invoice_attribution_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_invoice_attribution_update_attributes" id: "$ref": "#/components/schemas/_request_id" type: enum: - invoice_attributions type: string required: - type - id maxItems: 100 minItems: 1 required: - data required: true invoice_bulk_datev: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - invoices type: string required: - id - type minItems: 1 required: - data required: true invoice_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - invoices type: string required: - id - type minItems: 1 required: - data required: true invoice_bulk_export: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: type: object additionalProperties: true id: "$ref": "#/components/schemas/_request_id" type: enum: - invoices type: string required: - id - type minItems: 1 required: - data required: true invoice_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_invoice_update_attributes" id: "$ref": "#/components/schemas/_request_id" relationships: "$ref": "#/components/schemas/_invoice_relationships" type: enum: - invoices type: string required: - id - type minItems: 1 required: - data required: true invoice_copy: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: copy_comments: type: boolean copy_subscribers: type: boolean tax_mapper: type: object relationships: type: object properties: template: "$ref": "#/components/schemas/_single_linkage" required: - template type: enum: - invoices type: string required: - type - relationships required: - data required: true invoice_credit_note: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: invoiced_on: "$ref": "#/components/schemas/resource_invoice/properties/invoiced_on" subject: "$ref": "#/components/schemas/resource_invoice/properties/subject" type: enum: - invoices type: string relationships: type: object properties: parent_invoice: "$ref": "#/components/schemas/_single_linkage" required: - parent_invoice required: - type - relationships required: - data required: true invoice_export: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: bulk_export: type: boolean company_reference_id: type: string type: enum: - invoices type: string required: - type required: - data required: false invoice_finalize: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: number: "$ref": "#/components/schemas/resource_invoice/properties/number" type: enum: - invoices type: string required: - type required: - data required: true invoice_send: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: bcc: anyOf: - type: string title: String - type: array items: type: string title: List of strings body: type: string cc: anyOf: - type: string title: String - type: array items: type: string title: List of strings e_invoice_url: type: string from: type: string send_invoice_pdf: type: boolean send_verifactu: type: boolean subject: type: string to: anyOf: - type: string title: String - type: array items: type: string title: List of strings required: - to - subject - body relationships: type: object properties: attachment: "$ref": "#/components/schemas/_collection_linkage" type: enum: - invoices type: string required: - type - attributes required: - data required: true invoice_template: content: application/vnd.api+json: schema: type: object description: Request body schema for an invoice template. properties: data: type: object description: The invoice template resource object. properties: attributes: type: object description: Invoice template attributes. properties: bank_account_details: "$ref": "#/components/schemas/resource_invoice_template/properties/bank_account_details" custom_fields: "$ref": "#/components/schemas/resource_invoice_template/properties/custom_fields" invoice_creation_options: "$ref": "#/components/schemas/resource_invoice_template/properties/invoice_creation_options" note: "$ref": "#/components/schemas/resource_invoice_template/properties/note" example: eq: value relationships: type: object properties: bank_account: "$ref": "#/components/schemas/_single_linkage_nullable" budget: "$ref": "#/components/schemas/_single_linkage" document_type: "$ref": "#/components/schemas/_single_linkage" issuer: "$ref": "#/components/schemas/_single_linkage_nullable" subsidiary: "$ref": "#/components/schemas/_single_linkage" required: - budget - document_type - subsidiary type: enum: - invoice_templates type: string required: - type - relationships example: eq: value required: - data example: data: type: invoice_templates attributes: name: Standard Invoice default: true required: true description: Request body for creating or updating an invoice template. invoice_template_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: bank_account_details: "$ref": "#/components/schemas/resource_invoice_template/properties/bank_account_details" custom_fields: "$ref": "#/components/schemas/resource_invoice_template/properties/custom_fields" invoice_creation_options: "$ref": "#/components/schemas/resource_invoice_template/properties/invoice_creation_options" note: "$ref": "#/components/schemas/resource_invoice_template/properties/note" relationships: type: object properties: bank_account: "$ref": "#/components/schemas/_single_linkage_nullable" document_type: "$ref": "#/components/schemas/_single_linkage" issuer: "$ref": "#/components/schemas/_single_linkage_nullable" subsidiary: "$ref": "#/components/schemas/_single_linkage" type: enum: - invoice_templates type: string required: - type required: - data required: true invoice_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_invoice_update_attributes" relationships: "$ref": "#/components/schemas/_invoice_relationships" type: enum: - invoices type: string required: - type required: - data required: true job_role_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: name: type: string maxLength: 255 type: enum: - job_roles type: string required: - type required: - data required: true line_item: content: application/vnd.api+json: schema: type: object description: Request body schema for a line item. properties: data: type: object description: The line item resource object. properties: attributes: "$ref": "#/components/schemas/_line_item_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_line_item_relationships" - {} type: enum: - line_items type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: line_items attributes: name: Frontend Development quantity: 10 unit: hours unit_price: '150.00' position: 1 tax_rate: '0.1' relationships: invoice: data: type: invoices id: '234' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_line_item_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_line_item_relationships" - {} type: enum: - line_items type: string required: - type - attributes - relationships minItems: 1 required: - data required: true description: Request body for creating or updating an invoice line item. line_item_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - line_items type: string required: - type - id minItems: 1 required: - data required: true line_item_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_line_item_update_attributes" id: "$ref": "#/components/schemas/_request_id" relationships: "$ref": "#/components/schemas/_line_item_relationships" type: enum: - line_items type: string required: - type - id minItems: 1 required: - data required: true line_item_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_line_item_update_attributes" relationships: "$ref": "#/components/schemas/_line_item_relationships" type: enum: - line_items type: string required: - type required: - data required: true job_role: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: name: type: string maxLength: 255 required: - name type: enum: - job_roles type: string required: - type - attributes required: - data required: true lost_reason: content: application/vnd.api+json: schema: type: object description: Request body schema for a lost reason. properties: data: type: object description: The lost reason resource object. properties: attributes: type: object description: Lost reason attributes. properties: name: "$ref": "#/components/schemas/resource_lost_reason/properties/name" position: type: integer minimum: 1 required: - name example: eq: value relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - lost_reasons type: string required: - type - attributes example: eq: value required: - data example: data: type: lost_reasons attributes: name: Budget constraints position: 1 required: true description: Request body for creating or updating a lost reason. lost_reason_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: name: "$ref": "#/components/schemas/resource_lost_reason/properties/name" position: type: integer minimum: 1 relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - lost_reasons type: string required: - type required: - data required: true mcp_connector_connect: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - mcp_connectors type: string attributes: type: object properties: code: "$ref": "#/components/schemas/resource_mcp_connector/properties/code" state: "$ref": "#/components/schemas/resource_mcp_connector/properties/state" required: - code - state required: - type - attributes required: - data required: true mcp_server: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - mcp_servers type: string attributes: type: object properties: auth_type: "$ref": "#/components/schemas/resource_mcp_server/properties/auth_type" client_id: "$ref": "#/components/schemas/resource_mcp_server/properties/client_id" client_secret: "$ref": "#/components/schemas/resource_mcp_server/properties/client_secret" color_id: "$ref": "#/components/schemas/resource_mcp_server/properties/color_id" custom: "$ref": "#/components/schemas/resource_mcp_server/properties/custom" description: "$ref": "#/components/schemas/resource_mcp_server/properties/description" icon_id: "$ref": "#/components/schemas/resource_mcp_server/properties/icon_id" name: "$ref": "#/components/schemas/resource_mcp_server/properties/name" redirect_uri: "$ref": "#/components/schemas/resource_mcp_server/properties/redirect_uri" url: "$ref": "#/components/schemas/resource_mcp_server/properties/url" required: - name required: - type - attributes required: - data required: true mcp_server_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - mcp_servers type: string attributes: type: object properties: custom: "$ref": "#/components/schemas/resource_mcp_server/properties/custom" auth_type: "$ref": "#/components/schemas/resource_mcp_server/properties/auth_type" color_id: "$ref": "#/components/schemas/resource_mcp_server/properties/color_id" description: "$ref": "#/components/schemas/resource_mcp_server/properties/description" icon_id: "$ref": "#/components/schemas/resource_mcp_server/properties/icon_id" name: "$ref": "#/components/schemas/resource_mcp_server/properties/name" redirect_uri: "$ref": "#/components/schemas/resource_mcp_server/properties/redirect_uri" url: "$ref": "#/components/schemas/resource_mcp_server/properties/url" required: - type required: - data required: true mcp_connector_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - mcp_connectors type: string attributes: type: object properties: api_key: type: string required: - api_key required: - type - attributes required: - data required: true membership_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: access_type_id: "$ref": "#/components/schemas/resource_membership/properties/access_type_id" type: enum: - memberships type: string required: - type required: - data required: true memory: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: body: "$ref": "#/components/schemas/resource_memory/properties/body" memory_type: "$ref": "#/components/schemas/resource_memory/properties/memory_type" title: "$ref": "#/components/schemas/resource_memory/properties/title" required: - title - memory_type relationships: type: object properties: project: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - memories type: string required: - type - attributes required: - data required: true memory_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: body: "$ref": "#/components/schemas/resource_memory/properties/body" memory_type: "$ref": "#/components/schemas/resource_memory/properties/memory_type" title: "$ref": "#/components/schemas/resource_memory/properties/title" relationships: type: object properties: project: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - memories type: string required: - type required: - data required: true organization_champion: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: relationships: type: object properties: person: "$ref": "#/components/schemas/_single_linkage" required: - person type: enum: - organization_champions type: string attributes: type: object properties: type_id: "$ref": "#/components/schemas/resource_organization_champion/properties/type_id" required: - type_id required: - type - attributes - relationships required: - data required: true organization_champion_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: type_id: "$ref": "#/components/schemas/resource_organization_champion/properties/type_id" relationships: type: object properties: person: "$ref": "#/components/schemas/_single_linkage" type: enum: - organization_champions type: string required: - type required: - data required: true organization: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating an organization. properties: data: type: object description: The JSON:API data object containing the organization resource attributes and relationships. properties: attributes: type: object description: Organization attributes. properties: task_due_time_enabled: "$ref": "#/components/schemas/resource_organization/properties/task_due_time_enabled" addons: "$ref": "#/components/schemas/resource_organization/properties/addons" ai_enabled: "$ref": "#/components/schemas/resource_organization/properties/ai_enabled" allow_time_off: "$ref": "#/components/schemas/resource_organization/properties/allow_time_off" allow_user_email: "$ref": "#/components/schemas/resource_organization/properties/allow_user_email" avatar_url: "$ref": "#/components/schemas/resource_organization/properties/avatar_url" booked_demo: "$ref": "#/components/schemas/resource_organization/properties/booked_demo" conflict_resolver_active: "$ref": "#/components/schemas/resource_organization/properties/conflict_resolver_active" currency: "$ref": "#/components/schemas/resource_organization/properties/currency" currency_format_id: "$ref": "#/components/schemas/resource_organization/properties/currency_format_id" date_format_id: "$ref": "#/components/schemas/resource_organization/properties/date_format_id" deal_settings: "$ref": "#/components/schemas/resource_organization/properties/deal_settings" decimal_places_id: "$ref": "#/components/schemas/resource_organization/properties/decimal_places_id" delivered_budget_recognition_date_id: "$ref": "#/components/schemas/resource_organization/properties/delivered_budget_recognition_date_id" due_days: allOf: - "$ref": "#/components/schemas/resource_organization/properties/due_days" - minimum: 0 description: The default number of days before an invoice is due. email_local_name: "$ref": "#/components/schemas/resource_organization/properties/email_local_name" email_sender_name: "$ref": "#/components/schemas/resource_organization/properties/email_sender_name" email_type_id: "$ref": "#/components/schemas/resource_organization/properties/email_type_id" expense_markup: allOf: - "$ref": "#/components/schemas/resource_organization/properties/expense_markup" - maximum: 100 minimum: 0 description: The default expense markup percentage. expense_settings: "$ref": "#/components/schemas/resource_organization/properties/expense_settings" facility_costs: "$ref": "#/components/schemas/resource_organization/properties/facility_costs" facility_costs_breakdown: "$ref": "#/components/schemas/resource_organization/properties/facility_costs_breakdown" financial_month_locking_date: allOf: - "$ref": "#/components/schemas/resource_organization/properties/financial_month_locking_date" - maximum: 31 minimum: 1 description: The date from which financial months are locked for editing. financial_month_locking_partial_edit: "$ref": "#/components/schemas/resource_organization/properties/financial_month_locking_partial_edit" fiscal_year_start: "$ref": "#/components/schemas/resource_organization/properties/fiscal_year_start" invoice_rounding_method_id: "$ref": "#/components/schemas/resource_organization/properties/invoice_rounding_method_id" limited_service_types: "$ref": "#/components/schemas/resource_organization/properties/limited_service_types" locale: "$ref": "#/components/schemas/resource_organization/properties/locale" man_day_minutes: "$ref": "#/components/schemas/resource_organization/properties/man_day_minutes" name: "$ref": "#/components/schemas/resource_organization/properties/name" number_format_id: "$ref": "#/components/schemas/resource_organization/properties/number_format_id" numbering_format_settings: "$ref": "#/components/schemas/resource_organization/properties/numbering_format_settings" onboarding_progress: "$ref": "#/components/schemas/resource_organization/properties/onboarding_progress" open_budget_recognition_date_id: "$ref": "#/components/schemas/resource_organization/properties/open_budget_recognition_date_id" overhead: "$ref": "#/components/schemas/resource_organization/properties/overhead" overhead_amortization_period: allOf: - "$ref": "#/components/schemas/resource_organization/properties/overhead_amortization_period" - maximum: 12 minimum: 1 description: The period in months over which overhead costs are amortized. overhead_recalculation_day: allOf: - "$ref": "#/components/schemas/resource_organization/properties/overhead_recalculation_day" - maximum: 31 minimum: 1 description: The day of month on which overhead costs are recalculated. overhead_subsidiary_switched_at: "$ref": "#/components/schemas/resource_organization/properties/overhead_subsidiary_switched_at" overhead_type_id: "$ref": "#/components/schemas/resource_organization/properties/overhead_type_id" quick_start_config: "$ref": "#/components/schemas/resource_organization/properties/quick_start_config" remove_branding: "$ref": "#/components/schemas/resource_organization/properties/remove_branding" request_for_resource_enabled: "$ref": "#/components/schemas/resource_organization/properties/request_for_resource_enabled" revenue_recognition_type_id: "$ref": "#/components/schemas/resource_organization/properties/revenue_recognition_type_id" rounding_interval_id: "$ref": "#/components/schemas/resource_organization/properties/rounding_interval_id" rounding_method_id: "$ref": "#/components/schemas/resource_organization/properties/rounding_method_id" time_display_id: "$ref": "#/components/schemas/resource_organization/properties/time_display_id" time_format_id: "$ref": "#/components/schemas/resource_organization/properties/time_format_id" time_locking: "$ref": "#/components/schemas/resource_organization/properties/time_locking" time_locking_interval: "$ref": "#/components/schemas/resource_organization/properties/time_locking_interval" time_locking_period_id: "$ref": "#/components/schemas/resource_organization/properties/time_locking_period_id" time_locking_reminders: "$ref": "#/components/schemas/resource_organization/properties/time_locking_reminders" time_reminder_at: allOf: - "$ref": "#/components/schemas/resource_organization/properties/time_reminder_at" - maximum: 23 minimum: 0 description: The time of day when time reminder notifications are sent. time_reminder_condition: allOf: - "$ref": "#/components/schemas/resource_organization/properties/time_reminder_condition" - maximum: 100 minimum: 0 description: The condition that triggers a time reminder (e.g. hours below threshold). time_reminder_id: "$ref": "#/components/schemas/resource_organization/properties/time_reminder_id" time_reminders: "$ref": "#/components/schemas/resource_organization/properties/time_reminders" time_tracking_policies_enabled: "$ref": "#/components/schemas/resource_organization/properties/time_tracking_policies_enabled" time_tracking_policy_id: "$ref": "#/components/schemas/resource_organization/properties/time_tracking_policy_id" time_zone: "$ref": "#/components/schemas/resource_organization/properties/time_zone" timesheet_submission: "$ref": "#/components/schemas/resource_organization/properties/timesheet_submission" timesheet_submission_reminders: "$ref": "#/components/schemas/resource_organization/properties/timesheet_submission_reminders" timesheet_submission_settings: "$ref": "#/components/schemas/resource_organization/properties/timesheet_submission_settings" week_start_day_id: "$ref": "#/components/schemas/resource_organization/properties/week_start_day_id" working_hours: type: array items: type: number maxItems: 7 minItems: 7 description: The default working hours per day for this organization. autotracking_schedule_id: "$ref": "#/components/schemas/resource_organization/properties/autotracking_schedule_id" invoice_timesheet_export_configuration: "$ref": "#/components/schemas/resource_organization/properties/invoice_timesheet_export_configuration" payment_terms_type: "$ref": "#/components/schemas/resource_organization/properties/payment_terms_type" mcp_server_enabled: "$ref": "#/components/schemas/resource_organization/properties/mcp_server_enabled" ai_allowed_models: "$ref": "#/components/schemas/resource_organization/properties/ai_allowed_models" proposal_approvals: "$ref": "#/components/schemas/resource_organization/properties/proposal_approvals" create_time_entry_on_timer_start: "$ref": "#/components/schemas/resource_organization/properties/create_time_entry_on_timer_start" meeting_settings: "$ref": "#/components/schemas/resource_organization/properties/meeting_settings" save_line_item_snapshots: "$ref": "#/components/schemas/resource_organization/properties/save_line_item_snapshots" ai_instructions: "$ref": "#/components/schemas/resource_organization/properties/ai_instructions" example: eq: value relationships: type: object properties: owner: "$ref": "#/components/schemas/_single_linkage" type: enum: - organizations type: string required: - type example: eq: value required: - data example: data: type: organizations attributes: name: My Agency currency: USD timezone: UTC required: true description: Request body for creating or updating an organization. organization_destroy: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: deactivation_note: anyOf: - type: string title: String - type: 'null' title: 'Null' deactivation_reason_id: anyOf: - type: integer title: Integer - type: 'null' title: 'Null' type: enum: - organizations type: string required: - type organization_force_two_factor_login: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: force_two_factor_auth: "$ref": "#/components/schemas/resource_organization/properties/force_two_factor_auth" type: enum: - organizations type: string required: - type - attributes required: - data required: true organization_membership: content: application/vnd.api+json: schema: type: object description: Request body schema for an organization membership. properties: data: type: object description: The organization membership resource object. properties: attributes: type: object description: Organization membership attributes. properties: booking_approvals_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/booking_approvals_filter_id" bookings_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/bookings_filter_id" budget_services_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/budget_services_filter_id" budgets_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/budgets_filter_id" companies_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/companies_filter_id" company_time_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/company_time_filter_id" contacts_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/contacts_filter_id" deal_services_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/deal_services_filter_id" deals_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/deals_filter_id" docs_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/docs_filter_id" email_notifications: "$ref": "#/components/schemas/resource_organization_membership/properties/email_notifications" expense_approvals_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/expense_approvals_filter_id" expenses_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/expenses_filter_id" granular_notification_preferences: "$ref": "#/components/schemas/resource_organization_membership/properties/granular_notification_preferences" internal_budget_services_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/internal_budget_services_filter_id" invoices_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/invoices_filter_id" payments_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/payments_filter_id" people_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/people_filter_id" preferences: "$ref": "#/components/schemas/resource_organization_membership/properties/preferences" projects_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/projects_filter_id" quick_start_config: "$ref": "#/components/schemas/resource_organization_membership/properties/quick_start_config" salary_reports_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/salary_reports_filter_id" tasks_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/tasks_filter_id" time_approvals_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/time_approvals_filter_id" time_entry_reports_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/time_entry_reports_filter_id" time_reminders: "$ref": "#/components/schemas/resource_organization_membership/properties/time_reminders" time_reports_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/time_reports_filter_id" weekly_emails: "$ref": "#/components/schemas/resource_organization_membership/properties/weekly_emails" employees_filter_id: "$ref": "#/components/schemas/resource_organization_membership/properties/employees_filter_id" favorited_models: type: array items: type: object properties: id: {} is_expanded: type: boolean items: type: array items: type: object properties: id: {} type: type: string name: type: string type: type: string notetaker_settings: type: object properties: notetaker_auto_join_calendar_ids: type: array items: {} notetaker_auto_join_rule: type: string notetaker_display_name: type: string notetaker_join_message: type: string recent_data: type: array items: {} example: eq: value type: enum: - organization_memberships type: string required: - type example: eq: value required: - data example: data: type: organization_memberships attributes: time_reminders: true email_notifications: true weekly_emails: true required: true description: Request body for creating or updating an organization membership. Links a user and person to an organization. Use to manage user access and configure default filters and notification preferences. page_apply_template: content: application/vnd.api+json: schema: type: object description: JSON:API document wrapping the template attributes. properties: data: type: object description: The page resource object. properties: attributes: type: object description: Template application attributes. example: template_id: 47710 relationships: type: object properties: template: "$ref": "#/components/schemas/_single_linkage" required: - template type: enum: - pages type: string required: - type - relationships example: type: pages attributes: template_id: 47710 required: - data example: data: type: pages attributes: template_id: 47710 required: true description: Request body for applying a doc template onto an existing page or under a parent page. page_apply_template_as_doc: content: application/vnd.api+json: schema: type: object description: JSON:API document wrapping the template attributes. properties: data: type: object description: The page resource object. properties: attributes: type: object description: Template application attributes. example: template_id: 47710 project_id: 31002 relationships: type: object properties: project: "$ref": "#/components/schemas/_single_linkage_nullable" template: "$ref": "#/components/schemas/_single_linkage" required: - template type: enum: - pages type: string required: - type - relationships example: type: pages attributes: template_id: 47710 project_id: 31002 required: - data example: data: type: pages attributes: template_id: 47710 project_id: 31002 required: true description: Request body for creating a doc from a doc template. page_move: content: application/vnd.api+json: schema: type: object description: JSON:API document wrapping the move attributes. properties: data: type: object description: The page resource object. properties: attributes: type: object description: Attributes controlling the move. example: target_doc_id: 48901 relationships: type: object properties: target_doc: "$ref": "#/components/schemas/_single_linkage" required: - target_doc type: enum: - pages type: string required: - type - relationships example: type: pages attributes: target_doc_id: 48901 required: - data example: data: type: pages attributes: target_doc_id: 48901 required: true description: Request body for moving a page under another page. page_version_update: content: application/vnd.api+json: schema: type: object description: JSON:API document wrapping the new name. properties: data: type: object description: The page version resource object. properties: attributes: type: object description: Attributes to update — only `name` is writable. properties: name: "$ref": "#/components/schemas/resource_page_version/properties/name" required: - name example: name: Approved by client type: enum: - page_versions type: string required: - type - attributes example: type: page_versions attributes: name: Approved by client required: - data example: data: type: page_versions attributes: name: Approved by client required: true description: Request body for renaming a page version. page_copy: content: application/vnd.api+json: schema: type: object description: JSON:API document wrapping the copy attributes. properties: data: type: object description: The page resource object. properties: attributes: type: object description: Attributes controlling the copy. properties: title: allOf: - "$ref": "#/components/schemas/resource_page/properties/title" - maxLength: 255 description: Title of the copy. Defaults to `Copy of `. example: template_id: 48213 title: Onboarding checklist (copy) project_id: 31002 relationships: type: object properties: project: "$ref": "#/components/schemas/_single_linkage_nullable" template: "$ref": "#/components/schemas/_single_linkage" required: - template type: enum: - pages type: string required: - type - relationships example: type: pages attributes: template_id: 48213 title: Onboarding checklist (copy) project_id: 31002 required: - data example: data: type: pages attributes: template_id: 48213 title: Onboarding checklist (copy) project_id: 31002 required: true description: Request body for copying a page. `template_id` (the source page) is required; `title` and `project_id` are optional. page_version: content: application/vnd.api+json: schema: type: object description: Request body schema for a page version. properties: data: type: object description: The page version resource object. properties: attributes: type: object description: Page version attributes. properties: name: anyOf: - "$ref": "#/components/schemas/resource_page_version/properties/name" - type: 'null' title: 'Null' description: Optional label for the snapshot, e.g. a milestone name. restored_from_version_id: "$ref": "#/components/schemas/_request_id" example: eq: value relationships: type: object properties: page: "$ref": "#/components/schemas/_single_linkage" type: enum: - page_versions type: string required: - type example: eq: value required: - data example: data: type: pages attributes: title: Architecture Overview note: System architecture documentation relationships: project: data: type: projects id: '6899' required: true description: Request body for creating a page version. Pass exactly one of `page_id` (snapshot the page's current state) or `restored_from_version_id` (restore point copied from an earlier version), plus an optional `name`. password: content: application/vnd.api+json: schema: type: object description: Request body schema for a password update. properties: data: type: object description: The JSON:API data object containing the password resource attributes and relationships. properties: attributes: type: object description: Password attributes. properties: password: type: string pattern: "^(?=.*[a-zA-Z]).{6,}$" maxLength: 72 minLength: 12 description: The new password to set. password_confirmation: type: string description: Confirmation of the new password (must match the password field). required: - password example: eq: value type: enum: - passwords type: string required: - type - attributes example: eq: value required: - data example: data: type: passwords attributes: current_password: "••••••••" password: "••••••••" password_confirmation: "••••••••" required: true description: Request body for updating a user's password. password_create: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: email: "$ref": "#/components/schemas/resource_password/properties/email" type: enum: - passwords type: string required: - type - attributes required: - data required: true payment: content: application/vnd.api+json: schema: type: object description: Request body schema for a payment. properties: data: type: object description: The JSON:API data object containing the payment resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_payment_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_payment_create_relationships" - {} type: enum: - payments type: string required: - type - attributes - relationships example: type: payments attributes: invoice_id: 789012 amount: 250000 paid_on: '2026-03-15' written_off_on: '2026-03-20' note: 'Wire transfer ref: WT-9281' required: - data example: data: type: payments attributes: invoice_id: 789012 amount: 250000 paid_on: '2026-03-15' written_off_on: '2026-03-20' note: 'Wire transfer ref: WT-9281' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_payment_create_attributes" type: enum: - payments type: string relationships: allOf: - "$ref": "#/components/schemas/_payment_create_relationships" - {} required: - type - attributes - relationships maxItems: 100 minItems: 1 required: - data required: true description: Request body for creating or updating a payment. payment_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - payments type: string required: - id - type minItems: 1 required: - data required: true payment_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_payment_update_attributes" id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - payments type: string required: - id - type minItems: 1 required: - data required: true payment_reminder: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: relationships: "$ref": "#/components/schemas/_payment_reminder_relationships" type: enum: - payment_reminders type: string attributes: "$ref": "#/components/schemas/_payment_reminder_create_attributes" required: - type - attributes required: - data application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_payment_reminder_create_attributes" relationships: "$ref": "#/components/schemas/_payment_reminder_relationships" type: enum: - payment_reminders type: string required: - type - attributes minItems: 1 required: - data required: true payment_reminder_sequence_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: default_sequence: "$ref": "#/components/schemas/resource_payment_reminder_sequence/properties/default_sequence" name: type: string minLength: 1 type: enum: - payment_reminder_sequences type: string required: - type required: - data required: true payment_reminder_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_payment_reminder_attributes" relationships: "$ref": "#/components/schemas/_payment_reminder_relationships" type: enum: - payment_reminders type: string required: - type required: - data required: true payment_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_payment_update_attributes" type: enum: - payments type: string required: - type required: - data required: true person: content: application/vnd.api+json: schema: type: object description: JSON:API request envelope for a person. properties: data: type: object description: The person data object for the request. properties: attributes: "$ref": "#/components/schemas/_person_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_person_relationships" - {} type: enum: - people type: string required: - type - attributes - relationships example: type: people attributes: first_name: Alex last_name: Smith email: alex.smith@example.com title: Senior Developer required: - data example: data: type: people attributes: first_name: Alex last_name: Smith email: alex.smith@example.com title: Senior Developer required: true description: Request body for creating or updating a person. person_bulk_archive: content: application/vnd.api+json; ext=bulk: schema: type: object description: 'JSON:API bulk envelope: a `data` array of person identifier objects.' properties: data: type: array items: type: object description: Identifier of a single person to archive. properties: id: "$ref": "#/components/schemas/resource_person/properties/id" type: enum: - people type: string description: Resource type, always `people`. example: people required: - id - type example: type: people id: '1234567' minItems: 1 description: Array of people to archive, each referenced by `id`. example: - type: people id: '1234567' - type: people id: '1234568' required: - data example: data: - type: people id: '1234567' - type: people id: '1234568' required: true description: Request body for archiving multiple people at once. `data` is an array of person identifier objects. person_bulk_deactivate: content: application/vnd.api+json; ext=bulk: schema: type: object description: 'JSON:API bulk envelope: a `data` array of person identifier objects.' properties: data: type: array items: type: object description: Identifier of a single person to deactivate. properties: id: "$ref": "#/components/schemas/resource_person/properties/id" type: enum: - people type: string description: Resource type, always `people`. example: people required: - id - type example: type: people id: '1234567' minItems: 1 description: Array of people to deactivate, each referenced by `id`. example: - type: people id: '1234567' - type: people id: '1234568' required: - data example: data: - type: people id: '1234567' - type: people id: '1234568' required: true description: Request body for deactivating multiple people at once. `data` is an array of person identifier objects. person_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object description: 'JSON:API bulk envelope: a `data` array of person resource objects.' properties: data: type: array items: type: object description: A single person to update, identified by `id`, with the attributes to change. properties: attributes: "$ref": "#/components/schemas/_person_update_attributes" id: "$ref": "#/components/schemas/resource_person/properties/id" type: enum: - people type: string description: Resource type, always `people`. example: people relationships: "$ref": "#/components/schemas/_person_relationships" required: - id - type example: type: people id: '1234567' attributes: title: Senior Developer job_role_id: 42 minItems: 1 description: Array of people to update. Each entry references an existing person by `id` and carries the attributes to change for that person. example: - type: people id: '1234567' attributes: title: Senior Developer job_role_id: 42 - type: people id: '1234568' attributes: manager_id: 1234501 timesheet_submission_disabled: true required: - data example: data: - type: people id: '1234567' attributes: title: Senior Developer job_role_id: 42 - type: people id: '1234568' attributes: manager_id: 1234501 timesheet_submission_disabled: true required: true description: Request body for updating multiple people at once. `data` is an array of person resource objects, each identified by `id`. person_invite: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: shared_seat: "$ref": "#/components/schemas/resource_person/properties/shared_seat" relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" custom_role: "$ref": "#/components/schemas/_single_linkage" subsidiary: "$ref": "#/components/schemas/_single_linkage" type: enum: - people type: string required: - type required: - data required: true person_merge: content: application/vnd.api+json: schema: type: object properties: loser_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer winner_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer required: - winner_id - loser_id required: true person_regenerate_recovery_codes: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: password: type: string required: - password type: enum: - people type: string required: - type - attributes required: - data required: true person_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_person_update_attributes" relationships: "$ref": "#/components/schemas/_person_relationships" type: enum: - people type: string required: - type required: - data required: true pipeline: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a pipeline. properties: data: type: object description: The JSON:API data object containing the pipeline resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_pipeline_create_attributes" relationships: "$ref": "#/components/schemas/_pipeline_relationships" type: enum: - pipelines type: string required: - type - attributes example: eq: value required: - data example: data: type: pipelines attributes: name: Sales Pipeline default: true required: true description: Request body for creating or updating a pipeline. Specify the name, pipeline_type_id (sales or production), position, and optional icon. Deal statuses are managed separately via the deal_statuses endpoint. pipeline_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_pipeline_attributes" relationships: "$ref": "#/components/schemas/_pipeline_relationships" type: enum: - pipelines type: string required: - type required: - data required: true placeholder: content: application/vnd.api+json: schema: type: object description: Request body for creating a placeholder. properties: data: type: object description: The JSON:API data object containing the placeholder resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_placeholder_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_placeholder_relationships" - {} type: enum: - placeholders type: string required: - type - attributes - relationships example: type: placeholders attributes: name: Senior Developer category: project type: person color: electric icon: icon-cowboy-hat-filled project_id: 7388870 required: - data example: data: type: placeholders attributes: name: Senior Developer category: project type: person color: electric icon: icon-cowboy-hat-filled project_id: 7388870 required: true description: Request body for creating a placeholder. placeholder_update: content: application/vnd.api+json: schema: type: object description: Request body for updating a placeholder. properties: data: type: object description: The placeholder resource object. properties: attributes: "$ref": "#/components/schemas/_placeholder_attributes" relationships: "$ref": "#/components/schemas/_placeholder_relationships" type: enum: - placeholders type: string required: - type example: type: placeholders attributes: name: Senior Developer (renamed) color: electric required: - data example: data: type: placeholders attributes: name: Senior Developer (renamed) color: electric required: true description: Request body for updating a placeholder. All attributes are optional; only provided attributes are changed. placeholder_usage: content: application/vnd.api+json: schema: type: object description: Request body for creating a placeholder usage. properties: data: type: object description: The placeholder usage resource object. properties: attributes: "$ref": "#/components/schemas/_placeholder_usage_create_attributes" relationships: "$ref": "#/components/schemas/_placeholder_usage_create_relationships" type: enum: - placeholder_usages type: string required: - type - attributes example: type: placeholder_usages attributes: field: assignee placeholder_id: 88 task_id: 7388879 required: - data example: data: type: placeholder_usages attributes: field: assignee placeholder_id: 88 task_id: 7388879 required: true description: Request body for creating a placeholder usage. Binds a placeholder to a field on a template task or todo — provide exactly one of `task_id` or `todo_id`. placeholder_usage_update: content: application/vnd.api+json: schema: type: object description: Request body for updating a placeholder usage. properties: data: type: object description: The placeholder usage resource object. properties: attributes: "$ref": "#/components/schemas/_placeholder_usage_update_attributes" relationships: "$ref": "#/components/schemas/_placeholder_usage_update_relationships" type: enum: - placeholder_usages type: string required: - type example: type: placeholder_usages attributes: interval_enabled: true interval_value: 3 interval_unit: day interval_direction: after skip_weekends: true required: - data example: data: type: placeholder_usages attributes: interval_enabled: true interval_value: 3 interval_unit: day interval_direction: after skip_weekends: true required: true description: Request body for updating a placeholder usage. The target and field are set on create and cannot be changed. price: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a price. properties: data: type: object description: The JSON:API data object containing the price resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_price_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_price_relationships" - {} type: enum: - prices type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: prices attributes: name: Senior Developer rate: '150.00' currency: USD billing_type_id: 1 estimated_hours: 160 relationships: service_type: data: type: service_types id: '5' rate_card: data: type: rate_cards id: '7' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_price_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_price_relationships" - {} type: enum: - prices type: string required: - type - attributes - relationships minItems: 1 required: - data required: true description: Request body for creating or updating a price (rate card line item). Specify the rate card, service type, billing type, unit, rate, quantity, and optional tracking defaults (time, bookings, expenses), discount, markup, and budget cap configuration. price_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_price_attributes" relationships: "$ref": "#/components/schemas/_price_relationships" type: enum: - prices type: string required: - type required: - data required: true project: content: application/vnd.api+json: schema: type: object description: JSON:API request payload for a project. properties: data: type: object description: The project resource data object. properties: attributes: "$ref": "#/components/schemas/_project_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_project_create_relationships" - {} type: enum: - projects type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: projects attributes: name: Website Redesign description: Full redesign of the company website project_color_id: 1 relationships: company: data: type: companies id: '65111' project_manager: data: type: people id: '12' workflow: data: type: workflows id: '75' required: true description: Request body for creating or updating a project. project_apply_navigation_tabs: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: keep_existing_tabs: type: boolean description: When `true`, the tabs already configured on the target project are preserved alongside the tabs copied from the template. When `false`, the target's tabs are replaced entirely by those of the template. example: true required: - keep_existing_tabs example: template_id: 42 keep_existing_tabs: true type: enum: - projects type: string example: projects relationships: type: object properties: template: "$ref": "#/components/schemas/_single_linkage" required: - template required: - type - attributes - relationships example: type: projects attributes: template_id: 42 keep_existing_tabs: true required: - data example: data: type: projects attributes: template_id: 42 keep_existing_tabs: true required: true description: Request body for applying navigation tabs to a project using an existing project template as the source layout. project_bulk_archive: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - projects type: string required: - id - type minItems: 1 required: - data required: true project_bulk_change_workflow: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_project_change_workflow_attributes" id: "$ref": "#/components/schemas/_request_id" relationships: type: object properties: workflow: "$ref": "#/components/schemas/_single_linkage" required: - workflow type: enum: - projects type: string required: - id - type - attributes - relationships maxItems: 100 minItems: 1 required: - data required: true project_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_project_update_attributes" id: "$ref": "#/components/schemas/_request_id" relationships: "$ref": "#/components/schemas/_project_update_relationships" type: enum: - projects type: string required: - id - type minItems: 1 required: - data required: true ai_sandbox_create: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: agent_session_id: type: string description: The session's uid (`as-…`) or numeric id config: type: object metadata: type: object required: - agent_session_id ai_sandbox_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: metadata: "$ref": "#/components/schemas/resource_ai_sandbox/properties/metadata" project_change_workflow: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_project_change_workflow_attributes" type: enum: - projects type: string example: projects relationships: type: object properties: workflow: "$ref": "#/components/schemas/_single_linkage" required: - workflow required: - type - attributes - relationships example: type: projects attributes: workflow_id: 7 map: '100': 200 '101': 201 '102': 202 required: - data example: data: type: projects attributes: workflow_id: 7 map: '100': 200 '101': 201 '102': 202 required: true description: Request body for switching a project to a different workflow. Requires a status mapping so every task in the project can be migrated to a status that exists in the target workflow. project_copy: content: application/vnd.api+json: schema: type: object description: JSON:API request envelope for the project copy operation. properties: data: type: object description: The resource object being created. `type` must be `projects`. properties: attributes: "$ref": "#/components/schemas/_project_copy_attributes" relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage_nullable" project_manager: "$ref": "#/components/schemas/_single_linkage" template: "$ref": "#/components/schemas/_single_linkage" required: - template type: enum: - projects type: string required: - type - attributes - relationships example: type: projects attributes: name: Q4 marketing campaign template template_id: 123456 project_type_id: 1 project_manager_id: 42 project_color_id: 5 company_id: 999 copy_as_template: true copy_memberships: true copy_folders: true 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_date: true copy_repeat: true copy_estimate: true copy_notes: true copy_surveys: true copy_task_templates: true required: - data example: data: type: projects attributes: name: Q4 marketing campaign template template_id: 123456 project_type_id: 1 project_manager_id: 42 project_color_id: 5 company_id: 999 copy_as_template: true copy_memberships: true copy_folders: true 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_date: true copy_repeat: true copy_estimate: true copy_notes: true copy_surveys: true copy_task_templates: true required: true description: 'Request body for copying an existing project. Required attributes: `name`, `template_id`, `project_type_id`. Optional attributes control destination metadata and granular copy behavior — see the operation description for the full copy-flag prerequisite tree.' project_milestone: content: application/vnd.api+json: schema: type: object description: Request body for creating a project milestone. properties: data: type: object description: The JSON:API data object containing the project milestone attributes. properties: attributes: "$ref": "#/components/schemas/_project_milestone_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_project_milestone_relationships" - {} type: enum: - project_milestones type: string required: - type - attributes - relationships example: type: project_milestones attributes: title: Beta launch date: '2026-10-15' icon_id: icon-rocket-launch note: Release to beta customers. assignee_id: 1002 project_id: 7388870 required: - data example: data: type: project_milestones attributes: title: Beta launch date: '2026-10-15' icon_id: icon-rocket-launch note: Release to beta customers. assignee_id: 1002 project_id: 7388870 required: true description: Request body for creating a project milestone. project_milestone_update: content: application/vnd.api+json: schema: type: object description: Request body for updating a project milestone. properties: data: type: object description: The JSON:API data object containing the project milestone attributes. properties: attributes: "$ref": "#/components/schemas/_project_milestone_update_attributes" relationships: "$ref": "#/components/schemas/_project_milestone_relationships" type: enum: - project_milestones type: string required: - type example: type: project_milestones attributes: date: '2026-10-22' note: Moved by one week. required: - data example: data: type: project_milestones attributes: date: '2026-10-22' note: Moved by one week. required: true description: Request body for updating a project milestone. All attributes are optional; only provided attributes are changed. project_preference: content: application/vnd.api+json: schema: type: object description: JSON:API document wrapping the project preference data. properties: data: type: object description: The project preference resource data object. properties: attributes: "$ref": "#/components/schemas/_project_preference_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_project_preference_relationships" - {} type: enum: - project_preferences type: string required: - type - relationships example: type: project_preferences attributes: person_id: 12 project_id: 6899 tasks_layout_id: 104 watched: true required: - data example: data: type: project_preferences attributes: person_id: 12 project_id: 6899 tasks_layout_id: 104 watched: true required: true description: Request body for creating or updating a project preference. project_preference_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_project_preference_attributes" relationships: "$ref": "#/components/schemas/_project_preference_relationships" type: enum: - project_preferences type: string required: - type required: - data required: true project_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_project_update_attributes" relationships: "$ref": "#/components/schemas/_project_update_relationships" type: enum: - projects type: string required: - type required: - data required: true proposal: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_proposal_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_proposal_create_relationships" - {} type: enum: - proposals type: string required: - type - attributes - relationships required: - data required: true proposal_identity_confirmation: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: token: "$ref": "#/components/schemas/resource_proposal_identity_confirmation/properties/token" required: - token type: enum: - proposals type: string required: - type - attributes required: - data required: true booking: content: application/vnd.api+json: schema: type: object description: Request body for updating a booking. properties: data: type: object description: The JSON:API data object containing the booking resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_booking_update_attributes" relationships: "$ref": "#/components/schemas/_booking_relationships" type: enum: - bookings type: string required: - type example: type: bookings attributes: person_id: 1234501 service_id: 987654 started_on: '2026-10-19' ended_on: '2026-10-23' booking_method_id: 1 time: 480 note: Sprint 42 frontend work required: - data example: data: type: bookings attributes: person_id: 1234501 service_id: 987654 started_on: '2026-10-19' ended_on: '2026-10-23' booking_method_id: 1 time: 480 note: Sprint 42 frontend work required: true description: Request body for creating or updating a booking. proposal_publish: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: link_status: "$ref": "#/components/schemas/resource_proposal/properties/link_status" required: - link_status type: enum: - proposals type: string required: - type - attributes required: - data required: true proposal_send: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: bcc: type: array items: type: string body: type: string cc: type: array items: type: string from: type: string publish_proposal: type: boolean subject: type: string to: type: array items: type: string required: - to - subject - body relationships: type: object properties: attachment: "$ref": "#/components/schemas/_collection_linkage" type: enum: - proposals type: string required: - type - attributes required: - data required: true proposal_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_proposal_update_attributes" relationships: "$ref": "#/components/schemas/_proposal_update_relationships" type: enum: - proposals type: string required: - type required: - data required: true public_proposal_decline: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: decline_reason: type: string maxLength: 5000 responder_email: type: string maxLength: 255 responder_name: type: string maxLength: 255 required: - responder_name - responder_email - decline_reason type: enum: - proposals type: string required: - type - attributes required: - data required: true public_proposal_file_presign: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: file_name: type: string required: - file_name type: enum: - proposals type: string required: - type - attributes required: - data required: true public_proposal_unlock: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: password: type: string required: - password type: enum: - proposals type: string required: - type - attributes required: - data required: true pulse: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a pulse. properties: data: type: object description: The JSON:API data object containing the pulse resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_pulse_create_attributes" relationships: type: object properties: filter: "$ref": "#/components/schemas/_single_linkage" required: - filter type: enum: - pulses type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: pulses attributes: score: 8 comment: Great sprint — shipped the auth feature on time relationships: project: data: type: projects id: '6899' required: true description: Request body for creating or updating a pulse. pulse_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_pulse_update_attributes" relationships: type: object properties: filter: "$ref": "#/components/schemas/_single_linkage" type: enum: - pulses type: string required: - type required: - data required: true purchase_order: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a purchase order. properties: data: type: object description: The purchase order resource object. properties: attributes: "$ref": "#/components/schemas/_purchase_order_create_attributes" relationships: type: object properties: attachment: "$ref": "#/components/schemas/_single_linkage_nullable" deal: "$ref": "#/components/schemas/_single_linkage" document_type: "$ref": "#/components/schemas/_single_linkage" vendor: "$ref": "#/components/schemas/_single_linkage" type: enum: - purchase_orders type: string required: - type - attributes example: type: purchase_orders attributes: subject: Purchase Order PO-2024-017 status_id: 1 currency: USD deal_id: 456789 vendor_id: 234567 issued_on: '2026-04-10' delivery_on: '2026-04-17' sent_on: '2026-04-10' note: Please confirm delivery date for the attached items. subscriber_ids: - 345678 - 456789 attachment_id: 89012 document_type_id: 12 required: - data example: data: type: purchase_orders attributes: subject: Purchase Order PO-2024-017 status_id: 1 currency: USD deal_id: 456789 vendor_id: 234567 issued_on: '2026-04-10' delivery_on: '2026-04-17' sent_on: '2026-04-10' note: Please confirm delivery date for the attached items. subscriber_ids: - 345678 - 456789 attachment_id: 89012 document_type_id: 12 required: true description: Request body for creating or updating a purchase order. Specify the vendor company, deal (budget), document type, subject, status, dates, currency, note, and footer. Line items (expenses) are managed via associated bill records. purchase_order_copy: content: application/vnd.api+json: schema: type: object description: JSON:API envelope for the copy payload. properties: data: type: object properties: attributes: type: object description: Attributes controlling where and from which template to copy the purchase order. example: template_id: 7890 deal_id: 456789 relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage" template: "$ref": "#/components/schemas/_single_linkage" required: - template - deal type: enum: - purchase_orders type: string required: - type - relationships example: type: purchase_orders attributes: template_id: 7890 deal_id: 456789 required: - data example: data: type: purchase_orders attributes: template_id: 7890 deal_id: 456789 required: true description: Payload for copying an existing purchase order onto a target deal. Requires `template_id` and `deal_id`. purchase_order_export: content: application/vnd.api+json: schema: type: object description: JSON:API envelope for the Xero export payload. properties: data: type: object properties: attributes: type: object description: Xero-specific attributes used when exporting the purchase order. properties: company_reference_id: type: string description: Identifier of the Xero contact the purchase order is linked to. example: xero-contact-xyz xero_status_id: type: integer description: Xero-side status to apply to the exported purchase order. example: 1 example: company_reference_id: xero-contact-xyz xero_status_id: 1 type: enum: - purchase_orders type: string required: - type example: type: purchase_orders attributes: company_reference_id: xero-contact-xyz xero_status_id: 1 required: - data example: data: type: purchase_orders attributes: company_reference_id: xero-contact-xyz xero_status_id: 1 required: true description: Payload for exporting a purchase order to a connected Xero accounting integration. purchase_order_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - purchase_orders type: string example: purchase_orders required: - id - type example: type: purchase_orders id: '1234567' minItems: 1 example: - type: purchase_orders id: '1234567' - type: purchase_orders id: '1234568' required: - data example: data: - type: purchase_orders id: '1234567' - type: purchase_orders id: '1234568' required: true purchase_order_send: content: application/vnd.api+json: schema: type: object description: JSON:API envelope for the send-email payload. properties: data: type: object properties: attributes: type: object description: Email attributes (recipients, subject, body, attachments). properties: bcc: type: array items: type: string example: recipient@example.com description: List of BCC recipient email addresses. example: [] body: type: string description: Email body. example: |- Hello, Please find the attached purchase order. Best regards. cc: type: array items: type: string example: finance@example.com description: List of CC recipient email addresses. example: - finance@example.com from: type: string description: Sender email address. Must belong to a connected email integration account. example: buyer@example.com subject: type: string description: Short title or reference shown at the top of the purchase order document. example: Purchase Order PO-2024-017 to: type: array items: type: string example: vendor@example.com description: List of recipient email addresses. At least one is required. example: - vendor@example.com required: - to - subject - body example: to: - vendor@example.com subject: Purchase Order PO-2024-017 body: |- Hello, Please find the attached purchase order. Best regards. relationships: type: object properties: attachment: "$ref": "#/components/schemas/_collection_linkage" type: enum: - purchase_orders type: string required: - type - attributes example: type: purchase_orders attributes: to: - vendor@example.com subject: Purchase Order PO-2024-017 body: |- Hello, Please find the attached purchase order. Best regards. required: - data example: data: type: purchase_orders attributes: to: - vendor@example.com subject: Purchase Order PO-2024-017 body: |- Hello, Please find the attached purchase order. Best regards. required: true description: Payload for sending a purchase order to the vendor via email. On success the purchase order is marked as sent today. purchase_order_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_purchase_order_update_attributes" relationships: type: object properties: attachment: "$ref": "#/components/schemas/_single_linkage_nullable" deal: "$ref": "#/components/schemas/_single_linkage" document_type: "$ref": "#/components/schemas/_single_linkage" vendor: "$ref": "#/components/schemas/_single_linkage" type: enum: - purchase_orders type: string required: - type required: - data required: true rate_card_copy: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: name: "$ref": "#/components/schemas/resource_rate_card/properties/name" price_ids: type: array items: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer relationships: type: object properties: template: "$ref": "#/components/schemas/_single_linkage" required: - template type: enum: - rate_cards type: string required: - type - relationships required: - data required: true rate_card_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: name: allOf: - "$ref": "#/components/schemas/resource_rate_card/properties/name" - maxLength: 140 relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" type: enum: - rate_cards type: string required: - type required: - data required: true report_category_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: color_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer name: "$ref": "#/components/schemas/resource_report_category/properties/name" position: "$ref": "#/components/schemas/resource_report_category/properties/position" type: enum: - report_categories type: string required: - type required: - data required: true resource_request: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_resource_request_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_resource_request_relationships" - {} type: enum: - resource_requests type: string required: - type - attributes - relationships required: - data required: true rate_card: content: application/vnd.api+json: schema: type: object description: Request body schema for a rate card. properties: data: type: object description: The rate card resource object. properties: attributes: type: object description: Rate card attributes. properties: name: allOf: - "$ref": "#/components/schemas/resource_rate_card/properties/name" - maxLength: 140 description: The display name of the rate card. required: - name example: eq: value relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" type: enum: - rate_cards type: string required: - type - attributes example: eq: value required: - data example: data: type: rate_cards attributes: name: Standard 2026 currency: USD required: true description: Request body for creating or updating a rate card. Specify the name and optional company (for client-specific pricing). Prices within the rate card are managed via the prices endpoint. resource_request_cancel: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: rejected_reason: "$ref": "#/components/schemas/resource_resource_request/properties/rejected_reason" type: enum: - resource_requests type: string required: - type required: - data resource_request_reject: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: rejected_reason: "$ref": "#/components/schemas/resource_resource_request/properties/rejected_reason" type: enum: - resource_requests type: string required: - type required: - data resource_request_resolve: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: bookings: type: array items: type: object required: - bookings type: enum: - resource_requests type: string required: - type - attributes required: - data required: true resource_request_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_resource_request_update_attributes" relationships: "$ref": "#/components/schemas/_resource_request_relationships" type: enum: - resource_requests type: string required: - type required: - data revenue_distribution: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: amount: type: integer amount_percent: allOf: - "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount_percent" - maximum: 100 minimum: 0 end_on: "$ref": "#/components/schemas/resource_revenue_distribution/properties/end_on" start_on: "$ref": "#/components/schemas/resource_revenue_distribution/properties/start_on" required: - start_on - end_on relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage" required: - deal type: enum: - revenue_distributions type: string required: - type - attributes - relationships required: - data required: true revenue_distribution_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: amount: type: integer amount_percent: allOf: - "$ref": "#/components/schemas/resource_revenue_distribution/properties/amount_percent" - maximum: 100 minimum: 0 end_on: "$ref": "#/components/schemas/resource_revenue_distribution/properties/end_on" start_on: "$ref": "#/components/schemas/resource_revenue_distribution/properties/start_on" type: enum: - revenue_distributions type: string required: - type required: - data role: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: base_role_id: "$ref": "#/components/schemas/resource_role/properties/base_role_id" description: "$ref": "#/components/schemas/resource_role/properties/description" name: "$ref": "#/components/schemas/resource_role/properties/name" permissions: "$ref": "#/components/schemas/resource_role/properties/permissions" user_type_id: "$ref": "#/components/schemas/resource_role/properties/user_type_id" required: - name - user_type_id - base_role_id example: eq: value relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - roles type: string required: - type - attributes example: eq: value required: - data example: data: type: roles attributes: name: Project Manager description: Can manage projects, budgets, and team members base_role_id: 2 required: true role_transfer_people: content: application/vnd.api+json: schema: type: object properties: target_role_id: "$ref": "#/components/schemas/_request_id" required: - target_role_id required: true role_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: base_role_id: "$ref": "#/components/schemas/resource_role/properties/base_role_id" description: "$ref": "#/components/schemas/resource_role/properties/description" name: "$ref": "#/components/schemas/resource_role/properties/name" permissions: "$ref": "#/components/schemas/resource_role/properties/permissions" user_type_id: "$ref": "#/components/schemas/resource_role/properties/user_type_id" relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - roles type: string required: - type required: - data salary_set_default: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object relationships: type: object properties: person: "$ref": "#/components/schemas/_single_linkage" required: - person type: enum: - salaries type: string required: - type - relationships required: - data required: true salary_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: alternating_hours: "$ref": "#/components/schemas/resource_salary/properties/alternating_hours" cost: "$ref": "#/components/schemas/resource_salary/properties/cost" currency: "$ref": "#/components/schemas/resource_salary/properties/currency" ended_on: anyOf: - "$ref": "#/components/schemas/resource_salary/properties/ended_on" - type: 'null' title: 'Null' note: "$ref": "#/components/schemas/resource_salary/properties/note" overhead: "$ref": "#/components/schemas/resource_salary/properties/overhead" salary_type_id: enum: - 1 - 2 - 3 - 4 - 5 type: integer started_on: "$ref": "#/components/schemas/resource_salary/properties/started_on" working_hours: type: array items: type: number maxItems: 14 minItems: 14 relationships: type: object properties: holiday_calendar: "$ref": "#/components/schemas/_single_linkage_nullable" person: "$ref": "#/components/schemas/_single_linkage" type: enum: - salaries type: string required: - type required: - data scenario_item: content: application/vnd.api+json: schema: type: object description: Single scenario item record in JSON:API format. properties: data: type: object description: A scenario item resource object. properties: relationships: allOf: - "$ref": "#/components/schemas/_scenario_item_relationships" - {} type: enum: - scenario_items type: string attributes: "$ref": "#/components/schemas/_scenario_item_create_attributes" required: - type - relationships example: type: scenario_items attributes: scenario_service_id: 201 person_id: 7 used_quantity: '40.0' start_date: '2026-03-02' end_date: '2026-04-24' required: - data example: data: type: scenario_items attributes: scenario_service_id: 201 person_id: 7 used_quantity: '40.0' start_date: '2026-03-02' end_date: '2026-04-24' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_scenario_item_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_scenario_item_relationships" - {} type: enum: - scenario_items type: string required: - type - relationships minItems: 1 required: - data required: true description: Request body for creating a scenario item. scenario_item_update: content: application/vnd.api+json: schema: type: object description: Single scenario item record in JSON:API format. properties: data: type: object description: A scenario item resource object. properties: relationships: "$ref": "#/components/schemas/_scenario_item_relationships" type: enum: - scenario_items type: string attributes: "$ref": "#/components/schemas/_scenario_item_update_attributes" required: - type example: type: scenario_items attributes: used_quantity: '48.0' markup: '20.0' id: '301' required: - data example: data: type: scenario_items attributes: used_quantity: '48.0' markup: '20.0' id: '301' required: true description: Request body for updating a scenario item. section_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: description: type: string editor_config: "$ref": "#/components/schemas/resource_section/properties/editor_config" name: allOf: - "$ref": "#/components/schemas/resource_section/properties/name" - maxLength: 255 position: "$ref": "#/components/schemas/resource_section/properties/position" preferences: "$ref": "#/components/schemas/resource_section/properties/preferences" relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage" type: enum: - sections type: string required: - type required: - data required: true send_einvoice: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: business_process: type: string title: Business Process example: urn:fdc:peppol.eu:2017:poacc:billing:01:1.0 format_id: enum: - 1 - 3 - 4 - 5 - 6 - 7 type: integer title: Format example: 1 fiscalize: type: boolean title: Fiscalize required: - format_id example: format_id: 1 type: enum: - invoices type: string required: - type - attributes example: type: send_einvoices attributes: format_id: 1 required: - data example: data: type: send_einvoices attributes: format_id: 1 required: true service: content: application/vnd.api+json: schema: type: object description: JSON:API request envelope for a service. properties: data: type: object description: The JSON:API data object containing the service resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_service_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_service_relationships" - {} type: enum: - services type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: services attributes: name: Frontend Development description: Building React components and user interfaces time_tracking_enabled: true billing_type_id: 1 relationships: deal: data: type: deals id: '89' service_type: data: type: service_types id: '5' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_service_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_service_relationships" - {} type: enum: - services type: string required: - type - attributes - relationships minItems: 1 required: - data required: true description: Request body for creating or updating a service. service_assignment: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a service assignment. properties: data: type: object description: The service assignment resource object. properties: attributes: "$ref": "#/components/schemas/_service_assignment_attributes" relationships: allOf: - "$ref": "#/components/schemas/_service_assignment_relationships" - {} type: enum: - service_assignments type: string required: - type - relationships example: eq: value required: - data example: data: type: service_assignments attributes: billable: true relationships: person: data: type: people id: '12' service: data: type: services id: '1856422' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_service_assignment_attributes" relationships: allOf: - "$ref": "#/components/schemas/_service_assignment_relationships" - {} type: enum: - service_assignments type: string required: - type - relationships minItems: 1 required: - data required: true description: Request body for creating or updating a service assignment. service_assignment_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - service_assignments type: string required: - id - type minItems: 1 required: - data required: true service_assignment_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_service_assignment_update_attributes" relationships: "$ref": "#/components/schemas/_service_assignment_relationships" type: enum: - service_assignments type: string required: - type required: - data required: true service_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - services type: string required: - id - type minItems: 1 required: - data required: true service_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_service_update_attributes" id: "$ref": "#/components/schemas/_request_id" relationships: "$ref": "#/components/schemas/_service_relationships" type: enum: - services type: string required: - id - type minItems: 1 required: - data required: true service_type: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a service type. properties: data: type: object description: The service type resource object. properties: attributes: type: object description: Service type attributes. properties: name: "$ref": "#/components/schemas/resource_service_type/properties/name" description: type: string required: - name example: eq: value relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - service_types type: string required: - type - attributes example: eq: value required: - data example: data: type: service_types attributes: name: Development description: Software development and engineering required: true description: Request body for creating or updating a service type. service_type_assignment: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a service type assignment. properties: data: type: object description: The service type assignment resource object. properties: attributes: "$ref": "#/components/schemas/_service_type_assignment_attributes" relationships: allOf: - "$ref": "#/components/schemas/_service_type_assignment_relationships" - {} type: enum: - service_type_assignments type: string required: - type - relationships example: eq: value required: - data example: data: type: service_type_assignments relationships: person: data: type: people id: '12' service_type: data: type: service_types id: '5' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_service_type_assignment_attributes" relationships: allOf: - "$ref": "#/components/schemas/_service_type_assignment_relationships" - {} type: enum: - service_type_assignments type: string required: - type - relationships minItems: 1 required: - data required: true description: Request body for creating or updating a service type assignment. service_type_assignment_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - service_type_assignments type: string required: - id - type minItems: 1 required: - data required: true service_type_assignment_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_service_type_assignment_update_attributes" relationships: "$ref": "#/components/schemas/_service_type_assignment_relationships" type: enum: - service_type_assignments type: string required: - type required: - data required: true service_type_merge: content: application/vnd.api+json: schema: type: object properties: loser_id: "$ref": "#/components/schemas/_request_id" winner_id: "$ref": "#/components/schemas/_request_id" required: - winner_id - loser_id required: true service_type_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: description: type: string name: "$ref": "#/components/schemas/resource_service_type/properties/name" relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - service_types type: string required: - type required: - data required: true service_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_service_update_attributes" relationships: "$ref": "#/components/schemas/_service_relationships" type: enum: - services type: string required: - type required: - data required: true session: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a session. properties: data: type: object description: The JSON:API data object containing the session resource attributes and relationships. properties: attributes: allOf: - "$ref": "#/components/schemas/_session_form_attributes" - type: object properties: email: type: string user_id: "$ref": "#/components/schemas/_request_id" password: type: string required: - password description: Session attributes. example: eq: value type: enum: - sessions type: string required: - type - attributes example: eq: value required: - data example: data: type: sessions attributes: email: alex.smith@example.com password: "••••••••" required: true description: Request body for creating or updating a session. session_jwt: content: application/vnd.api+json: schema: type: object properties: expires_in: {} organization_id: "$ref": "#/components/schemas/_request_id" organization_membership_id: "$ref": "#/components/schemas/_request_id" person_id: "$ref": "#/components/schemas/_request_id" type: type: string user_email: type: string session_machine: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: allOf: - "$ref": "#/components/schemas/_session_form_attributes" - type: object type: enum: - sessions type: string required: - type - attributes required: - data required: true session_update_firebase_token: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: firebase_token: "$ref": "#/components/schemas/resource_session/properties/firebase_token" type: enum: - sessions type: string required: - type required: - data session_validate_otp: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: otp: type: string type: enum: - sessions type: string required: - type required: - data signup_finalize: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - signups type: string attributes: "$ref": "#/components/schemas/_signup_finalize_attributes" required: - type - attributes required: - data required: true signup_verify: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - signups type: string skill: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_skill_create_attributes" type: enum: - skills type: string required: - type - attributes required: - data required: true skill_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_skill_update_attributes" type: enum: - skills type: string required: - type required: - data sso_configuration_force_sso_login: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: force_sso_login: "$ref": "#/components/schemas/resource_sso_configuration/properties/force_sso_login" type: enum: - sso_configurations type: string required: - type required: - data subsidiary_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_subsidiary_update_attributes" relationships: "$ref": "#/components/schemas/_subsidiary_update_relationships" type: enum: - subsidiaries type: string required: - type required: - data survey: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a survey. properties: data: type: object description: The JSON:API data object containing the survey resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_survey_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_survey_relationships" - {} type: enum: - surveys type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: surveys attributes: title: Client Satisfaction Q1 2026 relationships: project: data: type: projects id: '6899' required: true description: Request body for creating or updating a survey. Specify the project, name, and configuration. Survey fields are managed separately via the survey_fields endpoint. survey_copy: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_survey_copy_attributes" relationships: type: object properties: project: "$ref": "#/components/schemas/_single_linkage" template: "$ref": "#/components/schemas/_single_linkage" required: - template - project type: enum: - surveys type: string required: - type - attributes - relationships required: - data required: true survey_field: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a survey field. properties: data: type: object description: The survey field resource object. properties: attributes: "$ref": "#/components/schemas/_survey_field_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_survey_field_relationships" - {} type: enum: - survey_fields type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: surveys attributes: title: Client Satisfaction Q1 2026 relationships: project: data: type: projects id: '6899' required: true description: Request body for creating or updating a survey field. Specify the survey, field type (data_type_id), label, position, required flag, and optional description. For dropdown fields, add options via the survey_field_options endpoint. survey_field_option: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a survey field option. properties: data: type: object description: The survey field option resource object. properties: attributes: "$ref": "#/components/schemas/_survey_field_option_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_survey_field_option_relationships" - {} type: enum: - survey_field_options type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: survey_field_options attributes: label: Very Satisfied value: '5' relationships: survey_field: data: type: survey_fields id: '45' required: true description: Request body for creating or updating a survey field option. Specify the parent survey field, option label, and position. survey_field_option_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_survey_field_option_update_attributes" relationships: "$ref": "#/components/schemas/_survey_field_option_relationships" type: enum: - survey_field_options type: string required: - type required: - data required: true survey_field_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_survey_field_update_attributes" relationships: "$ref": "#/components/schemas/_survey_field_relationships" type: enum: - survey_fields type: string required: - type required: - data required: true survey_response: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a survey response. properties: data: type: object description: The survey response resource object. properties: attributes: "$ref": "#/components/schemas/_survey_response_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_survey_response_relationships" - {} type: enum: - survey_responses type: string required: - type - relationships example: eq: value required: - data example: data: type: survey_responses attributes: answers: '45': 5 relationships: survey: data: type: surveys id: '7' required: true description: Request body for submitting a survey response. Specify the parent survey and the field values as a hash keyed by survey_field_id. survey_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_survey_update_attributes" relationships: "$ref": "#/components/schemas/_survey_relationships" type: enum: - surveys type: string required: - type required: - data required: true task_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - tasks type: string required: - id - type minItems: 1 required: - data required: true task_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_task_update_attributes" id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer relationships: "$ref": "#/components/schemas/_task_update_relationships" type: enum: - tasks type: string required: - id - type maxItems: 100 minItems: 1 required: - data required: true task_copy: content: application/vnd.api+json: schema: type: object description: Single task record in JSON:API format. properties: data: type: object description: A task resource object. properties: attributes: "$ref": "#/components/schemas/_task_copy_attributes" relationships: type: object properties: parent_task: "$ref": "#/components/schemas/_single_linkage" project: "$ref": "#/components/schemas/_single_linkage" task_list: "$ref": "#/components/schemas/_single_linkage_nullable" template: "$ref": "#/components/schemas/_single_linkage" workflow_status: "$ref": "#/components/schemas/_single_linkage" required: - template - project - workflow_status type: enum: - tasks type: string required: - type - attributes - relationships example: type: tasks attributes: title: 'Copy of: Triage incoming support ticket' template_id: 123456 project_id: 999 task_list_id: 4242 workflow_status_id: 1 private: false copy_assignee: true copy_description: true copy_open_todos: true copy_date: true required: - data example: data: type: tasks attributes: title: 'Copy of: Triage incoming support ticket' template_id: 123456 project_id: 999 task_list_id: 4242 workflow_status_id: 1 private: false copy_assignee: true copy_description: true copy_open_todos: true copy_date: true application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: relationships: type: object properties: parent_task: "$ref": "#/components/schemas/_single_linkage" project: "$ref": "#/components/schemas/_single_linkage" task_list: "$ref": "#/components/schemas/_single_linkage_nullable" template: "$ref": "#/components/schemas/_single_linkage" workflow_status: "$ref": "#/components/schemas/_single_linkage" required: - template - project - workflow_status attributes: "$ref": "#/components/schemas/_task_copy_attributes" type: enum: - tasks type: string required: - type - attributes - relationships maxItems: 100 minItems: 1 required: - data required: true description: 'Request body for copying a task — pass the source `template_id` and target placement (`project_id`, `task_list_id`, `workflow_status_id`). Optionally set `parent_task_id` to copy as a subtask, or `copy_as_task_template: true` + `template_description` to register the result as a reusable task template.' task_dependency: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a task dependency. properties: data: type: object description: The task dependency resource object. properties: attributes: "$ref": "#/components/schemas/_task_dependency_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_task_dependency_create_relationships" - {} type: enum: - task_dependencies type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: task_dependencies attributes: dependency_type: blocking relationships: task: data: type: tasks id: '120501' blocking_task: data: type: tasks id: '120500' required: true description: Request body for creating a task dependency. Specify the source task, the dependent task, and the dependency type (blocking, waiting_on, or linked). A reverse dependency is automatically created on the dependent task. task_dependency_update: content: application/vnd.api+json: schema: type: object description: Request body for updating a task dependency. properties: data: type: object description: The task dependency resource object. properties: attributes: "$ref": "#/components/schemas/_task_dependency_update_attributes" type: enum: - task_dependencies type: string required: - type - attributes example: type: task_dependencies attributes: type_id: 2 required: - data example: data: type: task_dependencies attributes: type_id: 2 required: true description: Request body for updating a task dependency. task_list: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a task list. properties: data: type: object description: The task list resource object. properties: attributes: "$ref": "#/components/schemas/_task_list_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_task_list_relationships" - {} type: enum: - task_lists type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: task_lists attributes: name: Sprint 42 relationships: project: data: type: projects id: '6899' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_task_list_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_task_list_relationships" - {} type: enum: - task_lists type: string required: - type - attributes - relationships minItems: 1 required: - data required: true description: Request body for creating or updating a task list. Specify the project, optional folder, name, position, and placement. Use archived_at to archive the list. task_list_copy: content: application/vnd.api+json: schema: type: object description: JSON:API request envelope for the task list copy operation. properties: data: type: object description: The resource object being created. `type` must be `task_lists`. properties: attributes: "$ref": "#/components/schemas/_task_list_copy_attributes" relationships: type: object properties: folder: "$ref": "#/components/schemas/_single_linkage" project: "$ref": "#/components/schemas/_single_linkage" template: "$ref": "#/components/schemas/_single_linkage" required: - template - project - folder type: enum: - task_lists type: string required: - type - attributes - relationships example: type: task_lists attributes: name: Sprint 5 (copy) template_id: 884412 project_id: 31002 folder_id: 7781 required: - data example: data: type: task_lists attributes: name: Sprint 5 (copy) template_id: 884412 project_id: 31002 folder_id: 7781 application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_task_list_copy_attributes" relationships: type: object properties: folder: "$ref": "#/components/schemas/_single_linkage" project: "$ref": "#/components/schemas/_single_linkage" template: "$ref": "#/components/schemas/_single_linkage" required: - template - project - folder type: enum: - task_lists type: string required: - type - attributes - relationships minItems: 1 required: - data required: true description: Request body for copying a task list — see the operation description for the full set of `copy_*` flags and their effects. task_list_move: content: application/vnd.api+json: schema: type: object description: JSON:API request envelope for the task list move operation. properties: data: type: object description: The resource object being updated. `type` must be `task_lists`. properties: attributes: type: object description: Attributes controlling the move. `folder_id` is required; `map` is required only when the target project uses a different workflow than the source. properties: map: type: object additionalProperties: "$ref": "#/components/schemas/_request_id" description: Workflow status ID mapping, required when the target project uses a different workflow than the source. Keys are source workflow status IDs, values are the target workflow status IDs to remap each task to. example: '101': 205 '102': 206 '103': 207 example: folder_id: 9912 map: '101': 205 '102': 206 '103': 207 relationships: type: object properties: folder: "$ref": "#/components/schemas/_single_linkage" required: - folder type: enum: - task_lists type: string required: - type - relationships example: type: task_lists attributes: folder_id: 9912 map: '101': 205 '102': 206 '103': 207 required: - data example: data: type: task_lists attributes: folder_id: 9912 map: '101': 205 '102': 206 '103': 207 required: true description: Request body for moving a task list to a different folder, optionally remapping task workflow statuses. task_list_reposition: content: application/vnd.api+json: schema: type: object description: JSON:API request envelope for the task list reposition operation. properties: data: type: object description: The resource object being repositioned. `type` must be `task_lists`. properties: attributes: type: object description: Attributes controlling placement. Provide `move_before_id`, `move_after_id`, or both to position the task list relative to its siblings. properties: move_after_id: anyOf: - type: integer title: Integer - type: 'null' title: 'Null' description: Place the task list directly after the task list with this ID. When both `move_before_id` and `move_after_id` are given, the task list is placed between them. example: 7741 move_before_id: anyOf: - type: integer title: Integer - type: 'null' title: 'Null' description: Place the task list directly before the task list with this ID. example: 7740 example: move_after_id: 7740 type: enum: - task_lists type: string required: - type example: type: task_lists attributes: move_after_id: 7740 required: - data example: data: type: task_lists attributes: move_after_id: 7740 required: true description: Request body for reordering a task list relative to its sibling task lists. task_list_update: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a task list. properties: data: type: object description: The task list resource object. properties: attributes: "$ref": "#/components/schemas/_task_list_update_attributes" relationships: "$ref": "#/components/schemas/_task_list_relationships" type: enum: - task_lists type: string required: - type example: type: task_lists attributes: name: Sprint 5 (renamed) required: - data example: data: type: task_lists attributes: name: Sprint 5 (renamed) required: true description: Request body for creating or updating a task list. Specify the project, optional folder, name, position, and placement. Use archived_at to archive the list. task_reposition: content: application/vnd.api+json: schema: type: object description: Single task record in JSON:API format. properties: data: type: object description: A task resource object. properties: attributes: type: object description: Attributes describing the reorder — relative position and scope. properties: move_after_id: anyOf: - type: integer title: Integer - type: 'null' title: 'Null' description: Place the task directly after the task with this ID. When both `move_before_id` and `move_after_id` are passed, the task is placed between them. example: 555 move_before_id: anyOf: - type: integer title: Integer - type: 'null' title: 'Null' description: Place the task directly before the task with this ID. example: 555 subtask: type: boolean description: When `true`, reorder within the parent task's subtask order instead of within the task list. Defaults to `false`. example: true example: move_after_id: 555 type: enum: - tasks type: string required: - type example: type: tasks attributes: move_after_id: 555 required: - data example: data: type: tasks attributes: move_after_id: 555 required: true description: 'Request body for reordering a task — pass `move_before_id` and/or `move_after_id` to position relative to siblings. Set `subtask: true` to reorder within a parent task''s subtasks instead of within the task list.' tax_rate_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: name: "$ref": "#/components/schemas/resource_tax_rate/properties/name" primary_component_name: anyOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" - type: 'null' title: 'Null' primary_component_value: anyOf: - allOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_value" - maximum: 100 minimum: -100 title: Value - type: 'null' title: 'Null' secondary_component_name: anyOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_name" - type: 'null' title: 'Null' secondary_component_value: anyOf: - allOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_value" - maximum: 100 minimum: -100 title: Value - type: 'null' title: 'Null' relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage" type: enum: - tax_rates type: string required: - type required: - data required: true team: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a team. properties: data: type: object description: The JSON:API data object containing the team resource attributes and relationships. properties: attributes: type: object description: Team attributes. properties: color_id: "$ref": "#/components/schemas/resource_team/properties/color_id" icon_id: "$ref": "#/components/schemas/resource_team/properties/icon_id" name: "$ref": "#/components/schemas/resource_team/properties/name" required: - name example: eq: value relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - teams type: string required: - type - attributes example: eq: value required: - data example: data: type: teams attributes: name: Engineering color_id: '5' icon_id: '2' required: true description: Request body for creating or updating a team. Specify the team name. Members are managed via the team_memberships endpoint. team_membership: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a team membership. properties: data: type: object description: The team membership resource object. properties: attributes: type: object description: Team membership attributes. example: eq: value relationships: type: object properties: person: "$ref": "#/components/schemas/_single_linkage" team: "$ref": "#/components/schemas/_single_linkage" required: - person - team type: enum: - team_memberships type: string required: - type - relationships example: eq: value required: - data example: data: type: team_memberships relationships: person: data: type: people id: '12' team: data: type: teams id: '3' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: type: object type: enum: - team_memberships type: string relationships: type: object properties: person: "$ref": "#/components/schemas/_single_linkage" team: "$ref": "#/components/schemas/_single_linkage" required: - person - team required: - type - relationships minItems: 1 required: - data required: true description: Request body for creating or deleting a team membership. Specify the team and person to add as a member. team_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: color_id: "$ref": "#/components/schemas/resource_team/properties/color_id" icon_id: "$ref": "#/components/schemas/resource_team/properties/icon_id" name: "$ref": "#/components/schemas/resource_team/properties/name" relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - teams type: string required: - type required: - data required: true template_copy: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: copy_attributes: anyOf: - "$ref": "#/components/schemas/resource_template/properties/copy_attributes" - type: 'null' title: 'Null' description: anyOf: - type: string title: String - type: 'null' title: 'Null' model_attributes: anyOf: - "$ref": "#/components/schemas/resource_template/properties/model_attributes" - type: 'null' title: 'Null' name: type: string maxLength: 255 required: - name relationships: type: object properties: template: "$ref": "#/components/schemas/_single_linkage" required: - template type: enum: - templates type: string required: - type - attributes - relationships required: - data required: true template_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: description: anyOf: - type: string title: String - type: 'null' title: 'Null' model_attributes: anyOf: - "$ref": "#/components/schemas/resource_template/properties/model_attributes" - type: 'null' title: 'Null' name: type: string type: enum: - templates type: string required: - type required: - data required: true time_entry: content: application/vnd.api+json: schema: type: object description: JSON:API request body for a time entry. properties: data: type: object description: The time entry resource object to create or update. properties: attributes: "$ref": "#/components/schemas/_time_entry_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_time_entry_relationships" - {} type: enum: - time_entries type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: time_entries attributes: date: '2026-03-15' time: 480 note: Implemented user authentication flow relationships: person: data: type: people id: '12' service: data: type: services id: '1856422' task: data: type: tasks id: '120501' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_time_entry_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_time_entry_relationships" - {} type: enum: - time_entries type: string required: - type - attributes - relationships maxItems: 100 minItems: 1 required: - data required: true description: Request body for creating or updating a time entry. time_entry_approval: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: note: type: string rejected_reason: type: string relationships: type: object properties: approver: "$ref": "#/components/schemas/_single_linkage" type: enum: - time_entries type: string required: - type time_entry_bulk_approve: content: application/vnd.api+json; ext=bulk: schema: type: object properties: approver_id: type: integer description: Approve on behalf of this designated approver only. Requires the "Approve all time entries" permission when it is not the current person (403 otherwise). Returns 422 when the value is not an integer, is combined with for_all_approvers, the approver is unknown, or the approver has no pending approvals on the selected time entries. The 422 error points at data/attributes/approver_id. data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - time_entries type: string required: - id - type maxItems: 100 minItems: 1 for_all_approvers: type: boolean description: Approve on behalf of every approver on the selected time entries. Requires the "Approve all time entries" permission; ignored otherwise. Cannot be combined with approver_id. required: - data required: true time_entry_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - time_entries type: string required: - id - type maxItems: 100 minItems: 1 required: - data required: true time_entry_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_time_entry_update_attributes" id: "$ref": "#/components/schemas/_request_id" relationships: "$ref": "#/components/schemas/_time_entry_relationships" type: enum: - time_entries type: string required: - id - type maxItems: 100 minItems: 1 required: - data required: true time_entry_mark_as_invoiced: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: invoice_attribution_id: "$ref": "#/components/schemas/_request_id" time_entry_ids: type: array items: "$ref": "#/components/schemas/_request_id" required: - time_entry_ids required: - data required: true time_entry_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_time_entry_update_attributes" relationships: "$ref": "#/components/schemas/_time_entry_relationships" type: enum: - time_entries type: string required: - type required: - data required: true time_tracking_policy: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a time tracking policy. properties: data: type: object description: The time tracking policy resource object. properties: attributes: allOf: - "$ref": "#/components/schemas/_time_tracking_policy_attributes" - {} description: Time tracking policy attributes. example: eq: value type: enum: - time_tracking_policies type: string required: - type - attributes example: eq: value required: - data example: data: type: time_tracking_policies attributes: name: Standard Policy requires_service: true daily_limit: 720 required: true description: Request body for creating or updating a time tracking policy. time_tracking_policy_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_time_tracking_policy_attributes" type: enum: - time_tracking_policies type: string required: - type required: - data required: true timesheet: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a timesheet. properties: data: type: object description: The JSON:API data object containing the timesheet resource attributes and relationships. properties: attributes: type: object description: Timesheet attributes. properties: date: "$ref": "#/components/schemas/resource_timesheet/properties/date" required: - date example: eq: value relationships: type: object properties: person: "$ref": "#/components/schemas/_single_linkage" required: - person type: enum: - timesheets type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: timesheets attributes: status: submitted relationships: person: data: type: people id: '12' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: type: object properties: date: "$ref": "#/components/schemas/resource_timesheet/properties/date" required: - date relationships: type: object properties: person: "$ref": "#/components/schemas/_single_linkage" required: - person type: enum: - timesheets type: string required: - type - attributes - relationships maxItems: 100 minItems: 1 required: - data required: true description: Request body for creating or updating a timesheet. timesheet_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - timesheets type: string required: - id - type minItems: 1 required: - data required: true todo: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a todo. properties: data: type: object description: The JSON:API data object containing the todo resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_todo_create_attributes" relationships: "$ref": "#/components/schemas/_todo_relationships" type: enum: - todos type: string required: - type - attributes example: eq: value required: - data example: data: type: todos attributes: description: Write unit tests for authentication module due_date: '2026-03-20' relationships: task: data: type: tasks id: '120501' assignee: data: type: people id: '12' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_todo_create_attributes" relationships: "$ref": "#/components/schemas/_todo_relationships" type: enum: - todos type: string required: - type - attributes maxItems: 50 minItems: 1 required: - data required: true description: Request body for creating or updating a todo (checklist item). Specify the description, parent resource (task or deal), optional assignee, due date, due time, and position. Set closed_at to mark as complete. todo_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - todos type: string required: - id - type minItems: 1 required: - data required: true todo_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_todo_update_attributes" id: "$ref": "#/components/schemas/_request_id" relationships: "$ref": "#/components/schemas/_todo_relationships" type: enum: - todos type: string required: - id - type maxItems: 50 minItems: 1 required: - data required: true todo_update: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a todo. properties: data: type: object description: The JSON:API data object containing the todo resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_todo_update_attributes" relationships: "$ref": "#/components/schemas/_todo_relationships" type: enum: - todos type: string required: - type example: type: todos attributes: closed: true required: - data example: data: type: todos attributes: closed: true required: true description: Request body for creating or updating a todo (checklist item). Specify the description, parent resource (task or deal), optional assignee, due date, due time, and position. Set closed_at to mark as complete. two_factor_authentication: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - two_factor_authentications type: string attributes: type: object properties: otp: "$ref": "#/components/schemas/resource_two_factor_authentication/properties/otp" password: "$ref": "#/components/schemas/resource_two_factor_authentication/properties/password" required: - otp - password required: - type - attributes required: - data required: true two_factor_authentication_disable: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: password: "$ref": "#/components/schemas/resource_two_factor_authentication/properties/password" required: - password type: enum: - two_factor_authentications type: string required: - type - attributes required: - data required: true user_update_password: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: current_password: type: string password: type: string maxLength: 72 minLength: 12 required: - current_password - password type: enum: - users type: string required: - type - attributes required: - data required: true webhook: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a webhook. properties: data: type: object description: The JSON:API data object containing the webhook resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_webhook_create_attributes" type: enum: - webhooks type: string required: - type - attributes example: eq: value required: - data example: data: type: webhooks attributes: url: https://hooks.example.com/productive events: - task.created - time_entry.created active: true required: true description: Request body for creating or updating a webhook. webhook_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - webhooks type: string attributes: "$ref": "#/components/schemas/_webhook_update_attributes" required: - type required: - data required: true widget: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a widget. properties: data: type: object description: The JSON:API data object containing the widget resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_widget_create_attributes" relationships: "$ref": "#/components/schemas/_widget_relationships" type: enum: - widgets type: string required: - type - attributes example: eq: value required: - data example: data: type: widgets attributes: title: Revenue by Project widget_type_id: 3 column_position: 0 row_position: 0 width: 6 height: 4 relationships: dashboard: data: type: dashboards id: '34' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_widget_create_attributes" relationships: "$ref": "#/components/schemas/_widget_relationships" type: enum: - widgets type: string required: - type - attributes required: - data required: true description: Request body for creating or updating a widget. widget_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_widget_update_attributes" id: "$ref": "#/components/schemas/_request_id" relationships: "$ref": "#/components/schemas/_widget_relationships" type: enum: - widgets type: string required: - id - type required: - data required: true widget_move: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: column_position: "$ref": "#/components/schemas/resource_widget/properties/column_position" row_position: "$ref": "#/components/schemas/resource_widget/properties/row_position" relationships: type: object properties: dashboard: "$ref": "#/components/schemas/_single_linkage" required: - dashboard type: enum: - widgets type: string required: - type - relationships required: - data required: true widget_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_widget_update_attributes" relationships: "$ref": "#/components/schemas/_widget_relationships" type: enum: - widgets type: string required: - type required: - data required: true workflow: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a workflow. properties: data: type: object description: The JSON:API data object containing the workflow resource attributes and relationships. properties: attributes: allOf: - "$ref": "#/components/schemas/_workflow_attributes" - {} description: Workflow attributes. example: eq: value relationships: "$ref": "#/components/schemas/_workflow_relationships" type: enum: - workflows type: string required: - type - attributes example: eq: value required: - data example: data: type: workflows attributes: name: Development Workflow required: true description: Request body for creating or updating a workflow. Specify the name and optional archived_at. Workflow statuses are managed separately via the workflow_statuses endpoint. workflow_status: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a workflow status. properties: data: type: object description: The workflow status resource object. properties: attributes: allOf: - "$ref": "#/components/schemas/_workflow_status_attributes" - {} description: Workflow status attributes. example: eq: value relationships: allOf: - "$ref": "#/components/schemas/_workflow_status_relationships" - {} type: enum: - workflow_statuses type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: workflow_statuses attributes: name: In Review color_id: '6' category_id: 2 relationships: workflow: data: type: workflows id: '75' required: true description: Request body for creating or updating a workflow status. Specify the parent workflow, name, category (not_started, started, or closed), position, and optional color. workflow_status_delete: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object relationships: type: object properties: target_workflow_status: "$ref": "#/components/schemas/_single_linkage" required: - target_workflow_status type: enum: - workflow_statuses type: string required: - type - relationships required: - data required: true workflow_status_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_workflow_status_attributes" relationships: "$ref": "#/components/schemas/_workflow_status_relationships" type: enum: - workflow_statuses type: string required: - type required: - data required: true workflow_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: "$ref": "#/components/schemas/_workflow_attributes" relationships: "$ref": "#/components/schemas/_workflow_relationships" type: enum: - workflows type: string required: - type required: - data required: true booking_reject: content: application/vnd.api+json: schema: type: object description: Request body for rejecting a booking. properties: data: type: object description: The JSON:API data object containing the rejection attributes. properties: attributes: type: object description: Rejection attributes. properties: rejected_reason: anyOf: - "$ref": "#/components/schemas/resource_booking/properties/rejected_reason" - type: 'null' title: 'Null' description: Optional reason recorded alongside the rejection. example: rejected_reason: Overlaps with an already approved vacation type: enum: - bookings type: string required: - type example: type: bookings attributes: rejected_reason: Overlaps with an already approved vacation required: - data example: data: type: bookings attributes: rejected_reason: Overlaps with an already approved vacation required: true description: Payload for rejecting a booking, with an optional `rejected_reason` attribute. company_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: relationships: "$ref": "#/components/schemas/_company_relationships" attributes: "$ref": "#/components/schemas/_company_update_attributes" id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - companies type: string required: - id - type minItems: 1 required: - data required: true expense_reject: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: note: type: string example: eq: value rejected_reason: type: string example: eq: value relationships: type: object properties: approver: "$ref": "#/components/schemas/_single_linkage" type: enum: - expenses type: string required: - type example: eq: value required: - data example: data: type: expenses attributes: name: Design software license amount: '199.00' currency: USD date: '2026-03-01' billable: true relationships: person: data: type: people id: '12' deal: data: type: deals id: '89' required: true event: content: application/vnd.api+json: schema: type: object description: Request body schema for an absence category. properties: data: type: object description: The absence category resource object. properties: attributes: type: object description: Absence category attributes. properties: absence_type: "$ref": "#/components/schemas/resource_event/properties/absence_type" color_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer - type: 'null' title: 'Null' description: The color ID used to visually distinguish this absence category. event_type_id: "$ref": "#/components/schemas/resource_event/properties/event_type_id" half_day_bookings: "$ref": "#/components/schemas/resource_event/properties/half_day_bookings" icon_id: anyOf: - "$ref": "#/components/schemas/resource_event/properties/icon_id" - type: 'null' title: 'Null' description: The ID of the icon used to represent this absence category in the UI. limitation_type_id: "$ref": "#/components/schemas/resource_event/properties/limitation_type_id" name: "$ref": "#/components/schemas/resource_event/properties/name" sync_personal_integrations: "$ref": "#/components/schemas/resource_event/properties/sync_personal_integrations" description: anyOf: - "$ref": "#/components/schemas/resource_event/properties/description" - type: 'null' title: 'Null' required: - name - event_type_id - limitation_type_id example: eq: value relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - events type: string required: - type - attributes example: eq: value required: - data example: data: type: events attributes: name: Vacation event_type_id: 1 color_id: '7' half_day_bookings: true absence_type: vacation required: true description: Request body for creating or updating an absence category. page_create_with_markdown: content: application/vnd.api+json: schema: type: object description: JSON:API document wrapping the page data. properties: data: type: object description: The page resource object. properties: attributes: type: object description: Attributes of the page to create. `markdown` is required; the rest are the standard page attributes. properties: cover_image_url: anyOf: - "$ref": "#/components/schemas/resource_page/properties/cover_image_url" - type: 'null' title: 'Null' description: URL of the cover image displayed at the top of the page. custom_fields: "$ref": "#/components/schemas/resource_page/properties/custom_fields" icon_id: "$ref": "#/components/schemas/resource_page/properties/icon_id" markdown: type: string description: Markdown source that is converted to the page's rich-text body. Required. example: |- ## Notes This is a paragraph with **bold** text and a [link](https://productive.io). - bullet one - bullet two position: "$ref": "#/components/schemas/resource_page/properties/position" preferences: "$ref": "#/components/schemas/resource_page/properties/preferences" title: allOf: - "$ref": "#/components/schemas/resource_page/properties/title" - maxLength: 255 description: Title of the page. required: - markdown example: title: Project Notes markdown: |- ## Notes This is a paragraph with **bold** text and a [link](https://productive.io). - bullet one - bullet two project_id: 5 icon_id: parent_page_id: position: 1 public_access: false relationships: type: object properties: attachments: "$ref": "#/components/schemas/_collection_linkage" parent_page: "$ref": "#/components/schemas/_single_linkage_nullable" project: "$ref": "#/components/schemas/_single_linkage_nullable" root_page: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - pages type: string required: - type - attributes example: type: pages attributes: title: Project Notes markdown: |- ## Notes This is a paragraph with **bold** text and a [link](https://productive.io). - bullet one - bullet two project_id: 5 icon_id: parent_page_id: position: 1 public_access: false required: - data example: data: type: pages attributes: title: Project Notes markdown: |- ## Notes This is a paragraph with **bold** text and a [link](https://productive.io). - bullet one - bullet two project_id: 5 icon_id: parent_page_id: position: 1 public_access: false required: true description: Request body for creating a new page from markdown. The `markdown` attribute is required and is converted server-side to the page's rich-text body. All standard page attributes (title, icon, parent, project, custom fields, etc.) can be set in the same request. custom_field_section: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a custom field section. properties: data: type: object description: The custom field section resource object. properties: attributes: type: object description: Custom field section attributes. properties: customizable_type: enum: - employees type: string description: The resource type this section groups custom fields for (e.g. task, deal, person). name: "$ref": "#/components/schemas/resource_custom_field_section/properties/name" position: "$ref": "#/components/schemas/resource_custom_field_section/properties/position" description: anyOf: - type: string title: String - type: 'null' title: 'Null' required: - name example: eq: value type: enum: - custom_field_sections type: string required: - type - attributes example: eq: value required: - data example: data: type: custom_fields attributes: name: Priority field_type: dropdown required: false filterable: true relationships: custom_field_section: data: type: custom_field_sections id: '12' required: true description: Request body for creating or updating a custom field section. entitlement: content: application/vnd.api+json: schema: type: object description: Request body schema for an entitlement. properties: data: type: object description: The JSON:API data object containing the entitlement resource attributes and relationships. properties: attributes: type: object description: Entitlement attributes. properties: allocated: allOf: - "$ref": "#/components/schemas/resource_entitlement/properties/allocated" - multipleOf: 0.5 description: The number of days (or hours) allocated to the person for this time-off category. end_date: "$ref": "#/components/schemas/resource_entitlement/properties/end_date" event_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer description: The ID of the absence category (event) this entitlement applies to. note: anyOf: - "$ref": "#/components/schemas/resource_entitlement/properties/note" - type: 'null' title: 'Null' description: An optional note explaining the reason for this entitlement. start_date: "$ref": "#/components/schemas/resource_entitlement/properties/start_date" required: - start_date - end_date - allocated example: eq: value relationships: type: object properties: event: "$ref": "#/components/schemas/_single_linkage" person: "$ref": "#/components/schemas/_single_linkage" required: - person type: enum: - entitlements type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: entitlements attributes: start_date: '2026-01-01' end_date: '2026-12-31' allocated: 1200 note: Annual vacation entitlement 2026 relationships: event: data: type: events id: '10' person: data: type: people id: '12' required: true description: Request body for creating or updating an entitlement (time-off balance). Specify the person, event (absence category), date range, and allocated days. The used and pending amounts are system-managed based on booking activity. purchase_order_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_purchase_order_update_attributes" id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - purchase_orders type: string example: purchase_orders relationships: type: object properties: attachment: "$ref": "#/components/schemas/_single_linkage_nullable" deal: "$ref": "#/components/schemas/_single_linkage" document_type: "$ref": "#/components/schemas/_single_linkage" vendor: "$ref": "#/components/schemas/_single_linkage" required: - id - type example: type: purchase_orders id: '1234567' attributes: status_id: 2 delivery_on: '2026-05-01' minItems: 1 example: - type: purchase_orders id: '1234567' attributes: status_id: 2 delivery_on: '2026-05-01' - type: purchase_orders id: '1234568' attributes: status_id: 2 sent_on: '2026-04-14' required: - data example: data: - type: purchase_orders id: '1234567' attributes: status_id: 2 delivery_on: '2026-05-01' - type: purchase_orders id: '1234568' attributes: status_id: 2 sent_on: '2026-04-14' required: true overhead: content: application/vnd.api+json: schema: type: object description: Request body schema for an overhead configuration. properties: data: type: object description: The JSON:API data object containing the overhead resource attributes and relationships. properties: attributes: type: object description: Overhead attributes. properties: averaging_period: anyOf: - type: integer title: Integer maximum: 12 minimum: 1 - type: 'null' title: 'Null' description: The number of months used to average overhead costs. facility_costs: "$ref": "#/components/schemas/resource_overhead/properties/facility_costs" facility_costs_breakdown: "$ref": "#/components/schemas/resource_overhead/properties/facility_costs_breakdown" overhead_controls: type: object additionalProperties: false description: Controls for configuring which cost categories contribute to overhead. properties: exclude_expense_overhead: {} exclude_facility_overhead: {} exclude_overtime_overhead: {} exclude_time_off_overhead: {} exclude_undertime_overhead: {} exclude_work_overhead: {} use_overhead: "$ref": "#/components/schemas/resource_overhead/properties/use_overhead" example: eq: value type: enum: - overheads type: string required: - type example: eq: value required: - data example: data: type: overheads attributes: name: Team Building & Offsites required: true description: Request body for creating or updating an overhead configuration. agent_config_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: instructions: "$ref": "#/components/schemas/resource_agent_config/properties/instructions" ai_model: anyOf: - "$ref": "#/components/schemas/resource_agent_config/properties/ai_model" - type: 'null' title: 'Null' reasoning_effort: anyOf: - "$ref": "#/components/schemas/resource_agent_config/properties/reasoning_effort" - type: 'null' title: 'Null' slack_triggers: "$ref": "#/components/schemas/_agent_config_slack_triggers" type: enum: - agent_configs type: string required: - type required: - data required: true contract_bulk_generate: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: type: object properties: generate_until: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/generate_until" - type: 'null' title: 'Null' id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - contracts type: string required: - id - type maxItems: 36 minItems: 1 required: - data required: true payment_reminder_sequence: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a payment reminder sequence. properties: data: type: object description: The payment reminder sequence resource object. properties: attributes: type: object description: Payment reminder sequence attributes. properties: default_sequence: "$ref": "#/components/schemas/resource_payment_reminder_sequence/properties/default_sequence" name: type: string minLength: 1 description: The name of the payment reminder sequence. required: - name example: eq: value type: enum: - payment_reminder_sequences type: string required: - type - attributes example: eq: value required: - data example: data: type: payment_reminder_sequences attributes: name: Standard Reminder default: true required: true description: Request body for creating or updating a payment reminder sequence. integration_exporter_configuration: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating an integration exporter configuration. properties: data: type: object description: The integration exporter configuration resource object. properties: attributes: type: object description: Integration exporter configuration attributes. properties: company_type: anyOf: - "$ref": "#/components/schemas/resource_integration_exporter_configuration/properties/company_type" - type: 'null' title: 'Null' description: The type of company entity used in the accounting export. datev_client_account_code: type: string description: The DATEV client account code for this company. datev_vendor_account_code: type: string description: The DATEV vendor account code for this company. example: eq: value relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" required: - company type: enum: - integration_exporter_configurations type: string required: - type - relationships example: eq: value required: - data example: data: type: integrations attributes: name: Xero Accounting integration_type_id: 2 relationships: subsidiary: data: type: subsidiaries id: '2' required: true description: Request body for creating or updating an integration exporter configuration. job_role_rate_card: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: currency: "$ref": "#/components/schemas/resource_job_role_rate_card/properties/currency" name: type: string maxLength: 140 required: - name - currency relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" required: - company type: enum: - job_role_rate_cards type: string required: - type - attributes - relationships required: - data required: true agent_config: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: instructions: "$ref": "#/components/schemas/resource_agent_config/properties/instructions" ai_model: anyOf: - "$ref": "#/components/schemas/resource_agent_config/properties/ai_model" - type: 'null' title: 'Null' reasoning_effort: anyOf: - "$ref": "#/components/schemas/resource_agent_config/properties/reasoning_effort" - type: 'null' title: 'Null' slack_triggers: "$ref": "#/components/schemas/_agent_config_slack_triggers" relationships: type: object properties: agent: "$ref": "#/components/schemas/_single_linkage" required: - agent type: enum: - agent_configs type: string required: - type - relationships required: - data required: true description: Request body for creating or updating an agent configuration, including AI behavior instructions and Slack trigger settings. invoiced_budget: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: date_from: anyOf: - "$ref": "#/components/schemas/resource_invoiced_budget/properties/date_from" - type: 'null' title: 'Null' date_to: anyOf: - "$ref": "#/components/schemas/resource_invoiced_budget/properties/date_to" - type: 'null' title: 'Null' relationships: type: object properties: budget: "$ref": "#/components/schemas/_single_linkage" invoice: "$ref": "#/components/schemas/_single_linkage" required: - invoice - budget type: enum: - invoiced_budgets type: string required: - type - relationships required: - data required: true report_category: content: application/vnd.api+json: schema: type: object description: JSON:API request body schema for a report category. properties: data: type: object description: The report category data object. properties: attributes: type: object description: Report category attributes to create or update. properties: color_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer description: Color identifier for this report category. name: "$ref": "#/components/schemas/resource_report_category/properties/name" position: "$ref": "#/components/schemas/resource_report_category/properties/position" required: - name example: eq: value type: enum: - report_categories type: string required: - type - attributes example: eq: value required: - data example: data: type: report_categories attributes: name: Financial description: Revenue, cost, and profitability reports required: true description: Request body for creating or updating a report category. task: content: application/vnd.api+json: schema: type: object description: Single task record in JSON:API format. properties: data: type: object description: A task resource object. properties: attributes: "$ref": "#/components/schemas/_task_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_task_create_relationships" - {} type: enum: - tasks type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: tasks attributes: title: Implement user authentication description: Set up OAuth2 authentication with Google and GitHub providers due_date: '2026-03-31' start_date: '2026-03-15' private: false relationships: task_list: data: type: task_lists id: '14308' assignee: data: type: people id: '12' workflow_status: data: type: workflow_statuses id: '224' application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: attributes: "$ref": "#/components/schemas/_task_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_task_create_relationships" - {} type: enum: - tasks type: string required: - type - attributes - relationships maxItems: 50 minItems: 1 required: - data required: true description: Request body for creating or updating a task. timer: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a timer. properties: data: type: object description: The JSON:API data object containing the timer resource attributes and relationships. properties: attributes: type: object description: Timer attributes. properties: started_at: anyOf: - "$ref": "#/components/schemas/resource_timer/properties/started_at" - type: 'null' title: 'Null' description: The datetime when this timer was started. example: eq: value relationships: type: object properties: person: "$ref": "#/components/schemas/_single_linkage" service: "$ref": "#/components/schemas/_single_linkage" time_entry: "$ref": "#/components/schemas/_single_linkage" type: enum: - timers type: string required: - type example: eq: value required: - data example: data: type: timers attributes: started_at: '2026-03-15T09:00:00.000+00:00' relationships: time_entry: data: type: time_entries id: '84848214' required: true description: Request body for creating or updating a timer. page: content: application/vnd.api+json: schema: type: object description: JSON:API document wrapping the page data. properties: data: type: object description: The page resource data object. properties: attributes: type: object description: Attributes of the page to create or update. properties: body: anyOf: - "$ref": "#/components/schemas/resource_page/properties/body" - type: 'null' title: 'Null' description: The body content of the page in rich text or structured document format. cover_image_url: anyOf: - "$ref": "#/components/schemas/resource_page/properties/cover_image_url" - type: 'null' title: 'Null' description: The URL of the cover image displayed at the top of the page. custom_fields: "$ref": "#/components/schemas/resource_page/properties/custom_fields" icon_id: "$ref": "#/components/schemas/resource_page/properties/icon_id" position: "$ref": "#/components/schemas/resource_page/properties/position" preferences: "$ref": "#/components/schemas/resource_page/properties/preferences" steps: "$ref": "#/components/schemas/resource_page/properties/steps" title: allOf: - "$ref": "#/components/schemas/resource_page/properties/title" - maxLength: 255 description: The display title of the page. version_number: anyOf: - "$ref": "#/components/schemas/resource_page/properties/version_number" - type: 'null' title: 'Null' description: The version number of the page, used for optimistic concurrency control. example: eq: value relationships: type: object properties: attachments: "$ref": "#/components/schemas/_collection_linkage" parent_page: "$ref": "#/components/schemas/_single_linkage_nullable" project: "$ref": "#/components/schemas/_single_linkage_nullable" root_page: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - pages type: string required: - type example: eq: value required: - data example: data: type: pages attributes: title: Architecture Overview note: System architecture documentation relationships: project: data: type: projects id: '6899' required: true description: Request body for creating or updating a page. user: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a user. properties: data: type: object description: The JSON:API data object containing the user resource attributes and relationships. properties: attributes: type: object description: User attributes. properties: account_access_expires_at: anyOf: - "$ref": "#/components/schemas/resource_user/properties/account_access_expires_at" - type: 'null' title: 'Null' description: The date and time when this user's account access expires. avatar_url: anyOf: - "$ref": "#/components/schemas/resource_user/properties/avatar_url" - type: 'null' title: 'Null' description: The avatar image URL for this user. default_organization_id: "$ref": "#/components/schemas/resource_user/properties/default_organization_id" email: "$ref": "#/components/schemas/resource_user/properties/email" first_name: "$ref": "#/components/schemas/resource_user/properties/first_name" ical_token: anyOf: - "$ref": "#/components/schemas/resource_user/properties/ical_token" - type: 'null' title: 'Null' description: The iCal token for this user's calendar feed. last_name: "$ref": "#/components/schemas/resource_user/properties/last_name" locale: "$ref": "#/components/schemas/resource_user/properties/locale" newsletter_consent: "$ref": "#/components/schemas/resource_user/properties/newsletter_consent" preferences: "$ref": "#/components/schemas/resource_user/properties/preferences" time_zone: anyOf: - "$ref": "#/components/schemas/resource_user/properties/time_zone" - type: 'null' title: 'Null' description: The time zone for this user. slack_product_updates: "$ref": "#/components/schemas/resource_user/properties/slack_product_updates" example: eq: value type: enum: - users type: string required: - type example: eq: value required: - data example: data: type: users attributes: first_name: Alex last_name: Smith time_zone: America/New_York locale: en required: true description: Request body for creating or updating a user. organization_subscription: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating an organization subscription. properties: data: type: object description: The organization subscription resource object. properties: attributes: type: object description: Organization subscription attributes. properties: billing_address: type: object description: The billing address for the organization's subscription invoices. billing_email: type: string description: The billing email address for subscription invoices. billing_group_seats: "$ref": "#/components/schemas/resource_organization_subscription/properties/billing_group_seats" plan_cycle: "$ref": "#/components/schemas/resource_organization_subscription/properties/plan_cycle" plan_type: "$ref": "#/components/schemas/resource_organization_subscription/properties/plan_type" product_types: type: array items: type: object properties: product_id: "$ref": "#/components/schemas/_request_id" description: The list of product module types included in the subscription. seats: "$ref": "#/components/schemas/resource_organization_subscription/properties/seats" stripe_token: "$ref": "#/components/schemas/resource_organization_subscription/properties/stripe_token" trial_plan_type: "$ref": "#/components/schemas/resource_organization_subscription/properties/trial_plan_type" trial_product_ids: type: array items: "$ref": "#/components/schemas/_request_id" description: An array of product IDs to include in the trial subscription. example: eq: value type: enum: - organization_subscriptions type: string required: - type example: eq: value required: - data example: data: type: organization_subscriptions attributes: seats: 30 required: true description: Request body for creating or updating an organization subscription. calendar_event: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - calendar_events type: string attributes: type: object properties: attendees: anyOf: - type: array items: type: string format: email title: List of strings - type: 'null' title: 'Null' calendar_id: "$ref": "#/components/schemas/resource_calendar_event/properties/calendar_id" description: "$ref": "#/components/schemas/resource_calendar_event/properties/description" end_time: type: string integration_id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer start_time: type: string title: type: string required: - integration_id - title - start_time - end_time required: - type - attributes required: - data required: true sso_configuration: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - sso_configurations type: string attributes: type: object properties: force_sso_login: "$ref": "#/components/schemas/resource_sso_configuration/properties/force_sso_login" metadata: "$ref": "#/components/schemas/resource_sso_configuration/properties/metadata" metadata_url: "$ref": "#/components/schemas/resource_sso_configuration/properties/metadata_url" target_url: type: string minLength: 1 url: type: string minLength: 1 required: - url - target_url required: - type - attributes required: - data required: true tax_rate: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a tax rate. properties: data: type: object description: The tax rate resource object. properties: attributes: type: object description: Tax rate attributes. properties: name: "$ref": "#/components/schemas/resource_tax_rate/properties/name" primary_component_name: anyOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" - type: 'null' title: 'Null' description: The name of the primary tax component (e.g. VAT, GST). primary_component_value: anyOf: - allOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_value" - maximum: 100 minimum: -100 title: Value - type: 'null' title: 'Null' description: The percentage value of the primary tax component. secondary_component_name: anyOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_name" - type: 'null' title: 'Null' description: The name of the secondary tax component (e.g. a regional surtax). secondary_component_value: anyOf: - allOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_value" - maximum: 100 minimum: -100 title: Value - type: 'null' title: 'Null' description: The percentage value of the secondary tax component. required: - name example: name: HST 13% primary_component_name: GST primary_component_value: 5 secondary_component_name: PST secondary_component_value: 8 subsidiary_id: 234 relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage" required: - subsidiary type: enum: - tax_rates type: string required: - type - attributes - relationships example: type: tax_rates attributes: name: HST 13% primary_component_name: GST primary_component_value: 5 secondary_component_name: PST secondary_component_value: 8 subsidiary_id: 234 required: - data example: data: type: tax_rates attributes: name: Standard VAT 20% primary_component_name: VAT primary_component_value: '0.2' relationships: subsidiary: data: type: subsidiaries id: '2' required: true description: Request body for creating or updating a tax rate. invoiced_budget_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: date_from: anyOf: - "$ref": "#/components/schemas/resource_invoiced_budget/properties/date_from" - type: 'null' title: 'Null' date_to: anyOf: - "$ref": "#/components/schemas/resource_invoiced_budget/properties/date_to" - type: 'null' title: 'Null' type: enum: - invoiced_budgets type: string required: - type required: - data required: true salary: content: application/vnd.api+json: schema: type: object description: Request body schema for a salary (person cost rate). properties: data: type: object description: The JSON:API data object containing the salary resource attributes and relationships. properties: attributes: type: object description: Salary attributes. properties: alternating_hours: "$ref": "#/components/schemas/resource_salary/properties/alternating_hours" cost: "$ref": "#/components/schemas/resource_salary/properties/cost" currency: "$ref": "#/components/schemas/resource_salary/properties/currency" ended_on: anyOf: - "$ref": "#/components/schemas/resource_salary/properties/ended_on" - type: 'null' title: 'Null' description: The date this salary period ends, or null for ongoing. note: "$ref": "#/components/schemas/resource_salary/properties/note" overhead: "$ref": "#/components/schemas/resource_salary/properties/overhead" salary_type_id: enum: - 1 - 2 - 3 - 4 - 5 type: integer description: The salary type ID (e.g. hourly, monthly, annual). started_on: "$ref": "#/components/schemas/resource_salary/properties/started_on" working_hours: type: array items: type: number maxItems: 14 minItems: 14 description: The working hours per day for this salary. required: - salary_type_id - cost - currency - working_hours example: eq: value relationships: type: object properties: holiday_calendar: "$ref": "#/components/schemas/_single_linkage_nullable" person: "$ref": "#/components/schemas/_single_linkage" required: - person type: enum: - salaries type: string required: - type - attributes - relationships example: eq: value required: - data example: data: type: salaries attributes: started_on: '2026-01-01' salary_type_id: 1 working_hours: 40 cost: '85000.00' currency: USD relationships: person: data: type: people id: '12' holiday_calendar: data: type: holiday_calendars id: '3' required: true description: Request body for creating or updating a salary (cost rate and working capacity record, called an Engagement internally). Specify the person, start/end dates, hourly cost rate, working hours, salary type, overhead inclusion flag, and optionally a holiday calendar. public_proposal_accept: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: disclaimer_accepted: allOf: - "$ref": "#/components/schemas/resource_proposal/properties/disclaimer_accepted" responder_email: type: string maxLength: 255 responder_name: type: string maxLength: 255 signature_image_url: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/signature_image_url" - type: 'null' title: 'Null' signature_type: anyOf: - "$ref": "#/components/schemas/resource_proposal/properties/signature_type" - type: 'null' title: 'Null' required: - responder_name - responder_email type: enum: - proposals type: string required: - type - attributes required: - data required: true template: content: application/vnd.api+json: schema: type: object description: JSON:API payload schema for creating or updating a template. `attributes.target_type` discriminates the required `model_attributes` shape. properties: data: type: object description: JSON:API primary resource wrapper for the template create/update payload. properties: attributes: type: object description: Writable template attributes — shape depends on `target_type`. properties: copy_attributes: anyOf: - "$ref": "#/components/schemas/resource_template/properties/copy_attributes" - type: 'null' title: 'Null' description: Form-only copy-behavior flags applied when `target_id` is supplied. See the create endpoint for per-target options. description: anyOf: - type: string title: String - type: 'null' title: 'Null' description: Free-text note attached to the template. model_attributes: anyOf: - "$ref": "#/components/schemas/resource_template/properties/model_attributes" - type: 'null' title: 'Null' description: Form-only polymorphic input bag. Required keys depend on `target_type` — see the create endpoint description for the per-target schema. name: type: string maxLength: 255 description: Display name of the template. Required on create. Updates also rename the wrapped target. target_id: anyOf: - "$ref": "#/components/schemas/_request_id" - type: 'null' title: 'Null' description: Id of the wrapped target. target_type: enum: - budget - deal - project - page - report type: string description: Identifies which entity type the template wraps. On create, selects the per-target `model_attributes` shape. `task` is read-only. required: - name - target_type example: name: New project template description: Used for kicking off enterprise migration projects. target_type: project model_attributes: client_id: 412 project_manager_id: 13 project_type_id: 2 workflow_id: 1 type: enum: - templates type: string required: - type - attributes example: type: templates attributes: name: New project template description: Used for kicking off enterprise migration projects. target_type: project model_attributes: client_id: 412 project_manager_id: 13 project_type_id: 2 workflow_id: 1 project_color_id: 5 required: - data example: data: type: templates attributes: name: New project template description: Used for kicking off enterprise migration projects. target_type: project model_attributes: client_id: 412 project_manager_id: 13 project_type_id: 2 workflow_id: 1 required: true description: JSON:API payload for creating or updating a template. `attributes.target_type` discriminates which `model_attributes` keys are required. einvoice_configuration: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: face_enabled: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/face_enabled" include_pdf_attachment: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/include_pdf_attachment" include_timesheet_attachment: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/include_timesheet_attachment" kpd_code_mapping: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/kpd_code_mapping" ksef_enabled: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/ksef_enabled" mer_enabled: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/mer_enabled" mer_password: type: string example: "••••••••" mer_username: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/mer_username" payment_means_type_id: anyOf: - "$ref": "#/components/schemas/resource_einvoice_configuration/properties/payment_means_type_id" - type: 'null' title: 'Null' tax_rate_mapping: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/tax_rate_mapping" xrechnung_enabled: "$ref": "#/components/schemas/resource_einvoice_configuration/properties/xrechnung_enabled" responsible_person_email: anyOf: - type: string title: String format: email - type: 'null' title: 'Null' sdi_enabled: type: boolean use_invoice_period: type: boolean example: subsidiary_id: '42' xrechnung_enabled: true payment_means_type_id: 1 relationships: type: object properties: subsidiary: "$ref": "#/components/schemas/_single_linkage" required: - subsidiary type: enum: - einvoice_configurations type: string required: - type - relationships example: type: einvoice_configurations attributes: subsidiary_id: '42' xrechnung_enabled: true required: - data example: data: type: einvoice_configurations attributes: subsidiary_id: '42' xrechnung_enabled: true required: true task_update: content: application/vnd.api+json: schema: type: object description: Single task record in JSON:API format. properties: data: type: object description: A task resource object. properties: relationships: "$ref": "#/components/schemas/_task_update_relationships" type: enum: - tasks type: string attributes: "$ref": "#/components/schemas/_task_update_attributes" required: - type example: type: tasks attributes: title: New title required: - data example: data: type: tasks attributes: title: New title description: Request body for creating or updating a task. task_move_dependent: content: application/vnd.api+json: schema: type: object description: Single task record in JSON:API format. properties: data: type: object description: A task resource object. properties: attributes: type: object description: Attributes describing the shift — working-day offset and root-task scope. properties: days_count: type: integer description: Signed integer — number of **working days** to shift the task and its blocking-dependent tasks. Positive values shift forward; negative values shift backward. `0` is a no-op. example: 5 skip_root_task: type: boolean default: false description: When `true`, only the dependent tasks are shifted and the root task remains in place. Defaults to `false`. example: false required: - days_count example: days_count: 5 skip_root_task: false type: enum: - tasks type: string required: - type - attributes example: type: tasks attributes: days_count: 5 skip_root_task: false required: - data example: data: type: tasks attributes: days_count: 5 skip_root_task: false required: true description: Request body for shifting a task and its blocking-dependent tasks by a number of working days. See [`PATCH /tasks/{id}/move_dependent`](#tag/Tasks/operation/tasks-move-dependent-move-dependent) for the full semantics. company: content: application/vnd.api+json: schema: type: object description: JSON:API request envelope for a company. properties: data: type: object description: The JSON:API data object containing the company resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_company_create_attributes" relationships: "$ref": "#/components/schemas/_company_relationships" type: enum: - companies type: string required: - type - attributes example: eq: value required: - data example: data: type: companies attributes: name: Acme Corp billing_name: Acme Corporation Ltd default_currency: USD due_days: 30 required: true description: Request body for creating or updating a company. jira_worklog_import_bulk_reprocess: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: type: string type: enum: - jira_worklog_imports type: string required: - type - id proposal_approve: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: approver_id: type: integer title: Approver description: The approver whose approval status is changed; the caller when omitted proposal_bulk_approve: content: application/vnd.api+json: schema: type: object properties: ids: type: array items: type: string title: Proposal IDs required: - ids proposal_reject: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: approver_id: type: integer title: Approver description: The approver whose approval status is rejected; the caller when omitted rejected_reason: type: string title: Rejected Reason required: - rejected_reason proposal_send_approval_mail: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: attach_pdf: type: boolean title: Attach PDF attachment_ids: type: array items: type: integer title: Attachment IDs body: type: string title: Body subject: type: string title: Subject to: type: array items: type: string title: To required: - to - subject - body deal_job_role_rate_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: amount: anyOf: - type: number minimum: 0 - type: 'null' title: 'Null' unit_id: "$ref": "#/components/schemas/resource_deal_job_role_rate/properties/unit_id" type: enum: - deal_job_role_rates type: string required: - type required: - data required: true deal_job_role_rate: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: amount: anyOf: - type: number minimum: 0 - type: 'null' title: 'Null' unit_id: "$ref": "#/components/schemas/resource_deal_job_role_rate/properties/unit_id" job_role_name: "$ref": "#/components/schemas/resource_deal_job_role_rate/properties/job_role_name" required: - unit_id relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage" job_role: "$ref": "#/components/schemas/_single_linkage" required: - deal type: enum: - deal_job_role_rates type: string required: - type - attributes - relationships required: - data required: true folder_bulk_archive: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - folders type: string required: - id - type minItems: 1 required: - data required: true folder_bulk_restore: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - folders type: string required: - id - type minItems: 1 required: - data required: true folder_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: relationships: "$ref": "#/components/schemas/_folder_relationships" attributes: "$ref": "#/components/schemas/_folder_update_attributes" id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - folders type: string required: - id - type minItems: 1 required: - data required: true task_list_bulk_archive: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - task_lists type: string required: - id - type minItems: 1 required: - data required: true task_list_bulk_restore: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - task_lists type: string required: - id - type minItems: 1 required: - data required: true task_list_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: relationships: "$ref": "#/components/schemas/_task_list_relationships" attributes: "$ref": "#/components/schemas/_task_list_update_attributes" id: "$ref": "#/components/schemas/_request_id" type: enum: - task_lists type: string required: - id - type minItems: 1 required: - data required: true line_item_generate: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: amount: type: number exclusiveMinimum: 0 budget_ids: type: array items: "$ref": "#/components/schemas/_request_id" minItems: 1 date_from: type: string format: date date_to: type: string format: date display_format: type: string invoice_id: "$ref": "#/components/schemas/_request_id" invoicing_by: enum: - budget - service type: string invoicing_method: enum: - uninvoiced_time_and_expenses - uninvoiced_amount - percentage type: string locale: type: string percentage: type: number maximum: 100 exclusiveMinimum: 0 tax_name: "$ref": "#/components/schemas/resource_line_item/properties/tax_name" tax_rate_id: "$ref": "#/components/schemas/_request_id" tax_value: "$ref": "#/components/schemas/resource_line_item/properties/tax_value" required: - invoice_id - tax_rate_id - budget_ids - invoicing_method - display_format required: - data required: true discussion: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a discussion. properties: data: type: object description: The JSON:API data object containing the discussion resource attributes and relationships. properties: attributes: "$ref": "#/components/schemas/_discussion_create_attributes" relationships: allOf: - "$ref": "#/components/schemas/_discussion_relationships" - type: object properties: artifact: "$ref": "#/components/schemas/_single_linkage" type: enum: - discussions type: string required: - type - relationships example: eq: value required: - data example: data: type: discussions attributes: title: API Design Review note: Let's discuss the new endpoint design relationships: project: data: type: projects id: '6899' required: true description: Request body for creating or updating a discussion. approval_policy_assignment_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - approval_policy_assignments type: string required: - id - type minItems: 1 required: - data required: true approval_status_bulk_approve: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: anyOf: - type: string title: String pattern: "^[0-9]+$" - type: integer title: Integer type: enum: - approval_statuses type: string required: - id - type minItems: 1 required: - data required: true mcp_connector: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: relationships: type: object properties: mcp_server: "$ref": "#/components/schemas/_single_linkage" required: - mcp_server type: enum: - mcp_connectors type: string attributes: type: object properties: agent_id: anyOf: - "$ref": "#/components/schemas/_request_id" - type: 'null' title: 'Null' api_key: "$ref": "#/components/schemas/resource_mcp_connector/properties/api_key" required: - type - relationships required: - data required: true scenario_booking_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: relationships: "$ref": "#/components/schemas/_scenario_booking_relationships" attributes: "$ref": "#/components/schemas/_scenario_booking_update_attributes" id: "$ref": "#/components/schemas/_request_id" type: enum: - scenario_bookings type: string required: - id - type minItems: 1 required: - data required: true shortened_link: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - shortened_links type: string attributes: type: object properties: url: allOf: - "$ref": "#/components/schemas/resource_shortened_link/properties/url" - maxLength: 8192 minLength: 1 required: - url required: - type - attributes required: - data required: true scenario_item_bulk_delete: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: id: "$ref": "#/components/schemas/_request_id" type: enum: - scenario_items type: string required: - id - type minItems: 1 required: - data required: true scenario_item_bulk_update: content: application/vnd.api+json; ext=bulk: schema: type: object properties: data: type: array items: type: object properties: relationships: "$ref": "#/components/schemas/_scenario_item_relationships" attributes: "$ref": "#/components/schemas/_scenario_item_update_attributes" id: "$ref": "#/components/schemas/_request_id" type: enum: - scenario_items type: string required: - id - type minItems: 1 required: - data required: true service_move: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - services type: string attributes: type: object properties: target_id: "$ref": "#/components/schemas/_request_id" required: - target_id required: - type - attributes required: - data required: true signup: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - signups type: string attributes: type: object properties: email: "$ref": "#/components/schemas/resource_signup/properties/email" required: - email required: - type - attributes required: - data required: true company_export: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - companies type: string attributes: type: object properties: customer_id: type: string required: - type required: - data required: true offboarding: content: application/vnd.api+json: schema: type: object description: JSON:API request envelope for an offboarding. properties: data: type: object description: The offboarding data object for the request. properties: attributes: type: object description: The person to offboard, plus the new owner for each kind of work they own. A new owner is required only for the kinds of work the person actually owns. properties: absence_approvals_and_subscriptions: "$ref": "#/components/schemas/resource_offboarding/properties/absence_approvals_and_subscriptions" budgets: "$ref": "#/components/schemas/resource_offboarding/properties/budgets" deal_todos: "$ref": "#/components/schemas/resource_offboarding/properties/deal_todos" deals: "$ref": "#/components/schemas/resource_offboarding/properties/deals" direct_reports: "$ref": "#/components/schemas/resource_offboarding/properties/direct_reports" expense_approvals_and_subscriptions: "$ref": "#/components/schemas/resource_offboarding/properties/expense_approvals_and_subscriptions" general_championship: "$ref": "#/components/schemas/resource_offboarding/properties/general_championship" hr_championship: "$ref": "#/components/schemas/resource_offboarding/properties/hr_championship" invoicing_championship: "$ref": "#/components/schemas/resource_offboarding/properties/invoicing_championship" pm_championship: "$ref": "#/components/schemas/resource_offboarding/properties/pm_championship" project_milestones: "$ref": "#/components/schemas/resource_offboarding/properties/project_milestones" projects: "$ref": "#/components/schemas/resource_offboarding/properties/projects" resourcing_championship: "$ref": "#/components/schemas/resource_offboarding/properties/resourcing_championship" sales_championship: "$ref": "#/components/schemas/resource_offboarding/properties/sales_championship" tasks_and_todos: "$ref": "#/components/schemas/resource_offboarding/properties/tasks_and_todos" time_approvals_and_subscriptions: "$ref": "#/components/schemas/resource_offboarding/properties/time_approvals_and_subscriptions" person_custom_fields: "$ref": "#/components/schemas/resource_offboarding/properties/person_custom_fields" example: person_id: 123456 projects: 654321 tasks_and_todos: 654321 direct_reports: 654321 general_championship: 654321 relationships: type: object properties: person: "$ref": "#/components/schemas/_single_linkage" required: - person type: enum: - offboardings type: string required: - type - relationships example: type: offboardings attributes: person_id: 123456 projects: 654321 tasks_and_todos: 654321 direct_reports: 654321 general_championship: 654321 required: - data example: data: type: offboardings attributes: person_id: 123456 projects: 654321 tasks_and_todos: 654321 direct_reports: 654321 general_championship: 654321 required: true description: Request body for starting an offboarding. scenario_apply: content: application/vnd.api+json: schema: type: object description: Single scenario record in JSON:API format. properties: data: type: object description: A scenario resource object. properties: type: enum: - scenarios type: string attributes: type: object description: Scenario apply options. properties: apply_bookings: type: boolean description: Whether the scenario bookings are also applied to the deal. Defaults to false. example: true confirm_bookings: type: boolean description: Whether the applied bookings are created as confirmed instead of tentative. Defaults to false. example: false update_deal_value: type: boolean description: Whether a manually set deal value is replaced with the scenario value. Defaults to false. example: true example: apply_bookings: true confirm_bookings: false update_deal_value: true required: - type example: type: scenarios attributes: apply_bookings: true confirm_bookings: false update_deal_value: true id: '42' required: - data example: data: type: scenarios attributes: apply_bookings: true confirm_bookings: false update_deal_value: true id: '42' description: Request body for applying a scenario to its deal. scenario_booking_update: content: application/vnd.api+json: schema: type: object description: Single scenario booking record in JSON:API format. properties: data: type: object description: A scenario booking resource object. properties: relationships: "$ref": "#/components/schemas/_scenario_booking_relationships" type: enum: - scenario_bookings type: string attributes: "$ref": "#/components/schemas/_scenario_booking_update_attributes" required: - type example: type: scenario_bookings attributes: time: 300 note: Extended sprint id: '401' required: - data example: data: type: scenario_bookings attributes: time: 300 note: Extended sprint id: '401' required: true description: Request body for updating a scenario booking. scenario_copy: content: application/vnd.api+json: schema: type: object description: Single scenario record in JSON:API format. properties: data: type: object description: A scenario resource object. properties: relationships: type: object properties: template: "$ref": "#/components/schemas/_single_linkage" type: enum: - scenarios type: string attributes: type: object description: Scenario copy attributes. properties: name: "$ref": "#/components/schemas/resource_scenario/properties/name" required: - name example: name: Q1 staffing plan (copy) template_id: 42 required: - type - attributes example: type: scenarios attributes: name: Q1 staffing plan (copy) template_id: 42 required: - data example: data: type: scenarios attributes: name: Q1 staffing plan (copy) template_id: 42 required: true description: Request body for copying a scenario. scenario_section_update: content: application/vnd.api+json: schema: type: object description: Single scenario section record in JSON:API format. properties: data: type: object description: A scenario section resource object. properties: relationships: "$ref": "#/components/schemas/_scenario_section_relationships" type: enum: - scenario_sections type: string attributes: "$ref": "#/components/schemas/_scenario_section_update_attributes" required: - type example: type: scenario_sections attributes: name: Design & research id: '101' required: - data example: data: type: scenario_sections attributes: name: Design & research id: '101' required: true description: Request body for updating a scenario section. scenario_service_update: content: application/vnd.api+json: schema: type: object description: Single scenario service record in JSON:API format. properties: data: type: object description: A scenario service resource object. properties: relationships: "$ref": "#/components/schemas/_scenario_service_relationships" type: enum: - scenario_services type: string attributes: "$ref": "#/components/schemas/_scenario_service_update_attributes" required: - type example: type: scenario_services attributes: quantity: '100.0' price: 13000 id: '201' required: - data example: data: type: scenario_services attributes: quantity: '100.0' price: 13000 id: '201' required: true description: Request body for updating a scenario service. scenario_update: content: application/vnd.api+json: schema: type: object description: Single scenario record in JSON:API format. properties: data: type: object description: A scenario resource object. properties: type: enum: - scenarios type: string attributes: "$ref": "#/components/schemas/_scenario_update_attributes" required: - type example: type: scenarios attributes: name: Q1 staffing plan v2 start_date: '2026-03-02' end_date: '2026-05-29' id: '42' required: - data example: data: type: scenarios attributes: name: Q1 staffing plan v2 start_date: '2026-03-02' end_date: '2026-05-29' id: '42' required: true description: Request body for updating a scenario. scenario: content: application/vnd.api+json: schema: type: object description: Single scenario record in JSON:API format. properties: data: type: object description: A scenario resource object. properties: relationships: allOf: - "$ref": "#/components/schemas/_scenario_create_relationships" - {} type: enum: - scenarios type: string attributes: "$ref": "#/components/schemas/_scenario_create_attributes" required: - type - attributes - relationships example: type: scenarios attributes: name: Q1 staffing plan deal_id: 5678 copy_services: true required: - data example: data: type: scenarios attributes: name: Q1 staffing plan deal_id: 5678 copy_services: true required: true description: Request body for creating a scenario. scenario_section: content: application/vnd.api+json: schema: type: object description: Single scenario section record in JSON:API format. properties: data: type: object description: A scenario section resource object. properties: relationships: allOf: - "$ref": "#/components/schemas/_scenario_section_relationships" - {} type: enum: - scenario_sections type: string attributes: "$ref": "#/components/schemas/_scenario_section_create_attributes" required: - type - relationships example: type: scenario_sections attributes: name: Design phase scenario_id: 42 position: 1 required: - data example: data: type: scenario_sections attributes: name: Design phase scenario_id: 42 position: 1 required: true description: Request body for creating a scenario section. scenario_service: content: application/vnd.api+json: schema: type: object description: Single scenario service record in JSON:API format. properties: data: type: object description: A scenario service resource object. properties: relationships: allOf: - "$ref": "#/components/schemas/_scenario_service_relationships" - {} type: enum: - scenario_services type: string attributes: "$ref": "#/components/schemas/_scenario_service_create_attributes" required: - type - attributes - relationships example: type: scenario_services attributes: name: UX design scenario_id: 42 scenario_section_id: 101 billing_type_id: 1 unit_id: 1 quantity: '80.0' price: 12000 required: - data example: data: type: scenario_services attributes: name: UX design scenario_id: 42 scenario_section_id: 101 billing_type_id: 1 unit_id: 1 quantity: '80.0' price: 12000 required: true description: Request body for creating a scenario service. scenario_booking: content: application/vnd.api+json: schema: type: object description: Single scenario booking record in JSON:API format. properties: data: type: object description: A scenario booking resource object. properties: relationships: allOf: - "$ref": "#/components/schemas/_scenario_booking_relationships" - {} type: enum: - scenario_bookings type: string attributes: "$ref": "#/components/schemas/_scenario_booking_create_attributes" required: - type - attributes - relationships example: type: scenario_bookings attributes: scenario_item_id: 301 booking_method_id: 1 time: 240 started_on: '2026-03-02' ended_on: '2026-03-13' required: - data example: data: type: scenario_bookings attributes: scenario_item_id: 301 booking_method_id: 1 time: 240 started_on: '2026-03-02' ended_on: '2026-03-13' required: true description: Request body for creating a scenario booking. job_role_rate_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: relationships: type: object properties: job_role: "$ref": "#/components/schemas/_single_linkage" type: enum: - job_role_rates type: string attributes: type: object properties: amount: type: number minimum: 0 unit_id: "$ref": "#/components/schemas/resource_job_role_rate/properties/unit_id" required: - type required: - data required: true job_role_rate: content: application/vnd.api+json: schema: type: object description: Request body for creating or updating a job role rate. properties: data: type: object description: The JSON:API data object containing the job role rate resource attributes and relationships. properties: relationships: type: object properties: job_role: "$ref": "#/components/schemas/_single_linkage" job_role_rate_card: "$ref": "#/components/schemas/_single_linkage" required: - job_role_rate_card - job_role type: enum: - job_role_rates type: string attributes: type: object description: Job role rate attributes. properties: amount: type: number minimum: 0 description: The rate amount in cents, in the role rate card's currency. Must be zero or more. unit_id: "$ref": "#/components/schemas/resource_job_role_rate/properties/unit_id" required: - amount - unit_id required: - type - attributes - relationships required: - data required: true description: Request body for creating or updating a job role rate. Specify the role rate card, job role, amount and unit. job_role_rate_card_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: relationships: type: object properties: company: "$ref": "#/components/schemas/_single_linkage" type: enum: - job_role_rate_cards type: string attributes: type: object properties: currency: "$ref": "#/components/schemas/resource_job_role_rate_card/properties/currency" name: type: string maxLength: 140 required: - type required: - data required: true meeting: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: action_points: "$ref": "#/components/schemas/resource_meeting/properties/action_points" calendar_event_id: "$ref": "#/components/schemas/resource_meeting/properties/calendar_event_id" calendar_id: "$ref": "#/components/schemas/resource_meeting/properties/calendar_id" calendar_provider: "$ref": "#/components/schemas/resource_meeting/properties/calendar_provider" meeting_url: "$ref": "#/components/schemas/resource_meeting/properties/meeting_url" notetaker_enabled: "$ref": "#/components/schemas/resource_meeting/properties/notetaker_enabled" scheduled_at: "$ref": "#/components/schemas/resource_meeting/properties/scheduled_at" summary: "$ref": "#/components/schemas/resource_meeting/properties/summary" title: "$ref": "#/components/schemas/resource_meeting/properties/title" applies_to: "$ref": "#/components/schemas/resource_meeting/properties/applies_to" meeting_type: "$ref": "#/components/schemas/resource_meeting/properties/meeting_type" relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage_nullable" project: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - meetings type: string required: - type required: - data required: true meeting_process_recording: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: attachment_id: "$ref": "#/components/schemas/resource_meeting/properties/attachment_id" started_at: "$ref": "#/components/schemas/resource_meeting/properties/started_at" required: - attachment_id type: enum: - meetings type: string required: - type required: - data required: true meeting_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: action_points: "$ref": "#/components/schemas/resource_meeting/properties/action_points" applies_to: "$ref": "#/components/schemas/resource_meeting/properties/applies_to" notetaker_enabled: "$ref": "#/components/schemas/resource_meeting/properties/notetaker_enabled" scheduled_at: "$ref": "#/components/schemas/resource_meeting/properties/scheduled_at" summary: "$ref": "#/components/schemas/resource_meeting/properties/summary" title: "$ref": "#/components/schemas/resource_meeting/properties/title" meeting_url: "$ref": "#/components/schemas/resource_meeting/properties/meeting_url" relationships: type: object properties: deal: "$ref": "#/components/schemas/_single_linkage_nullable" project: "$ref": "#/components/schemas/_single_linkage_nullable" type: enum: - meetings type: string required: - type required: - data required: true meeting_participant_update: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: type: enum: - meeting_participants type: string relationships: type: object properties: person: "$ref": "#/components/schemas/_single_linkage_nullable" required: - type required: - data required: true responses: unprocessable_content_task: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_task" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta description: Extra detail about the error. properties: bulk_index: type: integer title: Bulk Index description: In a bulk request, the zero-based position in `data` of the item that was rejected. source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_task_dependency: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_task_dependency" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_team: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_team" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_team_membership: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_team_membership" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_template: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_template" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_time_entry: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_time_entry" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_time_tracking_policy: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_time_tracking_policy" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content proposal_signed_pdf: content: application/json: schema: type: object properties: data: type: object properties: id: type: integer url: type: string format: uri description: Proposal signed PDF download URL unprocessable_content_task_list: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_task_list" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content too_many_requests: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: detail: type: string limit: type: integer period: type: integer status: enum: - 429 type: integer title: type: string title: Errors required: - errors headers: Content-Type: schema: type: string X-RateLimit-Limit: schema: type: string X-RateLimit-Reset: schema: type: string X-RateLimit-Remaining: schema: type: string description: Too Many Requests unauthorized: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_unauthorized" detail: "$ref": "#/components/schemas/error/properties/detail" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors required: - errors headers: Content-Type: schema: type: string description: Unauthorized unprocessable_content: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_unprocessable_content" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors required: - errors headers: Content-Type: schema: type: string description: Unprocessable Content unsupported_media_type: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_unsupported_media_type" detail: "$ref": "#/components/schemas/error/properties/detail" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors required: - errors headers: Content-Type: schema: type: string description: Unsupported Media Type unprocessable_content_two_factor_authentication: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_two_factor_authentication" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content collection_placeholder: content: application/vnd.api+json: schema: type: object description: Paginated list of placeholder records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_placeholder" description: Array of placeholder resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '88' type: placeholders attributes: name: Employee category: project color: electric icon: icon-cowboy-hat-filled type: person created_at: '2026-09-02T11:48:32.010+02:00' updated_at: '2026-09-02T11:48:42.251+02:00' relationships: organization: data: type: organizations id: '109' project: data: type: projects id: '7388870' included: [] meta: current_page: 1 total_pages: 1 total_count: 2 page_size: 30 max_page_size: 200 description: Collection placeholder collection_whiteboard: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_whiteboard" included: type: array items: "$ref": "#/components/schemas/_response_included" links: "$ref": "#/components/schemas/_links" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection whiteboard single_whiteboard: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_whiteboard" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single whiteboard unprocessable_content_whiteboard: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_whiteboard" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_timesheet: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_timesheet" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_user: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_user" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_widget: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_widget" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_rate_card: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_rate_card" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_timer: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_timer" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_workflow: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_workflow" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_workflow_status: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_workflow_status" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_agent_session_transcript: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_agent_session_transcript" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content collection_task: content: application/vnd.api+json: schema: type: object description: Paginated list of task records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_task" description: A task resource object. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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: included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection task single_task: content: application/vnd.api+json: schema: type: object description: Single task record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_task" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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: included: [] description: Single task unprocessable_content_meeting: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_meeting" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content single_deal_job_role_rate: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_deal_job_role_rate" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single deal job role rate collection_person: content: application/vnd.api+json: schema: type: object description: Paginated collection response containing person resources. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_person" description: Array of person resource objects in the collection. example: eq: value included: type: array items: description: A related resource included in the response. example: eq: value description: Related resources included in the response (sideloaded data). example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection person collection_project: content: application/vnd.api+json: schema: type: object description: JSON:API collection response containing an array of project resources. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_project" description: Array of project resource objects. example: eq: value included: type: array items: description: A sideloaded related resource. example: eq: value description: Sideloaded related resources (companies, people, workflows, etc.). example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection project single_person: content: application/vnd.api+json: schema: type: object description: Single person response. properties: data: "$ref": "#/components/schemas/_response_object_person" included: type: array items: description: A related resource included in the response. example: eq: value description: Related resources included in the response (sideloaded data). example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single person single_project: content: application/vnd.api+json: schema: type: object description: JSON:API single-resource response containing a project. properties: data: "$ref": "#/components/schemas/_response_object_project" included: type: array items: description: A sideloaded related resource object. example: eq: value description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single project bad_request: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_bad_request" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors required: - errors headers: Content-Type: schema: type: string description: Bad Request conflict: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_conflict" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors required: - errors headers: Content-Type: schema: type: string description: Conflict forbidden: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_forbidden" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors required: - errors headers: Content-Type: schema: type: string description: Forbidden internal_server_error: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_server_error" detail: "$ref": "#/components/schemas/error/properties/detail" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors required: - errors headers: Content-Type: schema: type: string description: Internal Server Error locked: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_locked" detail: "$ref": "#/components/schemas/error/properties/detail" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors required: - errors headers: Content-Type: schema: type: string description: Locked not_acceptable: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_not_acceptable" detail: "$ref": "#/components/schemas/error/properties/detail" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors required: - errors headers: Content-Type: schema: type: string description: Not Acceptable not_found: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_not_found" detail: "$ref": "#/components/schemas/error/properties/detail" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors required: - errors headers: Content-Type: schema: type: string description: Not Found request_timeout: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_request_timeout" detail: "$ref": "#/components/schemas/error/properties/detail" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors required: - errors headers: Content-Type: schema: type: string description: Request Timeout collection_payment: content: application/vnd.api+json: schema: type: object description: Paginated list of payment records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_payment" description: Array of payment resource objects. example: - type: payments id: '345678' attributes: paid_on: '2026-03-15' written_off_on: note: 'Wire transfer ref: WT-9281' external_id: xero-pay-456 currency: GBP currency_default: EUR currency_normalized: GBP amount: 200000 amount_default: 232000 amount_normalized: 200000 relationships: organization: data: type: organizations id: '109' invoice: data: type: invoices id: '789012' included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - type: invoices id: '789012' attributes: number: INV-2026-042 issued_on: '2026-02-28' meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection payment unprocessable_content_backoffice_setting: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_backoffice_setting" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_jira_worklog_import: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_jira_worklog_import" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content reprocessed_jira_worklog_import: content: application/vnd.api+json: schema: type: object properties: meta: type: object properties: reprocessed_count: type: integer required: - reprocessed_count required: - meta headers: Content-Type: schema: type: string description: Reprocessed Jira worklog imports collection_new_salary_report: content: application/vnd.api+json: schema: type: object description: Paginated list of salary report records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_new_salary_report" description: Array of new salary report row resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-019 type: new_salary_reports attributes: total_salary: '7083.33' person_id: 12 month: 2026-03 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection new salary report collection_new_time_report: content: application/vnd.api+json: schema: type: object description: A paginated list of time report rows, each aggregating tracked hours by configurable dimensions with utilization, capacity, and overtime calculations. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_new_time_report" description: Array of new time report row resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-018 type: new_time_reports attributes: billable_time: 14400 nonbillable_time: 1800 total_time: 16200 revenue: '3600.00' cost: '1620.00' person_id: 12 project_id: 6899 date: '2026-03-15' currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection new time report collection_memory: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_memory" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection memory unprocessable_content_backoffice_user: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_backoffice_user" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content collection_ai_sandbox: content: application/vnd.api+json: schema: type: object properties: data: type: array items: type: object properties: attributes: type: object properties: config: "$ref": "#/components/schemas/resource_ai_sandbox/properties/config" created_at: "$ref": "#/components/schemas/resource_ai_sandbox/properties/created_at" daytona_id: "$ref": "#/components/schemas/resource_ai_sandbox/properties/daytona_id" last_accessed_at: "$ref": "#/components/schemas/resource_ai_sandbox/properties/last_accessed_at" metadata: "$ref": "#/components/schemas/resource_ai_sandbox/properties/metadata" owner_id: "$ref": "#/components/schemas/resource_ai_sandbox/properties/owner_id" owner_type: "$ref": "#/components/schemas/resource_ai_sandbox/properties/owner_type" state: "$ref": "#/components/schemas/resource_ai_sandbox/properties/state" updated_at: "$ref": "#/components/schemas/resource_ai_sandbox/properties/updated_at" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" description: Collection AI sandbox single_ai_sandbox: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: config: "$ref": "#/components/schemas/resource_ai_sandbox/properties/config" created_at: "$ref": "#/components/schemas/resource_ai_sandbox/properties/created_at" daytona_id: "$ref": "#/components/schemas/resource_ai_sandbox/properties/daytona_id" last_accessed_at: "$ref": "#/components/schemas/resource_ai_sandbox/properties/last_accessed_at" metadata: "$ref": "#/components/schemas/resource_ai_sandbox/properties/metadata" owner_id: "$ref": "#/components/schemas/resource_ai_sandbox/properties/owner_id" owner_type: "$ref": "#/components/schemas/resource_ai_sandbox/properties/owner_type" state: "$ref": "#/components/schemas/resource_ai_sandbox/properties/state" updated_at: "$ref": "#/components/schemas/resource_ai_sandbox/properties/updated_at" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" description: Single AI sandbox single_ai_sandbox_access: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: token: type: string toolbox_url: type: string required: - toolbox_url - token id: type: string type: type: string required: - type - id - attributes required: - data description: The toolbox URL of an AI sandbox and its sandbox-scoped token unprocessable_content_ai_sandbox: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_ai_sandbox" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content collection_feature_usage: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_feature_usage" included: type: array items: {} meta: allOf: - "$ref": "#/components/schemas/_meta" - type: object properties: totals: type: object properties: hours: type: number credits: type: number percentage_of_total: type: number links: "$ref": "#/components/schemas/_links" required: - data description: Collection feature usage unprocessable_content_webhook: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_webhook" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_overhead: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_overhead" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_purchase_order: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_purchase_order" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta description: In a bulk request, `bulk_index` is the position of the rejected item in the request's `data` array. properties: bulk_index: type: integer title: Bulk Index source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_booking: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_booking" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta description: Extra detail about the error. properties: bulk_index: type: integer title: Bulk Index description: In a bulk request, the zero-based position in `data` of the item that was rejected. source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_calendar_event: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_calendar_event" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_comment: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_comment" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_company: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_company" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_connection: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_connection" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_contract: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_contract" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object properties: bulk_index: type: integer source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_custom_domain: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_custom_domain" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_custom_field: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_custom_field" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_custom_field_option: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_custom_field_option" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_custom_field_section: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_custom_field_section" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_dashboard: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_dashboard" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta description: In a bulk request, `bulk_index` is the position of the rejected item in the request's `data` array. properties: bulk_index: type: integer title: Bulk Index source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_deal: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_deal" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_deal_contact: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_deal_contact" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta properties: bulk_index: type: integer title: Bulk Index description: The position in the request's `data` array of the entry the error belongs to; only bulk requests set it. source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_deal_cost_rate: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_deal_cost_rate" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_deal_status: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_deal_status" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_deleted_item: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_deleted_item" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_discussion: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_discussion" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_document_style: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_document_style" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_document_type: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_document_type" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_expense: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_expense" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta description: On a bulk request, `bulk_index` is the position in the request's `data` array of the expense the error belongs to. properties: bulk_index: type: integer source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_expense_line_item: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_expense_line_item" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta description: On a bulk request, `bulk_index` is the position in the request's `data` array of the expense line item the error belongs to. properties: bulk_index: type: integer source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_integration: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_integration" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content collection_notification: content: application/vnd.api+json: schema: type: object description: Paginated list of notification records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_notification" description: Array of notification resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '9012' type: notifications attributes: target_id: 120501 target_type: task target_title: "#42: Implement user authentication" target_label: task parent_id: 6899 parent_type: project parent_title: Website Redesign title: Alex Smith changed the status to In Progress read: false dismissed: false new_activities_count: 1 excerpt: Status changed from Open to In Progress last_action_at: '2026-03-15T10:30:00.000+00:00' first_unread_activity_id: 259275372 important: false mention: false made_by_automation: false root_id: 6899 root_type: project relationships: actor: data: type: people id: '12' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection notification collection_organization: content: application/vnd.api+json: schema: type: object description: Paginated list of organization records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_organization" description: Array of organization resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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: {} included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection organization collection_organization_champion: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_organization_champion" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection organization champion collection_organization_invoice: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_organization_invoice" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection organization invoice collection_organization_membership: content: application/vnd.api+json: schema: type: object description: Paginated list of organization membership records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_organization_membership" description: Array of organization membership resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '23' type: organization_memberships attributes: updated_at: '2026-03-15T10:00:00.000+00:00' position: 1 tasks_layout_id: 1 time_reminders: true email_notifications: true weekly_emails: true preferences: {} quick_start_config: {} relationships: organization: data: type: organizations id: '109' person: data: type: people id: '12' user: data: type: users id: '456' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection organization membership collection_overhead: content: application/vnd.api+json: schema: type: object description: Paginated list of overhead records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_overhead" description: Array of overhead resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '23' type: overheads attributes: name: Team Building & Offsites archived_at: relationships: {} included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection overhead collection_page: content: application/vnd.api+json: schema: type: object description: Paginated list of page (doc) records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_page" description: Array of page resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection page collection_page_report: content: application/vnd.api+json: schema: type: object description: Paginated list of page report records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_page_report" description: Array of page report row resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-016 type: page_reports attributes: page_id: 78 project_id: 6899 created_at: '2026-01-20T10:00:00.000+00:00' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection page report collection_page_version: content: application/vnd.api+json: schema: type: object description: Paginated list of page version records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_page_version" description: Array of page version resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection page version conflict_company: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: enum: - company_export_unavailable - record_archived - cannot_export_company - company_already_exported - company_not_exported - company_export_customer_found type: string title: Code detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta properties: customer: type: object title: Customer properties: id: type: string title: Id inactive: type: boolean title: Inactive name: type: string title: Name url: type: string title: Url source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Conflict collection_email_link: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_email_link" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection email link collection_email_thread: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_email_thread" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: allOf: - "$ref": "#/components/schemas/_meta" - type: object properties: next_page_token: type: - string - 'null' required: - data description: Collection email thread collection_entitlement: content: application/vnd.api+json: schema: type: object description: Paginated list of entitlement records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_entitlement" description: Array of entitlement resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '23' type: entitlements attributes: start_date: '2026-01-01' end_date: '2026-12-31' allocated: 1200 used: 480 pending: 960 note: Annual vacation entitlement 2026 relationships: event: data: type: events id: '10' person: data: type: people id: '12' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection entitlement collection_entitlement_report: content: application/vnd.api+json: schema: type: object description: Paginated list of entitlement report records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_entitlement_report" description: Array of entitlement report resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-023 type: entitlement_reports attributes: allocated: 1200 used: 480 remaining: 720 person_id: 12 event_id: 10 included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection entitlement report collection_event: content: application/vnd.api+json: schema: type: object description: Paginated list of event records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_event" description: Array of event resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '10' type: events attributes: name: Vacation event_type_id: 1 icon_id: '3' color_id: '7' archived_at: limitation_type_id: 1 sync_personal_integrations: false half_day_bookings: true description: Annual paid leave absence_type: vacation included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection event collection_exchange_rate: content: application/vnd.api+json: schema: type: object description: Paginated list of exchange rate records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_exchange_rate" description: Array of exchange rate resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '567' type: exchange_rates attributes: from_currency: EUR to_currency: USD rate: '1.0834' date: '2026-03-15' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection exchange rate collection_expense: content: application/vnd.api+json: schema: type: object description: JSON:API response envelope containing a collection of expenses. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_expense" description: Array of expense resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection expense collection_expense_line_item: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_expense_line_item" 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' included: type: array items: "$ref": "#/components/schemas/_response_included" example: [] meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' meta: current_page: 1 total_pages: 1 total_count: 1 included: [] description: Collection expense line item collection_expense_report: content: application/vnd.api+json: schema: type: object description: Paginated collection of aggregated expense report rows. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_expense_report" description: Array of expense report resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-009 type: expense_reports attributes: total_amount: '5000.00' approved_amount: '4500.00' pending_amount: '500.00' billable_amount: '3500.00' person_id: 12 project_id: 6899 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection expense report collection_feature: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_feature" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection feature collection_filter: content: application/vnd.api+json: schema: type: object description: Paginated list of filter records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_filter" description: Array of filter resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '89' type: filters attributes: name: My Open Tasks item_type: task filter_data: assignee_id: - 12 closed: eq: false created_at: '2026-01-15T10:00:00.000+00:00' relationships: person: data: type: people id: '12' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection filter collection_filter_preference: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_filter_preference" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection filter preference collection_financial_item_report: content: application/vnd.api+json: schema: type: object description: Paginated list of financial item report records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_financial_item_report" description: Array of financial item report row resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-020 type: financial_item_reports attributes: revenue: '50000.00' cost: '30000.00' profit: '20000.00' profit_margin: 0.4 project_id: 6899 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection financial item report collection_financial_month: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_financial_month" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection financial month collection_flag: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_flag" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection of flags collection_folder: content: application/vnd.api+json: schema: type: object description: JSON:API response schema for a collection of folders. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_folder" description: The JSON:API data array containing the list of folder resources. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: An array of included related resources (side-loaded data). example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '5522' type: folders attributes: name: Features position: 1 placement: 1000000 archived_at: hidden: false relationships: project: data: type: projects id: '6899' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: A paginated collection of folder resources. collection_holiday: content: application/vnd.api+json: schema: type: object description: Paginated list of holiday records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_holiday" description: Array of holiday resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '45' type: holidays attributes: name: New Year's Day date: '2026-01-01' relationships: organization: data: type: organizations id: '1' holiday_calendar: data: type: holiday_calendars id: '3' creator: data: type: people id: '12' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection holiday collection_holiday_calendar: content: application/vnd.api+json: schema: type: object description: Paginated list of holiday calendar records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_holiday_calendar" description: Array of holiday calendar resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '3' type: holiday_calendars attributes: name: United States country: US state: US-CA autogenerate_holidays: true relationships: organization: data: type: organizations id: '1' included: [] meta: current_page: 1 total_pages: 1 total_count: 1 page_size: 30 max_page_size: 200 description: Collection holiday calendar collection_import: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_import" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection import collection_integration: content: application/vnd.api+json: schema: type: object description: Paginated list of integration records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_integration" description: Array of integration resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '11' type: integrations attributes: name: Xero Accounting integration_type_id: 2 connected_at: '2026-01-15T10:00:00.000+00:00' deactivated_at: account_code: '200' export_number: true payments_import: true last_synced_at: '2026-03-15T08:00:00.000+00:00' options: {} relationships: subsidiary: data: type: subsidiaries id: '2' creator: data: type: people id: '12' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection integration collection_integration_exporter_configuration: content: application/vnd.api+json: schema: type: object description: Paginated list of integration exporter configuration records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_integration_exporter_configuration" description: Array of integration exporter configuration resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '11' type: integrations attributes: name: Xero Accounting integration_type_id: 2 connected_at: '2026-01-15T10:00:00.000+00:00' deactivated_at: account_code: '200' export_number: true export_attachment: false export_expense_attachment: false payments_import: true import_attachment: false import_number: false last_synced_at: '2026-03-15T08:00:00.000+00:00' options: {} relationships: subsidiary: data: type: subsidiaries id: '2' creator: data: type: people id: '12' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection integration exporter configuration collection_integration_option: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_integration_option" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection integration option collection_integration_search_result: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_integration_search_result" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection integration search result collection_integration_task_management_configuration: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_integration_task_management_configuration" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection of integration task management configurations collection_invoice: content: application/vnd.api+json: schema: type: object description: JSON:API response envelope for a collection of invoices. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_invoice" description: Array of invoice resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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: included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection invoice collection_invoice_attribution: content: application/vnd.api+json: schema: type: object description: Paginated list of invoice attribution records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_invoice_attribution" description: Array of invoice attribution resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection invoice attribution collection_invoice_report: content: application/vnd.api+json: schema: type: object description: Paginated list of invoice report records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_invoice_report" description: Array of invoice report row resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-008 type: invoice_reports attributes: total: '12500.00' subtotal: '11363.64' tax: '1136.36' paid: '0.00' outstanding: '12500.00' status: draft invoice_id: 234 company_id: 65111 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection invoice report collection_invoice_template: content: application/vnd.api+json: schema: type: object description: Paginated list of invoice template records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_invoice_template" description: Array of invoice template resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '5' type: invoice_templates attributes: name: Standard Invoice default: true created_at: '2026-01-01T00:00:00.000+00:00' relationships: {} included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection invoice template collection_invoiced_budget: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_invoiced_budget" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection invoiced budget collection_job_role: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_job_role" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection job role collection_job_role_rate: content: application/vnd.api+json: schema: type: object description: Paginated list of job role rate records in JSON:API format. properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_job_role_rate" description: Array of job role rate resource objects. included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection job role rate collection_job_role_rate_card: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_job_role_rate_card" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection job role rate card collection_kpd_code: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_kpd_code" example: data: - id: '42' type: kpd_codes attributes: code: '01.11' kpd_name: Uzgoj zitarica nkd_name: Uzgoj zitarica is_kpd: true created_at: '2024-01-01T00:00:00.000Z' updated_at: '2024-01-01T00:00:00.000Z' included: type: array items: "$ref": "#/components/schemas/_response_included" example: [] meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '42' type: kpd_codes attributes: code: '01.11' kpd_name: Uzgoj zitarica nkd_name: Uzgoj zitarica is_kpd: true created_at: '2024-01-01T00:00:00.000Z' updated_at: '2024-01-01T00:00:00.000Z' description: Collection of KPD codes collection_line_item: content: application/vnd.api+json: schema: type: object description: Paginated list of line item records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_line_item" description: Array of line item resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection line item collection_line_item_report: content: application/vnd.api+json: schema: type: object description: Paginated list of line item report records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_line_item_report" description: Array of line item report resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-013 type: line_item_reports attributes: quantity: 10 unit_price: '150.00' total_price: '1500.00' service_id: 1856422 invoice_id: 234 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection line item report collection_lost_reason: content: application/vnd.api+json: schema: type: object description: Paginated list of lost reason records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_lost_reason" description: Array of lost reason resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '3' type: lost_reasons attributes: name: Budget constraints position: 1 archived_at: relationships: {} included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection lost reason collection_mcp_connector: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_mcp_connector" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection mcp connector collection_mcp_server: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_mcp_server" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection mcp server collection_meeting: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_meeting" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection meeting collection_meilisearch_document: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_meilisearch_document" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection of meilisearch documents collection_membership: content: application/vnd.api+json: schema: type: object description: Paginated list of membership records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_membership" description: Array of membership resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '7654' type: memberships attributes: access_type_id: 1 dynamic_group_id: options: {} target_type: project type_id: 1 relationships: person: data: type: people id: '12' project: data: type: projects id: '6899' team: data: included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection membership single_or_collection_service_type_assignment: content: application/vnd.api+json: schema: oneOf: - type: object title: Object properties: data: "$ref": "#/components/schemas/_response_object_service_type_assignment" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data - type: object title: Object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_service_type_assignment" links: "$ref": "#/components/schemas/_links" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data description: Single service type assignment, or a service type assignment collection when the request body is sent as `application/vnd.api+json; ext=bulk` single_or_collection_task: content: application/vnd.api+json: schema: oneOf: - type: object title: Object properties: data: "$ref": "#/components/schemas/_response_object_task" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data - type: object title: Object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_task" links: "$ref": "#/components/schemas/_links" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data description: Single task, or a task collection when the request body is sent as `application/vnd.api+json; ext=bulk` single_or_collection_widget: content: application/vnd.api+json: schema: oneOf: - type: object title: Object properties: data: "$ref": "#/components/schemas/_response_object_widget" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data - type: object title: Object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_widget" links: "$ref": "#/components/schemas/_links" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data description: Single widget, or a widget collection when the request body is sent as `application/vnd.api+json; ext=bulk` single_organization: content: application/vnd.api+json: schema: type: object description: Response schema for a single organization. properties: data: "$ref": "#/components/schemas/_response_object_organization" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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: {} included: [] description: Single organization single_organization_champion: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_organization_champion" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single organization champion single_organization_invoice: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_organization_invoice" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single organization invoice single_organization_membership: content: application/vnd.api+json: schema: type: object description: A single organization membership record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_organization_membership" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '23' type: organization_memberships attributes: updated_at: '2026-03-15T10:00:00.000+00:00' position: 1 tasks_layout_id: 1 time_reminders: true email_notifications: true weekly_emails: true preferences: {} quick_start_config: {} relationships: organization: data: type: organizations id: '109' person: data: type: people id: '12' user: data: type: users id: '456' included: [] description: Single organization membership single_organization_membership_count: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_organization_membership_count" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single organization membership count single_organization_subscription: content: application/vnd.api+json: schema: type: object description: A single organization_subscription record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_organization_subscription" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '1' type: organization_subscriptions attributes: seats: 25 seats_used: 18 seats_max: 30 trial_ends_on: contract_date: '2026-01-01' contract_end_date: '2026-12-31' contract_seats: 25 current_plan: business currency: USD included: [] description: Single organization subscription single_overhead: content: application/vnd.api+json: schema: type: object description: A single overhead record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_overhead" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '23' type: overheads attributes: name: Team Building & Offsites archived_at: relationships: {} included: [] description: Single overhead single_owned_resources_count: content: application/vnd.api+json: schema: type: object description: Owned resources counts for a single person. properties: data: "$ref": "#/components/schemas/_response_object_owned_resources_count" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Always empty. This resource has no relationships to sideload. example: [] meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '123456' type: owned_resources_counts attributes: projects: 4 template_projects: 1 tasks_and_todos: 27 template_tasks_and_todos: 2 private_tasks_and_todos: 3 project_milestones: 6 budgets: 5 template_budgets: 1 deals: 2 template_deals: 0 deal_todos: 4 template_deal_todos: 0 bookings: 12 absence_approvals_and_subscriptions: 3 time_approvals_and_subscriptions: 2 expense_approvals_and_subscriptions: 1 direct_reports: 5 general_championship: 0 resourcing_championship: 1 invoicing_championship: 0 hr_championship: 0 pm_championship: 1 sales_championship: 0 description: Single owned resources count single_page: content: application/vnd.api+json: schema: type: object description: A single page record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_page" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single page single_page_version: content: application/vnd.api+json: schema: type: object description: A single page_version record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_page_version" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single page version single_password: content: application/vnd.api+json: schema: type: object description: A single password_reset record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_password" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '1' type: passwords attributes: updated_at: '2026-01-15T10:00:00.000+00:00' included: [] description: Single password single_payment: content: application/vnd.api+json: schema: type: object description: A single payment record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_payment" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - type: invoices id: '789012' attributes: number: INV-2026-042 issued_on: '2026-02-28' meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single payment single_payment_reminder: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_payment_reminder" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single payment reminder single_payment_reminder_sequence: content: application/vnd.api+json: schema: type: object description: A single payment_reminder_sequence record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_payment_reminder_sequence" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '2' type: payment_reminder_sequences attributes: name: Standard Reminder default: true relationships: {} included: [] description: Single payment reminder sequence single_pipeline: content: application/vnd.api+json: schema: type: object description: A single pipeline record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_pipeline" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single pipeline single_placeholder: content: application/vnd.api+json: schema: type: object description: A single placeholder record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_placeholder" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '88' type: placeholders attributes: name: Employee category: project color: electric icon: icon-cowboy-hat-filled type: person created_at: '2026-09-02T11:48:32.010+02:00' updated_at: '2026-09-02T11:48:42.251+02:00' relationships: organization: data: type: organizations id: '109' project: data: type: projects id: '7388870' included: [] description: Single placeholder single_placeholder_usage: content: application/vnd.api+json: schema: type: object description: A single placeholder_usage record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_placeholder_usage" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '199' type: placeholder_usages attributes: id: 199 target_id: 7388879 target_type: Ticket field: assignee placeholder_id: 88 interval_value: interval_unit: interval_direction: skip_weekends: false interval_enabled: false created_at: '2026-09-02T11:48:44.135+02:00' updated_at: '2026-09-02T11:48:44.135+02:00' relationships: placeholder: data: type: placeholders id: '88' task: data: type: tasks id: '7388879' included: [] description: Single placeholder usage single_price: content: application/vnd.api+json: schema: type: object description: A single price record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_price" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '234' type: prices attributes: name: Senior Developer billing_type_id: 1 unit_id: 1 quantity: description: Hourly rate for senior development work discount: markup: time_tracking_enabled: true booking_tracking_enabled: true expense_tracking_enabled: false budget_cap_enabled: false estimated_hours: 160 custom_fields: currency: USD rate: '150.00' estimated_cost: '24000.00' updated_at: '2026-01-15T10:00:00.000+00:00' relationships: service_type: data: type: service_types id: '5' company: data: type: companies id: '65111' rate_card: data: type: rate_cards id: '7' included: [] description: Single price single_project_milestone: content: application/vnd.api+json: schema: type: object description: A single project milestone record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_project_milestone" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '7388870' type: projects attributes: name: Website redesign meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '42' type: project_milestones attributes: title: Beta launch date: '2026-10-15' color_id: '6' icon_id: icon-rocket-launch note: Release to beta customers. created_at: '2026-09-01T10:15:00.000+02:00' updated_at: '2026-09-01T10:15:00.000+02:00' relationships: organization: data: type: organizations id: '109' creator: data: type: people id: '1001' assignee: data: type: people id: '1002' project: data: type: projects id: '7388870' included: - id: '7388870' type: projects attributes: name: Website redesign meta: {} description: A single project milestone. single_project_preference: content: application/vnd.api+json: schema: type: object description: Single project preference record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_project_preference" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '12' type: people attributes: first_name: Ana last_name: Horvat email: ana.horvat@example.com meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '32234' type: project_preferences attributes: tasks_layout_id: 104 created_at: '2026-01-20T10:00:00.000+00:00' preferences: '{"project_last_tab":"tasks","default_tab_id":"1867-project-tasks"}' watched: false relationships: person: data: type: people id: '12' project: data: type: projects id: '6899' included: [] description: A single project preference. single_proposal: content: application/vnd.api+json: schema: type: object description: A single proposal record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_proposal" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '23' type: proposals attributes: name: Website Redesign Proposal status: sent created_at: '2026-02-15T10:00:00.000+00:00' sent_at: '2026-02-16T09:00:00.000+00:00' accepted_at: declined_at: currency: USD total: '45000.00' relationships: deal: data: type: deals id: '89' included: [] description: Single proposal single_public_artifact: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_public_artifact" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single public artifact single_public_page: content: application/vnd.api+json: schema: type: object description: JSON:API document with the public doc. properties: data: "$ref": "#/components/schemas/_response_object_public_page" included: type: array items: description: A subpage of the public doc. example: id: '48214' type: pages attributes: title: Week one body: '{"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"Welcome to the onboarding guide."}]}]}' cover_image_meta: cover_image_url: icon_id: parent_page_id: 48213 position: 1 preferences: {} root_page_id: 48213 description: Included resources — the doc's subpages. example: - id: '48214' type: pages attributes: title: Week one body: '{"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"Welcome to the onboarding guide."}]}]}' cover_image_meta: cover_image_url: icon_id: parent_page_id: 48213 position: 1 preferences: {} root_page_id: 48213 meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '48213' type: pages attributes: title: Onboarding guide body: '{"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"Welcome to the onboarding guide."}]}]}' cover_image_meta: cover_image_url: icon_id: book position: preferences: {} public_uuid: 3fa85f64-5717-4562-b3fc-2c963f66afa6 relationships: child_pages: data: - type: pages id: '48214' included: - id: '48214' type: pages attributes: title: Week one body: '{"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"Welcome to the onboarding guide."}]}]}' cover_image_meta: cover_image_url: icon_id: parent_page_id: 48213 position: 1 preferences: {} root_page_id: 48213 meta: {} description: 'A published doc as seen without authentication: a reduced attribute set plus its `child_pages`.' single_public_proposal: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_public_proposal" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single public proposal single_public_survey: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_public_survey" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single public survey single_public_survey_response: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_public_survey_response" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single survey response submitted through a public survey single_pulse: content: application/vnd.api+json: schema: type: object description: A single pulse record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_pulse" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '234' type: pulses attributes: score: 8 comment: Great sprint — shipped the auth feature on time created_at: '2026-03-15T10:00:00.000+00:00' relationships: person: data: type: people id: '12' project: data: type: projects id: '6899' included: [] description: Single pulse single_purchase_order: content: application/vnd.api+json: schema: type: object description: A single purchase_order record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_purchase_order" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - type: companies id: '234567' attributes: name: Acme Supplies - type: deals id: '456789' attributes: name: Q2 Marketing Campaign meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single purchase order single_rate_card: content: application/vnd.api+json: schema: type: object description: A single rate_card record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_rate_card" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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: {} included: [] description: Single rate card single_report_category: content: application/vnd.api+json: schema: type: object description: A single report category resource in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_report_category" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '5' type: report_categories attributes: name: Financial description: Revenue, cost, and profitability reports included: [] description: Single report category single_resource_request: content: application/vnd.api+json: schema: type: object description: The JSON:API response body schema for a single resource request. properties: data: "$ref": "#/components/schemas/_response_object_resource_request" included: type: array items: "$ref": "#/components/schemas/_response_included" description: An array of sideloaded related resources included with the single resource request response. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '34' type: resource_requests attributes: status: pending requested_hours: 160 start_date: '2026-04-01' end_date: '2026-04-30' note: Need a senior React developer for the dashboard feature created_at: '2026-03-15T10:00:00.000+00:00' relationships: service: data: type: services id: '1856422' requester: data: type: people id: '12' included: [] description: A single resource request response. single_revenue_distribution: content: application/vnd.api+json: schema: type: object description: A single revenue_distribution record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_revenue_distribution" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '345' type: revenue_distributions attributes: amount: '10000.00' recognized_at: '2026-03-31' project_id: 6899 deal_id: 89 currency: USD included: [] description: Single revenue distribution single_role: content: application/vnd.api+json: schema: type: object description: A single role record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_role" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '5' type: roles attributes: name: Project Manager description: Can manage projects, budgets, and team members base_role_id: 2 people_count: 8 active_users_count: 6 inactive_users_count: 2 active_agents_count: 0 inactive_agents_count: 0 editable_by_user: true user_type_id: 1 permissions: manage_projects: true manage_budgets: true view_financials: false included: [] description: Single role single_salary: content: application/vnd.api+json: schema: type: object description: A single salary record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_salary" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '34' type: salaries attributes: default_salary: true started_on: '2026-01-01' ended_on: salary_type_id: 1 working_hours: 40 overhead: false note: exchange_rate: exchange_date: currency: USD cost: '85000.00' hourly_rate: '51.44' relationships: person: data: type: people id: '12' holiday_calendar: data: type: holiday_calendars id: '3' included: [] description: Single salary single_scenario: content: application/vnd.api+json: schema: type: object description: Single scenario record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_scenario" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '5678' type: deals attributes: name: Website redesign meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '42' type: scenarios attributes: name: Q1 staffing plan created_at: '2026-01-15T09:30:00.000+01:00' start_date: '2026-03-02' end_date: '2026-05-29' currency: EUR budget_total: 960000 budget_used: 480000 revenue: 960000 cost: 720000 profit: 240000 profit_margin: '25.0' last_applied_at: '2026-02-20T14:00:00.000+01:00' relationships: organization: data: type: organizations id: '1' deal: data: type: deals id: '5678' creator: data: type: people id: '7' description: Single scenario single_scenario_booking: content: application/vnd.api+json: schema: type: object description: Single scenario booking record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_scenario_booking" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '301' type: scenario_items attributes: used_quantity: '40.0' meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '401' type: scenario_bookings attributes: time: 240 total_time: 2400 started_on: '2026-03-02' ended_on: '2026-03-13' booking_method_id: 1 total_working_days: 10 note: Kickoff sprint relationships: organization: data: type: organizations id: '1' scenario_item: data: type: scenario_items id: '301' creator: data: type: people id: '7' description: Single scenario booking single_scenario_item: content: application/vnd.api+json: schema: type: object description: Single scenario item record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_scenario_item" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '7' type: people attributes: first_name: Ana last_name: Novak meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '301' type: scenario_items attributes: start_date: '2026-03-02' end_date: '2026-04-24' used_quantity: '40.0' markup: '20.0' discount: '10.0' cost: 9000 price: 12000 relationships: organization: data: type: organizations id: '1' person: data: type: people id: '7' scenario_service: data: type: scenario_services id: '201' description: Single scenario item single_scenario_section: content: application/vnd.api+json: schema: type: object description: Single scenario section record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_scenario_section" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '42' type: scenarios attributes: name: Q1 staffing plan meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '101' type: scenario_sections attributes: name: Design phase position: 1 preferences: {} relationships: organization: data: type: organizations id: '1' scenario: data: type: scenarios id: '42' description: Single scenario section single_scenario_service: content: application/vnd.api+json: schema: type: object description: Single scenario service record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_scenario_service" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '101' type: scenario_sections attributes: name: Design phase meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '201' type: scenario_services attributes: name: UX design billable: true billing_type_id: 1 unit_id: 1 quantity: '80.0' price: 12000 budget_total: 960000 revenue: 960000 cost: 720000 profit: 240000 profit_margin: '25.0' relationships: organization: data: type: organizations id: '1' scenario: data: type: scenarios id: '42' scenario_section: data: type: scenario_sections id: '101' service_type: data: type: service_types id: '31' description: Single scenario service single_section: content: application/vnd.api+json: schema: type: object description: A single section record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_section" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '45' type: sections attributes: name: Design Phase position: 1 preferences: {} editor_config: {} relationships: deal: data: type: deals id: '89' included: [] description: Single section single_service: content: application/vnd.api+json: schema: type: object description: JSON:API response envelope for a single service. properties: data: "$ref": "#/components/schemas/_response_object_service" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '1856422' type: services attributes: name: Frontend Development position: 1 deleted_at: description: Building React components and user interfaces time_tracking_enabled: true expense_tracking_enabled: false booking_tracking_enabled: true origin_service_id: initial_service_id: 1856422 editor_config: {} custom_fields: billing_type_id: 1 limitation_type: no_limitation worked_time: 4800 billable_time: 4800 estimated_time: 8000 budgeted_time: 8000 currency: USD relationships: service_type: data: type: service_types id: '5' deal: data: type: deals id: '89' person: data: section: data: included: [] description: Single service single_service_assignment: content: application/vnd.api+json: schema: type: object description: A single service_assignment record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_service_assignment" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '890' type: service_assignments attributes: billable: true relationships: person: data: type: people id: '12' service: data: type: services id: '1856422' included: [] description: Single service assignment single_service_type: content: application/vnd.api+json: schema: type: object description: A single service_type record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_service_type" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '5' type: service_types attributes: name: Development description: Software development and engineering work archived_at: relationships: {} included: [] description: Single service type single_service_type_assignment: content: application/vnd.api+json: schema: type: object description: A single service_type_assignment record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_service_type_assignment" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '67' type: service_type_assignments attributes: {} relationships: person: data: type: people id: '12' service_type: data: type: service_types id: '5' included: [] description: Single service type assignment single_session: content: application/vnd.api+json: schema: type: object description: A single session record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_session" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '789' type: sessions attributes: token: created_at: '2026-03-15T09:00:00.000+00:00' relationships: user: data: type: users id: '456' included: [] description: Single session single_shortened_link: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_shortened_link" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single shortened link single_signup: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_signup" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single signup single_skill: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_skill" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single skill single_slack_channel: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_slack_channel" required: - data description: Single slack channel single_sso_configuration: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_sso_configuration" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single sso configuration single_survey: content: application/vnd.api+json: schema: type: object description: A single survey record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_survey" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single survey single_survey_field: content: application/vnd.api+json: schema: type: object description: A single survey_field record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_survey_field" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '45' type: survey_fields attributes: label: How satisfied are you with the project outcome? field_type: rating required: true position: 1 relationships: survey: data: type: surveys id: '7' included: [] description: Single survey field single_survey_field_option: content: application/vnd.api+json: schema: type: object description: A single survey_field_option record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_survey_field_option" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '123' type: survey_field_options attributes: label: Very Satisfied value: '5' position: 1 relationships: survey_field: data: type: survey_fields id: '45' included: [] description: Single survey field option single_survey_response: content: application/vnd.api+json: schema: type: object description: A single survey_response record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_survey_response" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '67' type: survey_responses attributes: submitted_at: '2026-03-15T10:00:00.000+00:00' answers: '45': 5 relationships: survey: data: type: surveys id: '7' person: data: type: people id: '12' included: [] description: Single survey response single_tag: content: application/vnd.api+json: schema: type: object description: A single tag record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_tag" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '121711' type: tags attributes: name: backend color_id: '3' included: [] description: Single tag single_task_dependency: content: application/vnd.api+json: schema: type: object description: A single task_dependency record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_task_dependency" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '15' type: task_dependencies attributes: dependency_type: blocking created_at: '2026-03-01T10:00:00.000+00:00' relationships: task: data: type: tasks id: '120501' blocking_task: data: type: tasks id: '120500' included: [] description: Single task dependency single_task_list: content: application/vnd.api+json: schema: type: object description: A single task_list record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_task_list" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' folder: data: type: folders id: '5522' included: [] description: Single task list single_tax_rate: content: application/vnd.api+json: schema: type: object description: A single tax_rate record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_tax_rate" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - type: subsidiaries id: '234' attributes: name: Acme Corp Canada meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '8' type: tax_rates attributes: name: Standard VAT 20% primary_component_name: VAT primary_component_value: '0.2' secondary_component_name: secondary_component_value: archived_at: relationships: subsidiary: data: type: subsidiaries id: '2' included: [] description: Single tax rate single_team: content: application/vnd.api+json: schema: type: object description: A single team record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_team" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '3' type: teams attributes: name: Engineering color_id: '5' icon_id: '2' relationships: members: data: - type: people id: '12' - type: people id: '34' included: [] description: Single team single_team_membership: content: application/vnd.api+json: schema: type: object description: A single team_membership record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_team_membership" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '78' type: team_memberships attributes: {} relationships: person: data: type: people id: '12' team: data: type: teams id: '3' included: [] description: Single team membership single_template: content: application/vnd.api+json: schema: type: object description: Top-level JSON:API document for a single template. properties: data: "$ref": "#/components/schemas/_response_object_template" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources requested via `include`. example: [] meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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: relationships: project: data: type: projects id: '258974' deal: data: page: data: task: data: creator: data: type: people id: '13' meta: current_page: 1 included: [] description: Successful response containing the requested template. single_time_entry: content: application/vnd.api+json: schema: type: object description: A single time entry record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_time_entry" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of related resource objects included in the response. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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: included: [] description: Single time entry single_time_entry_version: content: application/vnd.api+json: schema: type: object description: A single time_entry_version record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_time_entry_version" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '1234' type: time_entry_versions attributes: changeset: time: - 240 - 480 note: - '' - Updated after review created_at: '2026-03-15T17:30:00.000+00:00' relationships: time_entry: data: type: time_entries id: '84848214' person: data: type: people id: '12' included: [] description: Single time entry version single_time_tracking_policy: content: application/vnd.api+json: schema: type: object description: A single time_tracking_policy record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_time_tracking_policy" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '3' type: time_tracking_policies attributes: name: Standard Policy track_method_ids: - 1 - 2 default_track_method_id: 1 daily_limit: 720 requires_task: false requires_service: true included: [] description: Single time tracking policy single_timer: content: application/vnd.api+json: schema: type: object description: A single timer record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_timer" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '89' type: timers attributes: person_id: 12 started_at: '2026-03-15T09:00:00.000+00:00' stopped_at: total_time: 3600 relationships: time_entry: data: type: time_entries id: '84848214' included: [] description: Single timer single_timesheet: content: application/vnd.api+json: schema: type: object description: A single timesheet record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_timesheet" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '567' type: timesheets attributes: status: submitted week_starting: '2026-03-10' total_time: 2400 submitted_at: '2026-03-17T09:00:00.000+00:00' approved_at: relationships: person: data: type: people id: '12' included: [] description: Single timesheet single_todo: content: application/vnd.api+json: schema: type: object description: A single todo record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_todo" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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: included: [] description: Single todo single_two_factor_authentication: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_two_factor_authentication" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single two factor authentication single_user: content: application/vnd.api+json: schema: type: object description: A single user record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_user" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '456' type: users attributes: email: alex.smith@example.com first_name: Alex last_name: Smith time_zone: America/New_York avatar_url: default_organization_id: 109 default_organization_slug: myagency locale: en two_factor_auth: false newsletter_consent: true preferences: {} updated_at: '2026-03-15T10:00:00.000+00:00' included: [] description: Single user single_webhook: content: application/vnd.api+json: schema: type: object description: A single webhook record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_webhook" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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: {} included: [] description: Single webhook single_widget: content: application/vnd.api+json: schema: type: object description: A single widget record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_widget" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '56' type: widgets attributes: title: Revenue by Project widget_type_id: 3 column_position: 0 row_position: 0 width: 6 height: 4 content: {} relationships: dashboard: data: type: dashboards id: '34' filter: data: included: [] description: Single widget single_workflow: content: application/vnd.api+json: schema: type: object description: A single workflow record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_workflow" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '75' type: workflows attributes: name: Default Workflow archived_at: relationships: workflow_statuses: data: - type: workflow_statuses id: '224' - type: workflow_statuses id: '225' - type: workflow_statuses id: '226' included: [] description: Single workflow single_workflow_status: content: application/vnd.api+json: schema: type: object description: A single workflow_status record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_workflow_status" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '224' type: workflow_statuses attributes: name: In Progress color_id: '5' position: 2 category_id: 2 relationships: workflow: data: type: workflows id: '75' included: [] description: Single workflow status unprocessable_content_email_thread: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_email_thread" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content collection_payment_reminder: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_payment_reminder" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection payment reminder collection_payment_reminder_sequence: content: application/vnd.api+json: schema: type: object description: Paginated list of payment reminder sequence records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_payment_reminder_sequence" description: Array of payment reminder sequence resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '2' type: payment_reminder_sequences attributes: name: Standard Reminder default: true relationships: {} included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection payment reminder sequence collection_payment_report: content: application/vnd.api+json: schema: type: object description: Paginated list of payment report records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_payment_report" description: Array of payment report row resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-012 type: payment_reports attributes: amount: '5000.00' paid_on: '2026-03-10' invoice_id: 234 company_id: 65111 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection payment report collection_payroll_item_report: content: application/vnd.api+json: schema: type: object description: Paginated list of payroll item report records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_payroll_item_report" description: Array of payroll item report row resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-022 type: payroll_item_reports attributes: gross: '7083.33' net: '5312.50' person_id: 12 month: 2026-03 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection payroll item report collection_person_report: content: application/vnd.api+json: schema: type: object description: Collection of aggregated person report rows. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_person_report" description: Array of person report row resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-005 type: person_reports attributes: billable_time: 14400 nonbillable_time: 1800 total_time: 16200 utilization: 0.85 capacity: 9600 revenue: '3600.00' cost: '1620.00' person_id: 12 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection person report collection_pipeline: content: application/vnd.api+json: schema: type: object description: Paginated list of pipeline records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_pipeline" description: Array of pipeline resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection pipeline collection_placeholder_usage: content: application/vnd.api+json: schema: type: object description: Paginated list of placeholder usage records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_placeholder_usage" description: Array of placeholder usage resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '199' type: placeholder_usages attributes: id: 199 target_id: 7388879 target_type: Ticket field: assignee placeholder_id: 88 interval_value: interval_unit: interval_direction: skip_weekends: false interval_enabled: false created_at: '2026-09-02T11:48:44.135+02:00' updated_at: '2026-09-02T11:48:44.135+02:00' relationships: placeholder: data: type: placeholders id: '88' task: data: type: tasks id: '7388879' included: [] meta: current_page: 1 total_pages: 1 total_count: 2 page_size: 30 max_page_size: 200 description: Collection placeholder usage collection_price: content: application/vnd.api+json: schema: type: object description: Paginated list of price records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_price" description: Array of price resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '234' type: prices attributes: name: Senior Developer billing_type_id: 1 unit_id: 1 description: Hourly rate for senior development work time_tracking_enabled: true booking_tracking_enabled: true estimated_hours: 160 currency: USD rate: '150.00' estimated_cost: '24000.00' updated_at: '2026-01-15T10:00:00.000+00:00' relationships: service_type: data: type: service_types id: '5' rate_card: data: type: rate_cards id: '7' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection price collection_price_report: content: application/vnd.api+json: schema: type: object description: Paginated list of price report records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_price_report" description: Array of price report row resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-021 type: price_reports attributes: rate: '150.00' total: '75000.00' estimated_hours: 500 service_type_id: 5 company_id: 65111 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection price report collection_project_milestone: content: application/vnd.api+json: schema: type: object description: Paginated list of project milestone records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_project_milestone" description: Array of project milestone resource objects. example: - id: '42' type: project_milestones attributes: title: Beta launch date: '2026-10-15' color_id: '6' icon_id: icon-rocket-launch note: Release to beta customers. created_at: '2026-09-01T10:15:00.000+02:00' updated_at: '2026-09-01T10:15:00.000+02:00' relationships: organization: data: type: organizations id: '109' creator: data: type: people id: '1001' assignee: data: type: people id: '1002' project: data: type: projects id: '7388870' - id: '43' type: project_milestones attributes: title: Go-live date: '2026-11-02' color_id: '6' icon_id: icon-flag-checkered-line note: created_at: '2026-09-01T10:15:00.000+02:00' updated_at: '2026-09-01T10:15:00.000+02:00' relationships: organization: data: type: organizations id: '109' creator: data: type: people id: '1001' assignee: data: project: data: type: projects id: '7388870' included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '7388870' type: projects attributes: name: Website redesign meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '42' type: project_milestones attributes: title: Beta launch date: '2026-10-15' color_id: '6' icon_id: icon-rocket-launch note: Release to beta customers. created_at: '2026-09-01T10:15:00.000+02:00' updated_at: '2026-09-01T10:15:00.000+02:00' relationships: organization: data: type: organizations id: '109' creator: data: type: people id: '1001' assignee: data: type: people id: '1002' project: data: type: projects id: '7388870' - id: '43' type: project_milestones attributes: title: Go-live date: '2026-11-02' color_id: '6' icon_id: icon-flag-checkered-line note: created_at: '2026-09-01T10:15:00.000+02:00' updated_at: '2026-09-01T10:15:00.000+02:00' relationships: organization: data: type: organizations id: '109' creator: data: type: people id: '1001' assignee: data: project: data: type: projects id: '7388870' included: [] meta: current_page: 1 total_pages: 1 total_count: 2 page_size: 30 max_page_size: 200 description: Paginated list of project milestones. collection_project_milestone_report: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_project_milestone_report" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection project milestone report collection_project_preference: content: application/vnd.api+json: schema: type: object description: Paginated list of project preference records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_project_preference" description: Array of project preference resource objects. example: - id: '32234' type: project_preferences attributes: tasks_layout_id: 104 created_at: '2026-01-20T10:00:00.000+00:00' preferences: '{"project_last_tab":"tasks","default_tab_id":"1867-project-tasks"}' watched: false relationships: person: data: type: people id: '12' project: data: type: projects id: '6899' included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '12' type: people attributes: first_name: Ana last_name: Horvat email: ana.horvat@example.com meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '32234' type: project_preferences attributes: tasks_layout_id: 104 created_at: '2026-01-20T10:00:00.000+00:00' preferences: '{"project_last_tab":"tasks","default_tab_id":"1867-project-tasks"}' watched: false relationships: person: data: type: people id: '12' project: data: type: projects id: '6899' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Paginated list of project preferences. collection_project_report: content: application/vnd.api+json: schema: type: object description: Paginated list of aggregated project report rows, each grouping projects by configurable dimensions with utilization, financial, and delivery metrics. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_project_report" description: Array of project report row resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-004 type: project_reports attributes: budget_total: '100000.00' budget_used: '62000.00' revenue: '75000.00' cost: '45000.00' profit: '30000.00' profit_margin: 0.4 billable_time: 48000 nonbillable_time: 6000 total_time: 54000 project_id: 6899 company_id: 65111 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection project report collection_proposal: content: application/vnd.api+json: schema: type: object description: Paginated list of proposal records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_proposal" description: Array of proposal resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '23' type: proposals attributes: name: Website Redesign Proposal status: sent created_at: '2026-02-15T10:00:00.000+00:00' sent_at: '2026-02-16T09:00:00.000+00:00' accepted_at: declined_at: currency: USD total: '45000.00' relationships: deal: data: type: deals id: '89' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection proposal collection_proposal_report: content: application/vnd.api+json: schema: type: object description: JSON:API response schema for a collection of proposal reports. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_proposal_report" description: The JSON:API data array containing the list of proposal report resources. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: An array of included related resources (side-loaded data). example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-024 type: proposal_reports attributes: total: '45000.00' status: sent deal_id: 89 company_id: 65111 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: A paginated collection of proposal report resources. collection_proposal_service: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_proposal_service" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection proposal service collection_proposal_session: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_proposal_session" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection proposal session collection_pulse: content: application/vnd.api+json: schema: type: object description: Paginated list of pulse (scheduled report) records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_pulse" description: Array of pulse resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '234' type: pulses attributes: score: 8 comment: Great sprint — shipped the auth feature on time created_at: '2026-03-15T10:00:00.000+00:00' relationships: person: data: type: people id: '12' project: data: type: projects id: '6899' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection pulse collection_purchase_order: content: application/vnd.api+json: schema: type: object description: JSON:API envelope with `data`, `included`, `meta`, and `links`. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_purchase_order" description: Array of `purchase_orders` resource objects. example: - type: purchase_orders id: '1234567' attributes: subject: Purchase Order PO-2024-017 status_id: 1 issued_on: '2026-04-10' delivery_on: '2026-04-17' sent_on: '2026-04-10' received_on: '2026-04-15T10:30:00.000+01:00' created_at: '2026-04-01T09:00:00.000+01:00' number: PO-2024-017 note: Please confirm delivery date for the attached items. footer: 'Payment terms: net 30.' note_interpolated: Please confirm delivery date for PO-2024-017. footer_interpolated: 'Payment terms: net 30.' email_key: po-7f3c9b2a payment_status_id: 1 exchange_rate: '1.00000000000000000000' exchange_date: '2026-04-10' exported: true exported_at: '2026-04-12T14:22:00.000+01:00' export_integration_type_id: 3 export_id: xero-abc123 export_url: https://go.xero.com/PurchaseOrders/Edit/abc123 currency: USD currency_default: USD currency_normalized: USD total_cost: 150000 total_cost_default: 150000 total_cost_normalized: 150000 total_cost_with_tax: 187500 total_cost_with_tax_default: 187500 total_cost_with_tax_normalized: 187500 total_received: 150000 total_received_default: 150000 total_received_normalized: 150000 relationships: organization: data: type: organizations id: '109' vendor: data: type: companies id: '234567' deal: data: type: deals id: '456789' creator: data: type: people id: '345678' document_type: data: type: document_types id: '12' attachment: data: type: attachments id: '89012' bill_to: data: type: contact_entries id: '78' bill_from: data: type: contact_entries id: '79' included: type: array items: "$ref": "#/components/schemas/_response_included" example: - type: companies id: '234567' attributes: name: Acme Supplies - type: deals id: '456789' attributes: name: Q2 Marketing Campaign meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Paginated list of purchase orders in JSON:API format, with related vendor, deal, creator, document type, bill-to, bill-from, and attachment resources available via `include`. collection_purchase_order_report: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_purchase_order_report" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection purchase order report collection_rate_card: content: application/vnd.api+json: schema: type: object description: Paginated list of rate card records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_rate_card" description: Array of rate card resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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: {} included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection rate card collection_report_category: content: application/vnd.api+json: schema: type: object description: Paginated list of report category records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_report_category" description: Array of report category resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '5' type: report_categories attributes: name: Financial description: Revenue, cost, and profitability reports included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection report category collection_resource_request: content: application/vnd.api+json: schema: type: object description: The JSON:API response body schema for a collection of resource requests. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_resource_request" description: The JSON:API data array containing the list of returned resource request objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: An array of sideloaded related resources included with the collection response. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '34' type: resource_requests attributes: status: pending requested_hours: 160 start_date: '2026-04-01' end_date: '2026-04-30' note: Need a senior React developer for the dashboard feature created_at: '2026-03-15T10:00:00.000+00:00' relationships: service: data: type: services id: '1856422' requester: data: type: people id: '12' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: A paginated collection of resource requests. collection_resource_request_report: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_resource_request_report" description: Array of resource request report row resource objects. included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection resource request report collection_revenue_distribution: content: application/vnd.api+json: schema: type: object description: Paginated list of revenue distribution records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_revenue_distribution" description: Array of revenue distribution resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '345' type: revenue_distributions attributes: amount: '10000.00' recognized_at: '2026-03-31' project_id: 6899 deal_id: 89 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection revenue distribution collection_role: content: application/vnd.api+json: schema: type: object description: Paginated list of role records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_role" description: Array of role resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '5' type: roles attributes: name: Project Manager description: Can manage projects, budgets, and team members base_role_id: 2 people_count: 8 active_users_count: 6 inactive_users_count: 2 active_agents_count: 0 inactive_agents_count: 0 editable_by_user: true user_type_id: 1 permissions: manage_projects: true manage_budgets: true view_financials: false included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection role collection_salary: content: application/vnd.api+json: schema: type: object description: Paginated list of salary records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_salary" description: Array of salary resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '34' type: salaries attributes: default_salary: true started_on: '2026-01-01' ended_on: salary_type_id: 1 working_hours: 40 overhead: false note: exchange_rate: exchange_date: currency: USD cost: '85000.00' hourly_rate: '51.44' relationships: person: data: type: people id: '12' holiday_calendar: data: type: holiday_calendars id: '3' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection salary collection_scenario: content: application/vnd.api+json: schema: type: object description: Paginated list of scenario records in JSON:API format. properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_scenario" description: Array of scenario resource objects. example: - id: '42' type: scenarios attributes: name: Q1 staffing plan created_at: '2026-01-15T09:30:00.000+01:00' start_date: '2026-03-02' end_date: '2026-05-29' currency: EUR budget_total: 960000 budget_used: 480000 revenue: 960000 cost: 720000 profit: 240000 profit_margin: '25.0' last_applied_at: '2026-02-20T14:00:00.000+01:00' relationships: organization: data: type: organizations id: '1' deal: data: type: deals id: '5678' creator: data: type: people id: '7' included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '5678' type: deals attributes: name: Website redesign meta: "$ref": "#/components/schemas/_meta" required: - data example: data: - id: '42' type: scenarios attributes: name: Q1 staffing plan created_at: '2026-01-15T09:30:00.000+01:00' start_date: '2026-03-02' end_date: '2026-05-29' currency: EUR budget_total: 960000 budget_used: 480000 revenue: 960000 cost: 720000 profit: 240000 profit_margin: '25.0' last_applied_at: '2026-02-20T14:00:00.000+01:00' relationships: organization: data: type: organizations id: '1' deal: data: type: deals id: '5678' creator: data: type: people id: '7' meta: current_page: 1 total_pages: 1 total_count: 1 page_size: 30 max_page_size: 200 description: Collection scenario collection_scenario_booking: content: application/vnd.api+json: schema: type: object description: Paginated list of scenario booking records in JSON:API format. properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_scenario_booking" description: Array of scenario booking resource objects. example: - id: '401' type: scenario_bookings attributes: time: 240 total_time: 2400 started_on: '2026-03-02' ended_on: '2026-03-13' booking_method_id: 1 total_working_days: 10 note: Kickoff sprint relationships: organization: data: type: organizations id: '1' scenario_item: data: type: scenario_items id: '301' creator: data: type: people id: '7' included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '301' type: scenario_items attributes: used_quantity: '40.0' meta: "$ref": "#/components/schemas/_meta" required: - data example: data: - id: '401' type: scenario_bookings attributes: time: 240 total_time: 2400 started_on: '2026-03-02' ended_on: '2026-03-13' booking_method_id: 1 total_working_days: 10 note: Kickoff sprint relationships: organization: data: type: organizations id: '1' scenario_item: data: type: scenario_items id: '301' creator: data: type: people id: '7' meta: current_page: 1 total_pages: 1 total_count: 1 page_size: 30 max_page_size: 200 description: Collection scenario booking collection_scenario_item: content: application/vnd.api+json: schema: type: object description: Paginated list of scenario item records in JSON:API format. properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_scenario_item" description: Array of scenario item resource objects. example: - id: '301' type: scenario_items attributes: start_date: '2026-03-02' end_date: '2026-04-24' used_quantity: '40.0' markup: '20.0' discount: '10.0' cost: 9000 price: 12000 relationships: organization: data: type: organizations id: '1' person: data: type: people id: '7' scenario_service: data: type: scenario_services id: '201' included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '7' type: people attributes: first_name: Ana last_name: Novak meta: "$ref": "#/components/schemas/_meta" required: - data example: data: - id: '301' type: scenario_items attributes: start_date: '2026-03-02' end_date: '2026-04-24' used_quantity: '40.0' markup: '20.0' discount: '10.0' cost: 9000 price: 12000 relationships: organization: data: type: organizations id: '1' person: data: type: people id: '7' scenario_service: data: type: scenario_services id: '201' meta: current_page: 1 total_pages: 1 total_count: 1 page_size: 30 max_page_size: 200 description: Collection scenario item collection_scenario_section: content: application/vnd.api+json: schema: type: object description: Paginated list of scenario section records in JSON:API format. properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_scenario_section" description: Array of scenario section resource objects. example: - id: '101' type: scenario_sections attributes: name: Design phase position: 1 preferences: {} relationships: organization: data: type: organizations id: '1' scenario: data: type: scenarios id: '42' included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '42' type: scenarios attributes: name: Q1 staffing plan meta: "$ref": "#/components/schemas/_meta" required: - data example: data: - id: '101' type: scenario_sections attributes: name: Design phase position: 1 preferences: {} relationships: organization: data: type: organizations id: '1' scenario: data: type: scenarios id: '42' meta: current_page: 1 total_pages: 1 total_count: 1 page_size: 30 max_page_size: 200 description: Collection scenario section collection_scenario_service: content: application/vnd.api+json: schema: type: object description: Paginated list of scenario service records in JSON:API format. properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_scenario_service" description: Array of scenario service resource objects. example: - id: '201' type: scenario_services attributes: name: UX design billable: true billing_type_id: 1 unit_id: 1 quantity: '80.0' price: 12000 budget_total: 960000 revenue: 960000 cost: 720000 profit: 240000 profit_margin: '25.0' relationships: organization: data: type: organizations id: '1' scenario: data: type: scenarios id: '42' scenario_section: data: type: scenario_sections id: '101' service_type: data: type: service_types id: '31' included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '101' type: scenario_sections attributes: name: Design phase meta: "$ref": "#/components/schemas/_meta" required: - data example: data: - id: '201' type: scenario_services attributes: name: UX design billable: true billing_type_id: 1 unit_id: 1 quantity: '80.0' price: 12000 budget_total: 960000 revenue: 960000 cost: 720000 profit: 240000 profit_margin: '25.0' relationships: organization: data: type: organizations id: '1' scenario: data: type: scenarios id: '42' scenario_section: data: type: scenario_sections id: '101' service_type: data: type: service_types id: '31' meta: current_page: 1 total_pages: 1 total_count: 1 page_size: 30 max_page_size: 200 description: Collection scenario service collection_search_deal_mention: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_search_deal_mention" meta: "$ref": "#/components/schemas/_meta" included: type: array items: {} links: "$ref": "#/components/schemas/_links" required: - data description: Collection search deal mention collection_search_quick_result: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_search_quick_result" example: - id: task-1234 type: search-quick-results attributes: record_id: task-1234 record_type: task variance: normal title: "#42 Implement quick search endpoint" subtitle: icon_url: status: active meta: board_name: Development task_list_name: In Progress project_name: API Improvements updated_at: 1744176000 debug_info: ranking_score: 0.97 ranking_score_details: meta: "$ref": "#/components/schemas/_meta" included: type: array items: {} links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: task-1234 type: search-quick-results attributes: record_id: task-1234 record_type: task variance: normal title: "#42 Implement quick search endpoint" subtitle: icon_url: status: active meta: board_name: Development task_list_name: In Progress project_name: API Improvements workflow_status: name: In Progress color_id: 3 updated_at: 1744176000 debug_info: ranking_score: 0.97 ranking_score_details: meta: next_page: per_page: 10 total_count: 1 description: Collection search quick result collection_section: content: application/vnd.api+json: schema: type: object description: Paginated list of section records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_section" description: Array of section resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '45' type: sections attributes: name: Design Phase position: 1 preferences: {} editor_config: {} relationships: deal: data: type: deals id: '89' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection section collection_service: content: application/vnd.api+json: schema: type: object description: JSON:API response envelope for a collection of services. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_service" description: Array of service resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '1856422' type: services attributes: name: Frontend Development position: 1 deleted_at: description: Building React components and user interfaces time_tracking_enabled: true expense_tracking_enabled: false booking_tracking_enabled: true origin_service_id: initial_service_id: 1856422 editor_config: {} custom_fields: billing_type_id: 1 limitation_type: no_limitation worked_time: 4800 billable_time: 4800 estimated_time: 8000 budgeted_time: 8000 currency: USD relationships: service_type: data: type: service_types id: '5' deal: data: type: deals id: '89' person: data: section: data: included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection service collection_service_assignment: content: application/vnd.api+json: schema: type: object description: Paginated list of service assignment records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_service_assignment" description: Array of service assignment resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '890' type: service_assignments attributes: billable: true relationships: person: data: type: people id: '12' service: data: type: services id: '1856422' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection service assignment collection_service_report: content: application/vnd.api+json: schema: type: object description: Collection of aggregated service report rows. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_service_report" description: Array of service report row resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-010 type: service_reports attributes: budget_total: '50000.00' budget_used: '32000.00' revenue: '38000.00' cost: '24000.00' profit: '14000.00' profit_margin: 0.37 billable_time: 24000 nonbillable_time: 3000 worked_time: 27000 estimated_time: 32000 service_id: 1856422 deal_id: 89 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection service report collection_service_suggestion: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_service_suggestion" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection service suggestion collection_service_type: content: application/vnd.api+json: schema: type: object description: Paginated list of service type records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_service_type" description: Array of service type resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '5' type: service_types attributes: name: Development description: Software development and engineering work archived_at: relationships: {} included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection service type collection_service_type_assignment: content: application/vnd.api+json: schema: type: object description: Paginated list of service type assignment records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_service_type_assignment" description: Array of service type assignment resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '67' type: service_type_assignments attributes: {} relationships: person: data: type: people id: '12' service_type: data: type: service_types id: '5' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection service type assignment collection_session: content: application/vnd.api+json: schema: type: object description: Paginated list of session records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_session" description: Array of session resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '789' type: sessions attributes: token: created_at: '2026-03-15T09:00:00.000+00:00' relationships: user: data: type: users id: '456' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection session collection_skill: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_skill" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection skill collection_slack_channel: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_slack_channel" meta: type: object properties: page_size: type: integer required: - data - meta description: Collection slack channel collection_sso_configuration: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_sso_configuration" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection sso configuration collection_subsidiary: content: application/vnd.api+json: schema: type: object description: Paginated list of subsidiary records in JSON:API format. properties: data: type: array items: type: object description: A subsidiary resource object. properties: attributes: type: object description: Subsidiary attributes. properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/archived_at" - type: 'null' description: Timestamp when this subsidiary was archived. export_integration_type_id: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/export_integration_type_id" - type: 'null' description: The export integration type for this subsidiary (e.g. accounting software). facility_costs: "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs" facility_costs_breakdown: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs_breakdown" - type: 'null' description: Breakdown of facility costs by component. facility_costs_default: "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs_default" facility_costs_normalized: "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs_normalized" invoice_logo_url: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_logo_url" - type: 'null' description: URL of the logo used on invoices issued by this subsidiary. invoice_number_format: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_number_format" - type: 'null' description: The format template for invoice numbers (e.g. INV-{year}-{number}). invoice_number_scope: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_number_scope" - type: 'null' description: The scope for invoice number sequencing (per subsidiary or organization-wide). name: "$ref": "#/components/schemas/resource_subsidiary/properties/name" show_delivery_date: "$ref": "#/components/schemas/resource_subsidiary/properties/show_delivery_date" avatar_url: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/avatar_url" - type: 'null' example: eq: value relationships: type: object description: Subsidiary relationships. properties: bill_from: "$ref": "#/components/schemas/_single_relationship" custom_domain: "$ref": "#/components/schemas/_single_relationship" default_bank_account: "$ref": "#/components/schemas/_single_relationship" default_document_type: "$ref": "#/components/schemas/_single_relationship" default_tax_rate: "$ref": "#/components/schemas/_single_relationship" einvoice_configuration: "$ref": "#/components/schemas/_single_relationship" einvoice_identity: "$ref": "#/components/schemas/_single_relationship" integration: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" example: eq: value example: eq: value description: Array of subsidiary resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: - id: '2' type: subsidiaries attributes: name: Acme Agency EU archived_at: show_delivery_date: false invoice_number_format: INV-{YYYY}-{NNN} invoice_number_scope: subsidiary relationships: bill_from: data: type: contact_entries id: '891' default_tax_rate: data: type: tax_rates id: '8' default_bank_account: data: type: bank_accounts id: '5' default_document_type: data: type: document_types id: '3' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection subsidiary collection_survey: content: application/vnd.api+json: schema: type: object description: Paginated list of survey records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_survey" description: Array of survey resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection survey collection_survey_field: content: application/vnd.api+json: schema: type: object description: Paginated list of survey field records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_survey_field" description: Array of survey field resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '45' type: survey_fields attributes: label: How satisfied are you with the project outcome? field_type: rating required: true position: 1 relationships: survey: data: type: surveys id: '7' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection survey field collection_survey_field_option: content: application/vnd.api+json: schema: type: object description: Paginated list of survey field option records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_survey_field_option" description: Array of survey field option resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '123' type: survey_field_options attributes: label: Very Satisfied value: '5' position: 1 relationships: survey_field: data: type: survey_fields id: '45' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection survey field option collection_survey_report: content: application/vnd.api+json: schema: type: object description: Paginated list of survey report records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_survey_report" description: Array of survey report row resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-017 type: survey_reports attributes: response_count: 42 avg_score: 4.2 survey_id: 7 project_id: 6899 included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection survey report collection_survey_response: content: application/vnd.api+json: schema: type: object description: Paginated list of survey response records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_survey_response" description: Array of survey response resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '67' type: survey_responses attributes: submitted_at: '2026-03-15T10:00:00.000+00:00' answers: '45': 5 relationships: survey: data: type: surveys id: '7' person: data: type: people id: '12' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection survey response collection_tag: content: application/vnd.api+json: schema: type: object description: Paginated list of tag records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_tag" description: Array of tag resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '121711' type: tags attributes: name: backend color_id: '3' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection tag collection_task_dependency: content: application/vnd.api+json: schema: type: object description: Paginated list of task dependency records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_task_dependency" description: Array of task dependency resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '15' type: task_dependencies attributes: dependency_type: blocking created_at: '2026-03-01T10:00:00.000+00:00' relationships: task: data: type: tasks id: '120501' blocking_task: data: type: tasks id: '120500' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection task dependency collection_task_list: content: application/vnd.api+json: schema: type: object description: Paginated list of task list records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_task_list" description: Array of task list resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' folder: data: type: folders id: '5522' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection task list collection_automation_run: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_automation_run" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection automation run collection_backoffice_data_migration: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_data_migration" links: "$ref": "#/components/schemas/_links" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice data migration collection_backoffice_einvoice_configuration: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_einvoice_configuration" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice e-invoice configuration collection_backoffice_feature: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_feature" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice feature collection_backoffice_feature_report: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_feature_report" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice feature report collection_backoffice_flag: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_flag" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice flag collection_backoffice_flag_activity: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_flag_activity" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice flag activity collection_backoffice_organization: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_organization" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice organization collection_backoffice_organization_activity: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_organization_activity" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice organization activity collection_backoffice_organization_champion: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_organization_champion" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice organization champion collection_backoffice_organization_contract: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_organization_contract" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice organization contract collection_backoffice_organization_membership: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_organization_membership" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice organization membership collection_backoffice_organization_report: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_organization_report" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection backoffice organization report collection_backoffice_price: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_price" required: - data description: Collection backoffice price collection_backoffice_product: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_product" required: - data description: Collection backoffice product collection_backoffice_proposal_identity_confirmation: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_proposal_identity_confirmation" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice proposal identity confirmation collection_backoffice_session_report: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_session_report" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice session report collection_backoffice_setting: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_setting" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice setting collection_backoffice_setting_definition: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_setting_definition" required: - data description: Collection backoffice setting definition collection_backoffice_user: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_user" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice user collection_backoffice_user_report: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_user_report" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice user report collection_backoffice_user_segment: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_backoffice_user_segment" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection backoffice user segment collection_balancing_hour_report: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_balancing_hour_report" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection balancing hour report collection_bank_account: content: application/vnd.api+json: schema: type: object description: Paginated list of bank account records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_bank_account" description: Array of bank account resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection bank account collection_bill: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_bill" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection bill collection_bill_item: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_bill_item" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection bill item collection_bill_report: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_bill_report" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection bill report collection_booking: content: application/vnd.api+json: schema: type: object description: Paginated list of booking records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_booking" description: Array of booking resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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: included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection booking collection_booking_report: content: application/vnd.api+json: schema: type: object description: Paginated list of booking report rows with included related resources. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_booking_report" description: Array of booking report resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-002 type: booking_reports attributes: total_time: 2400 billable_time: 2400 nonbillable_time: 0 total_working_days: 5 person_id: 12 project_id: 6899 service_id: 1856422 started_on: '2026-03-17' ended_on: '2026-03-21' revenue: '1500.00' cost: '800.00' currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection booking report collection_budget_report: content: application/vnd.api+json: schema: type: object description: JSON:API response envelope for a collection of budget report rows. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_budget_report" description: Array of budget report resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-003 type: budget_reports attributes: budget_total: '100000.00' budget_used: '62000.00' revenue: '75000.00' cost: '45000.00' profit: '30000.00' profit_margin: 0.4 billable_time: 48000 nonbillable_time: 6000 expense_amount: '3500.00' project_id: 6899 deal_id: 89 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection budget report collection_calendar_event: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_calendar_event" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection calendar event collection_comment: content: application/vnd.api+json: schema: type: object description: Paginated list of comment records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_comment" description: Array of comment resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '456' type: comments attributes: note: Looks good! I added a few edge cases to handle. Let me know if you need help with the OAuth token refresh flow. created_at: '2026-03-10T11:30:00.000+00:00' updated_at: '2026-03-10T11:30:00.000+00:00' commentable_type: task commentable_id: 120501 relationships: author: data: type: people id: '12' task: data: type: tasks id: '120501' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection comment collection_company: content: application/vnd.api+json: schema: type: object description: JSON:API collection response containing an array of company objects. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_company" description: Array of company resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '65111' type: companies attributes: name: Acme Corp billing_name: Acme Corporation Ltd vat: DE123456789 default_currency: USD created_at: '2026-01-01T00:00:00.000+00:00' last_activity_at: '2026-03-10T14:00:00.000+00:00' archived_at: avatar_url: original_avatar_url: invoice_email_recipients: {} custom_fields: company_code: ACME1 domain: acme.com domains: - acme.com projectless_budgets: false default_subsidiary_id: default_tax_rate_id: default_document_type_id: due_days: 30 tag_list: - enterprise contact: {} sample_data: false settings: {} external_id: external_sync: false parent_company_id: relationships: default_subsidiary: data: default_document_type: data: parent_company: data: included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection company collection_company_report: content: application/vnd.api+json: schema: type: object description: Paginated list of aggregated company report rows, each grouping client companies by configurable dimensions with revenue, invoicing, and relationship metrics. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_company_report" description: Array of company report resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-006 type: company_reports attributes: revenue: '250000.00' invoiced: '175000.00' payments: '140000.00' outstanding: '35000.00' billable_time: 120000 company_id: 65111 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection company report collection_connection: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_connection" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection connection collection_contact_entry: content: application/vnd.api+json: schema: type: object description: Paginated list of contact entry records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_contact_entry" description: Array of contact entry resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '891' type: contact_entries attributes: contactable_type: company type: main name: Headquarters email: hello@acmecorp.com phone: "+1-555-0123" website: https://acmecorp.com address: 123 Innovation Drive city: San Francisco state: CA zipcode: '94105' country: US billing_address: 123 Innovation Drive, San Francisco, CA 94105 billing_email: billing@acmecorp.com relationships: company: data: type: companies id: '65111' person: data: included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection contact entry collection_contract: content: application/vnd.api+json: schema: type: object description: Paginated list of contract records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_contract" description: Array of contract resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection contract collection_custom_domain: content: application/vnd.api+json: schema: type: object description: Paginated list of custom domain records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_custom_domain" description: Array of custom domain resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '4' type: custom_domains attributes: domain: app.myagency.com verified: true verified_at: '2026-01-15T00:00:00.000+00:00' relationships: subsidiary: data: type: subsidiaries id: '2' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection custom domain collection_custom_field: content: application/vnd.api+json: schema: type: object description: Paginated list of custom field records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_custom_field" description: Array of custom field resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '53455' type: custom_fields attributes: name: Priority field_type: dropdown position: 1 required: false filterable: true archived_at: relationships: custom_field_section: data: type: custom_field_sections id: '12' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection custom field collection_custom_field_option: content: application/vnd.api+json: schema: type: object description: Paginated list of custom field option records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_custom_field_option" description: Array of custom field option resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection custom field option collection_custom_field_section: content: application/vnd.api+json: schema: type: object description: Paginated list of custom field section records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_custom_field_section" description: Array of custom field section resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '12' type: custom_field_sections attributes: name: Project Fields position: 1 item_type: project relationships: {} included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection custom field section collection_dashboard: content: application/vnd.api+json: schema: type: object description: Paginated list of dashboard records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_dashboard" description: Array of dashboard resource objects. example: - id: '123' type: dashboards attributes: {} relationships: {} included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '34' type: dashboards attributes: name: Project Overview shared: false created_at: '2026-01-20T09:00:00.000+00:00' updated_at: '2026-03-01T10:00:00.000+00:00' relationships: owner: data: type: people id: '12' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection dashboard collection_deal: content: application/vnd.api+json: schema: type: object description: Paginated list of deal records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_deal" description: A deal resource object. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '89' type: deals attributes: name: Website Redesign Project number: DEAL-089 status_id: 1 date: '2026-01-15' end_date: '2026-06-30' closed_at: lost_at: created_at: '2026-01-15T10: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' tag_list: [] custom_fields: description: Redesigning the company website with new branding is_budget: false currency: USD relationships: company: data: type: companies id: '65111' person: data: type: people id: '12' pipeline: data: type: pipelines id: '1' deal_status: data: type: deal_statuses id: '5' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection deal collection_deal_contact: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_deal_contact" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection deal contact collection_deal_cost_rate: content: application/vnd.api+json: schema: type: object description: Paginated list of deal cost rate records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_deal_cost_rate" description: Array of deal cost rate resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection deal cost rate collection_deal_funnel_report: content: application/vnd.api+json: schema: type: object description: Paginated list of deal funnel report records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_deal_funnel_report" description: Array of deal funnel report resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-014 type: deal_funnel_reports attributes: stage: proposal deal_count: 5 total_value: '125000.00' pipeline_id: 1 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection deal funnel report collection_deal_report: content: application/vnd.api+json: schema: type: object description: Collection of aggregated deal report rows. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_deal_report" description: Array of deal report row resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-007 type: deal_reports attributes: total_value: '100000.00' revenue: '75000.00' cost: '45000.00' profit: '30000.00' profit_margin: 0.4 billable_time: 48000 deal_id: 89 currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection deal report collection_deal_status: content: application/vnd.api+json: schema: type: object description: Paginated list of deal status records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_deal_status" description: Array of deal status resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '5' type: deal_statuses attributes: name: Proposal Sent position: 3 outcome: open color_id: '7' relationships: pipeline: data: type: pipelines id: '1' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection deal status collection_discussion: content: application/vnd.api+json: schema: type: object description: Paginated list of discussion records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_discussion" description: Array of discussion resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection discussion collection_document_style: content: application/vnd.api+json: schema: type: object description: Paginated list of document style records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_document_style" description: Array of document style resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '2' type: document_styles attributes: name: Modern Blue created_at: '2026-01-01T00:00:00.000+00:00' relationships: {} included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection document style collection_document_type: content: application/vnd.api+json: schema: type: object description: Paginated list of document type records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_document_type" description: Array of document type resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '3' type: document_types attributes: name: Standard Invoice default: true relationships: {} included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection document type collection_einvoice_configuration: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_einvoice_configuration" example: data: - id: '1234' type: einvoice_configurations attributes: face_enabled: false ksef_enabled: false xrechnung_enabled: true mer_enabled: false mer_username: payment_means_type_id: 1 tax_rate_mapping: '5': S kpd_code_mapping: {} 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' included: type: array items: "$ref": "#/components/schemas/_response_included" example: [] meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '1234' type: einvoice_configurations attributes: face_enabled: false ksef_enabled: false xrechnung_enabled: true mer_enabled: false mer_username: payment_means_type_id: 1 tax_rate_mapping: '5': S kpd_code_mapping: {} 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' description: Collection of einvoice configurations collection_einvoice_identity: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_einvoice_identity" example: data: - 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' included: type: array items: "$ref": "#/components/schemas/_response_included" example: [] meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' description: Collection of einvoice identities collection_einvoice_transaction: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_einvoice_transaction" example: data: - 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' included: type: array items: "$ref": "#/components/schemas/_response_included" example: [] meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' description: Collection of einvoice transactions collection_email: content: application/vnd.api+json: schema: type: object description: Paginated list of email records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_email" description: Array of email resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '789' type: emails attributes: subject: 'Re: Website Redesign — Updated timeline' snippet: Hi Alex, I've reviewed the updated timeline and everything looks good. We can proceed with... body_truncated: true auto_linked: true linked_type: deal linked_id: 89 outgoing: false from: email: client@acmecorp.com name: Jane Doe recipients: - email: alex.smith@example.com name: Alex Smith type: to created_at: '2026-03-10T09:15:00.000+00:00' received_at: '2026-03-10T09:15:00.000+00:00' delivered_at: failed_at: unread: true dismissed_at: relationships: creator: data: deal: data: type: deals id: '89' thread: data: type: emails id: '785' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection email single_artifact_version: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_artifact_version" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single artifact version single_attachment: content: application/vnd.api+json: schema: type: object description: A single attachment record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_attachment" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single attachment single_automatic_invoicing_rule: content: application/vnd.api+json: schema: type: object description: A single automatic invoicing rule record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_automatic_invoicing_rule" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '456' type: tasks attributes: {} relationships: {} meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '8' type: automatic_invoicing_rules attributes: name: Monthly retainer invoicing frequency: monthly active: true created_at: '2026-01-01T00:00:00.000+00:00' relationships: deal: data: type: deals id: '89' invoice_template: data: type: invoice_templates id: '5' included: [] description: Single automatic invoicing rule single_aws_policy: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_aws_policy" links: type: object meta: "$ref": "#/components/schemas/_meta" required: - data description: Single AWS upload policy single_backoffice_einvoice_configuration: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_backoffice_einvoice_configuration" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single backoffice e-invoice configuration single_backoffice_feature: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_backoffice_feature" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single backoffice feature single_backoffice_flag: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_backoffice_flag" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single backoffice flag single_backoffice_organization: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_backoffice_organization" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single backoffice organization single_backoffice_organization_contract: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_backoffice_organization_contract" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single backoffice organization contract single_backoffice_organization_membership: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_backoffice_organization_membership" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single backoffice organization membership single_backoffice_organization_subscription: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_backoffice_organization_subscription" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single backoffice organization subscription single_backoffice_setting: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_backoffice_setting" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single backoffice setting single_backoffice_user: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_backoffice_user" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single backoffice user single_backoffice_user_segment: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_backoffice_user_segment" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single backoffice user segment single_backyard_user: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_backyard_user" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single backyard user single_bank_account: content: application/vnd.api+json: schema: type: object description: A single bank account record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_bank_account" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single bank account single_bill: content: application/vnd.api+json: schema: type: object description: A single bill record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_bill" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single bill single_bill_item: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_bill_item" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single bill item single_booking: content: application/vnd.api+json: schema: type: object description: A single booking record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_booking" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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: included: [] description: Single booking single_calendar_event: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_calendar_event" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single calendar event collection_task_report: content: application/vnd.api+json: schema: type: object description: Paginated collection of task report rows. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_task_report" description: Array of task report row objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-011 type: task_reports attributes: billable_time: 480 nonbillable_time: 60 total_time: 540 initial_estimate: 480 remaining_time: 0 task_id: 120501 project_id: 6899 included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection task report collection_tax_rate: content: application/vnd.api+json: schema: type: object description: Paginated list of tax rate records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_tax_rate" description: Array of tax rate resource objects. 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' included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - type: subsidiaries id: '234' attributes: name: Acme Corp Canada meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '8' type: tax_rates attributes: name: Standard VAT 20% primary_component_name: VAT primary_component_value: '0.2' secondary_component_name: secondary_component_value: archived_at: relationships: subsidiary: data: type: subsidiaries id: '2' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection tax rate collection_team: content: application/vnd.api+json: schema: type: object description: Paginated list of team records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_team" description: Array of team resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '3' type: teams attributes: name: Engineering color_id: '5' icon_id: '2' relationships: members: data: - type: people id: '12' - type: people id: '34' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection team collection_team_membership: content: application/vnd.api+json: schema: type: object description: Paginated list of team membership records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_team_membership" description: Array of team membership resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '78' type: team_memberships attributes: {} relationships: person: data: type: people id: '12' team: data: type: teams id: '3' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection team membership collection_template: content: application/vnd.api+json: schema: type: object description: Top-level JSON:API document for a paginated templates collection. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_template" description: Primary JSON:API resource(s) returned. 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: relationships: project: data: type: projects id: '258974' deal: data: page: data: task: data: creator: data: type: people id: '13' included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources requested via `include`. example: [] meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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: relationships: project: data: type: projects id: '258974' deal: data: page: data: task: data: creator: data: type: people id: '13' meta: total_count: 25 current_page: 1 total_pages: 13 included: [] description: Successful response containing a paginated list of templates. collection_time_entry: content: application/vnd.api+json: schema: type: object description: Paginated list of time entry records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_time_entry" description: Array of time entry resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of related resource objects included in the response. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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: included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection time entry collection_time_entry_report: content: application/vnd.api+json: schema: type: object description: Paginated list of time entry report records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_time_entry_report" description: Array of time entry report row resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: r-001 type: time_entry_reports attributes: billable_time: 14400 nonbillable_time: 1800 total_time: 16200 worked_time: 16200 approved_time: 12000 unapproved_time: 4200 revenue: '3600.00' cost: '1620.00' profit: '1980.00' profit_margin: 0.55 person_id: 12 project_id: 6899 service_id: 1856422 date: '2026-03-15' currency: USD included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection time entry report collection_time_entry_version: content: application/vnd.api+json: schema: type: object description: Paginated list of time entry version records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_time_entry_version" description: Array of time entry version resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '1234' type: time_entry_versions attributes: changeset: time: - 240 - 480 note: - '' - Updated after review created_at: '2026-03-15T17:30:00.000+00:00' relationships: time_entry: data: type: time_entries id: '84848214' person: data: type: people id: '12' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection time entry version collection_time_tracking_policy: content: application/vnd.api+json: schema: type: object description: Paginated list of time tracking policy records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_time_tracking_policy" description: Array of time tracking policy resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '3' type: time_tracking_policies attributes: name: Standard Policy track_method_ids: - 1 - 2 default_track_method_id: 1 daily_limit: 720 requires_task: false requires_service: true included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection time tracking policy collection_timer: content: application/vnd.api+json: schema: type: object description: Paginated list of timer records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_timer" description: Array of timer resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '89' type: timers attributes: person_id: 12 started_at: '2026-03-15T09:00:00.000+00:00' stopped_at: total_time: 3600 relationships: time_entry: data: type: time_entries id: '84848214' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection timer collection_timesheet: content: application/vnd.api+json: schema: type: object description: Paginated list of timesheet records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_timesheet" description: Array of timesheet resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '567' type: timesheets attributes: status: submitted week_starting: '2026-03-10' total_time: 2400 submitted_at: '2026-03-17T09:00:00.000+00:00' approved_at: relationships: person: data: type: people id: '12' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection timesheet collection_timesheet_report: content: application/vnd.api+json: schema: type: object description: Paginated list of timesheet report records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_timesheet_report" description: Array of timesheet report row resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '567' type: timesheets attributes: status: submitted week_starting: '2026-03-10' total_time: 2400 submitted_at: '2026-03-17T09:00:00.000+00:00' approved_at: relationships: person: data: type: people id: '12' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection timesheet report collection_todo: content: application/vnd.api+json: schema: type: object description: Paginated list of todo records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_todo" description: Array of todo resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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: included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection todo collection_user: content: application/vnd.api+json: schema: type: object description: Paginated list of user records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_user" description: Array of user resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '456' type: users attributes: email: alex.smith@example.com first_name: Alex last_name: Smith time_zone: America/New_York avatar_url: default_organization_id: 109 default_organization_slug: myagency locale: en two_factor_auth: false newsletter_consent: true preferences: {} updated_at: '2026-03-15T10:00:00.000+00:00' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection user collection_webhook: content: application/vnd.api+json: schema: type: object description: Paginated list of webhook records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_webhook" description: Array of webhook resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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: {} included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection webhook collection_webhook_log: content: application/vnd.api+json: schema: type: object description: Paginated list of webhook log records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_webhook_log" description: Array of webhook log resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '5678' type: webhook_logs attributes: event_type: task.created response_code: 200 response_body: '{"ok":true}' sent_at: '2026-03-15T10:00:05.000+00:00' success: true url: https://hooks.example.com/productive relationships: webhook: data: type: webhooks id: '12' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection webhook log collection_widget: content: application/vnd.api+json: schema: type: object description: Paginated list of widget records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_widget" description: Array of widget resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '56' type: widgets attributes: title: Revenue by Project widget_type_id: 3 column_position: 0 row_position: 0 width: 6 height: 4 content: {} relationships: dashboard: data: type: dashboards id: '34' filter: data: included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection widget collection_workflow: content: application/vnd.api+json: schema: type: object description: Paginated list of workflow records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_workflow" description: Array of workflow resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '75' type: workflows attributes: name: Default Workflow archived_at: relationships: workflow_statuses: data: - type: workflow_statuses id: '224' - type: workflow_statuses id: '225' - type: workflow_statuses id: '226' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection workflow collection_workflow_status: content: application/vnd.api+json: schema: type: object description: Paginated list of workflow status records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_workflow_status" description: Array of workflow status resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '224' type: workflow_statuses attributes: name: In Progress color_id: '5' position: 2 category_id: 2 relationships: workflow: data: type: workflows id: '75' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection workflow status collection_workload_item: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_workload_item" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection workload item contract_bulk_generate: content: application/vnd.api+json: schema: type: object properties: data: type: array items: type: object properties: attributes: type: object properties: copy_expenses: "$ref": "#/components/schemas/resource_contract/properties/copy_expenses" copy_purchase_order_number: "$ref": "#/components/schemas/resource_contract/properties/copy_purchase_order_number" ends_on: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/ends_on" - type: 'null' title: 'Null' interval_id: "$ref": "#/components/schemas/resource_contract/properties/interval_id" next_occurrence_on: "$ref": "#/components/schemas/resource_contract/properties/next_occurrence_on" starts_on: "$ref": "#/components/schemas/resource_contract/properties/starts_on" use_rollover_hours: "$ref": "#/components/schemas/resource_contract/properties/use_rollover_hours" relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" template: "$ref": "#/components/schemas/_single_relationship" included: type: array items: {} meta: type: object properties: generated_budget_ids: type: object additionalProperties: type: array items: type: string description: Contracts with the budgets the request generated, keyed by contract ID contract_generate: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: attributes: type: object properties: copy_expenses: "$ref": "#/components/schemas/resource_contract/properties/copy_expenses" copy_purchase_order_number: "$ref": "#/components/schemas/resource_contract/properties/copy_purchase_order_number" ends_on: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/ends_on" - type: 'null' title: 'Null' interval_id: "$ref": "#/components/schemas/resource_contract/properties/interval_id" next_occurrence_on: anyOf: - "$ref": "#/components/schemas/resource_contract/properties/next_occurrence_on" - type: 'null' title: 'Null' starts_on: "$ref": "#/components/schemas/resource_contract/properties/starts_on" use_rollover_hours: "$ref": "#/components/schemas/resource_contract/properties/use_rollover_hours" relationships: type: object properties: organization: "$ref": "#/components/schemas/_single_relationship" template: "$ref": "#/components/schemas/_single_relationship" included: type: array items: {} meta: type: object properties: generated_budget_ids: type: array items: type: string description: Contract with the budgets the request generated single_activity: content: application/vnd.api+json: schema: type: object description: Single activity record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_activity" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single activity single_agent: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_agent" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: A single agent record returned in JSON:API format, including attributes and related resources. single_agent_config: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_agent_config" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: A single agent configuration record returned in JSON:API format. single_agent_session: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_agent_session" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single agent session single_approval_policy_assignment: content: application/vnd.api+json: schema: type: object description: A single approval policy assignment record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_approval_policy_assignment" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '45' type: approval_policy_assignments attributes: created_at: '2026-01-15T10:00:00.000+00:00' relationships: person: data: type: people id: '12' approval_policy: data: type: approval_policies id: '7' included: [] description: Single approval policy assignment single_approval_status: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_approval_status" included: type: array items: "$ref": "#/components/schemas/_response_included" description: |- Array of sideloaded related resources requested via the include query parameter. May contain approver, actual_approver, approval_workflow, booking, expense, or time_entry records referenced by this approval status's relationships. meta: "$ref": "#/components/schemas/_meta" required: - data description: Single approval status single_approval_workflow: content: application/vnd.api+json: schema: type: object description: A single approval workflow record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_approval_workflow" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '15' type: approval_workflows attributes: approval_requirement_id: 1 target_type_id: 1 dynamic_approver_ids: [] dynamic_subscriber_ids: [] relationships: event: data: approval_policy: data: type: approval_policies id: '7' approvers: data: - type: people id: '8' subscribers: data: [] included: [] description: Single approval workflow single_artifact: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_artifact" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single artifact single_company: content: application/vnd.api+json: schema: type: object description: A single company record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_company" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '65111' type: companies attributes: name: Acme Corp billing_name: Acme Corporation Ltd vat: DE123456789 default_currency: USD created_at: '2026-01-01T00:00:00.000+00:00' last_activity_at: '2026-03-10T14:00:00.000+00:00' archived_at: avatar_url: original_avatar_url: invoice_email_recipients: {} custom_fields: company_code: ACME1 domain: acme.com domains: - acme.com projectless_budgets: false default_subsidiary_id: default_tax_rate_id: default_document_type_id: due_days: 30 tag_list: - enterprise contact: {} sample_data: false settings: {} external_id: external_sync: false parent_company_id: relationships: default_subsidiary: data: default_document_type: data: parent_company: data: included: [] description: Single company single_connection: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_connection" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single connection single_contact_entry: content: application/vnd.api+json: schema: type: object description: A single contact entry record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_contact_entry" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '891' type: contact_entries attributes: contactable_type: company type: main name: Headquarters email: hello@acmecorp.com phone: "+1-555-0123" website: https://acmecorp.com address: 123 Innovation Drive city: San Francisco state: CA zipcode: '94105' country: US billing_address: 123 Innovation Drive, San Francisco, CA 94105 billing_email: billing@acmecorp.com relationships: company: data: type: companies id: '65111' person: data: included: [] description: Single contact entry single_contract: content: application/vnd.api+json: schema: type: object description: A single contract record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_contract" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single contract single_custom_domain: content: application/vnd.api+json: schema: type: object description: A single custom domain record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_custom_domain" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '4' type: custom_domains attributes: domain: app.myagency.com verified: true verified_at: '2026-01-15T00:00:00.000+00:00' relationships: subsidiary: data: type: subsidiaries id: '2' included: [] description: Single custom domain single_custom_field: content: application/vnd.api+json: schema: type: object description: A single custom field record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_custom_field" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '53455' type: custom_fields attributes: name: Priority field_type: dropdown position: 1 required: false filterable: true archived_at: relationships: custom_field_section: data: type: custom_field_sections id: '12' included: [] description: Single custom field single_custom_field_option: content: application/vnd.api+json: schema: type: object description: A single custom field option record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_custom_field_option" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single custom field option single_custom_field_section: content: application/vnd.api+json: schema: type: object description: A single custom field section record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_custom_field_section" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '12' type: custom_field_sections attributes: name: Project Fields position: 1 item_type: project relationships: {} included: [] description: Single custom field section single_dashboard: content: application/vnd.api+json: schema: type: object description: A single dashboard record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_dashboard" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '34' type: dashboards attributes: name: Project Overview shared: false created_at: '2026-01-20T09:00:00.000+00:00' updated_at: '2026-03-01T10:00:00.000+00:00' relationships: owner: data: type: people id: '12' included: [] description: Single dashboard single_deal: content: application/vnd.api+json: schema: type: object description: Single deal record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_deal" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '89' type: deals attributes: name: Website Redesign Project number: DEAL-089 status_id: 1 date: '2026-01-15' end_date: '2026-06-30' closed_at: lost_at: created_at: '2026-01-15T10: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' tag_list: [] custom_fields: description: Redesigning the company website with new branding is_budget: false currency: USD relationships: company: data: type: companies id: '65111' person: data: type: people id: '12' pipeline: data: type: pipelines id: '1' deal_status: data: type: deal_statuses id: '5' included: [] description: Single deal single_deal_contact: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_deal_contact" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single deal contact single_deal_cost_rate: content: application/vnd.api+json: schema: type: object description: A single deal cost rate record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_deal_cost_rate" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single deal cost rate single_deal_status: content: application/vnd.api+json: schema: type: object description: A single deal status record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_deal_status" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '5' type: deal_statuses attributes: name: Proposal Sent position: 3 outcome: open color_id: '7' relationships: pipeline: data: type: pipelines id: '1' included: [] description: Single deal status single_developer_portal_user: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_developer_portal_user" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single developer portal user single_discussion: content: application/vnd.api+json: schema: type: object description: A single discussion record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_discussion" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single discussion single_document_style: content: application/vnd.api+json: schema: type: object description: A single document style record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_document_style" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '2' type: document_styles attributes: name: Modern Blue created_at: '2026-01-01T00:00:00.000+00:00' relationships: {} included: [] description: Single document style single_document_type: content: application/vnd.api+json: schema: type: object description: A single document type record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_document_type" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '3' type: document_types attributes: name: Standard Invoice default: true relationships: {} included: [] description: Single document type single_einvoice_configuration: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_einvoice_configuration" included: type: array items: "$ref": "#/components/schemas/_response_included" example: [] meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '1234' type: einvoice_configurations attributes: face_enabled: false ksef_enabled: false xrechnung_enabled: true mer_enabled: false mer_username: payment_means_type_id: 1 tax_rate_mapping: '5': S kpd_code_mapping: {} 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' description: Single einvoice configuration single_einvoice_identity: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_einvoice_identity" included: type: array items: "$ref": "#/components/schemas/_response_included" example: [] meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' description: Single einvoice identity single_email: content: application/vnd.api+json: schema: type: object description: A single email record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_email" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '789' type: emails attributes: subject: 'Re: Website Redesign — Updated timeline' snippet: Hi Alex, I've reviewed the updated timeline and everything looks good. We can proceed with... body_truncated: true auto_linked: true linked_type: deal linked_id: 89 outgoing: false from: email: client@acmecorp.com name: Jane Doe recipients: - email: alex.smith@example.com name: Alex Smith type: to created_at: '2026-03-10T09:15:00.000+00:00' received_at: '2026-03-10T09:15:00.000+00:00' delivered_at: failed_at: unread: true dismissed_at: relationships: creator: data: deal: data: type: deals id: '89' thread: data: type: emails id: '785' included: [] description: Single email single_email_thread: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_email_thread" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single email thread single_entitlement: content: application/vnd.api+json: schema: type: object description: A single entitlement record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_entitlement" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '23' type: entitlements attributes: start_date: '2026-01-01' end_date: '2026-12-31' allocated: 1200 used: 480 pending: 960 note: Annual vacation entitlement 2026 relationships: event: data: type: events id: '10' person: data: type: people id: '12' included: [] description: Single entitlement single_erasure_count: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_erasure_count" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single erasure count single_event: content: application/vnd.api+json: schema: type: object description: A single event (absence category) record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_event" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '10' type: events attributes: name: Vacation event_type_id: 1 icon_id: '3' color_id: '7' archived_at: limitation_type_id: 1 sync_personal_integrations: false half_day_bookings: true description: Annual paid leave absence_type: vacation included: [] description: Single event single_expense: content: application/vnd.api+json: schema: type: object description: JSON:API response envelope containing a single expense. properties: data: "$ref": "#/components/schemas/_response_object_expense" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Array of included related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Expenses. single_expense_line_item: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_expense_line_item" included: type: array items: "$ref": "#/components/schemas/_response_included" example: [] meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' meta: current_page: 1 total_pages: 1 total_count: 1 included: [] description: Single expense line item single_export_job: content: application/vnd.api+json: schema: type: object properties: included: type: array items: "$ref": "#/components/schemas/_response_included" data: "$ref": "#/components/schemas/_response_object_export_job" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single export job single_filter: content: application/vnd.api+json: schema: type: object description: A single filter record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_filter" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '89' type: filters attributes: name: My Open Tasks item_type: task filter_data: assignee_id: - 12 closed: eq: false created_at: '2026-01-15T10:00:00.000+00:00' relationships: person: data: type: people id: '12' included: [] description: Single filter single_filter_preference: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_filter_preference" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single filter preference single_financial_month: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_financial_month" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single financial month single_folder: content: application/vnd.api+json: schema: type: object description: JSON:API response schema for a single folder. properties: data: "$ref": "#/components/schemas/_response_object_folder" included: type: array items: "$ref": "#/components/schemas/_response_included" description: An array of included related resources (side-loaded data). example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '5522' type: folders attributes: name: Features position: 1 placement: 1000000 archived_at: hidden: false relationships: project: data: type: projects id: '6899' included: [] description: A single folder resource response. single_holiday: content: application/vnd.api+json: schema: type: object description: A single holiday record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_holiday" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '45' type: holidays attributes: name: New Year's Day date: '2026-01-01' relationships: organization: data: type: organizations id: '1' holiday_calendar: data: type: holiday_calendars id: '3' creator: data: type: people id: '12' included: [] description: Single holiday single_holiday_calendar: content: application/vnd.api+json: schema: type: object description: A single holiday calendar record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_holiday_calendar" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '3' type: holiday_calendars attributes: name: United States country: US state: US-CA autogenerate_holidays: true relationships: organization: data: type: organizations id: '1' included: [] description: Single holiday calendar single_import: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_import" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single import single_integration: content: application/vnd.api+json: schema: type: object description: Single integration record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_integration" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '11' type: integrations attributes: name: Xero Accounting integration_type_id: 2 connected_at: '2026-01-15T10:00:00.000+00:00' deactivated_at: account_code: '200' export_number: true payments_import: true last_synced_at: '2026-03-15T08:00:00.000+00:00' options: {} relationships: subsidiary: data: type: subsidiaries id: '2' creator: data: type: people id: '12' included: [] description: Single integration single_integration_exporter_configuration: content: application/vnd.api+json: schema: type: object description: Single integration exporter configuration record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_integration_exporter_configuration" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '11' type: integrations attributes: name: Xero Accounting integration_type_id: 2 connected_at: '2026-01-15T10:00:00.000+00:00' deactivated_at: account_code: '200' export_number: true export_attachment: false export_expense_attachment: false payments_import: true import_attachment: false import_number: false last_synced_at: '2026-03-15T08:00:00.000+00:00' options: {} relationships: subsidiary: data: type: subsidiaries id: '2' creator: data: type: people id: '12' included: [] description: Single integration exporter configuration single_integration_task_management_configuration: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_integration_task_management_configuration" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single integration task management configuration single_invitation: content: application/vnd.api+json: schema: type: object description: A single invitation record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_invitation" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '56' type: invitations attributes: email: newdev@example.com first_name: Jordan last_name: Lee time_zone: Europe/London included: [] description: Single invitation single_invoice: content: application/vnd.api+json: schema: type: object description: JSON:API response envelope for a single invoice. properties: data: "$ref": "#/components/schemas/_response_object_invoice" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: [] meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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: included: [] description: Single invoice single_invoice_template: content: application/vnd.api+json: schema: type: object description: A single invoice template record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_invoice_template" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '5' type: invoice_templates attributes: name: Standard Invoice default: true created_at: '2026-01-01T00:00:00.000+00:00' relationships: {} included: [] description: Single invoice template single_invoiced_budget: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_invoiced_budget" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single invoiced budget single_job_role: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_job_role" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single job role single_job_role_rate: content: application/vnd.api+json: schema: type: object description: A single job role rate record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_job_role_rate" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. meta: "$ref": "#/components/schemas/_meta" required: - data description: Single job role rate single_job_role_rate_card: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_job_role_rate_card" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single job role rate card single_kpd_code: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_kpd_code" included: type: array items: "$ref": "#/components/schemas/_response_included" example: [] meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '42' type: kpd_codes attributes: code: '01.11' kpd_name: Uzgoj zitarica nkd_name: Uzgoj zitarica is_kpd: true created_at: '2024-01-01T00:00:00.000Z' updated_at: '2024-01-01T00:00:00.000Z' description: Single KPD code single_line_item: content: application/vnd.api+json: schema: type: object description: A single line item record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_line_item" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single line item single_lost_reason: content: application/vnd.api+json: schema: type: object description: A single lost reason record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_lost_reason" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '3' type: lost_reasons attributes: name: Budget constraints position: 1 archived_at: relationships: {} included: [] description: Single lost reason single_mcp_connector: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_mcp_connector" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single mcp connector single_mcp_connector_credentials: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_mcp_connector_credentials" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single mcp connector with its credentials single_mcp_server: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_mcp_server" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single mcp server unprocessable_content_integration_exporter_configuration: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_integration_exporter_configuration" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_integration_task_management_configuration: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_integration_task_management_configuration" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_invitation: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_invitation" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_invoice: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_invoice" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta description: On a bulk request, `bulk_index` is the position in the request's `data` array of the invoice the error belongs to. properties: bulk_index: type: integer source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_job_role_rate_card: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_job_role_rate_card" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_payment_reminder: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_payment_reminder" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_payment_reminder_sequence: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_payment_reminder_sequence" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_person: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_person" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_placeholder_usage: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_placeholder_usage" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_price: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_price" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content duplicate_backoffice_organization: content: application/vnd.api+json: schema: type: object properties: organization: type: object description: The duplicated organization as its plain database attributes. properties: id: type: integer name: type: string reference_map: type: object description: The ids of the duplicated records, keyed by record class and source id. required: - organization - reference_map description: Duplicated backoffice organization integration_dependencies: content: application/json: schema: type: array items: type: object properties: deployed: type: boolean deployments: type: array items: type: object properties: deployed: type: boolean record_type: type: string errors: type: array items: enum: - not_deployed - outdated type: string name: type: string warnings: type: array items: enum: - new_minor_version type: string required: - name - deployed - errors - warnings headers: Content-Type: schema: type: string description: The status of every NetSuite script the integration depends on proposal_sync_status: content: application/json: schema: type: object properties: data: type: object properties: id: type: integer in_sync: type: boolean description: Whether the proposal is in sync with its source public_proposal_file_presign: content: application/vnd.api+json: schema: type: object properties: data: type: object description: Upload form fields (policy, signature, key, ...) additionalProperties: type: string links: type: object meta: type: object properties: page_size: type: integer description: Pre-signed S3 upload form fields for the signature image public_proposal_unlock: content: application/vnd.api+json: schema: type: object properties: data: type: object properties: token: type: string required: - token links: type: object meta: type: object description: Short-lived access token for a password-protected proposal link unprocessable_content_scenario_section: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_scenario_section" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content single_approval_policy: content: application/vnd.api+json: schema: type: object description: A single approval policy record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_approval_policy" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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: {} included: [] description: Single approval policy single_automation: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_automation" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single automation single_automation_project_assignment: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_automation_project_assignment" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single automation project assignment single_automation_run: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_automation_run" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single automation run unprocessable_content_scenario_service: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_scenario_service" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content single_backoffice_session: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_backoffice_session" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" required: - data description: Single backoffice session unprocessable_content_section: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_section" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content single_deleted_item: content: application/vnd.api+json: schema: type: object description: A single deleted item record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_deleted_item" included: type: array items: description: A sideloaded related resource object. example: eq: value description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '901' type: deleted_items attributes: item_type: task item_id: 789 item_name: "#89: Old prototype" deleted_at: '2026-03-10T10:00:00.000+00:00' restorable: true relationships: person: data: type: people id: '12' included: [] description: Single deleted item single_email_link: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_email_link" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single email link unprocessable_content_service_type_assignment: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_service_type_assignment" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_session: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_session" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_shortened_link: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_shortened_link" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_signup: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_signup" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_skill: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_skill" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_sso_configuration: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_sso_configuration" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_attachment: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_attachment" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_automatic_invoicing_rule: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_automatic_invoicing_rule" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_automation: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_automation" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_automation_project_assignment: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_automation_project_assignment" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_aws_policy: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_aws_policy" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content single_meeting: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_meeting" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single meeting single_meeting_participant: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_meeting_participant" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data headers: Content-Type: schema: type: string description: Single meeting participant single_meilisearch_document: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_meilisearch_document" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single meilisearch document single_meilisearch_health: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_meilisearch_health" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single meilisearch health single_meilisearch_index: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_meilisearch_index" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single meilisearch index single_membership: content: application/vnd.api+json: schema: type: object description: A single membership record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_membership" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '7654' type: memberships attributes: access_type_id: 1 dynamic_group_id: options: {} target_type: project type_id: 1 relationships: person: data: type: people id: '12' project: data: type: projects id: '6899' team: data: included: [] description: Single membership single_memory: content: application/vnd.api+json: schema: type: object properties: data: "$ref": "#/components/schemas/_response_object_memory" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Single memory single_notification: content: application/vnd.api+json: schema: type: object description: A single notification record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_notification" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '9012' type: notifications attributes: target_id: 120501 target_type: task target_title: "#42: Implement user authentication" target_label: task parent_id: 6899 parent_type: project parent_title: Website Redesign title: Alex Smith changed the status to In Progress read: false dismissed: false new_activities_count: 1 excerpt: Status changed from Open to In Progress last_action_at: '2026-03-15T10:30:00.000+00:00' first_unread_activity_id: 259275372 important: false mention: false made_by_automation: false root_id: 6899 root_type: project relationships: actor: data: type: people id: '12' included: [] description: Single notification single_offboarding: content: application/vnd.api+json: schema: type: object description: Single offboarding response. properties: data: "$ref": "#/components/schemas/_response_object_offboarding" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Related resources included in the response (sideloaded data). example: [] meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '98765' type: offboardings attributes: person_id: 123456 status: in_progress created_at: '2026-09-22T10:15:00.000+02:00' updated_at: '2026-09-22T10:18:42.000+02:00' relationships: person: data: type: people id: '123456' description: Single offboarding single_or_collection_deal: content: application/vnd.api+json: schema: oneOf: - type: object title: Object properties: data: "$ref": "#/components/schemas/_response_object_deal" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data - type: object title: Object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_deal" links: "$ref": "#/components/schemas/_links" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data description: Single deal, or a deal collection when the request body is sent as `application/vnd.api+json; ext=bulk` single_or_collection_folder: content: application/vnd.api+json: schema: oneOf: - type: object title: Object properties: data: "$ref": "#/components/schemas/_response_object_folder" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data - type: object title: Object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_folder" links: "$ref": "#/components/schemas/_links" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data description: Single folder, or a folder collection when the request body is sent as `application/vnd.api+json; ext=bulk` single_or_collection_scenario_item: content: application/vnd.api+json: schema: oneOf: - type: object title: Object properties: data: "$ref": "#/components/schemas/_response_object_scenario_item" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data - type: object title: Object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_scenario_item" links: "$ref": "#/components/schemas/_links" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data description: Single scenario item, or a scenario item collection when the request body is sent as `application/vnd.api+json; ext=bulk` single_or_collection_service: content: application/vnd.api+json: schema: oneOf: - type: object title: Object properties: data: "$ref": "#/components/schemas/_response_object_service" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data - type: object title: Object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_service" links: "$ref": "#/components/schemas/_links" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data description: Single service, or a service collection when the request body is sent as `application/vnd.api+json; ext=bulk` single_or_collection_service_assignment: content: application/vnd.api+json: schema: oneOf: - type: object title: Object properties: data: "$ref": "#/components/schemas/_response_object_service_assignment" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data - type: object title: Object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_service_assignment" links: "$ref": "#/components/schemas/_links" meta: "$ref": "#/components/schemas/_meta" included: type: array items: "$ref": "#/components/schemas/_response_included" required: - data description: Single service assignment, or a service assignment collection when the request body is sent as `application/vnd.api+json; ext=bulk` unprocessable_content_deal_job_role_rate: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_deal_job_role_rate" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content collection_deal_job_role_rate: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_deal_job_role_rate" included: type: array items: "$ref": "#/components/schemas/_response_included" links: "$ref": "#/components/schemas/_links" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection deal job role rate collection_jira_worklog_import: content: application/vnd.api+json: schema: type: object properties: data: type: array items: type: object properties: attributes: type: object properties: service_fallback_reason: anyOf: - "$ref": "#/components/schemas/resource_jira_worklog_import/properties/service_fallback_reason" - type: 'null' attempted_at: "$ref": "#/components/schemas/resource_jira_worklog_import/properties/attempted_at" date: anyOf: - "$ref": "#/components/schemas/resource_jira_worklog_import/properties/date" - type: 'null' error_details: anyOf: - "$ref": "#/components/schemas/resource_jira_worklog_import/properties/error_details" - type: 'null' error_type: anyOf: - "$ref": "#/components/schemas/resource_jira_worklog_import/properties/error_type" - type: 'null' imported_at: anyOf: - "$ref": "#/components/schemas/resource_jira_worklog_import/properties/imported_at" - type: 'null' jira_author_email: anyOf: - "$ref": "#/components/schemas/resource_jira_worklog_import/properties/jira_author_email" - type: 'null' jira_issue_key: anyOf: - "$ref": "#/components/schemas/resource_jira_worklog_import/properties/jira_issue_key" - type: 'null' jira_issue_url: anyOf: - "$ref": "#/components/schemas/resource_jira_worklog_import/properties/jira_issue_url" - type: 'null' operation: anyOf: - "$ref": "#/components/schemas/resource_jira_worklog_import/properties/operation" - type: 'null' status: "$ref": "#/components/schemas/resource_jira_worklog_import/properties/status" time: anyOf: - "$ref": "#/components/schemas/resource_jira_worklog_import/properties/time" - type: 'null' relationships: type: object properties: rejected_service: "$ref": "#/components/schemas/_single_relationship" budget: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" person: "$ref": "#/components/schemas/_single_relationship" service: "$ref": "#/components/schemas/_single_relationship" included: type: array items: {} meta: "$ref": "#/components/schemas/_meta" description: Collection of Jira worklog imports unprocessable_content_todo: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_todo" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta description: Extra detail about the error. properties: bulk_index: type: integer title: Bulk Index description: In a bulk request, the zero-based position in `data` of the item that was rejected. source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_bill: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_bill" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_bill_item: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_bill_item" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_tax_rate: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_tax_rate" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_contact_entry: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_contact_entry" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_einvoice_configuration: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_einvoice_configuration" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_einvoice_identity: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_einvoice_identity" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_email: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_email" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_email_link: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_email_link" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_entitlement: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_entitlement" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_filter: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_filter" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta description: In a bulk request, `bulk_index` is the position of the rejected item in the request's `data` array. properties: bulk_index: type: integer title: Bulk Index source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_filter_preference: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_filter_preference" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_financial_month: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_financial_month" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_holiday: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_holiday" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_holiday_calendar: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_holiday_calendar" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_import: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_import" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_job_role: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_job_role" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_page: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_page" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_page_version: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_page_version" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_password: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_password" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_payment: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_payment" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_project_relevancy_report: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_project_relevancy_report" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_proposal: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_proposal" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content collection_deleted_item: content: application/vnd.api+json: schema: type: object description: Paginated list of deleted item records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_deleted_item" description: Array of deleted item resource objects. example: eq: value included: type: array items: description: A sideloaded related resource object. example: eq: value description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '901' type: deleted_items attributes: item_type: task item_id: 789 item_name: "#89: Old prototype" deleted_at: '2026-03-10T10:00:00.000+00:00' restorable: true relationships: person: data: type: people id: '12' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection deleted item unprocessable_content_role: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_role" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_salary: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_salary" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_scenario_booking: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_scenario_booking" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_scenario_item: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_scenario_item" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_backoffice_ai_dev_session_token: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_backoffice_ai_dev_session_token" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_backoffice_einvoice_configuration: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_backoffice_einvoice_configuration" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_backoffice_feature: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_backoffice_feature" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_backoffice_flag: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_backoffice_flag" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_backoffice_organization: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_backoffice_organization" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_survey_field: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_survey_field" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_backoffice_organization_contract: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_backoffice_organization_contract" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_survey_field_option: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_survey_field_option" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_survey_response: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_survey_response" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_service: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_service" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta properties: bulk_index: type: integer title: Bulk Index description: The position in the request's `data` array of the entry the error belongs to; only bulk requests set it. id: type: - string - 'null' title: Id description: The id of the service the error belongs to; null for a service being created. source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_service_assignment: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_service_assignment" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_service_type: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_service_type" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_agent: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_agent" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_agent_config: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_agent_config" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_agent_session: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_agent_session" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_approval_policy: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_approval_policy" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_approval_policy_assignment: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_approval_policy_assignment" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_approval_workflow: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_approval_workflow" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_artifact: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_artifact" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content forbidden_scenario_apply: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_forbidden" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta properties: blocked_types: type: array items: enum: - time_entries - expenses - bookings type: string bulk_index: type: integer id: type: string description: Id of the service whose destroy is blocked source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors required: - errors headers: Content-Type: schema: type: string description: |- Forbidden. When applying the scenario would destroy services whose time entries, expenses or bookings the person can't manage, one `cascade_deletion_blocked` error per such service. Match errors to services by `meta.id`: `source.pointer` and `meta.bulk_index` index the server-side list of destroyed services, not the request body. single_comment: content: application/vnd.api+json: schema: type: object description: A single comment record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_comment" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '456' type: comments attributes: note: Looks good! I added a few edge cases to handle. Let me know if you need help with the OAuth token refresh flow. created_at: '2026-03-10T11:30:00.000+00:00' updated_at: '2026-03-10T11:30:00.000+00:00' commentable_type: task commentable_id: 120501 relationships: author: data: type: people id: '12' task: data: type: tasks id: '120501' included: [] description: Single comment unprocessable_content_project: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_project" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_project_milestone: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_project_milestone" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_project_preference: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_project_preference" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_job_role_rate: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_job_role_rate" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_backoffice_organization_subscription: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_backoffice_organization_subscription" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_backoffice_session: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_backoffice_session" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_revenue_distribution: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_revenue_distribution" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_backoffice_user_segment: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_backoffice_user_segment" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_bank_account: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_bank_account" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_folder: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_folder" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta properties: bulk_index: type: integer title: Bulk Index description: The position in the request's `data` array of the entry the error belongs to; only bulk requests set it. source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_event: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_event" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_invoice_attribution: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_invoice_attribution" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_invoice_template: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_invoice_template" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_invoiced_budget: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_invoiced_budget" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_line_item: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_line_item" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta description: On a bulk request, `bulk_index` is the position in the request's `data` array of the line item the error belongs to. properties: bulk_index: type: integer source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_lost_reason: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_lost_reason" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_mcp_connector: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_mcp_connector" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_mcp_server: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_mcp_server" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_membership: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_membership" detail: "$ref": "#/components/schemas/error/properties/detail" meta: type: object title: Meta description: Extra detail about the error. properties: bulk_index: type: integer title: Bulk Index description: In a bulk request, the zero-based position in `data` of the item that was rejected. source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_memory: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_memory" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_offboarding: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_offboarding" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_organization: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_organization" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_organization_champion: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_organization_champion" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_organization_subscription: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_organization_subscription" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_pipeline: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_pipeline" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_placeholder: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_placeholder" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_public_survey_response: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_public_survey_response" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_pulse: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_pulse" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content automation_capabilities: content: application/vnd.api+json: schema: type: object properties: actions: type: object conditions: type: array items: {} interpolator_attributes: type: object relative_attributes: type: object supported_types: type: array items: type: string target: type: string triggers: type: array items: type: string type: type: string required: - target - supported_types - relative_attributes - actions - interpolator_attributes headers: Content-Type: schema: type: string description: Automation capabilities of a target automation_schema: content: application/vnd.api+json: schema: type: object headers: Content-Type: schema: type: string description: Automation schemas unprocessable_content_report_category: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_report_category" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_resource_request: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_resource_request" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_subsidiary: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_subsidiary" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content unprocessable_content_survey: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: code: "$ref": "#/components/schemas/error_code_survey" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content single_invoice_attribution: content: application/vnd.api+json: schema: type: object description: A single invoice attribution record in JSON:API format. properties: data: "$ref": "#/components/schemas/_response_object_invoice_attribution" included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: 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' included: [] description: Single invoice attribution single_subsidiary: content: application/vnd.api+json: schema: type: object description: A single subsidiary record in JSON:API format. properties: data: type: object description: The JSON:API data object for the returned subsidiary resource. properties: attributes: type: object description: Subsidiary attributes. properties: archived_at: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/archived_at" - type: 'null' description: The timestamp when the subsidiary was archived, or null if active. export_integration_type_id: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/export_integration_type_id" - type: 'null' description: The accounting integration type identifier used for invoice exports. facility_costs: "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs" facility_costs_breakdown: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs_breakdown" - type: 'null' description: A breakdown of facility overhead cost components. facility_costs_default: "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs_default" facility_costs_normalized: "$ref": "#/components/schemas/resource_subsidiary/properties/facility_costs_normalized" invoice_logo_url: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_logo_url" - type: 'null' description: The URL of the logo image used on invoices for this subsidiary. invoice_number_format: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_number_format" - type: 'null' description: The format template for auto-generated invoice numbers. invoice_number_scope: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/invoice_number_scope" - type: 'null' description: The scope for invoice number sequences (e.g. per-subsidiary or organization-wide). name: "$ref": "#/components/schemas/resource_subsidiary/properties/name" show_delivery_date: "$ref": "#/components/schemas/resource_subsidiary/properties/show_delivery_date" avatar_url: anyOf: - "$ref": "#/components/schemas/resource_subsidiary/properties/avatar_url" - type: 'null' example: eq: value relationships: type: object description: Subsidiary relationships. properties: bill_from: "$ref": "#/components/schemas/_single_relationship" custom_domain: "$ref": "#/components/schemas/_single_relationship" default_bank_account: "$ref": "#/components/schemas/_single_relationship" default_document_type: "$ref": "#/components/schemas/_single_relationship" default_tax_rate: "$ref": "#/components/schemas/_single_relationship" einvoice_configuration: "$ref": "#/components/schemas/_single_relationship" einvoice_identity: "$ref": "#/components/schemas/_single_relationship" integration: "$ref": "#/components/schemas/_single_relationship" organization: "$ref": "#/components/schemas/_single_relationship" example: eq: value example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" required: - data example: data: id: '2' type: subsidiaries attributes: name: Acme Agency EU archived_at: show_delivery_date: false invoice_number_format: INV-{YYYY}-{NNN} invoice_number_scope: subsidiary relationships: bill_from: data: type: contact_entries id: '891' default_tax_rate: data: type: tax_rates id: '8' default_bank_account: data: type: bank_accounts id: '5' default_document_type: data: type: document_types id: '3' included: [] description: Single subsidiary unprocessable_content_scenario: content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object title: Error properties: meta: type: object title: Meta description: Extra detail about the error. properties: restricted_people: type: array items: type: object title: Restricted Person properties: person_id: type: string title: Person ID scenario_service_id: type: string title: Scenario Service ID service_type_id: type: string title: Service Type ID title: Restricted People description: 'With `scenario_apply_restricted_bookings`: each booked person lacking the service type of their scenario service, once per person and scenario service, ordered by person ID then scenario service ID.' code: "$ref": "#/components/schemas/error_code_scenario" detail: "$ref": "#/components/schemas/error/properties/detail" source: "$ref": "#/components/schemas/error/properties/source" status: "$ref": "#/components/schemas/error/properties/status" title: "$ref": "#/components/schemas/error/properties/title" title: Errors headers: Content-Type: schema: type: string description: Unprocessable Content collection_activity: content: application/vnd.api+json: schema: type: object description: Paginated list of activity records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_activity" description: An activity resource object. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection activity collection_agent: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_agent" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection agent collection_agent_config: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_agent_config" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: A paginated collection of agent configurations returned in JSON:API format. collection_agent_session: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_agent_session" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection agent session collection_allocation: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_allocation" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection allocation collection_approval_policy: content: application/vnd.api+json: schema: type: object description: Paginated list of approval policy records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_approval_policy" description: Array of approval policy resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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: {} included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection approval policy collection_approval_policy_assignment: content: application/vnd.api+json: schema: type: object description: Paginated list of approval policy assignment records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_approval_policy_assignment" description: Array of approval policy assignment resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '45' type: approval_policy_assignments attributes: created_at: '2026-01-15T10:00:00.000+00:00' relationships: person: data: type: people id: '12' approval_policy: data: type: approval_policies id: '7' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection approval policy assignment collection_approval_status: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_approval_status" description: Collection approval status included: type: array items: "$ref": "#/components/schemas/_response_included" description: |- Array of sideloaded related resources requested via the `include` query parameter. May contain `approver`, `actual_approver`, `approval_workflow`, `booking`, `expense`, or `time_entry` records referenced by this approval status's relationships. meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection approval status collection_approval_workflow: content: application/vnd.api+json: schema: type: object description: A list of approval workflow records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_approval_workflow" description: The approval workflow resource objects. example: - id: '169435' type: approval_workflows attributes: approval_requirement_id: 3 target_type_id: 2 dynamic_approver_ids: - '2' dynamic_subscriber_ids: [] relationships: organization: data: type: organizations id: '109' event: data: approval_policy: data: type: approval_policies id: '7' approvers: data: - type: people id: '8' subscribers: data: [] included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: - id: '7' type: approval_policies attributes: name: Budget approvals meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '169435' type: approval_workflows attributes: approval_requirement_id: 3 target_type_id: 2 dynamic_approver_ids: - '2' dynamic_subscriber_ids: [] relationships: organization: data: type: organizations id: '109' event: data: approval_policy: data: type: approval_policies id: '7' approvers: data: - type: people id: '8' subscribers: data: [] meta: current_page: 1 total_pages: 1 total_count: 1 page_size: 30 max_page_size: 200 included: - id: '7' type: approval_policies attributes: name: Budget approvals description: Collection of approval workflows collection_artifact: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_artifact" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection artifact collection_artifact_version: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_artifact_version" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection artifact version collection_attachment: content: application/vnd.api+json: schema: type: object description: Paginated list of attachment records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_attachment" description: Array of attachment resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - 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' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection attachment collection_automatic_invoicing_rule: content: application/vnd.api+json: schema: type: object description: Paginated list of automatic invoicing rule records in JSON:API format. properties: data: type: array items: "$ref": "#/components/schemas/_response_object_automatic_invoicing_rule" description: Array of automatic invoicing rule resource objects. example: eq: value included: type: array items: "$ref": "#/components/schemas/_response_included" description: Sideloaded related resources. example: eq: value meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data example: data: - id: '8' type: automatic_invoicing_rules attributes: name: Monthly retainer invoicing frequency: monthly active: true created_at: '2026-01-01T00:00:00.000+00:00' relationships: deal: data: type: deals id: '89' invoice_template: data: type: invoice_templates id: '5' included: [] meta: current_page: 1 total_pages: 5 total_count: 42 page_size: 30 max_page_size: 200 description: Collection automatic invoicing rule collection_automation: content: application/vnd.api+json: schema: type: object properties: links: "$ref": "#/components/schemas/_links" data: type: array items: "$ref": "#/components/schemas/_response_object_automation" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" required: - data description: Collection automation collection_automation_project_assignment: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_automation_project_assignment" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection automation project assignment collection_automation_report: content: application/vnd.api+json: schema: type: object properties: data: type: array items: "$ref": "#/components/schemas/_response_object_automation_report" included: type: array items: "$ref": "#/components/schemas/_response_included" meta: "$ref": "#/components/schemas/_meta" links: "$ref": "#/components/schemas/_links" required: - data description: Collection automation report securitySchemes: header_token: in: header name: X-Auth-Token type: apiKey description: Authentication via API token passed in the X-Auth-Token request header. header_organization: in: header name: X-Organization-Id type: apiKey