# Smokeball - [Home](https://docs.smokeball.com/home.md) - [Overview](https://docs.smokeball.com/docs/platform-docs/va20w41tid7py-get-started-overview.md) - [Partner Program](https://docs.smokeball.com/docs/platform-docs/8j90k123i567j-partner-program.md): Join our partner program - [Developer Console](https://docs.smokeball.com/docs/platform-docs/2a34b567c890d-developer-console.md): Start working with our Developer Console - [Accounts](https://docs.smokeball.com/docs/platform-docs/9k01l234m567n-accounts.md): Manage your staging and production accounts in the Developer Console - [Apps Overview](https://docs.smokeball.com/docs/platform-docs/3b45c6789d012-apps-overview.md): Understanding Smokeball apps and how they integrate with the platform - [Creating an app](https://docs.smokeball.com/docs/platform-docs/4f56d789e123f-creating-app.md): Learn how to create and configure a Smokeball app in the Developer Console - [Building your app](https://docs.smokeball.com/docs/platform-docs/867hiv3k5bt1u-build-app.md): Learn how to build apps for Smokeball as a firm or partner - [Publishing your app](https://docs.smokeball.com/docs/platform-docs/5g67h890f234g-publishing-app.md): Publish your app to the marketplace - [Sharing your app](https://docs.smokeball.com/docs/platform-docs/7i89j012h456i-sharing-app.md): Learn how to share your app with a partner - [Security](https://docs.smokeball.com/docs/platform-docs/6h78i901g345h-security.md): Learn how to follow best security practices - [Common issues](https://docs.smokeball.com/docs/platform-docs/0l12m345k789l-common-issues.md): Frequently encountered problems and their solutions. - [Introduction](https://docs.smokeball.com/docs/api-docs/1e13a13124aee-introduction.md) - [Base URLs](https://docs.smokeball.com/docs/api-docs/z2q8vla6b77g8-base-urls.md): Base URLs for different environments and regions - [Rate Limits](https://docs.smokeball.com/docs/api-docs/vj4jovpoopdov-rate-limits.md): Understanding Smokeball API rate limits and throttling - [Overview](https://docs.smokeball.com/docs/api-docs/c916c683c136e-authentication-overview.md): Overview of the authentication process for the Smokeball API - [Authorization Code Grant](https://docs.smokeball.com/docs/api-docs/2t26gcuuqf1wk-authorization-code-grant.md): Use the Authorization Code Grant to authenticate and authorize users - [Client Credentials Grant](https://docs.smokeball.com/docs/api-docs/h72024p76i8e1-client-credentials-grant.md): Use the Client Credentials Grant to authenticate and authorize server-to-server operations - [Scopes](https://docs.smokeball.com/docs/api-docs/qf83nz2scopes-scopes.md): OAuth 2.0 scopes used to limit access to the Smokeball API - [Logout Endpoint](https://docs.smokeball.com/docs/api-docs/9de98u0xqsckx-logout-endpoint.md): Use the logout endpoint to securely end user sessions - [Making Requests](https://docs.smokeball.com/docs/api-docs/ivmfjbc61tvjs-making-requests.md): Make requests to the API - [Errors](https://docs.smokeball.com/docs/api-docs/e4f5a6b7c8d9e-errors.md): Understanding API error responses - [Searching](https://docs.smokeball.com/docs/api-docs/272770a37d359-searching.md): Search for data - [Plugins](https://docs.smokeball.com/docs/api-docs/scmo7vmtln5hm-plugins.md): Create and update plugins - [Webhooks](https://docs.smokeball.com/docs/api-docs/wivbkstcwngb5-webhooks.md): Create and update webhook subscriptions - [Matters](https://docs.smokeball.com/docs/api-docs/voyymdyjn5yp3-matters.md): Create and update Matters - [Leads](https://docs.smokeball.com/docs/api-docs/plu740klph0ho-leads.md): Create and update leads - [Files and Folders](https://docs.smokeball.com/docs/api-docs/wivbkstcwngb5-files-folders.md): Create, add and update files and folders - [Layouts](https://docs.smokeball.com/docs/api-docs/0d3adba1494ce-layouts.md) - [Get an activity code](https://docs.smokeball.com/api-reference/activity-codes/get-an-activity-code.md): Retrieves a specified activity code. - [Update an activity code](https://docs.smokeball.com/api-reference/activity-codes/update-an-activity-code.md): Updates an activity code. - [Delete an activity code](https://docs.smokeball.com/api-reference/activity-codes/delete-an-activity-code.md): Deletes an activity code. - [Get activity codes](https://docs.smokeball.com/api-reference/activity-codes/get-activity-codes.md): Returns a list of activity codes. - [Create an activity code](https://docs.smokeball.com/api-reference/activity-codes/create-an-activity-code.md): Creates an activity code. - [Get authorization groups](https://docs.smokeball.com/api-reference/authorization/get-authorization-groups.md): Retrieves auhorization groups for the firm associated with the authenticated client. - [Create an authorization group](https://docs.smokeball.com/api-reference/authorization/create-an-authorization-group.md): Creates an authorization group. - [Get an authorization group](https://docs.smokeball.com/api-reference/authorization/get-an-authorization-group.md): Retrieves a specified authorization group. - [Update an authorization group](https://docs.smokeball.com/api-reference/authorization/update-an-authorization-group.md): Updates a specified authorization group. - [Deletes an authorization group](https://docs.smokeball.com/api-reference/authorization/deletes-an-authorization-group.md): Delete an authorization group. - [Get an authorization policy](https://docs.smokeball.com/api-reference/authorization/get-an-authorization-policy.md): Retrieves a specified authorization policy. - [Update an authorization policy](https://docs.smokeball.com/api-reference/authorization/update-an-authorization-policy.md): Updates a specified authorization policy. - [Create an authorization policy](https://docs.smokeball.com/api-reference/authorization/create-an-authorization-policy.md): Creates an authorization policy. - [Get a bank account](https://docs.smokeball.com/api-reference/bank-accounts/get-a-bank-account.md): Retrieves a specified bank account. - [Get bank accounts](https://docs.smokeball.com/api-reference/bank-accounts/get-bank-accounts.md): Returns a list of bank accounts. - [Get bank account matter balances](https://docs.smokeball.com/api-reference/bank-accounts/get-bank-account-matter-balances.md): Returns a list of bank account matter balances. - [Get a protected bank account balance](https://docs.smokeball.com/api-reference/bank-accounts/get-a-protected-bank-account-balance.md): Retrieves a specified protected account balance record. - [Protect bank account funds](https://docs.smokeball.com/api-reference/bank-accounts/protect-bank-account-funds.md): Protects funds in a trust bank account. Only trust accounts are supported. - [Unprotect bank account funds](https://docs.smokeball.com/api-reference/bank-accounts/unprotect-bank-account-funds.md): Unprotects funds in a trust bank account. Only trust accounts are supported. - [Create a requisition](https://docs.smokeball.com/api-reference/bank-accounts/create-a-requisition.md): Creates a requisition against a trust account and supports the account approval workflow. Whether the requisition requires approval depends on the trust account configuration: - If approvals are enabled, firm owners can create requisitions without approval, while all other users require approval… - [Get transactions](https://docs.smokeball.com/api-reference/bank-accounts/get-transactions.md): Retrieves a specified bank accounts transaction. - [Create a transaction](https://docs.smokeball.com/api-reference/bank-accounts/create-a-transaction.md): Creates a transaction. - [Get a transaction](https://docs.smokeball.com/api-reference/bank-accounts/get-a-transaction.md): Retrieves a specified bank account transaction. - [Get contact relations](https://docs.smokeball.com/api-reference/contacts/get-contact-relations.md): Returns a list of relations for a specified contact if associated with the authenticated client. - [Create a contact relation](https://docs.smokeball.com/api-reference/contacts/create-a-contact-relation.md): Creates a relation for a specified contact. - [Get a contact relation](https://docs.smokeball.com/api-reference/contacts/get-a-contact-relation.md): Retrieves a relation for a specified contact if associated with the authenticated client. - [Update a contact relation](https://docs.smokeball.com/api-reference/contacts/update-a-contact-relation.md): Updates a relation for a specified contact. - [Delete a contact relation](https://docs.smokeball.com/api-reference/contacts/delete-a-contact-relation.md): Deletes a relation for a specified contact. - [Get contacts](https://docs.smokeball.com/api-reference/contacts/get-contacts.md): Returns a list of contacts. - [Create a contact](https://docs.smokeball.com/api-reference/contacts/create-a-contact.md): Creates a contact. - [Get a contact](https://docs.smokeball.com/api-reference/contacts/get-a-contact.md): Retrieves a specified contact. - [Update a contact](https://docs.smokeball.com/api-reference/contacts/update-a-contact.md): Updates a specified contact. - [Delete a contact](https://docs.smokeball.com/api-reference/contacts/delete-a-contact.md): Deletes a specified contact. - [Get contacts by ids](https://docs.smokeball.com/api-reference/contacts/get-contacts-by-ids.md): Returns the contacts matching the supplied IDs, in the same order as the request. IDs that do not resolve, or that belong to another account, are omitted. - [Get contact tags](https://docs.smokeball.com/api-reference/contacts/get-contact-tags.md): Retrieves a specified contacts tags. - [Add tags to a contact](https://docs.smokeball.com/api-reference/contacts/add-tags-to-a-contact.md): Adds tags to a contact. - [Remove tags from a contact](https://docs.smokeball.com/api-reference/contacts/remove-tags-from-a-contact.md): Removes tags from a contact. - [Get events](https://docs.smokeball.com/api-reference/events/get-events.md): Returns a list of events. - [Create event](https://docs.smokeball.com/api-reference/events/create-event.md): Create new event. - [Get an event](https://docs.smokeball.com/api-reference/events/get-an-event.md): Retrieves a specified event. - [Update event](https://docs.smokeball.com/api-reference/events/update-event.md): Updates event details. - [Delete event](https://docs.smokeball.com/api-reference/events/delete-event.md): Deletes a specified event. - [Gets reminders for an event](https://docs.smokeball.com/api-reference/events/gets-reminders-for-an-event.md): Returns the collection of reminders for an event - [Create reminder for an event](https://docs.smokeball.com/api-reference/events/create-reminder-for-an-event.md): Creates a new reminder for an event. - [Update a reminder for an event](https://docs.smokeball.com/api-reference/events/update-a-reminder-for-an-event.md): Updates an existing reminder for an event. - [Delete reminder for an event](https://docs.smokeball.com/api-reference/events/delete-reminder-for-an-event.md): Deletes a specified event reminder. - [Get expenses](https://docs.smokeball.com/api-reference/expenses/get-expenses.md): Returns a list of expenses for the specified matter. - [Create an expense](https://docs.smokeball.com/api-reference/expenses/create-an-expense.md): Creates an expense for the specified matter. - [Get an expense](https://docs.smokeball.com/api-reference/expenses/get-an-expense.md): Retrieves a specified expense. - [Update an expense](https://docs.smokeball.com/api-reference/expenses/update-an-expense.md): Updates an expense for the specified matter. - [Delete an expense](https://docs.smokeball.com/api-reference/expenses/delete-an-expense.md): Deletes an expense. - [Patch an expense](https://docs.smokeball.com/api-reference/expenses/patch-an-expense.md): Patches an expense for the specified matter. - [Get fees](https://docs.smokeball.com/api-reference/fees/get-fees.md): Returns a list of fees for the specified matter. - [Create a fee](https://docs.smokeball.com/api-reference/fees/create-a-fee.md): Creates a fee for the specified matter. - [Get a fee](https://docs.smokeball.com/api-reference/fees/get-a-fee.md): Retrieves a specified fee. - [Update a fee](https://docs.smokeball.com/api-reference/fees/update-a-fee.md): Updates a fee for the specified matter. - [Delete a fee](https://docs.smokeball.com/api-reference/fees/delete-a-fee.md): Deletes a fee. - [Patch a fee](https://docs.smokeball.com/api-reference/fees/patch-a-fee.md): Patches a fee for the specified matter. - [Get files on a matter](https://docs.smokeball.com/api-reference/files/get-files-on-a-matter.md): Returns a paged list of files associated with a matter. Deleted files are excluded. Paging defaults: offset 0, limit equal to the maximum page size when not supplied. Ordering: ascending by date created (oldest first) unless a sort option is supplied. Thr… - [Add file to a matter](https://docs.smokeball.com/api-reference/files/add-file-to-a-matter.md): Registers a new file on the matter and returns a presigned PUT URL (valid for 1 hour) to upload its content. The file is created only after the content has been PUT to the URL and confirmed by the storage callback; the 'Location' link to 'GetFileById' returns 404 until then. 'fileNa… - [Get a file](https://docs.smokeball.com/api-reference/files/get-a-file.md): Retrieves a specified file. The matterId in the route is used for authorisation only and is not cross-checked against the matter the file belongs to. - [Upload/update version or metadata of a file](https://docs.smokeball.com/api-reference/files/uploadupdate-version-or-metadata-of-a-file.md): Replaces all editable fields of a file with the supplied values. Use PATCH to change only some fields. Because this is a full replace, omitting 'folderId' (or setting it to null) moves the file to the root folder. The destination folder is not validated for existence. 'fileName' is… - [Delete a file](https://docs.smokeball.com/api-reference/files/delete-a-file.md): Deletes a specified matter file. - [Patch a file](https://docs.smokeball.com/api-reference/files/patch-a-file.md): Partially updates a file's metadata. Only the fields supplied in the request are changed; all other fields keep their current values. Use PUT to replace all fields. The response always includes a presigned PUT URL (valid for 1 hour) that can optionally be used to upload a new versio… - [Get download url for a file](https://docs.smokeball.com/api-reference/files/get-download-url-for-a-file.md): Returns a presigned download URL for the current version of the file, or for a specific version when 'versionId' is supplied. The URL is valid for 1 hour. The response 'Content-Disposition' uses the file name and extension. - [Get upload url for a file](https://docs.smokeball.com/api-reference/files/get-upload-url-for-a-file.md): Returns a presigned PUT URL for uploading a new version of an existing file. The URL is valid for 1 hour. - [Get file history on a matter](https://docs.smokeball.com/api-reference/files/get-file-history-on-a-matter.md): Returns the full list of history entries for the specified file. The result is not paged. - [Add files to a matter](https://docs.smokeball.com/api-reference/files/add-files-to-a-matter.md): Registers a batch of new files on the matter and returns one 'UploadFileInfo' (presigned PUT URL, valid for 1 hour) per file, in request order. Intended for data migrations. The same rules as 'AddFile' apply to each item. The operation is not atomic: items are validated in order and… - [Get preview info for a file](https://docs.smokeball.com/api-reference/files/get-preview-info-for-a-file.md): Returns a presigned URL to the PDF preview of the current version of the specified file. The URL is valid for 1 day from the time of the request. This endpoint never creates a preview. Use CreatePreview to request one; while the conversion is still pending this endpoint returns 404. - [Get or create a preview](https://docs.smokeball.com/api-reference/files/get-or-create-a-preview.md): Returns a PDF preview of the current version of the specified file, creating it if it does not exist yet. The 202 response has two shapes: - Preview already exists: 'downloadUrl' contains a presigned URL to the PDF preview and 'expiry' is its expiry time. The URL is valid for 1 da… - [Get preview info for a file by document version](https://docs.smokeball.com/api-reference/files/get-preview-info-for-a-file-by-document-version.md): Returns a presigned URL to the PDF preview of a specific document version of the file. The URL is valid for 1 day from the time of the request. - [Get firm](https://docs.smokeball.com/api-reference/firm/get-firm.md): Retrieves the details of the firm associated with the authenticated client. - [Update firm](https://docs.smokeball.com/api-reference/firm/update-firm.md): Updates firm details for the current authenticated client. - [Create firm](https://docs.smokeball.com/api-reference/firm/create-firm.md): Creates a firm for the current authenticated client and registers an existing user as a staff member and firm owner. - [Get firm user mappings](https://docs.smokeball.com/api-reference/firm/get-firm-user-mappings.md): Retrieves a list of user mappings in the firm associated with the authenticated client. - [Get firm user mapping](https://docs.smokeball.com/api-reference/firm/get-firm-user-mapping.md): Retrieves a user mapping (based on staff or user id parameter provided) in the firm associated with the authenticated client. - [Update firm user mapping](https://docs.smokeball.com/api-reference/firm/update-firm-user-mapping.md): Updates a user mapping in the firm associated with the authenticated client. - [Delete firm user mapping](https://docs.smokeball.com/api-reference/firm/delete-firm-user-mapping.md): Removes the user from the firm associated with the authenticated client. The staff member is set as a former staff member and a former user. User access is also disabled. - [Get folders/files under root folder](https://docs.smokeball.com/api-reference/folders/get-foldersfiles-under-root-folder.md): Returns a list of sub folders and files under the root folder of a matter. Folders are listed before files. Paging applies across the combined list: `offset` defaults to 0 and `limit` defaults to the maximum page size (`PagingOptions.MaxPageSize`). Deleted folders and deleted files a… - [Create a folder](https://docs.smokeball.com/api-reference/folders/create-a-folder.md): Creates a new folder under the specified matter. When `parentFolderId` is null or omitted the folder is created under the matter root. - [Get folders/files under a folder](https://docs.smokeball.com/api-reference/folders/get-foldersfiles-under-a-folder.md): Returns a list of sub folders and files under a specified folder of a matter. The `parentId` and `name` properties of the response describe the requested folder itself, not its children. A deleted folder is still returned, with `isDeleted: true` and an empty listing. F… - [Update a folder](https://docs.smokeball.com/api-reference/folders/update-a-folder.md): 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. T… - [Delete a folder](https://docs.smokeball.com/api-reference/folders/delete-a-folder.md): 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… - [Patch a folder](https://docs.smokeball.com/api-reference/folders/patch-a-folder.md): 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 fiel… - [Get folder path hierarchy](https://docs.smokeball.com/api-reference/folders/get-folder-path-hierarchy.md): 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. - [Get folder history on a matter](https://docs.smokeball.com/api-reference/folders/get-folder-history-on-a-matter.md): 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. - [Get mapping](https://docs.smokeball.com/api-reference/integrated-search/get-mapping.md): Retrieves integrated search mapping data associated with the authenticated client. Uses the integrated search provider used by the firm (e.g. InfoTrack). - [Get invoices](https://docs.smokeball.com/api-reference/invoices/get-invoices.md): Returns a list of invoices for the specified matter. - [Get an invoice](https://docs.smokeball.com/api-reference/invoices/get-an-invoice.md): Retrieves a specified invoice. - [Get download url for an invoice](https://docs.smokeball.com/api-reference/invoices/get-download-url-for-an-invoice.md): Retrieves download details for a specified invoice. - [Get layout designs](https://docs.smokeball.com/api-reference/layout-designs/get-layout-designs.md): Returns a list of layout designs. - [Get a layout design](https://docs.smokeball.com/api-reference/layout-designs/get-a-layout-design.md): Retrieves a specified layout design. - [Get layouts](https://docs.smokeball.com/api-reference/layout-matter-items/get-layouts.md): Returns a collection of layout items on a specified matter. - [Add a new layout](https://docs.smokeball.com/api-reference/layout-matter-items/add-a-new-layout.md): Adds a new layout matter item to a matter. - [Get a layout](https://docs.smokeball.com/api-reference/layout-matter-items/get-a-layout.md): Retrieves a layout item on a specified matter. - [Remove a layout](https://docs.smokeball.com/api-reference/layout-matter-items/remove-a-layout.md): Removes a layout matter item from a matter. - [Merge a layout](https://docs.smokeball.com/api-reference/layout-matter-items/merge-a-layout.md): Merges layout data. - [Get layout contacts](https://docs.smokeball.com/api-reference/layout-matter-items/get-layout-contacts.md): Returns a list of contacts on a specified layout. - [Add a contact to a layout](https://docs.smokeball.com/api-reference/layout-matter-items/add-a-contact-to-a-layout.md): Adds a new contact on a specified layout. - [Remove a contact from a layout](https://docs.smokeball.com/api-reference/layout-matter-items/remove-a-contact-from-a-layout.md): Removes a contact from a specified layout, deleting the associated role or relationship from the matter. - [Get items on a matter](https://docs.smokeball.com/api-reference/matter-items/get-items-on-a-matter.md): Returns a list of items on the specified matter. - [Get an item on a matter](https://docs.smokeball.com/api-reference/matter-items/get-an-item-on-a-matter.md): Returns an item on the specified matter. - [Get matter types](https://docs.smokeball.com/api-reference/matter-types/get-matter-types.md): 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. - [Get a matter type](https://docs.smokeball.com/api-reference/matter-types/get-a-matter-type.md): Retrieves a specified matter type. - [Get matter types categories](https://docs.smokeball.com/api-reference/matter-types/get-matter-types-categories.md): Returns a list of all the possible matter type categories. - [Get the archive for a matter](https://docs.smokeball.com/api-reference/matters/get-the-archive-for-a-matter.md): Retrieves an archive for a matter. - [Update an archive for a matter.](https://docs.smokeball.com/api-reference/matters/update-an-archive-for-a-matter.md): Updates a specified matter's archive - [Patch an archive for a matter](https://docs.smokeball.com/api-reference/matters/patch-an-archive-for-a-matter.md): Updates a specified matter's archive with patch operations. - [Get matter billing configuration](https://docs.smokeball.com/api-reference/matters/get-matter-billing-configuration.md): Retrieves the billing configuration for the specified matter. - [Update matter billing configuration](https://docs.smokeball.com/api-reference/matters/update-matter-billing-configuration.md): Updates the billing configuration for the specified matter. - [Patch matter billing configuration](https://docs.smokeball.com/api-reference/matters/patch-matter-billing-configuration.md): Patches the billing configuration for the specified matter. - [Get matters](https://docs.smokeball.com/api-reference/matters/get-matters.md): Returns a list of matters. To return leads, set the `isLead` search option to true. - [Create a matter](https://docs.smokeball.com/api-reference/matters/create-a-matter.md): Creates a new matter. Note: This endpoint can also be used to create a `Lead`. When creating a `Lead` you MUST remember to set a valid lead specific `matterTypeId` field (see field description below for more details) and set the `isLead` field to true. The `clientRole` and `othe… - [Get a matter](https://docs.smokeball.com/api-reference/matters/get-a-matter.md): Retrieves a specified matter. - [Update a matter](https://docs.smokeball.com/api-reference/matters/update-a-matter.md): Updates a specified matter. The following actions are currently not supported: - `clientIds` cannot be modified - `otherSideIds` cannot be modified - `Matter` cannot be converted back to `Lead` - [Delete a matter](https://docs.smokeball.com/api-reference/matters/delete-a-matter.md): Deletes a specified matter. - [Patch a matter](https://docs.smokeball.com/api-reference/matters/patch-a-matter.md): Patches a specified matter. Note: This endpoint can also be used to update a `Lead`, convert `Lead` to `Matter` and change the `Lead`/`Matter` type. See `Matters` documentation for more details on how to use this. The following actions are not supported: - `items`… - [Get matter tags](https://docs.smokeball.com/api-reference/matters/get-matter-tags.md) - [Add tags to a matter](https://docs.smokeball.com/api-reference/matters/add-tags-to-a-matter.md) - [Remove tags from a matter](https://docs.smokeball.com/api-reference/matters/remove-tags-from-a-matter.md): Removes the tag from the matter without deleting from the account. - [Get memos on a matter](https://docs.smokeball.com/api-reference/memos/get-memos-on-a-matter.md): Returns a list of memos on the specified matter. - [Create a memo on a matter](https://docs.smokeball.com/api-reference/memos/create-a-memo-on-a-matter.md): Creates a memo on the specified matter. - [Get a memo](https://docs.smokeball.com/api-reference/memos/get-a-memo.md): Retrieves a specified memo. - [Update a memo](https://docs.smokeball.com/api-reference/memos/update-a-memo.md): Updates a specified memo. - [Delete a memo](https://docs.smokeball.com/api-reference/memos/delete-a-memo.md): Deletes a specified memo. - [Get a notification](https://docs.smokeball.com/api-reference/notifications/get-a-notification.md): Retrieves a specified notification. - [Create a notification](https://docs.smokeball.com/api-reference/notifications/create-a-notification.md): Creates a notification. - [Get a plugin](https://docs.smokeball.com/api-reference/plugins/get-a-plugin.md): Returns the plugin. - [Update existing plugin](https://docs.smokeball.com/api-reference/plugins/update-existing-plugin.md): Updates a plugin with the specified plugin details. - [Delete existing plugin](https://docs.smokeball.com/api-reference/plugins/delete-existing-plugin.md): Deletes an existing plugin by id. - [Get plugins](https://docs.smokeball.com/api-reference/plugins/get-plugins.md): Returns existing plugins. - [Create a new plugin](https://docs.smokeball.com/api-reference/plugins/create-a-new-plugin.md): Creates a new plugin with the specified plugin details. - [Request plugin URL](https://docs.smokeball.com/api-reference/plugins/request-plugin-url.md): Requests a secure URL from the plugin's endpoint for invoking the plugin. Accepts additional key/value pairs to pass to the plugin endpoint. Reserved keys (AccountId, UserId, UserEmail, MatterId, AppId, EmbedToken) cannot be included in AdditionalData. - [Get a plugin subscription](https://docs.smokeball.com/api-reference/plugins/get-a-plugin-subscription.md): Returns the plugin subscription. - [Unsubscribes account from plugin](https://docs.smokeball.com/api-reference/plugins/unsubscribes-account-from-plugin.md): Unsubscribes an account from the specified plugin. - [Get plugin subscriptions](https://docs.smokeball.com/api-reference/plugins/get-plugin-subscriptions.md): Returns plugin subscriptions for the account. - [Subscribe account to plugin](https://docs.smokeball.com/api-reference/plugins/subscribe-account-to-plugin.md): Subscribes an account with the specified plugin. - [Creates a portal task](https://docs.smokeball.com/api-reference/portal/creates-a-portal-task.md): Creates a new client portal task associated with the specified matter. - [Sends a portal message](https://docs.smokeball.com/api-reference/portal/sends-a-portal-message.md): Sends a message to the specified contact on the client portal. When using the Client Credentials grant type, include the UserId header to impersonate the lawyer in the firm who is sending the message. - [Patch a portal task](https://docs.smokeball.com/api-reference/portal/patch-a-portal-task.md): Updates a client portal task. - [Get referral types](https://docs.smokeball.com/api-reference/referral-types/get-referral-types.md): Returns referral types, including custom referral types. - [Get a referral type](https://docs.smokeball.com/api-reference/referral-types/get-a-referral-type.md): Retrieves a specified referral type. - [Get relationships on a matter](https://docs.smokeball.com/api-reference/relationships/get-relationships-on-a-matter.md): Returns associated relationships for a specified matter and role group. - [Add relationship to a role](https://docs.smokeball.com/api-reference/relationships/add-relationship-to-a-role.md): Appends a new relationship with an existing role in the specified matter. - [Get relationship on a role](https://docs.smokeball.com/api-reference/relationships/get-relationship-on-a-role.md): Returns a relationship with a specified role in a matter. - [Update a relationship](https://docs.smokeball.com/api-reference/relationships/update-a-relationship.md): Updates a specified relationship on a matter. - [Remove relationship from a role in a matter.](https://docs.smokeball.com/api-reference/relationships/remove-relationship-from-a-role-in-a-matter.md): Removes a relationship from a role in a matter. - [Get roles on a matter](https://docs.smokeball.com/api-reference/roles/get-roles-on-a-matter.md): Returns associated roles for a specified matter. - [Add role to a matter](https://docs.smokeball.com/api-reference/roles/add-role-to-a-matter.md): Appends a new role in the specified matter. - [Get role on a matter](https://docs.smokeball.com/api-reference/roles/get-role-on-a-matter.md): Returns a role in a specified matter. - [Update role on a matter](https://docs.smokeball.com/api-reference/roles/update-role-on-a-matter.md): Updates a specified role on a matter. - [Remove role from a matter](https://docs.smokeball.com/api-reference/roles/remove-role-from-a-matter.md): Removes a specified role from a matter. - [Search files with advanced filters](https://docs.smokeball.com/api-reference/search/search-files-with-advanced-filters.md): Performs a full-account file search and returns files matching the provided query, paging options and filters. - [Search firm staff members](https://docs.smokeball.com/api-reference/staff/search-firm-staff-members.md): Retrieves a paginated list of staff members (filtered based on search parameters provided) in the firm associated with the authenticated client. - [Create firm staff member](https://docs.smokeball.com/api-reference/staff/create-firm-staff-member.md): Creates a staff member in the firm associated with the authenticated client. - [Get firm staff member](https://docs.smokeball.com/api-reference/staff/get-firm-staff-member.md): Retrieves a staff member (based on staff id parameter provided) in the firm associated with the authenticated client. - [Update firm staff member](https://docs.smokeball.com/api-reference/staff/update-firm-staff-member.md): Updates a staff member in the firm associated with the authenticated client. - [Deletes a firm staff member](https://docs.smokeball.com/api-reference/staff/deletes-a-firm-staff-member.md): 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. - [Get stage to matter mappings in the firm](https://docs.smokeball.com/api-reference/stages/get-stage-to-matter-mappings-in-the-firm.md): Returns a list of stage to matter mappings in the firm. - [Get a matter stage information](https://docs.smokeball.com/api-reference/stages/get-a-matter-stage-information.md): Returns the specified matters stage information. - [Get stage sets for the firm](https://docs.smokeball.com/api-reference/stages/get-stage-sets-for-the-firm.md): Returns a list of stage sets for the firm. - [Get a stage set](https://docs.smokeball.com/api-reference/stages/get-a-stage-set.md): Returns the specified stage set. - [Get a stage on a stage set](https://docs.smokeball.com/api-reference/stages/get-a-stage-on-a-stage-set.md): Return the specified stage on the stage set. - [Get a subtask](https://docs.smokeball.com/api-reference/tasks/get-a-subtask.md): Retrieves a specified subtask. - [Update a subtask](https://docs.smokeball.com/api-reference/tasks/update-a-subtask.md): Updates a specified subtask of a specified task. - [Delete a subtask](https://docs.smokeball.com/api-reference/tasks/delete-a-subtask.md): Deletes a specified subtask of a specified task. - [Get subtasks](https://docs.smokeball.com/api-reference/tasks/get-subtasks.md): Returns a list of subtasks for a specified task if associated with the authenticated client. - [Create a subtask](https://docs.smokeball.com/api-reference/tasks/create-a-subtask.md): Creates a subtask for a specified task. - [Get task documents](https://docs.smokeball.com/api-reference/tasks/get-task-documents.md): Returns a list of document links for the specified task, if associated with the authenticated client. - [Create a task document](https://docs.smokeball.com/api-reference/tasks/create-a-task-document.md): Links the specified document to the specified task. - [Get a task document](https://docs.smokeball.com/api-reference/tasks/get-a-task-document.md): Retrieves the specified task document for the specified task. - [Delete a task document](https://docs.smokeball.com/api-reference/tasks/delete-a-task-document.md): Unlinks the specified document from the specified task. - [Get a task](https://docs.smokeball.com/api-reference/tasks/get-a-task.md): Retrieves a specified task. - [Update a task](https://docs.smokeball.com/api-reference/tasks/update-a-task.md): Updates a specified task. - [Delete a task](https://docs.smokeball.com/api-reference/tasks/delete-a-task.md): Deletes a specified task. - [Get tasks](https://docs.smokeball.com/api-reference/tasks/get-tasks.md): Returns a list of tasks. - [Create a task](https://docs.smokeball.com/api-reference/tasks/create-a-task.md): Creates a task. - [Get a user](https://docs.smokeball.com/api-reference/users/get-a-user.md): Retrieves a specified user. - [Remove a user](https://docs.smokeball.com/api-reference/users/remove-a-user.md): Removes a user. User must belong to the specified account. - [Create a user](https://docs.smokeball.com/api-reference/users/create-a-user.md): Creates a user. Sends an email with a generated password if the password is missing. - [Resend a user invitation](https://docs.smokeball.com/api-reference/users/resend-a-user-invitation.md): Resends an invitation email with a temporary password for the specified user. The user must exist and belong to the specified account when specifying id. Optionally invite a user using a email address instead of user id. Use a default id of all zeros when posting email address payload. Email ad… - [Get event types](https://docs.smokeball.com/api-reference/webhooks/get-event-types.md): Returns the available webhook event types. - [Get webhook subscriptions](https://docs.smokeball.com/api-reference/webhooks/get-webhook-subscriptions.md): Returns existing webhook subscriptions. - [Create new webhook subscription](https://docs.smokeball.com/api-reference/webhooks/create-new-webhook-subscription.md): Creates a new webhook subscription with the specified subscription details. - [Get a webhook subscription](https://docs.smokeball.com/api-reference/webhooks/get-a-webhook-subscription.md): Returns the webhook subscription. - [Update a webhook subscription](https://docs.smokeball.com/api-reference/webhooks/update-a-webhook-subscription.md): Updates a webhook subscription with the specified subscription details. - [Deletes a webhook subscription](https://docs.smokeball.com/api-reference/webhooks/deletes-a-webhook-subscription.md): Deletes and unsubscribes from the specified webhook subscription. - [Notify a webhook subscription](https://docs.smokeball.com/api-reference/webhooks/notify-a-webhook-subscription.md): Notifies a webhook subscription with a 'noop' event type. Used for testing purposes. - [Getting Started](https://docs.smokeball.com/docs/sdk-docs/675c9816cdaf6-getting-started.md) - [Authentication](https://docs.smokeball.com/docs/sdk-docs/b4c6e12d3f9a0-authentication.md) - [Entry Point](https://docs.smokeball.com/docs/sdk-docs/api/classes/SmokeballClientSdk.md) - [Host](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/host/interfaces/Api.md) - [Auth](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/auth/interfaces/Api.md) - [Communicate](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/communicate/interfaces/Api.md) - [Contacts](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/contacts/interfaces/Api.md) - [Correspondence](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/correspondence/interfaces/Api.md) - [Files](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/files/interfaces/Api.md) - [Firm](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/firm/interfaces/Api.md) - [IntegratedSearch](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/integratedSearch/interfaces/Api.md) - [Layouts](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/layouts/interfaces/Api.md) - [MatterItems](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/matterItems/interfaces/Api.md) - [Matters](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/matters/interfaces/Api.md) - [MatterTypes](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/matterTypes/interfaces/Api.md) - [Memos](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/memos/interfaces/Api.md) - [Relationships](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/relationships/interfaces/Api.md) - [Roles](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/roles/interfaces/Api.md) - [Staff](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/staff/interfaces/Api.md) - [SubTasks](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/subTasks/interfaces/Api.md) - [Tasks](https://docs.smokeball.com/docs/sdk-docs/api/@smokeballdev/namespaces/tasks/interfaces/Api.md) - [Status](https://docs.smokeball.com/docs/platform-docs/e8rdxqzugb5zf-status.md): Check the status of Smokeball services across all regions - [API](https://docs.smokeball.com/docs/api-docs/98439555e1d41-release-notes.md): We improve the Smokeball API all the time by releasing new features, fixing bugs and updating the documentation. This changelog accounts for all of the changes as they are released, in chronological order. ## OpenAPI Specs - [openapi](/openapi.json) ## Optional - [Marketplace](https://marketplace.smokeball.com) - [Blog](https://www.smokeball.com/blog)