---
canonical_url: "https://docs.composio.dev/toolkits/quire"
markdown_url: "https://docs.composio.dev/toolkits/quire.md"
product: "platform"
version: null
last_updated: null
---

# Quire

Quire is a collaborative project management platform for organizing projects, tasks, documents, discussions, and team workflows.

- **Category:** project management
- **Auth:** OAUTH2
- **Composio-managed OAuth available?** No
- **Tools:** 102
- **Triggers:** 0
- **Slug:** `QUIRE`
- **Version:** 00000000_00

## Tools

### Add Insight Field

**Slug:** `QUIRE_ADD_INSIGHT_FIELD`

Add a custom field to an insight by OID or by owner ID plus insight ID. Quire allows only formula and lookup fields on insights. The OID route explicitly requires the Admin app permission; the ID route has no named app permission in Quire's specification and uses normal resource authorization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Complete field definition to add. |
| `owner_id` | string | No | Owner ID required with owner_type and insight_id for the ID route. |
| `insight_id` | string | No | Insight ID required with owner_type and owner_id for the ID route. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type required with owner_id and insight_id for the ID route. |
| `insight_oid` | string | No | Insight OID for the OID route. This route explicitly requires the Admin app permission; use it alone instead of the ID-route selectors. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the full field definition; `compact` returns only the field `name`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Project Approval Category

**Slug:** `QUIRE_ADD_PROJECT_APPROVAL_CATEGORY`

Add an approval category to a Quire project by project ID or OID. The ID route has no named app permission in Quire's specification and uses normal project authorization. The OID route explicitly requires the Quire app's Admin permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Approval category to add. |
| `project_id` | string | No | Project ID for the ID route. Supply exactly one of project_id or project_oid. Quire assigns no named app permission to this route; normal project authorization still applies. |
| `project_oid` | string | No | Project OID for the OID route. Supply exactly one of project_id or project_oid. This route explicitly requires the Quire app's Admin permission. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the full category; `compact` requests identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Project Field

**Slug:** `QUIRE_ADD_PROJECT_FIELD`

Add a custom-field definition to a Quire project by project ID or OID. The ID route has no named app permission in Quire's specification and uses normal resource authorization. The OID route explicitly requires the Quire app's Admin permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Complete field definition to add. |
| `project_id` | string | No | Project ID for the ID route. Supply exactly one of project_id or project_oid. This route uses normal resource authorization and has no named app permission in Quire's specification. |
| `project_oid` | string | No | Project OID for the OID route. Supply exactly one of project_id or project_oid. This route explicitly requires the Quire app's Admin permission. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the full field definition; `compact` returns only the field `name`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Task Timelog

**Slug:** `QUIRE_ADD_TASK_TIMELOG`

Add a time log to a Quire task identified by task OID or by project ID plus task ID. Returns the task's complete, fixed-shape timelogs array.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Time log to add to the task. |
| `task_id` | integer | No | Task ID. Supply together with project_id, or supply task_oid instead. |
| `task_oid` | string | No | Task OID. Supply this alone, or supply project_id and task_id instead. |
| `project_id` | string | No | Project ID. Supply together with task_id, or supply task_oid instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Attach File to Comment

**Slug:** `QUIRE_ATTACH_FILE_TO_COMMENT`

Upload a file as a raw-byte attachment to an existing Quire comment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | object | Yes | File whose raw bytes will be attached to the comment. |
| `filename` | string | Yes | Attachment filename, including a meaningful extension so clients can recognize its media type. Executable files may be rejected by project policy. |
| `comment_oid` | string | Yes | OID of the existing comment that will receive the attachment. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Attach File to Task

**Slug:** `QUIRE_ATTACH_FILE_TO_TASK`

Upload raw file bytes as an attachment to a task identified by ID or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | object | Yes | File whose raw bytes will be attached to the task. |
| `task_id` | integer | No | Numeric task ID for the ID route. Supply together with project_id, or supply task_oid instead. |
| `filename` | string | Yes | Attachment filename. Include a meaningful extension so clients can recognize its media type. Executable files may be rejected by project policy. |
| `task_oid` | string | No | Task OID for the OID route. Do not combine it with ID-route fields. |
| `project_id` | string | No | Project ID for the ID route. Use '-' for a personal task in My Tasks. Supply together with task_id, or supply task_oid instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Create Tasks

**Slug:** `QUIRE_BULK_CREATE_TASKS`

Atomically create one to 300 Quire root, child, or sibling tasks in submitted order. The body is a top-level array. Any item error rolls back the whole batch and retains its `items[i]:` index. Dry-run performs the same validation without persistence; its returned identifiers are disposable. Normal calls cost one rate-limit unit per item and dry runs cost ceil(items / 2), minimum one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | array | Yes | One to 300 tasks sent as a top-level JSON array in submitted order. |
| `dry_run` | string ("true" | "false") | No | Set to `true` to run all validation and permission checks without persisting. Dry-run identifiers are discarded. Cost is ceil(item count / 2), minimum one, rather than one rate-limit unit per item. |
| `task_id` | integer | No | Anchor task ID; requires project_id and selects the anchored-by-ID route. |
| `position` | string ("parent" | "before" | "after") | No | Placement relative to a task anchor; valid only with task_id or target_oid. |
| `project_id` | string | No | Project ID for a root or ID-anchored route; do not combine with target_oid. |
| `target_oid` | string | No | Project or task OID selecting the OID route; do not combine with ID selectors. |
| `response_format` | string ("full" | "compact") | No | Response shape: full task records (default) or compact `{oid, id}` records. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Delete Tasks

**Slug:** `QUIRE_BULK_DELETE_TASKS`

Atomically delete 1 to 300 Quire tasks from a project selected by ID or OID. The request and response are top-level arrays in submitted order. Malformed references and permission failures roll back the whole batch, while unresolved or already-deleted references produce null slots, making retries idempotent. Dry-run performs the same checks without persistence. Real calls cost one rate-limit unit per submitted item even when skipped; dry-runs cost max(1, ceil(items / 2)). The response is always identifier-only.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | array | Yes | One to 300 task references sent to Quire as a top-level JSON array. Each item may be a task OID, an integer task ID, or a '#<id>' string; forms may be mixed and order is preserved. |
| `dry_run` | string ("true" | "false") | No | Set to `true` to perform the same validation and permission checks without deleting tasks. A successful preview can become stale after concurrent edits. |
| `project_id` | string | No | Project ID. Supply exactly one of project_id or project_oid. |
| `project_oid` | string | No | Project OID. Supply exactly one of project_oid or project_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Move Tasks

**Slug:** `QUIRE_BULK_MOVE_TASKS`

Atomically move or reorder 1 to 300 Quire tasks within one project, selected by project ID or OID. Quire moves resolvable items in submitted order as a sliding chain, returns null for unresolved item references, and rolls back the entire batch on validation, permission, cycle, or database errors. Use dry_run to validate without persistence. A real request costs one rate-limit unit per item; dry-run costs max(1, ceil(items / 2)). Cross-project moves require the bulk-transfer tool.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | array | Yes | Ordered task references to move, from 1 to 300 items. Each item may be a task OID, an integer task ID, or a `#<id>` string; forms may be mixed. Quire receives this list as the top-level JSON array. |
| `task` | string | Yes | Destination anchor shared by the whole batch. Use `root` to move tasks to the project root. Otherwise use an integer task ID with project_id or a task OID with project_oid. |
| `dry_run` | string ("true" | "false") | No | Set to `true` to run all validation and permission checks without persisting moves. A successful preview can become stale after concurrent edits. |
| `position` | string ("parent" | "before" | "after") | No | Placement relative to task: `parent` (default) makes the moved tasks children; `before` or `after` makes them siblings. `root` supports only the default parent position. |
| `project_id` | string | No | Project ID. Supply exactly one of project_id or project_oid. With this route, task must be an integer task ID encoded as a string or `root`. |
| `project_oid` | string | No | Project OID. Supply exactly one of project_id or project_oid. With this route, task must be a task OID or `root`. |
| `response_format` | string ("full" | "compact") | No | Response shape sent as Quire's `return` parameter. `full` is the default; `compact` returns task identifiers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Set Task Approvals

**Slug:** `QUIRE_BULK_SET_TASK_APPROVALS`

Atomically apply one approval transition to up to 300 Quire tasks in a project selected by ID or OID. Missing tasks preserve null result slots; any validation or permission failure rolls back the whole batch. Supports non-persisting dry runs and full or compact responses.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | array | Yes | Top-level array of one to 300 task references. Each item may be an integer task ID, a '#<id>' string, or a task OID; forms may be mixed. The request costs one rate-limit unit per item unless dry_run is true. |
| `state` | string ("request" | "approve" | "reject" | "change") | Yes | Approval transition for every task: request starts or renews approval, approve accepts it, reject declines it, and change requests changes. |
| `dry_run` | string ("true" | "false") | No | Set to true to run the same validation and permission checks without persisting changes. A dry run costs ceil(task count / 2), minimum 1, instead of one rate-limit unit per task. |
| `category` | string | No | Approval category ID. Omit it to use the project's default category, whose ID is an empty string. |
| `project_id` | string | No | Project ID. Supply either this field or project_oid, but not both. |
| `project_oid` | string | No | Project OID. Supply either this field or project_id, but not both. |
| `response_format` | string ("full" | "compact") | No | Response shape. full returns task records with approval data; compact returns only each task's OID and ID. Omission defaults to full. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Transfer Tasks

**Slug:** `QUIRE_BULK_TRANSFER_TASKS`

Atomically transfer 1 to 300 Quire tasks from one project to a different target project using ID or OID routing. The body is a top-level mixed-reference array. Transfers preserve OIDs, assign target-project IDs, and preserve submitted order; by default Quire may invite assignees and add or remap missing tags, statuses, and non-empty custom fields in the target project; set those controls to false to prevent those additional effects. unresolved source items produce null slots. Validation, permission, or database errors retain `items[i]:` and roll back both projects. Dry-run performs the same checks without persistence. Calls cost N units for N submitted items; dry-run costs ceil(N / 2), minimum one, charged before processing even for skipped items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag` | string ("true" | "false") | No | Whether to auto-create missing tags in the target project; Quire defaults to true. |
| `body` | array | Yes | One to 300 task references sent as the top-level JSON array. Each item is a task OID, strict integer ID, or `#<id>` string; forms may be mixed. |
| `task` | string | No | Optional destination anchor in the target project: an integer task ID encoded as a string on the ID route, or a task OID on the OID route. Omit it, pass an empty string, or use `root` to place tasks at the root. |
| `invite` | string ("true" | "false") | No | Whether to auto-invite assignees to the target project; Quire defaults to true. |
| `status` | string ("true" | "false") | No | Whether to auto-remap statuses to the target project; Quire defaults to true. |
| `dry_run` | string ("true" | "false") | No | Set to `true` to perform the same source-and-target validation and permission checks without persisting in either project. A successful preview can become stale after concurrent edits. |
| `project` | string | Yes | Target project ID for the ID route or OID for the OID route. Use `-` for the authorizing user's Inbox. It must resolve to a different project. |
| `position` | string ("parent" | "before" | "after") | No | Placement relative to task. `parent` is the default; `before` and `after` require a non-root destination task. Later successful items are placed after the previous successful transfer to preserve submitted order. |
| `custom_field` | string ("true" | "false") | No | Whether to auto-create or remap non-empty custom fields in the target project; Quire defaults to true. Sent as `custom-field`. |
| `response_format` | string ("full" | "compact") | No | Response shape sent as `return`: full task records by default, or compact records containing the preserved OID and reassigned target-project ID. |
| `source_project_id` | string | No | Source project ID. Supply exactly one source selector. This route expects project and task to be target-project IDs. |
| `source_project_oid` | string | No | Source project OID. Supply exactly one source selector. This route expects project and task to be target-project OIDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Update Tasks

**Slug:** `QUIRE_BULK_UPDATE_TASKS`

Atomically update one to 300 Quire tasks in a project selected by ID or OID. Each item selects exactly one task by ID or OID and may apply the full task update surface, including flattened project custom fields and explicit nulls that clear supported values. Missing tasks preserve null response slots; any validation, permission, conflict, or database error rolls back the whole batch and identifies the failing `items[i]`. Supports non-persisting dry runs and full or compact responses. Real calls cost one rate-limit unit per item; dry runs cost max(1, ceil(items / 2)).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | array | Yes | One to 300 task updates sent as a top-level JSON array in submitted order. Each item selects exactly one task by oid or id. |
| `dry_run` | string ("true" | "false") | No | Set to `true` to perform the same validation and permission checks without persisting. Dry runs cost max(1, ceil(item count / 2)) rate-limit units. |
| `project_id` | string | No | Project ID. Supply exactly one of project_id or project_oid. |
| `project_oid` | string | No | Project OID. Supply exactly one of project_id or project_oid. |
| `response_format` | string ("full" | "compact") | No | Response shape: full task records (default) or compact identifier records. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Chat Channel

**Slug:** `QUIRE_CREATE_CHAT`

Create a chat under a project using its human-readable ID or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Chat channel to create. |
| `owner_id` | string | No | Human-readable project ID. Supply exactly one of owner_id or owner_oid. |
| `owner_oid` | string | No | Project OID. Supply exactly one of owner_id or owner_oid. |
| `owner_type` | string | No | Owner type. Quire currently supports only `project`. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the chat record; `compact` returns identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Chat Comment

**Slug:** `QUIRE_CREATE_CHAT_COMMENT`

Add a Markdown comment to a chat identified by its OID or by project ID plus chat ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Comment to create. |
| `chat_id` | string | No | Chat channel ID for the ID route. Provide it together with project_id, or omit both when using chat_oid. |
| `chat_oid` | string | No | Chat channel OID. Provide this alone, or omit it and provide both project_id and chat_id. |
| `project_id` | string | No | Project ID for the ID route. Provide it together with chat_id, or omit both when using chat_oid. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (default) returns the full comment record; `compact` returns identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Dashboard

**Slug:** `QUIRE_CREATE_DASHBOARD`

Create a dashboard container under a project, organization, folder, or smart folder using the owner's human-readable ID or OID. Dashboard widgets cannot be configured through this operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Dashboard to create. |
| `owner_id` | string | No | Owner ID. Supply exactly one of owner_id or owner_oid. |
| `owner_oid` | string | No | Owner OID. Supply exactly one of owner_id or owner_oid. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | Yes | Owner type: `project`, `organization`, `folder`, or `smart-folder`. Quire assumes `project` when the route segment is omitted. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the full dashboard; `compact` returns identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Document

**Slug:** `QUIRE_CREATE_DOC`

Create a document under a project, organization, folder, or smart folder using the owner's human-readable ID or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Document to create. |
| `owner_id` | string | No | Human-readable owner ID. Supply exactly one of owner_id or owner_oid. |
| `owner_oid` | string | No | Owner OID. Supply exactly one of owner_id or owner_oid. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type: `project`, `organization`, `folder`, or `smart-folder`. Defaults to `project`. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the document record; `compact` returns identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Insight

**Slug:** `QUIRE_CREATE_INSIGHT`

Create an insight view under a project, organization, folder, or smart folder using the owner's human-readable ID or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Insight view to create. |
| `owner_id` | string | No | Human-readable owner ID. Supply exactly one of owner_id or owner_oid. |
| `owner_oid` | string | No | Owner OID. Supply exactly one of owner_id or owner_oid. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | Yes | Owner type: `project`, `organization`, `folder`, or `smart-folder`. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the full insight record; `compact` returns identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Status

**Slug:** `QUIRE_CREATE_STATUS`

Create a task status in a project identified by ID or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Task status to create. |
| `project_id` | string | No | Project ID. Supply exactly one of project_id or project_oid. |
| `project_oid` | string | No | Project OID. Supply exactly one of project_id or project_oid. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the full status record; `compact` requests Quire's compact representation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Sublist

**Slug:** `QUIRE_CREATE_SUBLIST`

Create a sublist under a project, organization, folder, or smart folder using the owner's human-readable ID or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Sublist to create. |
| `owner_id` | string | No | Owner ID. Supply exactly one of owner_id or owner_oid. |
| `owner_oid` | string | No | Owner OID. Supply exactly one of owner_id or owner_oid. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type: `project`, `organization`, `folder`, or `smart-folder`. Defaults to `project`. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the full sublist; `compact` returns identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Tag

**Slug:** `QUIRE_CREATE_TAG`

Create a tag in a project identified by ID or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Tag to create. |
| `project_id` | string | No | Project ID to add the tag to, or `-` for personal tasks. Supply exactly one of project_id or project_oid. |
| `project_oid` | string | No | Project OID to add the tag to, or `-` for personal tasks. Supply exactly one of project_id or project_oid. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the full tag record; `compact` requests Quire's compact representation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Task

**Slug:** `QUIRE_CREATE_TASK`

Create a Quire root task or a child/sibling task using a project ID, a project ID plus task ID, or a project/task OID. Supports nested subtasks and project-defined custom fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Task to create. |
| `task_id` | integer | No | Referenced task ID; requires project_id and creates relative to that task. |
| `position` | string ("parent" | "before" | "after") | No | Placement relative to a task anchor: child (`parent`, the default), or sibling `before` or `after`. Valid only with task_id or a task OID. |
| `project_id` | string | No | Project ID for a root or ID-anchored route. Use `-` for My Tasks. Do not combine with target_oid. |
| `target_oid` | string | No | Project or task OID selecting the OID route. A project creates a root task; a task creates relative to it. Use `-` for My Tasks. |
| `response_format` | string ("full" | "compact") | No | Response shape: full task record (default), or compact identifiers only (`oid` and `id`). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Task Comment

**Slug:** `QUIRE_CREATE_TASK_COMMENT`

Add a Markdown comment to a task identified by task OID or by project ID plus task ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Comment to create. |
| `task_id` | integer | No | Task ID. Supply together with project_id, or supply task_oid instead. |
| `task_oid` | string | No | Task OID. Supply this alone, or supply project_id and task_id instead. |
| `project_id` | string | No | Project ID. Supply together with task_id, or supply task_oid instead. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the full comment; `compact` returns identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Chat Channel

**Slug:** `QUIRE_DELETE_CHAT`

Remove one Quire chat channel by its OID or by its owner ID and chat ID. Deletion is idempotent: Quire returns success even if the chat no longer exists. A deleted chat may be restorable with RESTORE_CHAT.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | No | Chat channel ID for ID-based lookup. Required with owner_type and owner_id; omit when using chat_oid. |
| `chat_oid` | string | No | Chat channel OID. Provide this alone, or omit it and provide the complete owner_type, owner_id, and chat_id route. |
| `owner_id` | string | No | Owner ID for ID-based lookup. Required with owner_type and chat_id; omit when using chat_oid. |
| `owner_type` | string | No | Owner type for ID-based lookup. Currently only `project` is supported. Required with owner_id and chat_id; omit when using chat_oid. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Comment

**Slug:** `QUIRE_DELETE_COMMENT`

Remove one Quire comment by its OID. Deletion is idempotent: Quire returns success even if the comment no longer exists. A deleted comment may be restorable with RESTORE_COMMENT when that action is available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment_oid` | string | Yes | OID of the comment to remove. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Dashboard

**Slug:** `QUIRE_DELETE_DASHBOARD`

Remove one Quire dashboard by its OID or by its owner ID and dashboard ID. Deletion is idempotent: Quire returns success even if the dashboard no longer exists. A deleted dashboard may be restorable with RESTORE_DASHBOARD.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Owner ID for ID-based lookup. Required with owner_type and dashboard_id; omit when using dashboard_oid. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for ID-based lookup. Required with owner_id and dashboard_id; omit when using dashboard_oid. |
| `dashboard_id` | string | No | Dashboard ID for ID-based lookup. Required with owner_type and owner_id; omit when using dashboard_oid. |
| `dashboard_oid` | string | No | Dashboard OID. Provide this alone, or omit it and provide owner_type, owner_id, and dashboard_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Document

**Slug:** `QUIRE_DELETE_DOC`

Remove one Quire document by its OID or by its owner ID and document ID. Deletion is idempotent: Quire returns success even if the document no longer exists. A deleted document may be restorable with RESTORE_DOC.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `doc_id` | string | No | Document ID for ID-based lookup. Required with owner_type and owner_id; omit when using doc_oid. |
| `doc_oid` | string | No | Document OID. Provide this alone, or omit it and provide owner_type, owner_id, and doc_id. |
| `owner_id` | string | No | Owner ID for ID-based lookup. Required with owner_type and doc_id; omit when using doc_oid. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for ID-based lookup. Required with owner_id and doc_id; omit when using doc_oid. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Insight

**Slug:** `QUIRE_DELETE_INSIGHT`

Remove one Quire insight by its OID or by its owner ID and insight ID. Deletion is idempotent: Quire returns success even if the insight no longer exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Owner ID for ID-based lookup. Required with owner_type and insight_id; omit when using insight_oid. |
| `insight_id` | string | No | Insight ID for ID-based lookup. Required with owner_type and owner_id; omit when using insight_oid. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for ID-based lookup. Required with owner_id and insight_id; omit when using insight_oid. |
| `insight_oid` | string | No | Insight OID. Provide this alone, or omit it and provide owner_type, owner_id, and insight_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Status

**Slug:** `QUIRE_DELETE_STATUS`

Delete one project task status by numeric value using the project ID or OID. The operation is idempotent: Quire returns 204 No Content even when the status does not exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `value` | integer | Yes | Signed 32-bit numeric value of the status to delete. |
| `project_id` | string | No | Project ID. Provide exactly one of `project_id` or `project_oid`. |
| `project_oid` | string | No | Project OID. Provide exactly one of `project_id` or `project_oid`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Storage Value

**Slug:** `QUIRE_DELETE_STORAGE_VALUE`

Delete one access-token-scoped app storage value by key name. The operation is idempotent: Quire returns 204 No Content whether or not the key exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Key name of the access-token-scoped storage value to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Sublist

**Slug:** `QUIRE_DELETE_SUBLIST`

Remove one Quire sublist by its OID or by its owner ID and sublist ID. Deletion is idempotent: Quire returns success even if the sublist no longer exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Owner ID for ID-based lookup. Required with owner_type and sublist_id; omit when using sublist_oid. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for ID-based lookup. Required with owner_id and sublist_id; omit when using sublist_oid. |
| `sublist_id` | string | No | Sublist ID for ID-based lookup. Required with owner_type and owner_id; omit when using sublist_oid. |
| `sublist_oid` | string | No | Sublist OID. Provide this alone, or omit it and provide owner_type, owner_id, and sublist_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Tag

**Slug:** `QUIRE_DELETE_TAG`

Delete one Quire tag by its OID. The operation is idempotent: Quire returns 204 No Content even when the tag does not exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_oid` | string | Yes | OID of the tag to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Task

**Slug:** `QUIRE_DELETE_TASK`

Remove one Quire task by task OID or by project ID plus numeric task ID. WARNING: Quire also removes every subtask beneath the selected task. The task may be recoverable with RESTORE_TASK while Quire retains the removed record. Deletion is idempotent: both routes return 204 No Content even when the task does not exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | integer | No | Numeric task ID for the ID route. Supply together with project_id, or supply task_oid alone. |
| `task_oid` | string | No | Task OID for the OID route. Supply alone, or supply project_id and task_id instead. |
| `project_id` | string | No | Project ID for the ID route. Use `-` for a task in My Tasks. Supply together with task_id, or supply task_oid alone. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Export Project CSV

**Slug:** `QUIRE_EXPORT_PROJECT_CSV`

Export a Quire project and its filtered tasks and related data as a CSV file, selecting the project by ID or OID. Requires the Professional plan or above. The request costs 5 + max(1, ceil(filtered tasks / 100)) rate-limit units.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `merge` | boolean | No | Whether to merge multiple values under the same header into one CSV column, such as placing all tags in one column. |
| `status` | string ("active" | "completed" | "all") | No | Task status filter. `active` exports active tasks, `completed` exports completed tasks, and `all` exports both. A narrower filter can reduce the request's rate-limit cost. |
| `project_id` | string | No | Project ID. Provide exactly one of `project_id` or `project_oid`. |
| `project_oid` | string | No | Project OID. Provide exactly one of `project_id` or `project_oid`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Export Project JSON

**Slug:** `QUIRE_EXPORT_PROJECT_JSON`

Export a Quire project, all tasks, and related data as JSON, selecting the project by ID or OID. Requires the Professional plan or above. The request costs 5 + max(1, ceil(tasks / 100)) rate-limit units. The API does not document filters for this endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | No | Project ID. Provide exactly one of `project_id` or `project_oid`. |
| `project_oid` | string | No | Project OID. Provide exactly one of `project_id` or `project_oid`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Chat Channel

**Slug:** `QUIRE_GET_CHAT`

Get one chat by its OID or by owner ID plus resource ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | No | Chat channel ID. Required with `owner_type` and `owner_id` when `chat_oid` is omitted. |
| `chat_oid` | string | No | Chat channel OID. Use this alone, without the ID-route fields. |
| `owner_id` | string | No | Owner ID. Required with `owner_type` and `chat_id` when `chat_oid` is omitted. |
| `owner_type` | string | No | Owner type for the ID route. Currently only `project` is supported. Required with `owner_id` and `chat_id` when `chat_oid` is omitted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Comment

**Slug:** `QUIRE_GET_COMMENT`

Get one comment by its OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment_oid` | string | Yes | Comment OID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Dashboard

**Slug:** `QUIRE_GET_DASHBOARD`

Get one dashboard by its OID or by owner ID plus resource ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Owner ID. Required with `owner_type` and `dashboard_id` when `dashboard_oid` is omitted. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for the ID route. Required with `owner_id` and `dashboard_id` when `dashboard_oid` is omitted. |
| `dashboard_id` | string | No | Dashboard ID. Required with `owner_type` and `owner_id` when `dashboard_oid` is omitted. |
| `dashboard_oid` | string | No | Dashboard OID. Use this alone, without the ID-route fields. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Document

**Slug:** `QUIRE_GET_DOC`

Get one document by its OID or by owner ID plus resource ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `doc_id` | string | No | Document ID. Required with `owner_type` and `owner_id` when `doc_oid` is omitted. |
| `doc_oid` | string | No | Document OID. Use this alone, without the ID-route fields. |
| `owner_id` | string | No | Owner ID. Required with `owner_type` and `doc_id` when `doc_oid` is omitted. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for the ID route. Required with `owner_id` and `doc_id` when `doc_oid` is omitted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Insight

**Slug:** `QUIRE_GET_INSIGHT`

Get one insight by OID or by owner ID plus insight ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Owner ID. Required with `owner_type` and `insight_id` when `insight_oid` is omitted. |
| `insight_id` | string | No | Insight ID. Required with `owner_type` and `owner_id` when `insight_oid` is omitted. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for the ID route. Required with `owner_id` and `insight_id` when `insight_oid` is omitted. |
| `insight_oid` | string | No | Insight OID. Use this alone, without the ID-route fields. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Organization

**Slug:** `QUIRE_GET_ORGANIZATION`

Get organization details by ID or OID, including subscription plan when available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organization_id` | string | No | Organization ID. Provide exactly one of `organization_id` or `organization_oid`. |
| `organization_oid` | string | No | Organization OID. Provide exactly one of `organization_id` or `organization_oid`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Partner

**Slug:** `QUIRE_GET_PARTNER`

Get one external team partner by OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `partner_oid` | string | Yes | External team OID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Project

**Slug:** `QUIRE_GET_PROJECT`

Get one complete project record by ID or OID, including plan details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | No | Project ID. Provide exactly one of `project_id` or `project_oid`. |
| `project_oid` | string | No | Project OID. Provide exactly one of `project_id` or `project_oid`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Rate Limit

**Slug:** `QUIRE_GET_RATE_LIMIT`

Return current minute and hourly API usage for an organization or personal project by ID or OID. This inspection request consumes no rate-limit units.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `target_id` | string | No | Organization or personal-project ID. Provide exactly one of `target_id` or `target_oid`. |
| `target_oid` | string | No | Organization or personal-project OID. Provide exactly one of `target_id` or `target_oid`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Status

**Slug:** `QUIRE_GET_STATUS`

Get one project task status by numeric value.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `value` | integer | Yes | Non-negative numeric value of the status to fetch. |
| `project_id` | string | No | Project ID. Provide exactly one of `project_id` or `project_oid`. |
| `project_oid` | string | No | Project OID. Provide exactly one of `project_id` or `project_oid`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Storage Value

**Slug:** `QUIRE_GET_STORAGE_VALUE`

Get one application storage value by key name. Values are scoped to the connected Quire access token and returned without changing their JSON type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Storage key name scoped to the connected Quire access token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Sublist

**Slug:** `QUIRE_GET_SUBLIST`

Get one sublist by its OID or by owner ID plus resource ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Owner ID. Required with `owner_type` and `sublist_id` when `sublist_oid` is omitted. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for the ID route. Required with `owner_id` and `sublist_id` when `sublist_oid` is omitted. |
| `sublist_id` | string | No | Sublist ID. Required with `owner_type` and `owner_id` when `sublist_oid` is omitted. |
| `sublist_oid` | string | No | Sublist OID. Use this alone, without the ID-route fields. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Tag

**Slug:** `QUIRE_GET_TAG`

Return one tag identified by its OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_oid` | string | Yes | OID of the tag to fetch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Task

**Slug:** `QUIRE_GET_TASK`

Get one complete Quire task by task OID or by project ID plus numeric task ID. Returns identifiers, Markdown and plain-text content, relationships, assignment, scheduling, status, approval, time-log, attachment, and audit data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | integer | No | Numeric task ID. Supply together with project_id, or supply task_oid alone. |
| `task_oid` | string | No | Task OID. Supply this alone, or supply project_id and task_id instead. |
| `project_id` | string | No | ID of the task's project. Use `-` for a personal task in My Tasks. Supply together with task_id, or supply task_oid alone. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User

**Slug:** `QUIRE_GET_USER`

Get a user by human-readable ID, email address, `me`, or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | User ID, email address, or `me`. Provide exactly one of `user_id` or `user_oid`. |
| `user_oid` | string | No | User OID. Provide exactly one of `user_id` or `user_oid`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Chat Comments

**Slug:** `QUIRE_LIST_CHAT_COMMENTS`

List all comments on a chat identified by chat OID or by project ID plus chat ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | No | Chat channel ID. Provide this with `project_id`, or provide `chat_oid` alone. |
| `chat_oid` | string | No | Chat channel OID. Provide this alone, without `project_id` or `chat_id`. |
| `project_id` | string | No | Project ID. Provide this with `chat_id`, or provide `chat_oid` alone. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Chat Channels

**Slug:** `QUIRE_LIST_CHATS`

List chats under a supported owner identified by ID or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Project ID. Provide exactly one of `owner_id` or `owner_oid`. |
| `owner_oid` | string | No | Project OID. Provide exactly one of `owner_id` or `owner_oid`. |
| `owner_type` | string | Yes | Owner type. Quire currently supports only `project` for chat owners. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Dashboards

**Slug:** `QUIRE_LIST_DASHBOARDS`

List dashboards under a supported owner identified by ID or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Owner ID. Provide exactly one of `owner_id` or `owner_oid`. |
| `owner_oid` | string | No | Owner OID. Provide exactly one of `owner_id` or `owner_oid`. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | Yes | Type of owner whose dashboards to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Documents

**Slug:** `QUIRE_LIST_DOCS`

List documents under a supported owner identified by ID or OID. Quire returns each document's full Markdown body plus rendered text and HTML, so results may be large.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Owner ID. Provide exactly one of `owner_id` or `owner_oid`. |
| `owner_oid` | string | No | Owner OID. Provide exactly one of `owner_id` or `owner_oid`. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | Yes | Type of owner whose documents to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Insights

**Slug:** `QUIRE_LIST_INSIGHTS`

List insights under an owner identified by ID or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Owner ID. Provide exactly one of `owner_id` or `owner_oid`. |
| `owner_oid` | string | No | Owner OID. Provide exactly one of `owner_id` or `owner_oid`. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | Yes | Type of owner whose insights to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Organizations

**Slug:** `QUIRE_LIST_ORGANIZATIONS`

List organizations visible to the connected user.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Project Partners

**Slug:** `QUIRE_LIST_PROJECT_PARTNERS`

List external team partners for a project identified by ID or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | No | Project ID. Provide exactly one of `project_id` or `project_oid`. |
| `project_oid` | string | No | Project OID. Provide exactly one of `project_id` or `project_oid`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Projects

**Slug:** `QUIRE_LIST_PROJECTS`

List projects authorized for the current application, globally or within one organization selected by ID or OID, with optional archived and add-task filters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `add_task` | boolean | No | Whether to return only projects to which the current user can add tasks. |
| `archived` | boolean | No | Whether to include archived projects; Quire excludes them by default. |
| `organization_id` | string | No | Organization ID used to restrict results. Do not also provide `organization_oid`. |
| `organization_oid` | string | No | Organization OID used to restrict results. Do not also provide `organization_id`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Statuses

**Slug:** `QUIRE_LIST_STATUSES`

List task statuses for a project identified by ID or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | No | Project ID. Provide exactly one of `project_id` or `project_oid`. |
| `project_oid` | string | No | Project OID. Provide exactly one of `project_id` or `project_oid`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Storage Values

**Slug:** `QUIRE_LIST_STORAGE_VALUES`

List up to 20 app storage values ordered by key, either across all keys or restricted to a prefix. Returns an object whose dynamic keys are storage names and whose values may be any JSON value; empty storage returns `{}`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `prefix` | string | No | Key prefix to match. Omit it to list all stored values. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Sublists

**Slug:** `QUIRE_LIST_SUBLISTS`

List sublists under a supported owner identified by ID or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Owner ID. Provide exactly one of `owner_id` or `owner_oid`. |
| `owner_oid` | string | No | Owner OID. Provide exactly one of `owner_id` or `owner_oid`. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | Yes | Type of owner whose sublists to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tags

**Slug:** `QUIRE_LIST_TAGS`

List tags in a project identified by ID or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | No | Project ID. Provide exactly one of `project_id` or `project_oid`. Use "-" for personal tasks. |
| `project_oid` | string | No | Project OID. Provide exactly one of `project_id` or `project_oid`. Use "-" for personal tasks. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Task Comments

**Slug:** `QUIRE_LIST_TASK_COMMENTS`

List all comments on a task identified by task OID or by project ID plus task ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | integer | No | Integer task ID. Provide this together with `project_id`, or provide `task_oid` instead. |
| `task_oid` | string | No | Task OID. Provide this alone, without `project_id` or `task_id`. |
| `project_id` | string | No | Project ID. Provide this together with `task_id`, or provide `task_oid` instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tasks

**Slug:** `QUIRE_LIST_TASKS`

List Quire project roots or a task's direct children or paid deep subtree by project/task ID or OID. Supports status filtering, full or compact records, and one-page opaque cursor continuation. Deep traversal requires Professional or above and is capped at 500 nodes on Professional, 2,000 on Premium, and the response-size limit on Enterprise; cropped markers identify partial levels.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `depth` | string | No | Subtree depth for a parent task: a positive integer or `full`. Omit for direct children. Values above 1 and `full` require Professional or above and cannot be combined with limit or cursor. |
| `limit` | string | No | Page size from 1 through 1000, or `no` to explicitly return all tasks. Omitting it returns the complete flat list. Task-list rate-limit cost is max(1, ceil(items returned / 100)). |
| `cursor` | string | No | Opaque cursor returned by the previous call. It restores the same target, limit, status, depth, and response format; do not construct or modify it. |
| `status` | string | No | Task status filter: `active`, `completed`, or an integer from 0 through 100. |
| `task_id` | integer | No | Parent task's numeric ID; requires project_id. |
| `project_id` | string | No | Project ID whose root tasks to list. Add task_id to list a task's children instead. Use `-` for My Tasks. Do not combine with target_oid. |
| `target_oid` | string | No | Project OID whose roots to list, or parent-task OID whose children to list. Use `-` for My Tasks. Do not combine with project_id or task_id. |
| `response_format` | string ("full" | "compact") | No | Response shape. `full` returns task records; `compact` returns IDs/OIDs plus cursor, nested tasks, and cropped markers when applicable. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Users

**Slug:** `QUIRE_LIST_USERS`

List users visible to the app globally or within a project selected by ID or OID. The optional contacts permission controls which colleagues and member details are visible; the current user is always first.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | No | Project ID used to list project members. Omit both selectors to list globally. |
| `project_oid` | string | No | Project OID used to list project members. Omit both selectors to list globally. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move Insight Field

**Slug:** `QUIRE_MOVE_INSIGHT_FIELD`

Reorder a custom field on an insight identified by OID or by owner ID plus insight ID. Omit `before` to move it to the end. The OID route requires the Quire app's Admin permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `before` | string | No | Exact name of the field to place this field immediately before. Omit to move the field to the end. |
| `owner_id` | string | No | Owner ID for the ID route. Provide with owner_type and insight_id. |
| `field_name` | string | Yes | Exact name of the custom field to move. |
| `insight_id` | string | No | Insight ID for the ID route. Provide with owner_type and owner_id. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for the ID route. Provide with owner_id and insight_id; omit when using insight_oid. |
| `insight_oid` | string | No | Insight OID. Use this alone instead of the ID-route selectors. This route requires the Quire app's Admin permission. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) or `compact` for identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move Project Field

**Slug:** `QUIRE_MOVE_PROJECT_FIELD`

Reorder a custom field on a Quire project identified by ID or OID. Omit before to move the field to the end. The OID route requires the Quire app's Admin permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `before` | string | No | Exact name of the field to place this field immediately before. Omit to move the field to the end. |
| `field_name` | string | Yes | Exact name of the custom field to move. |
| `project_id` | string | No | Project ID. Provide exactly one of project_id or project_oid. |
| `project_oid` | string | No | Project OID. Provide exactly one of project_id or project_oid. The OID route requires the Quire app's Admin permission. |
| `response_format` | string ("full" | "compact") | No | Response shape: full (the default) or compact for identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move Task

**Slug:** `QUIRE_MOVE_TASK`

Reparent or reorder one Quire task within its current project, selected by project ID plus numeric task ID or by task OID. Move it under a destination task, immediately before or after that task, or to the project root.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task` | string | Yes | Destination reference. Use `root` to move to the project root. Otherwise use an integer task ID with project_id and task_id, or a task OID with task_oid. |
| `task_id` | integer | No | Numeric ID of the task to move; supply it with project_id. |
| `position` | string ("parent" | "before" | "after") | No | Placement relative to task: `parent` (the default) makes the moved task a child; `before` or `after` makes it a sibling. `root` supports only the default parent placement. |
| `task_oid` | string | No | OID of the task to move; do not combine it with ID-route fields. |
| `project_id` | string | No | Project ID for the ID route; use `-` for a personal task in My Tasks. Supply it with task_id, or supply task_oid alone. |
| `response_format` | string ("full" | "compact") | No | Response shape sent as Quire's `return` query parameter. `full` is the default; `compact` returns task identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Insight Field

**Slug:** `QUIRE_REMOVE_INSIGHT_FIELD`

Remove a named custom field from a Quire insight by OID or by owner ID plus insight ID. The OID route requires the Quire app's Admin permission. Removal is idempotent: Quire returns success when the field is already absent.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Owner ID for the ID route. Required with owner_type and insight_id; omit when using insight_oid. |
| `field_name` | string | Yes | Exact name of the custom field to remove from the insight view. |
| `insight_id` | string | No | Insight ID for the ID route. Required with owner_type and owner_id; omit when using insight_oid. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for the ID route. Required with owner_id and insight_id; omit when using insight_oid. |
| `insight_oid` | string | No | Insight OID. Provide this alone instead of the ID-route selectors. The OID route requires the Quire app's Admin permission. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Project Approval Category

**Slug:** `QUIRE_REMOVE_PROJECT_APPROVAL_CATEGORY`

Remove an approval category from a Quire project by project ID or OID. Any task approval that references the category is cleared. The ID route uses normal resource authorization; the OID route requires the Quire app's Admin permission. Removal is idempotent: Quire returns success when the category is already absent.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cat_id` | string | Yes | Exact ID of the approval category to remove from the project. |
| `project_id` | string | No | Project ID for the ID route. Provide exactly one of project_id or project_oid. This route uses normal Quire resource authorization. |
| `project_oid` | string | No | Project OID for the OID route. Provide exactly one of project_oid or project_id. This route requires the Quire app's Admin permission. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Project Field

**Slug:** `QUIRE_REMOVE_PROJECT_FIELD`

Remove a named custom field from a Quire project by project ID or OID. The ID route uses normal resource authorization; the OID route requires the Quire app's Admin permission. Removal is idempotent: Quire returns success when the field is already absent.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `field_name` | string | Yes | Exact name of the custom field to remove from the project. |
| `project_id` | string | No | Project ID for the ID route. Provide exactly one of project_id or project_oid. This route uses normal Quire resource authorization. |
| `project_oid` | string | No | Project OID for the OID route. Provide exactly one of project_oid or project_id. This route requires the Quire app's Admin permission. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Task Timelog

**Slug:** `QUIRE_REMOVE_TASK_TIMELOG`

Remove the task time log matching an exact start, end, and optional user, identifying the task by OID or by project ID plus integer task ID. Quire truncates sub-second timestamp precision before matching and returns all remaining time logs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | Exact UTC ISO 8601 end timestamp of the time log to remove. Quire truncates sub-second precision before matching. |
| `user` | string | No | User credited with the time log. Omit to match a log credited to the authenticated caller. |
| `start` | string | Yes | Exact UTC ISO 8601 start timestamp of the time log to remove. Quire truncates sub-second precision before matching. |
| `task_id` | integer | No | Integer task ID for the ID route. Provide it with project_id, or provide task_oid alone. |
| `task_oid` | string | No | Task OID for the OID route. Provide it alone instead of project_id and task_id. |
| `project_id` | string | No | Project ID for the ID route. Provide it with task_id, or provide task_oid alone. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Rename Insight Field

**Slug:** `QUIRE_RENAME_INSIGHT_FIELD`

Rename a custom field on an insight identified by OID or by owner ID plus insight ID while preserving the field's content. The OID route requires the Quire app's Admin permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `new_name` | string | Yes | New name for the custom field. |
| `owner_id` | string | No | Owner ID for the ID route. Provide with owner_type and insight_id. |
| `field_name` | string | Yes | Exact current name of the custom field. |
| `insight_id` | string | No | Insight ID for the ID route. Provide with owner_type and owner_id. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for the ID route. Provide with owner_id and insight_id; omit when using insight_oid. |
| `insight_oid` | string | No | Insight OID. Use this alone instead of the ID-route selectors. This route requires the Quire app's Admin permission. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) or `compact` for the field name only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Rename Project Field

**Slug:** `QUIRE_RENAME_PROJECT_FIELD`

Rename a custom field on a project identified by ID or OID while preserving the field content and migrating task values. The OID route requires the Quire app's Admin permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `new_name` | string | Yes | New name for the custom field. |
| `field_name` | string | Yes | Exact current name of the custom field. |
| `project_id` | string | No | Project ID. Supply exactly one of project_id or project_oid. |
| `project_oid` | string | No | Project OID. Supply exactly one of project_id or project_oid. The OID route requires the Quire app's Admin permission. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) or `compact`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore Chat Channel

**Slug:** `QUIRE_RESTORE_CHAT`

Restore a previously removed chat by its OID or by owner ID plus resource ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | No | Chat channel ID. Provide with `owner_type` and `owner_id`, or use `chat_oid` instead. |
| `chat_oid` | string | No | Chat channel OID. Provide this alone instead of the ID-route fields. |
| `owner_id` | string | No | Owner ID. Provide with `owner_type` and `chat_id`, or use `chat_oid` instead. |
| `owner_type` | string | No | Owner type for the ID route. Quire currently supports only `project`. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` for the complete chat record or `compact` for identifiers only. Defaults to `full`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore Comment

**Slug:** `QUIRE_RESTORE_COMMENT`

Restore a previously removed comment by OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment_oid` | string | Yes | Comment OID. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` for the complete comment record or `compact` for identifiers only. Defaults to `full`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore Dashboard

**Slug:** `QUIRE_RESTORE_DASHBOARD`

Restore a previously removed dashboard by its OID or by owner ID plus resource ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Owner ID for the ID route. Provide with owner_type and dashboard_id; omit when using dashboard_oid. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for the ID route. Provide with owner_id and dashboard_id; omit when using dashboard_oid. |
| `dashboard_id` | string | No | Dashboard ID for the ID route. Provide with owner_type and owner_id; omit when using dashboard_oid. |
| `dashboard_oid` | string | No | Dashboard OID. Provide this alone instead of the ID-route fields. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` for the complete dashboard record or `compact` for identifiers only. Defaults to `full`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore Document

**Slug:** `QUIRE_RESTORE_DOC`

Restore a previously removed document by its OID or by owner ID plus resource ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `doc_id` | string | No | Document ID for the ID route. Provide with owner_type and owner_id; omit when using doc_oid. |
| `doc_oid` | string | No | Document OID. Provide this alone instead of the ID-route fields. |
| `owner_id` | string | No | Owner ID for the ID route. Provide with owner_type and doc_id; omit when using doc_oid. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for the ID route. Provide with owner_id and doc_id; omit when using doc_oid. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` for the complete document record or `compact` for identifiers only. Defaults to `full`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore Insight

**Slug:** `QUIRE_RESTORE_INSIGHT`

Restore a previously removed insight by its OID or by owner ID plus insight ID. If the insight is not removed, Quire returns it unchanged.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Owner ID for the ID route. Provide with owner_type and insight_id; omit when using insight_oid. |
| `insight_id` | string | No | Insight ID for the ID route. Provide with owner_type and owner_id; omit when using insight_oid. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for the ID route. Provide with owner_id and insight_id; omit when using insight_oid. |
| `insight_oid` | string | No | Insight OID. Provide this alone instead of the ID-route fields. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` for the complete insight record or `compact` for identifiers only. Defaults to `full`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore Sublist

**Slug:** `QUIRE_RESTORE_SUBLIST`

Restore a previously removed sublist by its OID or by owner ID plus resource ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Owner ID for the ID route. Provide with owner_type and sublist_id; omit when using sublist_oid. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for the ID route. Provide with owner_id and sublist_id; omit when using sublist_oid. |
| `sublist_id` | string | No | Sublist ID for the ID route. Provide with owner_type and owner_id; omit when using sublist_oid. |
| `sublist_oid` | string | No | Sublist OID. Provide this alone instead of the ID-route fields. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` for the complete sublist record or `compact` for identifiers only. Defaults to `full`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore Task

**Slug:** `QUIRE_RESTORE_TASK`

Restore a previously removed Quire task by project ID plus numeric task ID, or by task OID. Restoring an active task is an idempotent no-op.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | integer | No | Numeric task ID for the ID route; supply it with project_id. |
| `task_oid` | string | No | Task OID for the OID route; do not combine it with ID-route fields. |
| `project_id` | string | No | Project ID for the ID route; use `-` for a personal task in My Tasks. Supply it with task_id, or supply task_oid alone. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (default) returns the restored task record; `compact` returns identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Revoke Task Approval

**Slug:** `QUIRE_REVOKE_TASK_APPROVAL`

Cancel a Quire task's current approval by task OID or by project ID plus integer task ID. For awaiting or changes states, Quire clears the approval. For approved or rejected states, Quire rolls it back to awaiting and preserves the original requester. Call the action again to clear that approval. The operation is idempotent when no approval is set.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | integer | No | Integer task ID for the ID route. Provide it with project_id, or provide task_oid alone. |
| `task_oid` | string | No | Task OID for the OID route. Provide it alone instead of project_id and task_id. |
| `project_id` | string | No | Project ID for the ID route. Provide it with task_id, or provide task_oid alone. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Run Insight

**Slug:** `QUIRE_RUN_INSIGHT`

Run a project-scoped insight by OID or by project ID plus insight ID and return its computed grouped table. Available on every Quire plan. A run costs 1 + max(0, ceil(tasks loaded / 250) - 1) rate-limit units after the status filter. Rows sort by group name, with the null group last. Project-wide task-collection tokens in formula columns evaluate to null; other cells in the row remain available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status` | string ("active" | "completed" | "all") | No | Task-state filter applied before aggregation. `active` selects not-yet-completed tasks, `completed` selects completed tasks, and `all` does not filter by state. Narrower queries load fewer tasks and can cost fewer rate-limit units. Values are case-insensitive upstream. |
| `group_by` | string ("member" | "section") | No | Row grouping. `member` returns one row per assignee and includes multi-assignee tasks in every applicable group; `section` returns one row per section ancestor. Unassigned or sectionless tasks use a null group. Values are case-insensitive upstream. |
| `owner_id` | string | No | Project ID. Required with `owner_type` and `insight_id` for the ID route. |
| `insight_id` | string | No | Insight ID. Required with `owner_type` and `owner_id` for the ID route. |
| `owner_type` | string | No | Owner type for the ID route. Must be `project` when using IDs. |
| `insight_oid` | string | No | Insight OID. Use this alone instead of the ID-route fields. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Tasks

**Slug:** `QUIRE_SEARCH_TASKS`

Search tasks in one project, folder, or organization selected by ID or OID. Supports each route's documented full-text, regex, people, tag, activity, date, project-only, and project-ID-only filters, including dynamic project custom fields. Returns one page and exposes Quire's documented cursor. Folder and organization searches require Professional or above. Rate-limit cost is max(1, ceil(items returned / 100)).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `due` | string | No | Due date/time filter using the same relative, null, comparison, date, timestamp, and range grammar as start. |
| `tag` | string | No | Tag OID/name expression using `,` (AND), `&#124;` (OR), or `!` (NOT). Quote names containing operators or whitespace; escape quotes as `\"` and backslashes as `\\`. |
| `mine` | boolean | No | Return only My Tasks: assigned to the current user, or created by the current user, scheduled, and unassigned. |
| `name` | string | No | Task name filter. Prefix with `~` for regex or `~*` for case-insensitive regex. |
| `text` | string | No | Full-text query against task name, description, and attachments. It does not search comments, and indexing can lag updates by 10 seconds or more. |
| `limit` | string | No | Maximum tasks to return as a positive integer string, or `no` for all matches. The default is 30; free plans permit at most 30 or `no`. |
| `start` | string | No | Start date/time filter: a relative keyword, `isNull`/`isNotNull`, a comparison with YYYY-MM-DD or an ISO 8601 UTC timestamp, or an inclusive `between`/`notBetween` pair. |
| `edited` | string | No | editedAt filter using the created timestamp grammar. Never-edited tasks are excluded by every edited operation. |
| `status` | string | No | Task status: an integer from 0 through 100, `active`, or `completed`. |
| `created` | string | No | createdAt filter: a relative keyword such as `today` or `last7d`, a comparison (`ge`, `gt`, `le`, `lt`, `eq`, `ne`) with an ISO 8601 UTC timestamp, or an inclusive `between`/`notBetween` timestamp pair. |
| `sublist` | string | No | Project searches only: task sublist ID or OID filter. |
| `toggled` | string | No | toggledAt filter using the archived timestamp grammar, including `isNull` and `isNotNull`. |
| `archived` | string | No | archivedAt filter using the created timestamp grammar, also supporting `isNull` and `isNotNull`. |
| `assignee` | string | No | Assignee expression using user OIDs, IDs, or emails. Combine values with `,` for AND, `&#124;` for OR, and `!` for NOT; AND binds tighter than OR. |
| `assignor` | string | No | Assignor expression using user OIDs, IDs, or emails and `,` (AND), `&#124;` (OR), or `!` (NOT). |
| `follower` | string | No | Follower expression using user OIDs, IDs, or emails and `,` (AND), `&#124;` (OR), or `!` (NOT). |
| `modified` | string | No | Return tasks created or modified recently. Use an integer number of days or a value with `d`, `h`, or `m`, such as `8h`. |
| `priority` | string | No | Project-ID searches only: priority expression using -1 through 2 or low, medium, high, urgent, or none with `,`, `&#124;`, and `!`. |
| `commented` | string | No | Return tasks with recent comments. Use an integer number of days or a value with `d`, `h`, or `m`, such as `8h`. |
| `recurring` | string | No | Project-ID searches only: `true` or an empty string for recurring tasks, or `false` for non-recurring tasks. |
| `scheduled` | boolean | No | True returns tasks with a start or due date; false returns tasks with neither date set. |
| `task_type` | string | No | Project-ID searches only: task type expression using normal/task, section, or milestone with `,`, `&#124;`, and `!`. |
| `created_by` | string | No | Project-ID searches only: creator expression using a user OID, ID, or email with `,`, `&#124;`, and `!`. |
| `scope_type` | string ("project" | "folder" | "organization") | Yes | Container type whose tasks to search. |
| `source_ref` | string | No | Filter by the task's sourceRef key. |
| `unarchived` | string | No | reshowAt filter using the archived timestamp grammar, including `isNull` and `isNotNull`. |
| `description` | string | No | Task description filter. Prefix with `~` for regex or `~*` for case-insensitive regex. |
| `next_cursor` | string | No | Opaque cursor from the previous page. Re-pass the same limit and filters; cannot be combined with sublist. |
| `custom_fields` | object | No | Project-ID searches only: map custom field names to typed filter values. Number, Money, Duration, and Date support ge/gt/le/lt/eq/ne, between/notBetween, isNull, and isNotNull. Checkbox uses booleans; Select uses option names; User uses an ID/email/OID; Task uses an ID/OID; Email and Hyperlink support exact, `~` regex, or `~*` case-insensitive regex. Duration operands accept seconds or d/h/m suffixes. Date operands use YYYY-MM-DD or ISO 8601 UTC timestamps. Text, Formula, File, and Lookup custom fields are unsupported. |
| `identifier_type` | string ("id" | "oid") | No | Whether scope_identifier is a human-readable ID or OID. |
| `scope_identifier` | string | Yes | Project, folder, or organization ID/OID matching scope_type and identifier_type. Use `-` for My Tasks when searching a project. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Notification

**Slug:** `QUIRE_SEND_NOTIFICATION`

Irreversibly send a Quire notification to the authorizing user, selected visible users, or every user visible to the app. Sending cannot be undone. Using recipients=['*'] is a broadcast to all visible users, whose breadth depends on whether the app has access-to-contacts permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Notification payload to send. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Storage Value

**Slug:** `QUIRE_SET_STORAGE_VALUE`

Create or replace one access-token-scoped app storage value by key. The value may be an object, array, string, number, or boolean. Use DELETE_STORAGE_VALUE to delete a key. New keys are subject to the Quire plan's storage record cap, and each write is limited to 4 KiB.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | string | Yes | Complete JSON value to store. Objects, arrays, strings, numbers, booleans, are accepted. Use DELETE_STORAGE_VALUE to delete a key. Each write is limited to 4 KiB. |
| `name` | string | Yes | Key name whose access-token-scoped storage value will be replaced. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Task Approval

**Slug:** `QUIRE_SET_TASK_APPROVAL`

Request, approve, reject, or request changes for a task approval category, selecting the task by OID or by project ID plus task ID. The caller must be an allowed claimer to request approval or an allowed approver to decide it. Optionally creates a prefixed companion comment; use the revoke-approval action instead to cancel an approval.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Optional companion comment. Omit this object to record only the approval transition; the created comment is not included in this response. |
| `state` | string ("request" | "approve" | "reject" | "change") | Yes | Approval transition: request approval, approve it, reject it, or request changes. A request can also return a decided approval to awaiting. |
| `task_id` | integer | No | Numeric task ID. Supply together with project_id, or supply task_oid instead. |
| `category` | string | No | Approval category ID. Omit to use the project's default category, whose ID is the empty string. |
| `task_oid` | string | No | Task OID. Supply this alone, or supply project_id and task_id instead. |
| `project_id` | string | No | Project ID. Supply together with task_id, or supply task_oid instead. |
| `response_format` | string ("full" | "compact") | No | Response shape: full (the default) returns approval details; compact returns the task's OID and numeric ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Transfer Task

**Slug:** `QUIRE_TRANSFER_TASK`

Transfer one existing Quire task from its current project to a different project using an ID or OID route. The transfer removes it from the source project, preserves its OID, assigns a new numeric ID from the target project, and can place it at the target root or relative to a target task. By default, Quire may invite assignees and add missing tags, statuses, and non-empty custom fields to the target project; set the corresponding controls to `false` to prevent those side effects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag` | string ("true" | "false") | No | Whether Quire may add missing task tags to the target project. Quire defaults to true. |
| `task` | string | No | Optional destination task in the target project: a numeric task ID encoded as a string on the ID route, or a task OID on the OID route. Omit it, pass an empty string, or use `root` to place the transferred task at the root. |
| `invite` | string ("true" | "false") | No | Whether Quire may invite assignees who are not members of the target project. Quire defaults to true. |
| `status` | string ("true" | "false") | No | Whether Quire may add missing task statuses to the target project. Quire defaults to true. |
| `project` | string | Yes | Different target project: an ID when using project_id and task_id, or an OID when using task_oid. Use `-` for My Tasks. Transfer removes the task from its current project and assigns it a target-project numeric ID. |
| `task_id` | integer | No | Numeric task ID for the ID route; supply it with project_id. |
| `position` | string ("parent" | "before" | "after") | No | Placement relative to task. `parent` is the default and makes the transferred task a child; `before` or `after` makes it a sibling and requires a non-root destination task. |
| `task_oid` | string | No | Task OID for the OID route; do not combine it with ID-route fields. |
| `project_id` | string | No | ID of the task's current project. Use `-` for My Tasks. Supply this with task_id, or supply task_oid alone. |
| `custom_field` | string ("true" | "false") | No | Whether Quire may add missing non-empty custom fields to the target project. Quire defaults to true; sent as `custom-field`. |
| `response_format` | string ("full" | "compact") | No | Response shape sent as `return`: `full` (default) returns the updated task record; `compact` returns its preserved OID and reassigned numeric ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Chat Channel

**Slug:** `QUIRE_UPDATE_CHAT`

Update one chat by its OID or by owner ID plus resource ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Fields to update; omitted fields preserve their existing values. |
| `chat_id` | string | No | Chat channel ID. Required with `owner_type` and `owner_id` for the ID route. |
| `chat_oid` | string | No | Chat channel OID. Use this alone instead of the ID-route selectors. |
| `owner_id` | string | No | Owner project ID. Required with `owner_type` and `chat_id` for the ID route. |
| `owner_type` | string | No | Owner type for the ID route. Currently only `project` is supported. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (default) or identifiers-only `compact`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Comment

**Slug:** `QUIRE_UPDATE_COMMENT`

Update the Markdown content or pin state of a comment by OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Comment fields to update; omitted fields preserve their existing values. |
| `comment_oid` | string | Yes | Comment OID. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the full comment; `compact` returns identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Dashboard

**Slug:** `QUIRE_UPDATE_DASHBOARD`

Update one dashboard by its OID or by owner ID plus resource ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Dashboard fields to update; omitted fields preserve existing values. |
| `owner_id` | string | No | Owner ID. Required with owner_type and dashboard_id for the ID route. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for the ID route: `project`, `organization`, `folder`, or `smart-folder`. Required with owner_id and dashboard_id. |
| `dashboard_id` | string | No | Dashboard ID. Required with owner_type and owner_id for the ID route. |
| `dashboard_oid` | string | No | Dashboard OID. Use this alone instead of the ID-route selectors. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) for the complete dashboard or `compact` for identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Document

**Slug:** `QUIRE_UPDATE_DOC`

Update one document by its OID or by owner ID plus resource ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Document fields to update; omitted fields preserve existing values. |
| `doc_id` | string | No | Document ID. Required with owner_type and owner_id for the ID route. |
| `doc_oid` | string | No | Document OID. Use this alone instead of the ID-route selectors. |
| `owner_id` | string | No | Owner ID. Required with owner_type and doc_id for the ID route. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for the ID route: `project`, `organization`, `folder`, or `smart-folder`. Required with owner_id and doc_id. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) for the complete document or `compact` for identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Insight

**Slug:** `QUIRE_UPDATE_INSIGHT`

Update one insight by OID or by owner ID plus insight ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Insight fields to update; omitted fields preserve existing values. |
| `owner_id` | string | No | Owner ID. Required with owner_type and insight_id for the ID route. |
| `insight_id` | string | No | Insight ID. Required with owner_type and owner_id for the ID route. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for the ID route: `project`, `organization`, `folder`, or `smart-folder`. Required with owner_id and insight_id. |
| `insight_oid` | string | No | Insight OID. Use this alone instead of the ID-route selectors. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) for the complete insight or `compact` for identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Insight Field

**Slug:** `QUIRE_UPDATE_INSIGHT_FIELD`

Update an existing custom-field definition on a Quire insight by OID or by owner ID plus insight ID. Omitted properties preserve current values; the field type is immutable. The OID route requires the Quire app's Admin permission. Use the dedicated rename or move actions to rename or reorder a field.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Field properties to update. Omitted properties preserve their current values, and individual flags are merged rather than replaced. |
| `owner_id` | string | No | Owner ID required with owner_type and insight_id for the ID route. |
| `field_name` | string | Yes | Exact name of the existing custom field to update. |
| `insight_id` | string | No | Insight ID required with owner_type and owner_id for the ID route. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type required with owner_id and insight_id for the ID route. |
| `insight_oid` | string | No | Insight OID for the OID route. Use this alone instead of the ID-route selectors. This route requires the Quire app's Admin permission. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the full field definition; `compact` returns only the field `name`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Organization

**Slug:** `QUIRE_UPDATE_ORGANIZATION`

Update organization properties by ID or OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Organization fields to update; omitted fields remain unchanged. |
| `organization_id` | string | No | Organization ID. Supply exactly one of organization_id or organization_oid. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the complete organization; `compact` returns only its OID and ID. |
| `organization_oid` | string | No | Organization OID. Supply exactly one of organization_id or organization_oid. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Project

**Slug:** `QUIRE_UPDATE_PROJECT`

Update project properties by ID or OID, including visibility, followers, dates, and archive state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Project fields to update; omitted fields remain unchanged. |
| `project_id` | string | No | Project ID. Supply exactly one of project_id or project_oid. |
| `project_oid` | string | No | Project OID. Supply exactly one of project_id or project_oid. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the complete project; `compact` returns identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Project Approval Category

**Slug:** `QUIRE_UPDATE_PROJECT_APPROVAL_CATEGORY`

Update an approval category on a Quire project identified by ID or OID. Omitted changes preserve their current values. The ID route uses normal resource authorization; the OID route requires the Quire app's Admin permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Approval-category changes. Omitted properties preserve their current values; at least one property must be supplied. |
| `cat_id` | string | Yes | Identifier of the approval category to update. The implicit default category has an empty identifier. |
| `project_id` | string | No | Project ID. Supply exactly one of project_id or project_oid. The ID route uses normal Quire resource authorization. |
| `project_oid` | string | No | Project OID. Supply exactly one of project_id or project_oid. The OID route requires the Quire app's Admin permission. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) or `compact`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Project Field

**Slug:** `QUIRE_UPDATE_PROJECT_FIELD`

Update an existing custom-field definition on a Quire project by ID or OID. Omitted properties preserve current values and the field type is immutable. The OID route requires the Quire app's Admin permission; the ID route uses normal resource authorization and has no named app permission. Use the dedicated rename or move actions to rename or reorder a field.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Field properties to update. Omitted properties preserve their current values, and individual flags are merged rather than replaced. |
| `field_name` | string | Yes | Exact name of the existing custom field to update. |
| `project_id` | string | No | Project ID. Supply exactly one of project_id or project_oid. This route uses normal resource authorization and has no named app permission in Quire's specification. |
| `project_oid` | string | No | Project OID. Use this alone instead of project_id. This route requires the Quire app's Admin permission. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) returns the full field definition; `compact` returns only the field `name`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Status

**Slug:** `QUIRE_UPDATE_STATUS`

Update one project task status by numeric value.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Status fields to update. Omitted fields remain unchanged. |
| `value` | integer | Yes | Non-negative numeric value of the existing status to update. |
| `project_id` | string | No | Project ID. Supply exactly one of project_id or project_oid. |
| `project_oid` | string | No | Project OID. Supply exactly one of project_id or project_oid. |
| `response_format` | string ("full" | "compact") | No | Response shape: full (the default) returns the complete status; compact requests Quire's compact representation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Sublist

**Slug:** `QUIRE_UPDATE_SUBLIST`

Update one sublist by its OID or by owner ID plus resource ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Sublist fields to update; omitted fields preserve existing values. |
| `owner_id` | string | No | Owner ID. Required with owner_type and sublist_id for the ID route. |
| `owner_type` | string ("project" | "organization" | "folder" | "smart-folder") | No | Owner type for the ID route: `project`, `organization`, `folder`, or `smart-folder`. Required with owner_id and sublist_id. |
| `sublist_id` | string | No | Sublist ID. Required with owner_type and owner_id for the ID route. |
| `sublist_oid` | string | No | Sublist OID. Use this alone instead of the ID-route selectors. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (the default) for the complete sublist or `compact` for identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Tag

**Slug:** `QUIRE_UPDATE_TAG`

Update one tag by OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Tag fields to update. Omitted fields remain unchanged. |
| `tag_oid` | string | Yes | OID of the tag to update. |
| `response_format` | string ("full" | "compact") | No | Response shape: full (the default) returns the complete updated tag; compact returns identifiers only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Task

**Slug:** `QUIRE_UPDATE_TASK`

Partially update one Quire task selected by project ID plus numeric task ID, or by task OID. Supports replacement and incremental relationship fields, recurrence, archive/snooze state, source references, and project-defined custom fields flattened into the task body.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Task fields to update. Omitted fields remain unchanged; explicit nulls are retained for fields that support clearing. |
| `task_id` | integer | No | Numeric task ID for the ID route; supply it with project_id. |
| `task_oid` | string | No | Task OID for the OID route; do not combine it with ID-route fields. |
| `project_id` | string | No | Project ID for the ID route; `-` selects personal My Tasks. Supply it with task_id, or supply task_oid alone. |
| `response_format` | string ("full" | "compact") | No | Response shape: `full` (default) returns the updated task; `compact` returns only its OID and numeric ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Task Timelog

**Slug:** `QUIRE_UPDATE_TASK_TIMELOG`

Replace fields on the task time log identified by its exact existing start, end, and optional user, selecting the task by project/task ID or task OID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | End timestamp of the existing log in ISO 8601 UTC. |
| `body` | object | Yes | Replacement fields; omitted or null fields preserve existing values. |
| `user` | string | No | User credited on the existing log as an OID, ID, or email. Omit to identify a log belonging to the authenticated caller. |
| `start` | string | Yes | Start timestamp of the existing log in ISO 8601 UTC. Together with end and optional user, this identifies the log to update. |
| `task_id` | integer | No | Numeric task ID for the ID route. Supply it together with project_id, or supply task_oid alone. |
| `task_oid` | string | No | Task OID for the OID route. Do not combine it with ID-route fields. |
| `project_id` | string | No | Project ID for the ID route. Supply it together with task_id, or supply task_oid alone. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
