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

# Smokeball

Smokeball legal practice management actions for matters, contacts, tasks, documents, billing, and firm records.

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

## Tools

### Add Contact Tags

**Slug:** `SMOKEBALL_ADD_CONTACT_TAGS`

Adds one or more tags to an existing contact by contact id; tags that already exist on the contact are not duplicated by the documented behaviour. Returns a link to the contact; read it back with GET_CONTACT to see the full tag list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | array | No | The list of tags to add |
| `contact_id` | string | Yes | The contact ID |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter File

**Slug:** `SMOKEBALL_ADD_MATTER_FILE`

Register a new matter file and return a sensitive presigned PUT URL valid for 1 hour that authorizes its content upload. Do not expose or log the URL. This toolkit does not upload bytes: PUT them with an empty Content-Type header, then allow the storage callback to complete. Confirm the file using the returned fileId with GET_MATTER_FILE; it returns 404 before confirmation. fileName is split on its last '.', normalized to XML-safe characters, and must retain a valid character. A 202 response means accepted, not completed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | The file to add. |
| `matter_id` | string | Yes | Unique identifier (GUID) of the matter. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Files Batch

**Slug:** `SMOKEBALL_ADD_MATTER_FILES_BATCH`

Register a migration batch of matter files and return one sensitive presigned PUT URL, valid for 1 hour, per item in request order. Each URL authorizes content upload; do not expose or log it. The call is not atomic: validation proceeds in order, so a 400 for item n leaves earlier upload requests in place. There is no documented array cap or Location header. This toolkit does not upload bytes; PUT each file with an empty Content-Type header or it never exists. A 202 response means accepted, not completed. The provider's root array is returned under data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | array | Yes | The files to add. |
| `matter_id` | string | Yes | Unique identifier (GUID) of the matter. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Layout

**Slug:** `SMOKEBALL_ADD_MATTER_LAYOUT`

Adds a layout item using a restricted documented subset. Layout key/value pairs are supported, but the provider's untyped LayoutValue.state field is intentionally unavailable. A 202 result means accepted; read back the layout to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Layout matter item to add, without untyped value state. |
| `matter_id` | string | Yes | Matter identifier. |
| `request_id` | string | No | Optional correlation header for the asynchronous write and webhook callback. |
| `skip_field_validation` | boolean | No | Whether to skip field validation when adding the layout. |

#### 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 Matter Layout Contact

**Slug:** `SMOKEBALL_ADD_MATTER_LAYOUT_CONTACT`

Adds a new contact on a specified layout. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for add a contact to a layout. Preserve provider field names and schema constraints. |
| `item_id` | string | Yes | Identifier of the layout item to which the contact is added. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Role

**Slug:** `SMOKEBALL_ADD_MATTER_ROLE`

Appends a new role in the specified matter. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for add role to a matter. Preserve provider field names and schema constraints. |
| `version` | integer | No | Provider version header; supported values and purpose are not documented in this operation. Omit unless Smokeball instructs you to send it. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Role Relationship

**Slug:** `SMOKEBALL_ADD_MATTER_ROLE_RELATIONSHIP`

Appends a new relationship with an existing role in the specified matter. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for add relationship to a role. Preserve provider field names and schema constraints. |
| `role_id` | string | Yes | Identifier of the role addressed by this operation. |
| `version` | integer | No | Provider version header; supported values and purpose are not documented in this operation. Omit unless Smokeball instructs you to send it. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Tags

**Slug:** `SMOKEBALL_ADD_MATTER_TAGS`

Adds one or more tags to an existing matter by matter id. Returns a link to the matter; read it back with GET_MATTER to see the full tag list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | array | No | Structured JSON request body for add tags to a matter. Preserve provider field names and schema constraints. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Activity Code

**Slug:** `SMOKEBALL_CREATE_ACTIVITY_CODE`

Creates an activity code. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create an activity code. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Authorization Group

**Slug:** `SMOKEBALL_CREATE_AUTHORIZATION_GROUP`

Creates an authorization group. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create an authorization group. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Authorization Policy

**Slug:** `SMOKEBALL_CREATE_AUTHORIZATION_POLICY`

Creates an authorization policy. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create an authorization policy. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Bank Account Requisition

**Slug:** `SMOKEBALL_CREATE_BANK_ACCOUNT_REQUISITION`

Submit an irreversible financial requisition against a trust account. If approvals are enabled, firm owners create it without approval and other users require approval; if approvals are disabled, creation automatically approves it. A 202 response means only that the request was accepted, not that processing completed; inspect the returned requisition status and balances to determine whether it is Pending or Approved.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create a requisition. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |
| `bank_account_id` | string | Yes | Identifier of the bank account addressed by this operation. |

#### 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 Bank Account Transaction

**Slug:** `SMOKEBALL_CREATE_BANK_ACCOUNT_TRANSACTION`

Submit an irreversible financial Deposit transaction against the specified bank account and matter, with a dollar amount limited to 2 decimal places and an effective date. Deposit is the only documented transaction type. A 202 response means only that creation was accepted, not that the transaction completed; follow the returned link to confirm the resulting transaction.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create a transaction. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |
| `bank_account_id` | string | Yes | Identifier of the bank account addressed by this operation. |

#### 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 Contact

**Slug:** `SMOKEBALL_CREATE_CONTACT`

Creates a contact. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create a contact. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Contact Relation

**Slug:** `SMOKEBALL_CREATE_CONTACT_RELATION`

Creates a relation for a specified contact. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create a contact relation. Preserve provider field names and schema constraints. |
| `contact_id` | string | Yes | Identifier of the contact addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Event

**Slug:** `SMOKEBALL_CREATE_EVENT`

Creates a calendar event. Send startTime and endTime as local wall-clock time without an offset (YYYY-MM-DDThh:mm:ss) together with the IANA timeZone; an offset or Z is not applied. A 202 result means accepted; read back the event to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create event. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Event Reminder

**Slug:** `SMOKEBALL_CREATE_EVENT_REMINDER`

Creates a new reminder for an event. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create reminder for an event. Preserve provider field names and schema constraints. |
| `event_id` | string | Yes | Identifier of the event addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 File Preview

**Slug:** `SMOKEBALL_CREATE_FILE_PREVIEW`

Get or request a PDF preview of the current file version. The 202 response means accepted, not necessarily completed: if the preview already exists, downloadUrl is immediately populated with a sensitive presigned URL valid for 1 day; otherwise downloadUrl and expiry are null while asynchronous conversion runs. Do not expose or log a populated URL. Poll GET_FILE_VERSION_PREVIEW with documentVersionId until it returns 200. A new file version has a separate preview.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | Unique identifier of the file. |
| `matter_id` | string | Yes | Unique identifier of the matter to which the file belongs. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Firm

**Slug:** `SMOKEBALL_CREATE_FIRM`

Creates a firm for the current authenticated client and registers an existing user as a staff member and firm owner. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | Structured JSON request body for create firm. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter

**Slug:** `SMOKEBALL_CREATE_MATTER`

Creates a new matter or Lead. Lead creation requires isLead=true, a Lead-specific matterTypeId, and a Grow or Prosper account. clientRole and otherSideRole are optional, cannot be identical, and otherwise default from the selected matter type. A 202 result means accepted; confirm completion with GET_MATTER on the returned id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create a matter. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Expense

**Slug:** `SMOKEBALL_CREATE_MATTER_EXPENSE`

Creates an expense for the specified matter. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create an expense. Preserve provider field names and schema constraints. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Fee

**Slug:** `SMOKEBALL_CREATE_MATTER_FEE`

Creates a fee for the specified matter. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create a fee. Preserve provider field names and schema constraints. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Folder

**Slug:** `SMOKEBALL_CREATE_MATTER_FOLDER`

Creates a new folder under the specified matter. When `parentFolderId` is null or omitted the folder is created under the matter root. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | The folder to create. |
| `matter_id` | string | Yes | Unique identifier of the matter. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Memo

**Slug:** `SMOKEBALL_CREATE_MATTER_MEMO`

Creates a memo on the specified matter. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create a memo on a matter. Preserve provider field names and schema constraints. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Notification

**Slug:** `SMOKEBALL_CREATE_NOTIFICATION`

Send a notification to the specified staff member, including its displayed message and optional toast message, icons, color, and Smokeball action URI. This is an externally visible, irreversible send. A 202 response means only that the request was accepted, not that delivery completed; use the returned link to read the resource and confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create a notification. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Staff Member

**Slug:** `SMOKEBALL_CREATE_STAFF_MEMBER`

Creates a staff member in the firm associated with the authenticated client. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create firm staff member. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Subtask

**Slug:** `SMOKEBALL_CREATE_SUBTASK`

Creates a subtask for a specified task. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create a subtask. Preserve provider field names and schema constraints. |
| `task_id` | string | Yes | Identifier of the task addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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:** `SMOKEBALL_CREATE_TASK`

Creates a task. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create a task. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Document

**Slug:** `SMOKEBALL_CREATE_TASK_DOCUMENT`

Links an existing document to the specified task; it does not create a new document. A 202 result means accepted; read back the task's documents to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create a task document. Preserve provider field names and schema constraints. |
| `task_id` | string | Yes | Identifier of the task addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 User

**Slug:** `SMOKEBALL_CREATE_USER`

Create a persistent user login using Default or Auth0. Invitation emails the user a way to set their password; Permanent and Temporary require the caller to deliver the password, and Temporary forces a change at first sign-in. bypassMfa lets the user sign in without two-factor authentication, while mfaEnrollmentGraceDays allows an Auth0 user to sign in without MFA enrollment for 1-90 days. Creating a login for an invited person registers them without accepting their invitation. This externally visible account and any MFA bypass are treated as irreversible effects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create a user. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Webhook Subscription

**Slug:** `SMOKEBALL_CREATE_WEBHOOK_SUBSCRIPTION`

Create a persistent webhook subscription that sends every selected event type to the external eventNotificationUrl until the subscription is changed or deleted. The key is used to create the signature header on webhook notification requests and must be shared with the callback receiver. This enables ongoing external data egress and is treated as irreversible; verify the destination URL, event types, and signing key before use.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for create new webhook subscription. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Activity Code

**Slug:** `SMOKEBALL_DELETE_ACTIVITY_CODE`

Deletes an activity code. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `activity_code_id` | string | Yes | Identifier of the activity code addressed by this operation. |

#### 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 Authorization Group

**Slug:** `SMOKEBALL_DELETE_AUTHORIZATION_GROUP`

Delete an authorization group. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | Identifier of the group addressed by this operation. |

#### 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 Contact

**Slug:** `SMOKEBALL_DELETE_CONTACT`

Deletes a specified contact. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | Identifier of the contact addressed by this operation. |

#### 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 Contact Relation

**Slug:** `SMOKEBALL_DELETE_CONTACT_RELATION`

Deletes a relation for a specified contact. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | Identifier of the contact addressed by this operation. |
| `related_contact_id` | string | Yes | Identifier of the related contact addressed by this operation. |

#### 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 Event

**Slug:** `SMOKEBALL_DELETE_EVENT`

Deletes a specified event. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_id` | string | Yes | Identifier of the event addressed by this operation. |

#### 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 Event Reminder

**Slug:** `SMOKEBALL_DELETE_EVENT_REMINDER`

Deletes a specified event reminder. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_id` | string | Yes | Identifier of the event addressed by this operation. |
| `reminder_id` | string | Yes | Identifier of the reminder addressed by this operation. |

#### 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 Firm User Mapping

**Slug:** `SMOKEBALL_DELETE_FIRM_USER_MAPPING`

Removes a user from the firm through a deprecated compatibility route, marks the associated staff and user as former, and disables user access. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `firm_user_id` | string | Yes | Identifier of the firm user addressed by this operation. |

#### 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 Matter

**Slug:** `SMOKEBALL_DELETE_MATTER`

Deletes a specified matter. A 202 result means accepted; GET_MATTER answers 404 once the matter no longer exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter Expense

**Slug:** `SMOKEBALL_DELETE_MATTER_EXPENSE`

Deletes an expense. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `expense_id` | string | Yes | Identifier of the expense addressed by this operation. |

#### 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 Matter Fee

**Slug:** `SMOKEBALL_DELETE_MATTER_FEE`

Deletes a fee. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fee_id` | string | Yes | Identifier of the fee addressed by this operation. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter File

**Slug:** `SMOKEBALL_DELETE_MATTER_FILE`

Deletes a specified matter file. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | Unique identifier (GUID) of the file. |
| `matter_id` | string | Yes | Unique identifier (GUID) of the matter. |

#### 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 Matter Folder

**Slug:** `SMOKEBALL_DELETE_MATTER_FOLDER`

Deletes a folder belonging to the specified matter. An unknown folder id returns 400 rather than 404, because the folder may have been created but not yet processed. The change is processed asynchronously; the returned Link continues to resolve the folder with `isDeleted: true` once applied. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `folder_id` | string | Yes | Unique identifier of the folder. |
| `matter_id` | string | Yes | Unique identifier of the matter. |

#### 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 Matter Memo

**Slug:** `SMOKEBALL_DELETE_MATTER_MEMO`

Deletes a specified memo. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memo_id` | string | Yes | Identifier of the memo addressed by this operation. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Staff Member

**Slug:** `SMOKEBALL_DELETE_STAFF_MEMBER`

Sets the staff member from the firm associated with the authenticated client as a former staff member. The staff member is set as a former staff member and if they are a user, becomes a former user. User access is also disabled. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `staff_id` | string | Yes | Identifier of the staff addressed by this operation. |

#### 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 Subtask

**Slug:** `SMOKEBALL_DELETE_SUBTASK`

Deletes a specified subtask of a specified task. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Identifier of the task addressed by this operation. |
| `subtask_id` | string | Yes | Identifier of the subtask addressed by this operation. |

#### 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:** `SMOKEBALL_DELETE_TASK`

Deletes a specified task. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Identifier of the task addressed by this operation. |

#### 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 Document

**Slug:** `SMOKEBALL_DELETE_TASK_DOCUMENT`

Unlinks the specified document from the task without deleting the underlying document. A 202 result means accepted; read back the task's documents to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Identifier of the task addressed by this operation. |
| `document_id` | string | Yes | Identifier of the document addressed by this operation. |

#### 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 Webhook Subscription

**Slug:** `SMOKEBALL_DELETE_WEBHOOK_SUBSCRIPTION`

Deletes and unsubscribes from the specified webhook subscription.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_subscription_id` | string | Yes | Identifier of the webhook subscription addressed by this operation. |

#### 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 Activity Code

**Slug:** `SMOKEBALL_GET_ACTIVITY_CODE`

Retrieves one activity code by id: code, description, type, whether it is billable, rate type and rate, quantity and tax flags. Use LIST_ACTIVITY_CODES to find the id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `activity_code_id` | string | Yes | Identifier of the activity code addressed by this operation. |

#### 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 Authorization Group

**Slug:** `SMOKEBALL_GET_AUTHORIZATION_GROUP`

Retrieves one authorization group by id: its name, the ids of the principals it contains, and whether it is deleted. Use LIST_AUTHORIZATION_GROUPS to find the id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | Identifier of the group addressed by this operation. |

#### 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 Authorization Policy

**Slug:** `SMOKEBALL_GET_AUTHORIZATION_POLICY`

Retrieves one authorization policy by its reference: the principal and resource it binds and its rules. The reference is the one returned when the policy was created (CREATE_AUTHORIZATION_POLICY); Smokeball documents no list endpoint for policies.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `policy_reference` | string | Yes | Identifier of the policy reference addressed by this operation. |

#### 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 Bank Account

**Slug:** `SMOKEBALL_GET_BANK_ACCOUNT`

Retrieves one bank account by id: type, status, linked matter, account name and number, bank and branch details. Use LIST_BANK_ACCOUNTS to find the id; balances are not part of this record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bank_account_id` | string | Yes | Identifier of the bank account addressed by this operation. |

#### 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 Bank Account Transaction

**Slug:** `SMOKEBALL_GET_BANK_ACCOUNT_TRANSACTION`

Retrieves one transaction by bank account id and transaction id, including its type, amount, dates, references, associated matter and payor links, and reversal status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `transaction_id` | string | Yes | Identifier of the transaction addressed by this operation. |
| `bank_account_id` | string | Yes | Identifier of the bank account addressed by this operation. |

#### 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 Contact

**Slug:** `SMOKEBALL_GET_CONTACT`

Retrieves one contact by id. Exactly one of person, company, trust or groupOfPeople is populated according to the contact kind, plus tags, isDeleted and lastUpdated. Use LIST_CONTACTS to find the id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | Identifier of the contact addressed by this operation. |

#### 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 Contact Relation

**Slug:** `SMOKEBALL_GET_CONTACT_RELATION`

Retrieves a relation for a specified contact if associated with the authenticated client.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | Identifier of the contact addressed by this operation. |
| `related_contact_id` | string | Yes | Identifier of the related contact addressed by this operation. |

#### 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 Contacts Batch

**Slug:** `SMOKEBALL_GET_CONTACTS_BATCH`

Return contacts matching up to 500 supplied IDs in request order; nonexistent and other-account IDs are silently omitted. Contact records are detailed, so requesting hundreds at once can produce a very large response and consume substantial model context or tokens; use smaller batches when full 500-contact retrieval is unnecessary.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body containing the required `ids` in request order, with a maximum of 500 contact identifiers. Preserve provider field names and schema constraints. |

#### 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 Event

**Slug:** `SMOKEBALL_GET_EVENT`

Retrieves one calendar event by id: subject, description, location, type, start and end times in the event timeZone, allDay flag, attendees and the linked matter. Use LIST_EVENTS to find the id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_id` | string | Yes | Identifier of the event addressed by this operation. |

#### 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 File Download Url

**Slug:** `SMOKEBALL_GET_FILE_DOWNLOAD_URL`

Return a sensitive presigned GET URL and metadata for downloading the current or specified version of a matter file. The URL authorizes access to the file until it expires after 1 hour; do not expose or log it. This call does not fetch file bytes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | Unique identifier (GUID) of the file. |
| `matter_id` | string | Yes | Unique identifier (GUID) of the matter. |
| `version_id` | string | No | Optional. Unique identifier of the file version to download. Must be a version of this file. Defaults to the current version. |

#### 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 File Preview

**Slug:** `SMOKEBALL_GET_FILE_PREVIEW`

Return a sensitive presigned URL to the PDF preview of the file's current version. The URL authorizes preview access for 1 day; do not expose or log it. This endpoint never creates a preview. Use CREATE_FILE_PREVIEW to request conversion; while conversion is pending, this endpoint returns 404 rather than a URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | Unique identifier of the file. |
| `matter_id` | string | Yes | Unique identifier of the matter to which the file belongs. |

#### 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 File Version Preview

**Slug:** `SMOKEBALL_GET_FILE_VERSION_PREVIEW`

Return a sensitive presigned URL to the PDF preview of a specific document version. The URL authorizes preview access for 1 day; do not expose or log it. If CREATE_FILE_PREVIEW requested an asynchronous conversion that is still pending, this endpoint returns 404; poll it until it returns 200.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | Unique identifier of the file. |
| `matter_id` | string | Yes | Unique identifier of the matter to which the file belongs. |
| `document_version_id` | string | Yes | Unique identifier of the document version to preview, as returned in 'documentVersionId' by CreatePreview or 'versionId' on the file. |

#### 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 Firm

**Slug:** `SMOKEBALL_GET_FIRM`

Retrieves the details of the firm associated with the authenticated client.

#### 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 Firm User Mapping

**Slug:** `SMOKEBALL_GET_FIRM_USER_MAPPING`

Returns a user-to-staff mapping in the authenticated firm through a deprecated compatibility route.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `firm_user_id` | string | Yes | Identifier of the firm user addressed by this operation. |

#### 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 Layout Design

**Slug:** `SMOKEBALL_GET_LAYOUT_DESIGN`

Retrieves one layout design by id: its name, description and the list of fields a layout matter item of this design carries. Use LIST_LAYOUT_DESIGNS to find the id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `state` | string | No | State identifier (optional) |
| `layout_id` | string | Yes | Layout design Id |
| `matter_type_id` | string | No | Matter type identifier (optional) |

#### 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 Matter

**Slug:** `SMOKEBALL_GET_MATTER`

Retrieves one matter by id with its documented fields, including any item, role, layout, and tag details Smokeball returns for it. Use LIST_MATTERS to find the id. Smokeball does not document whether those nested details need the items/read, roles/read, or layouts/read scopes in addition to matters/read.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter Archive

**Slug:** `SMOKEBALL_GET_MATTER_ARCHIVE`

Retrieves the archive record of a matter: whether it is archived, the archived date and location, box number, comments and destroy date. Answers 404 when the matter has no archive record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter Billing Configuration

**Slug:** `SMOKEBALL_GET_MATTER_BILLING_CONFIGURATION`

Retrieves the billing configuration for the specified matter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter Expense

**Slug:** `SMOKEBALL_GET_MATTER_EXPENSE`

Retrieves one expense on a matter by matter id and expense id: staff, amounts, tax, origin and the invoice it belongs to, if any. Use LIST_MATTER_EXPENSES to find the id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `expense_id` | string | Yes | Identifier of the expense addressed by this operation. |

#### 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 Matter Fee

**Slug:** `SMOKEBALL_GET_MATTER_FEE`

Retrieves one fee on a matter by matter id and fee id: staff, duration or quantity, rate, amounts, tax and the invoice it belongs to, if any. Use LIST_MATTER_FEES to find the id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fee_id` | string | Yes | Identifier of the fee addressed by this operation. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter File

**Slug:** `SMOKEBALL_GET_MATTER_FILE`

Retrieves metadata for a file belonging to the specified matter, including its download-details link. It does not return file bytes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | Unique identifier (GUID) of the file. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter Folder Path

**Slug:** `SMOKEBALL_GET_MATTER_FOLDER_PATH`

Returns the full folder hierarchy (path) as a collection ordered from the root folder down to the supplied folder. The root folder is not included in the response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `folder_id` | string | Yes | Unique identifier of the folder. |
| `matter_id` | string | Yes | Unique identifier of the matter. |

#### 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 Matter Invoice

**Slug:** `SMOKEBALL_GET_MATTER_INVOICE`

Retrieves one invoice on a matter by matter id and invoice id: number, title, status, dates and totals. Use LIST_MATTER_INVOICES to find the id; GET_MATTER_INVOICE_DOWNLOAD_URL returns the PDF link.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `invoice_id` | string | Yes | Identifier of the invoice addressed by this operation. |

#### 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 Matter Invoice Download Url

**Slug:** `SMOKEBALL_GET_MATTER_INVOICE_DOWNLOAD_URL`

Return a sensitive download URL, its expiry timestamp, version, and status for the specified invoice. The URL authorizes access to invoice contents until the returned expiry; Smokeball does not document a fixed lifetime. Do not expose or log it. This call returns download details and does not fetch the invoice bytes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `invoice_id` | string | Yes | Identifier of the invoice addressed by this operation. |

#### 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 Matter Item

**Slug:** `SMOKEBALL_GET_MATTER_ITEM`

Retrieves one item on a matter by matter id and item id: name, index, visibility and its subItems tree. Use LIST_MATTER_ITEMS to find the id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Identifier of the item addressed by this operation. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter Layout

**Slug:** `SMOKEBALL_GET_MATTER_LAYOUT`

Retrieves one layout item on a matter by item id, including its name, description, hierarchy and order, layout design link, values, and events.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Layout item Id |
| `matter_id` | string | Yes | Matter 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 |

### Get Matter Memo

**Slug:** `SMOKEBALL_GET_MATTER_MEMO`

Retrieves one memo on a matter by matter id and memo id: title, rich text and plain text, author and dates, and whether it is deleted. Use LIST_MATTER_MEMOS to find the id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memo_id` | string | Yes | Identifier of the memo addressed by this operation. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter Role

**Slug:** `SMOKEBALL_GET_MATTER_ROLE`

Retrieves one role on a matter by matter id and role id: role name, the contact filling it, representatives, relationships and whether it is the client or other side. Use LIST_MATTER_ROLES to find the id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role_id` | string | Yes | Identifier of the role addressed by this operation. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter Role Relationship

**Slug:** `SMOKEBALL_GET_MATTER_ROLE_RELATIONSHIP`

Retrieves one relationship on a matter role by relationship id, including its name, associated contact link, and representative links.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role_id` | string | Yes | Identifier of the role addressed by this operation. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `relationship_id` | string | Yes | Identifier of the relationship addressed by this operation. |

#### 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 Matter Stage Info

**Slug:** `SMOKEBALL_GET_MATTER_STAGE_INFO`

Retrieves a matter's current stage information, including its stage set, current stage, version id, and last-updated timestamp.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter Type

**Slug:** `SMOKEBALL_GET_MATTER_TYPE`

Retrieves one matter type by id: name, category, type, location, representative options and the items it defines. Use LIST_MATTER_TYPES to find the id; CREATE_MATTER needs a matterTypeId from here.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `matter_type_id` | string | Yes | Identifier of the matter type addressed by this operation. |

#### 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 Notification

**Slug:** `SMOKEBALL_GET_NOTIFICATION`

Retrieves one notification by id: message, icon, creator and date, and whether it has been read or seen. Smokeball documents no list endpoint for notifications; the id comes from the notification link or a webhook event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `notification_id` | string | Yes | Identifier of the notification addressed by this operation. |

#### 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 Protected Bank Account Balance

**Slug:** `SMOKEBALL_GET_PROTECTED_BANK_ACCOUNT_BALANCE`

Retrieves one protected-funds record by bank account id and protection id, including its amount, reason, dates, current protection state, and associated matter or contact.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bank_account_id` | string | Yes | Identifier of the bank account addressed by this operation. |
| `protected_balance_id` | string | Yes | Identifier of the protected balance addressed by this operation. |

#### 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 Referral Type

**Slug:** `SMOKEBALL_GET_REFERRAL_TYPE`

Retrieves one referral type by id: its name and whether it is deleted. Use LIST_REFERRAL_TYPES to find the id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `referral_type_id` | string | Yes | Identifier of the referral type addressed by this operation. |

#### 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 Staff Member

**Slug:** `SMOKEBALL_GET_STAFF_MEMBER`

Retrieves a staff member (based on staff id parameter provided) in the firm associated with the authenticated client.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `staff_id` | string | Yes | Identifier of the staff addressed by this operation. |

#### 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 Stage Set

**Slug:** `SMOKEBALL_GET_STAGE_SET`

Returns the stage set identified by `stage_set_id`, including its configured matter stages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `stage_set_id` | string | Yes | Identifier of the stage set addressed by this operation. |

#### 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 Stage Set Stage

**Slug:** `SMOKEBALL_GET_STAGE_SET_STAGE`

Retrieves one stage of a stage set by stage-set id and stage id: name, lastUpdated and whether it is deleted. Use GET_STAGE_SET (or LIST_STAGE_SETS) to find the stage ids of a set.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `stage_id` | string | Yes | Identifier of the stage addressed by this operation. |
| `stage_set_id` | string | Yes | Identifier of the stage set addressed by this operation. |

#### 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 Subtask

**Slug:** `SMOKEBALL_GET_SUBTASK`

Retrieves the subtask identified by `subtask_id` within the specified `task_id`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Identifier of the task addressed by this operation. |
| `subtask_id` | string | Yes | Identifier of the subtask addressed by this operation. |

#### 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:** `SMOKEBALL_GET_TASK`

Retrieves one task by id: subject, note, due date, assignees, sub-tasks, the linked matter and who created, completed or last updated it. Use LIST_TASKS to find the id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Identifier of the task addressed by this operation. |

#### 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 Document

**Slug:** `SMOKEBALL_GET_TASK_DOCUMENT`

Retrieves one document attached to a task by task id and document id, including its document type, deletion state, associated task, and document link.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Identifier of the task addressed by this operation. |
| `document_id` | string | Yes | Identifier of the document addressed by this operation. |

#### 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:** `SMOKEBALL_GET_USER`

Retrieves the Smokeball user identified by `user_id`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | Identifier of the user addressed by this operation. |

#### 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 Webhook Subscription

**Slug:** `SMOKEBALL_GET_WEBHOOK_SUBSCRIPTION`

Returns the webhook subscription identified by `webhook_subscription_id`, including its callback and subscribed events.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_subscription_id` | string | Yes | Identifier of the webhook subscription addressed by this operation. |

#### 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 Activity Codes

**Slug:** `SMOKEBALL_LIST_ACTIVITY_CODES`

Returns a list of activity codes. Returns one page; pass next_cursor back as cursor to read the next one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |
| `updated_since` | integer | No | Returns activity codes updated since a specified time (.net ticks representation of the UTC datetime). |

#### 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 Authorization Groups

**Slug:** `SMOKEBALL_LIST_AUTHORIZATION_GROUPS`

Return the authorization groups for the firm associated with the authenticated client. The provider returns paged metadata and links, but documents no continuation request parameters for this endpoint; if the response indicates more results, this action cannot request another page and the list may be incomplete.

#### 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 Bank Account Matter Balances

**Slug:** `SMOKEBALL_LIST_BANK_ACCOUNT_MATTER_BALANCES`

Returns a list of bank account matter balances. Returns one page; pass next_cursor back as cursor to read the next one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |
| `matter_id` | string | No | Filters items by the specified matter ID. |
| `last_updated` | string | No | Returns items updated since the specified date and time. |
| `bank_account_id` | string | Yes | Identifier of the bank account addressed by this operation. |

#### 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 Bank Accounts

**Slug:** `SMOKEBALL_LIST_BANK_ACCOUNTS`

Returns bank accounts available to the authenticated firm, optionally filtered by account type or matter identifier.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | No | Provider bank-account type filter; supported values are not documented in the spec. |
| `matter_id` | string | No | Filter bank accounts using this matter identifier. |

#### 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 Contact Relations

**Slug:** `SMOKEBALL_LIST_CONTACT_RELATIONS`

Return relations for a contact associated with the authenticated client. The provider returns a paged collection and navigation links, but documents no continuation request parameters for this endpoint; if the response indicates more results, this action cannot request another page and the list may be incomplete.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | Identifier of the contact addressed by this operation. |

#### 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 Contacts

**Slug:** `SMOKEBALL_LIST_CONTACTS`

Returns a list of contacts. Returns one page; pass next_cursor back as cursor to read the next one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string | No | Sort field. The documented value is lastUpdated. |
| `type` | array | No | Filters result by one more contact types if set. Returns all contact types by default. Possible values: Staff, Person, Organisation, GroupOfPeople, Trust |
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |
| `fields` | string ("passportDetails" | "deathDetails" | "citizenshipDetails" | "utbmsDetails" | "tags" | "executionOptions" | "voiDetails") | No | Additional contact field to include. Use a documented value. |
| `updated_since` | integer | No | Returns contacts updated since a specified time (.net ticks representation of the UTC datetime). |
| `exclude_deleted_contacts` | boolean | No | Excludes (filters out) deleted contacts if set to true. |

#### 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 Contact Tags

**Slug:** `SMOKEBALL_LIST_CONTACT_TAGS`

Lists the tags currently on one contact, by contact id, as a plain string collection under value. Use ADD_CONTACT_TAGS or REMOVE_CONTACT_TAG to change them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | Identifier of the contact addressed by this operation. |

#### 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 Event Reminders

**Slug:** `SMOKEBALL_LIST_EVENT_REMINDERS`

Returns the collection of reminders for an event The native root response is returned under data as an explicit Composio normalization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_id` | string | Yes | Identifier of the event addressed by this operation. |

#### 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 Events

**Slug:** `SMOKEBALL_LIST_EVENTS`

Returns a list of events. Returns one page; pass next_cursor back as cursor to read the next one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | Filter events to a specified UTC date and time. If no datetime is specified all future events will be returned. Dates should be provided in ISO format YYYY-MM-DDThh:mm:ss. |
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |
| `from_date` | string | No | Filter events from a specified UTC date and time. Defaults to the UTC datetime of the request. Dates should be provided in ISO format YYYY-MM-DDThh:mm:ss. |
| `matter_id` | string | No | Filter by events assigned to a specific MatterId. |
| `updated_since` | string | No | Filter by events updated since a specified time. Supported date formats are ISO YYYY-MM-DDThh:mm:ss or .net ticks representation of the UTC datetime. |
| `exclude_deleted_events` | boolean | No | Filter out any events that have been deleted, default: false |

#### 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 File History

**Slug:** `SMOKEBALL_LIST_FILE_HISTORY`

Returns the full list of history entries for the specified file. The result is not paged.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | Unique identifier (GUID) of the file. |
| `matter_id` | string | Yes | Unique identifier (GUID) of the matter. |

#### 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 Firm Matter Stage Mappings

**Slug:** `SMOKEBALL_LIST_FIRM_MATTER_STAGE_MAPPINGS`

Returns a list of stage to matter mappings in the firm. Returns one page; pass next_cursor back as cursor to read the next one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |
| `last_updated` | string | No | Deprecated, use updatedSince Returns items updated since a specified time. |
| `updated_since` | integer | No | Returns items updated since a specified time (.net ticks representation of the UTC datetime). |

#### 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 Firm User Mappings

**Slug:** `SMOKEBALL_LIST_FIRM_USER_MAPPINGS`

Lists user-to-staff mappings in the authenticated firm.

#### 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 Folder History

**Slug:** `SMOKEBALL_LIST_FOLDER_HISTORY`

Returns a list of history entries for the specified folder. The response is not paged. An unknown folder id returns 200 with an empty collection rather than 404.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `folder_id` | string | Yes | Unique identifier of the folder. |
| `matter_id` | string | Yes | Unique identifier of the matter. |

#### 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 Layout Designs

**Slug:** `SMOKEBALL_LIST_LAYOUT_DESIGNS`

Returns a list of layout designs. Returns one page; pass next_cursor back as cursor to read the next one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |

#### 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 Matter Expenses

**Slug:** `SMOKEBALL_LIST_MATTER_EXPENSES`

Returns a list of expenses for the specified matter. Returns one page; pass next_cursor back as cursor to read the next one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `updated_since` | integer | No | Returns expenses updated since a specified time (.net ticks representation of the UTC datetime). |

#### 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 Matter Fees

**Slug:** `SMOKEBALL_LIST_MATTER_FEES`

Returns a list of fees for the specified matter. Returns one page; pass next_cursor back as cursor to read the next one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `updated_since` | integer | No | Returns fees updated since a specified time (.net ticks representation of the UTC datetime). |

#### 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 Matter Files

**Slug:** `SMOKEBALL_LIST_MATTER_FILES`

Returns a paged list of non-deleted files associated with a matter. In standard mode (no search or cursor), sort and paging apply; results default to oldest-created first. In search mode, results come from the document search index and sort, paging, and cursor all apply. In cursor-only mode (cursor without search), files modified since the cursor are returned and sort options are ignored. Returns one page; pass next_page_cursor back as page_cursor to read the next one (the provider's own cursor parameter is separate). Limit defaults to the maximum page size.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string | No | Sort field. The documented value is dateCreated. |
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Provider file-list continuation token. Its interaction with Offset and next.href is not documented; do not invent or mix continuation modes. |
| `search` | array | No | The docs list searchable fields query and fileExtension but do not define Search item syntax. Callers must follow the provider expression format. |
| `matter_id` | string | Yes | Unique identifier (GUID) of the matter. |
| `page_cursor` | string | No | Continuation cursor for the next page of this action's own paging, distinct from the provider's cursor parameter. Omit for the first page; pass back the next_page_cursor of the previous response, together with the same filters and limit, to read the next page. |

#### 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 Matter Folder Contents

**Slug:** `SMOKEBALL_LIST_MATTER_FOLDER_CONTENTS`

Returns non-deleted folders and files directly under a matter's root document folder, or directly under folder_id when supplied, with folders before files. Paging spans the combined list; pass next_cursor back as cursor for the next page. A deleted requested folder still returns 200 with isDeleted=true and an empty listing, so an empty result alone does not distinguish a deleted folder from an active empty folder; inspect isDeleted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |
| `folder_id` | string | No | Unique identifier of a folder. Omit to list the matter's root document folder. |
| `matter_id` | string | Yes | Unique identifier of the matter. |

#### 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 Matter Invoices

**Slug:** `SMOKEBALL_LIST_MATTER_INVOICES`

Returns a list of invoices for the specified matter. Returns one page; pass next_cursor back as cursor to read the next one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |
| `matter_id` | string | Yes | The unique identifier of the matter that the invoice belongs to. |
| `last_updated` | string | No | Returns items updated since the specified date and time. |
| `updated_since` | integer | No | Returns items updated since a specified time (.net ticks representation of the UTC datetime). |

#### 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 Matter Items

**Slug:** `SMOKEBALL_LIST_MATTER_ITEMS`

Returns the versioned item collection for a matter. Each item includes its name, zero-based index, visibility, and nested sub-items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter Layout Contacts

**Slug:** `SMOKEBALL_LIST_MATTER_LAYOUT_CONTACTS`

Returns a list of contacts on a specified layout. The native root response is returned under data as an explicit Composio normalization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Identifier of the layout item whose contacts are listed. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter Layouts

**Slug:** `SMOKEBALL_LIST_MATTER_LAYOUTS`

Returns a collection of layout items on a specified matter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `matter_id` | string | Yes | Matter 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 Matter Memos

**Slug:** `SMOKEBALL_LIST_MATTER_MEMOS`

Returns a list of memos on the specified matter. Returns one page; pass next_cursor back as cursor to read the next one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter Role Relationships

**Slug:** `SMOKEBALL_LIST_MATTER_ROLE_RELATIONSHIPS`

Returns associated relationships for a specified matter and role group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `role_group_id` | string | Yes | Identifier of the role group whose relationships are listed. |

#### 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 Matter Roles

**Slug:** `SMOKEBALL_LIST_MATTER_ROLES`

Returns associated roles for a specified matter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matters

**Slug:** `SMOKEBALL_LIST_MATTERS`

Returns one page of matters; pass next_cursor back as cursor to read the next one. Supports documented filtering and sorting; the scope-sensitive Fields enrichment parameter is intentionally unavailable.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("status" | "lastUpdated") | No | Sort by a documented field: status or lastUpdated. |
| `type` | string ("Matters" | "Leads" | "Matters,Leads") | No | Matter kind to return: "Matters", "Leads", or "Matters,Leads". |
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |
| `search` | string | No | Filter matters by clients, other sides, descriptions, or matter numbers. |
| `status` | array | No | Filter by matter status: Open, Pending, Closed, Deleted, or Cancelled. |
| `is_lead` | boolean | No | Return leads when true. Deprecated by Smokeball in favor of Type. |
| `contact_id` | string | No | Filter by contact identifier. |
| `last_updated` | string | No | Filter by last-updated date; cannot be combined with UpdatedSince. |
| `updated_since` | integer | No | Filter by .NET UTC ticks; cannot be combined with LastUpdated. Deprecated in favor of LastUpdated. |
| `matter_type_id` | string | No | Filter by matter type identifier. |

#### 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 Matter Tags

**Slug:** `SMOKEBALL_LIST_MATTER_TAGS`

Returns the tags assigned to the matter identified by `matter_id`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter Type Categories

**Slug:** `SMOKEBALL_LIST_MATTER_TYPE_CATEGORIES`

Returns a list of all the possible matter type categories.

#### 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 Matter Types

**Slug:** `SMOKEBALL_LIST_MATTER_TYPES`

Returns a paginated list of matter types based on search criteria. Deleted matter types are not included. Note: If no `Location` is provided, all matter types from all locations will be returned. Returns one page; pass next_cursor back as cursor to read the next one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Searches for partial match on matter type name |
| `type` | integer ("0" | "1") | No | Return matter types by category type (i.e. MatterType or LeadType).              Possible values: Matter Type = 0, Lead Type = 1. |
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |
| `category` | string | No | Return matter types from a specific category. |
| `location` | string | No | Return matter types from a specific location. In the US API this is the ANSI 2 letter state code (e.g. IL, NY). In the AU API this is shorthand state code (e.g. NSW, ACT, etc) |

#### 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 Referral Types

**Slug:** `SMOKEBALL_LIST_REFERRAL_TYPES`

Returns referral types, including custom referral types.

#### 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 Staff

**Slug:** `SMOKEBALL_LIST_STAFF`

Retrieves a paginated list of staff members in the firm associated with the authenticated client. Returns one page; pass next_cursor back as cursor to read the next one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |
| `fields` | string | No | Additional staff field to include: rate. |

#### 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 Stage Sets

**Slug:** `SMOKEBALL_LIST_STAGE_SETS`

Returns a list of stage sets for the firm. Returns one page; pass next_cursor back as cursor to read the next one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |
| `last_updated` | string | No | Deprecated, use updatedSince Returns items updated since a specified time. |
| `updated_since` | integer | No | Returns items updated since a specified time (.net ticks representation of the UTC datetime). |

#### 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 Subtasks

**Slug:** `SMOKEBALL_LIST_SUBTASKS`

Returns a list of subtasks for a specified task if associated with the authenticated client.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Identifier of the task addressed by this operation. |

#### 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 Documents

**Slug:** `SMOKEBALL_LIST_TASK_DOCUMENTS`

Returns a list of document links for the specified task, if associated with the authenticated client.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | string | Yes | Identifier of the task addressed by this operation. |

#### 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:** `SMOKEBALL_LIST_TASKS`

Returns a list of tasks. Returns one page; pass next_cursor back as cursor to read the next one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |
| `matter_id` | string | No | Filter by tasks that are assigned to the specified matter id.. |
| `is_completed` | boolean | No | Filter to completed tasks when true. Omit to leave completion status unfiltered. |
| `last_updated` | string | No | Filter by last updated date of a task. Cannot be used in conjunction with `UpdatedSince`. |
| `updated_since` | integer | No | Filter by tasks updated since a specified time (.net ticks representation of the UTC datetime). Cannot be used in conjunction with `LastUpdated`.  This field will not be supported in future, please use LastUpdated 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 Webhook Event Types

**Slug:** `SMOKEBALL_LIST_WEBHOOK_EVENT_TYPES`

Lists the event type names a webhook subscription can subscribe to, as a plain string collection under value. Use one or more of them in CREATE_WEBHOOK_SUBSCRIPTION.

#### 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 Webhook Subscriptions

**Slug:** `SMOKEBALL_LIST_WEBHOOK_SUBSCRIPTIONS`

Returns existing webhook subscriptions. Returns one page; pass next_cursor back as cursor to read the next one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `cursor` | string | No | Continuation cursor. Omit for the first page; pass back the next_cursor of the previous response, together with the same filters and limit, to read the next page. |

#### 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 |

### Merge Matter Layout

**Slug:** `SMOKEBALL_MERGE_MATTER_LAYOUT`

Merges layout data using a restricted documented subset. Layout key/value pairs are supported, but the provider's untyped LayoutValue.state field is intentionally unavailable. A 202 result means accepted; read back the layout to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Layout data to merge, without untyped value state. |
| `item_id` | string | Yes | Matter item identifier. |
| `matter_id` | string | Yes | Matter identifier. |
| `skip_field_validation` | boolean | No | Bypass field validation; may be needed for Smokeball data-split migrations. |

#### 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 |

### Patch Matter

**Slug:** `SMOKEBALL_PATCH_MATTER`

Patches a matter or Lead, including lead-to-matter conversion and matter-type changes. The recursive items property is intentionally unavailable. Documented field-combination restrictions still apply. A 202 result means accepted; confirm completion with GET_MATTER.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Documented patch-matter body without the recursive items property. |
| `matter_id` | string | Yes | Identifier of the matter to patch. |

#### 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 |

### Patch Matter Archive

**Slug:** `SMOKEBALL_PATCH_MATTER_ARCHIVE`

Updates the specified matter archive. The documented ArchiveDto requires isArchived in every request. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for patch an archive for a matter. Preserve provider field names and schema constraints. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 |

### Patch Matter Billing Configuration

**Slug:** `SMOKEBALL_PATCH_MATTER_BILLING_CONFIGURATION`

Changes only the supplied billing configuration fields for the specified matter. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for patch matter billing configuration. Preserve provider field names and schema constraints. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 |

### Patch Matter Expense

**Slug:** `SMOKEBALL_PATCH_MATTER_EXPENSE`

Changes only the supplied expense fields for the specified matter. A 202 result means accepted; read back the resource to confirm completion. The documented queue accepts IDs without an existing-resource check; acceptance does not prove eventual completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for patch an expense. Preserve provider field names and schema constraints. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `expense_id` | string | Yes | Identifier of the expense addressed by this operation. |

#### 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 |

### Patch Matter Fee

**Slug:** `SMOKEBALL_PATCH_MATTER_FEE`

Patches a fee for the specified matter. The documented FeeDto requires feeDate and subject in every request. A 202 result means accepted; read back the resource to confirm completion. The documented queue accepts IDs without an existing-resource check; acceptance does not prove eventual completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for patch a fee. Preserve provider field names and schema constraints. |
| `fee_id` | string | Yes | Identifier of the fee addressed by this operation. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 |

### Patch Matter File

**Slug:** `SMOKEBALL_PATCH_MATTER_FILE`

Partially updates a file's metadata on the specified matter; only supplied fields change, but the documented schema still requires fileName. The response always includes a presigned PUT URL valid for 1 hour for an optional new version; this toolkit cannot upload bytes to it. Treat that URL as a sensitive temporary bearer capability and do not expose it in messages or logs. Only the documented object body is supported, not a JSON Patch array. A 202 result means accepted; read back the file to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | The properties to change as a merge-style object. |
| `file_id` | string | Yes | Unique identifier (GUID) of the file. |
| `matter_id` | string | Yes | Unique identifier (GUID) of the matter. |

#### 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 |

### Patch Matter Folder

**Slug:** `SMOKEBALL_PATCH_MATTER_FOLDER`

Partially updates a folder belonging to the specified matter. Only the fields supplied in the request are applied. A deleted folder can be restored by setting `isDeleted` to `false`. Only the folder itself is restored; subfolders and files that were deleted remain deleted. Other fields supplied in the same request are applied after the restore. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | The fields to update as a merge-style object. |
| `folder_id` | string | Yes | Unique identifier of the folder. |
| `matter_id` | string | Yes | Unique identifier of the matter. |

#### 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 |

### Protect Bank Account Funds

**Slug:** `SMOKEBALL_PROTECT_BANK_ACCOUNT_FUNDS`

Protects funds in a trust bank account. Only trust accounts are supported. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for protect bank account funds. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |
| `bank_account_id` | string | Yes | Identifier of the bank account addressed by this operation. |

#### 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 Contact Tag

**Slug:** `SMOKEBALL_REMOVE_CONTACT_TAG`

Removes one tag from a contact. The documented bulk form is unavailable because its route simultaneously marks tagId as required and optional. A 202 result means accepted; read back the contact to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_id` | string | Yes | Identifier of the tag to remove. |
| `contact_id` | string | Yes | Identifier of the contact. |

#### 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 Matter Layout

**Slug:** `SMOKEBALL_REMOVE_MATTER_LAYOUT`

Removes a layout matter item from a matter. A 202 result means accepted; read back the resource to confirm completion. Parent deletion can affect sub-items, and deleted layouts cannot be recovered via the API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | Layout matter item ID to remove |
| `matter_id` | string | Yes | Matter 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 |

### Remove Matter Layout Contact

**Slug:** `SMOKEBALL_REMOVE_MATTER_LAYOUT_CONTACT`

Removes a contact from a specified layout, deleting the associated role or relationship from the matter. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | No | Layout contact key identifying the contact to remove. |
| `item_id` | string | Yes | Identifier of the layout item containing the contact. |
| `matter_id` | string | Yes | Matter 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 |

### Remove Matter Role

**Slug:** `SMOKEBALL_REMOVE_MATTER_ROLE`

Removes a specified role from a matter. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role_id` | string | Yes | Identifier of the role addressed by this operation. |
| `version` | integer | No | Provider version header; supported values and purpose are not documented in this operation. Omit unless Smokeball instructs you to send it. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Matter Role Relationship

**Slug:** `SMOKEBALL_REMOVE_MATTER_ROLE_RELATIONSHIP`

Removes a relationship from a role in a matter. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role_id` | string | Yes | Identifier of the role addressed by this operation. |
| `version` | integer | No | Provider version header; supported values and purpose are not documented in this operation. Omit unless Smokeball instructs you to send it. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `relationship_id` | string | Yes | Identifier of the relationship addressed by this operation. |

#### 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 Matter Tag

**Slug:** `SMOKEBALL_REMOVE_MATTER_TAG`

Removes the tag from the matter without deleting from the account. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | array | No | Structured JSON request body for remove tags from a matter. Preserve provider field names and schema constraints. |
| `tag_id` | string | Yes | Identifier of the tag addressed by this operation. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |

#### 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 Files

**Slug:** `SMOKEBALL_SEARCH_FILES`

Search files across the account using a required full-text query and documented filters; return the documented result array. Return one page; use offset and limit to continue. The native root response is returned under data as an explicit Composio normalization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for search files with advanced filters. Preserve provider field names and schema constraints. |
| `limit` | integer | No | Maximum records to return; must be between 1 and 500. |
| `offset` | integer | No | Number of records to skip before this page; minimum 0. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 |

### Unprotect Bank Account Funds

**Slug:** `SMOKEBALL_UNPROTECT_BANK_ACCOUNT_FUNDS`

Unprotects funds in a trust bank account. Only trust accounts are supported. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for unprotect bank account funds. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |
| `protection_id` | string | Yes | Identifier of the protection addressed by this operation. |
| `bank_account_id` | string | Yes | Identifier of the bank account addressed by this operation. |

#### 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 Activity Code

**Slug:** `SMOKEBALL_UPDATE_ACTIVITY_CODE`

Updates an activity code. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update an activity code. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |
| `activity_code_id` | string | Yes | Identifier of the activity code addressed by this operation. |

#### 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 Authorization Group

**Slug:** `SMOKEBALL_UPDATE_AUTHORIZATION_GROUP`

Updates a specified authorization group. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update an authorization group. Preserve provider field names and schema constraints. |
| `group_id` | string | Yes | Identifier of the group addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Authorization Policy

**Slug:** `SMOKEBALL_UPDATE_AUTHORIZATION_POLICY`

Updates a specified authorization policy. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update an authorization policy. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |
| `policy_reference` | string | Yes | Identifier of the policy reference addressed by this operation. |

#### 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 Contact

**Slug:** `SMOKEBALL_UPDATE_CONTACT`

Updates a specified contact. Restore a deleted contact by setting isDeleted=false. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update a contact. Preserve provider field names and schema constraints. |
| `contact_id` | string | Yes | Identifier of the contact addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Contact Relation

**Slug:** `SMOKEBALL_UPDATE_CONTACT_RELATION`

Updates a relation for a specified contact. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update a contact relation. Preserve provider field names and schema constraints. |
| `contact_id` | string | Yes | Identifier of the contact addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |
| `related_contact_id` | string | Yes | Identifier of the related contact addressed by this operation. |

#### 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 Event

**Slug:** `SMOKEBALL_UPDATE_EVENT`

Updates an event. Send startTime and endTime as local wall-clock time without an offset (YYYY-MM-DDThh:mm:ss) together with the IANA timeZone; an offset or Z is not applied. A 202 result means accepted; read back the event to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update event. Preserve provider field names and schema constraints. |
| `event_id` | string | Yes | Identifier of the event addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Event Reminder

**Slug:** `SMOKEBALL_UPDATE_EVENT_REMINDER`

Updates an existing reminder for an event. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update a reminder for an event. Preserve provider field names and schema constraints. |
| `event_id` | string | Yes | Identifier of the event addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |
| `reminder_id` | string | Yes | Identifier of the reminder addressed by this operation. |

#### 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 Firm

**Slug:** `SMOKEBALL_UPDATE_FIRM`

Updates firm details for the current authenticated client. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update firm. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Firm User Mapping

**Slug:** `SMOKEBALL_UPDATE_FIRM_USER_MAPPING`

Updates a user-to-staff mapping in the firm associated with the authenticated client. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update firm user mapping. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |
| `firm_user_id` | string | Yes | Identifier of the firm user addressed by this operation. |

#### 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 Matter

**Slug:** `SMOKEBALL_UPDATE_MATTER`

Updates a specified matter. clientIds and otherSideIds cannot be modified, and a Matter cannot be converted back to a Lead. A 202 result means accepted; confirm completion with GET_MATTER.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update a matter. Preserve provider field names and schema constraints. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Archive

**Slug:** `SMOKEBALL_UPDATE_MATTER_ARCHIVE`

Replaces the specified matter archive by applying the full editable archive representation. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update an archive for a matter.. Preserve provider field names and schema constraints. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Billing Configuration

**Slug:** `SMOKEBALL_UPDATE_MATTER_BILLING_CONFIGURATION`

Replaces the specified matter's billing configuration by applying its full editable representation. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update matter billing configuration. Preserve provider field names and schema constraints. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Expense

**Slug:** `SMOKEBALL_UPDATE_MATTER_EXPENSE`

Replaces the expense by applying its full editable representation for the specified matter. A 202 result means accepted; read back the resource to confirm completion. The documented queue accepts IDs without an existing-resource check; acceptance does not prove eventual completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update an expense. Preserve provider field names and schema constraints. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `expense_id` | string | Yes | Identifier of the expense addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Fee

**Slug:** `SMOKEBALL_UPDATE_MATTER_FEE`

Replaces the fee by applying its full editable representation for the specified matter. A 202 result means accepted; read back the resource to confirm completion. The documented queue accepts IDs without an existing-resource check; acceptance does not prove eventual completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update a fee. Preserve provider field names and schema constraints. |
| `fee_id` | string | Yes | Identifier of the fee addressed by this operation. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter File

**Slug:** `SMOKEBALL_UPDATE_MATTER_FILE`

Replace all editable file fields using PUT; use PATCH_MATTER_FILE for a partial edit. Omitting folderId or setting it to null moves the file to the root folder. Every call records a new upload request and returns a sensitive presigned PUT URL valid for 1 hour, which authorizes uploading an optional new version. Do not expose or log this URL. This toolkit does not upload bytes: PUT them to uploadUrl with an empty Content-Type header outside this toolkit. The 202 response means accepted, not that an upload or update completed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | Yes | The full set of editable file properties. |
| `file_id` | string | Yes | Unique identifier (GUID) of the file. |
| `matter_id` | string | Yes | Unique identifier (GUID) of the matter. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Folder

**Slug:** `SMOKEBALL_UPDATE_MATTER_FOLDER`

Replaces the editable fields of a folder belonging to the specified matter. All fields are applied, not only the ones that changed: `name` is required, and omitting `parentFolderId` (or setting it to null) moves the folder to the matter root. Use PATCH to change individual fields. The destination folder must be on the same matter (400 otherwise); a destination that does not exist is not rejected. A 202 result means accepted; read back the resource to confirm completion. Null or omitted parentFolderId moves the folder to the matter root.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | The full set of folder fields to apply. |
| `folder_id` | string | Yes | Unique identifier of the folder. |
| `matter_id` | string | Yes | Unique identifier of the matter. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Memo

**Slug:** `SMOKEBALL_UPDATE_MATTER_MEMO`

Updates a specified memo. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update a memo. Preserve provider field names and schema constraints. |
| `memo_id` | string | Yes | Identifier of the memo addressed by this operation. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Role

**Slug:** `SMOKEBALL_UPDATE_MATTER_ROLE`

Updates a specified role on a matter. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update role on a matter. Preserve provider field names and schema constraints. |
| `role_id` | string | Yes | Identifier of the role addressed by this operation. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Matter Role Relationship

**Slug:** `SMOKEBALL_UPDATE_MATTER_ROLE_RELATIONSHIP`

Updates a specified relationship on a matter. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update a relationship. Preserve provider field names and schema constraints. |
| `role_id` | string | Yes | Identifier of the role addressed by this operation. |
| `matter_id` | string | Yes | Identifier of the matter addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |
| `relationship_id` | string | Yes | Identifier of the relationship addressed by this operation. |

#### 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 Staff Member

**Slug:** `SMOKEBALL_UPDATE_STAFF_MEMBER`

Updates a staff member in the firm associated with the authenticated client. Setting former=true also deregisters the staff member from the firm. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update firm staff member. Preserve provider field names and schema constraints. |
| `staff_id` | string | Yes | Identifier of the staff addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Subtask

**Slug:** `SMOKEBALL_UPDATE_SUBTASK`

Updates a specified subtask of a specified task. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update a subtask. Preserve provider field names and schema constraints. |
| `task_id` | string | Yes | Identifier of the task addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |
| `subtask_id` | string | Yes | Identifier of the subtask addressed by this operation. |

#### 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:** `SMOKEBALL_UPDATE_TASK`

Updates a specified task. A 202 result means accepted; read back the resource to confirm completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update a task. Preserve provider field names and schema constraints. |
| `task_id` | string | Yes | Identifier of the task addressed by this operation. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |

#### 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 Webhook Subscription

**Slug:** `SMOKEBALL_UPDATE_WEBHOOK_SUBSCRIPTION`

Update a persistent webhook subscription's name, event types, external eventNotificationUrl, and signing key. Future selected events are sent to that callback URL until the subscription is changed or deleted; the key creates the signature header on notification requests. This changes ongoing external data egress and is treated as irreversible; verify the destination URL, event types, and key before use.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | object | No | Structured JSON request body for update a webhook subscription. Preserve provider field names and schema constraints. |
| `request_id` | string | No | Optional documented correlation header for asynchronous writes and webhook callbacks; does not prove completion. |
| `webhook_subscription_id` | string | Yes | Identifier of the webhook subscription addressed by this operation. |

#### 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 |
