> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.middesk.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.middesk.com/_mcp/server.

## Platform / API

### Added the Sub-Accounts API to the reference

Partner accounts can provision and manage customer accounts over the API. `POST /v1/sub_accounts` creates a sub-account and returns an initial sandbox API key, `GET /v1/sub_accounts` lists and filters them, and `PATCH /v1/sub_accounts/{id}` activates or deactivates one. Deactivating a sub-account makes its API keys return `401` while retaining its data and keys, and re-enabling restores access. `external_id` acts as an idempotency key unique within the parent account, so repeating a create with the same value returns the existing sub-account with `200` instead of creating a duplicate. A sub-account inherits the parent's products by default; set `inherit_products_from_parent` to `false` to manage `products` independently. Separate endpoints list, create, and revoke sub-account API keys; treat every returned key value as a secret and rotate by creating a replacement, cutting traffic over, then revoking the old key. Available to accounts configured for sub-account provisioning. [View the Sub-Accounts API reference](/api-reference/sub-accounts/create-sub-account).

## Web Presence / API

### Added BBB, Trustpilot, and TikTok profiles to web presence results

Web presence analysis discovers and matches Better Business Bureau, Trustpilot, and TikTok profiles and returns them in the `profiles` array on the business with `type` set to `bbb`, `trustpilot`, or `tiktok`. Each source returns its own metadata shape, and `rating` and `rating_count` are platform-specific: BBB reports `average_review_rating` and `review_count`, Trustpilot reports `trust_score` and `rating_count`, and TikTok returns neither. Metadata fields with no value are omitted rather than returned as `null`. Integrations that branch on `profile.type` should tolerate the new values. [View the Profile object reference](/reference/profile).

## Business Verification / API

### Added an attachment option to document download URLs

`GET /v1/documents/{id}/download_url` accepts an optional `disposition` query parameter. Set it to `attachment` to receive a URL that downloads the file instead of rendering it inline, which lets an integration offer a save-to-disk action. Any other value, including omitting the parameter, keeps the existing inline behavior, so no action is required. [View the document download URL reference](/api-reference/documents/get-document-download-url).

### Documented the `parameter` field on error responses

Entries in the `errors` array on an error response can include an optional `parameter` field naming the request parameter the error applies to. Errors that are not tied to a specific parameter omit it, so treat the field as optional when parsing. This documents existing API behavior and requires no changes.

## Credit Risk / API

### Documented the `lien.updated` webhook payload

The `lien.updated` event sent to a webhook endpoint configured through `/v1/webhooks` is now described in the API reference. The event fires on every lien lifecycle transition and delivers the full lien in `data.object`, so read `data.object.status` to determine the new state. `lien.updated` carries no `previous_attributes`. This documents an event that already fires and requires no changes. [View the Lien object reference](/reference/lien).

## Entity Management / API

### Removed the `supported_only` parameter from jurisdiction search

`GET /v1/agent/jurisdictions/search` no longer accepts the `supported_only` query parameter. Requests that still send it are unaffected, and the other filters, including `state`, `tax_type`, `local_only`, and `slug`, are unchanged. Remove the parameter from any integration that sends it. [View the jurisdiction search reference](/api-reference/entity-management/jurisdictions/search-jurisdictions).