> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.middesk.com/guides/get-started/changelog/2026/8/17/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.middesk.com/_mcp/server. ## Business Verification / API ### Fixed stale submitted phone numbers and email addresses after an update The `submitted` object on a Business reflects phone numbers and email addresses sent on a later `PATCH /v1/businesses/{id}`. Previously `submitted.phone_numbers` and `submitted.email_addresses` kept the values from business creation, so a business updated with a new number or address still reported the original one. No integration changes are required. [View the Business object reference](/reference/business). ## Credit Risk / API ### Breaking: Lien packet numbers can no longer contain underscores Lien filing, batch lien filing, and lien termination requests reject a `packet_number` containing an underscore with a `422` and the message `packet_number cannot contain underscores`. Some state filing offices do not accept underscores in a filer reference. Update any integration that builds `packet_number` from a value that can contain one. Terminations of liens already filed with an underscored packet number are still accepted, and auto-generated packet numbers are unaffected. [View the lien filing guide](/assess-risk/file-lien). ## Platform / API ### Added rate limit responses for sandbox business creation `POST /v1/businesses` and `POST /v1/business_batches` in sandbox return `429` with a `Retry-After` header when an account exceeds its per-minute business creation limit, and `503` with a `Retry-After` header when the limit cannot be evaluated. Each row in a business batch CSV counts as one business creation. Wait for the number of seconds in `Retry-After` before retrying. Production behavior is unchanged. [View API reference](/api-reference/business-verification/businesses/create-a-business). ### Changed webhook GraphQL payloads to match the Business Risk REST response For accounts using Business Risk, webhook GraphQL types return the same risk attributes as the REST Business and Website responses, including risky keyword results and a `risk` verdict carrying `status` and `score`. Three changes affect existing subscribers on a Risk order: `risk` returns `status: "unavailable"` with a `reason` when an assessment cannot be produced instead of returning null, `level` and `latestAssessmentId` can be null, and discovered phone numbers join the top-level `phoneNumbers` collection with a `submitted` flag instead of appearing under `website.phoneNumbers`. [View the GraphQL API guide](/build/graphql). ## Agents ### Changed agent automation settings to be self-serve in the Dashboard Account admins configure how agent findings apply from **Settings > Agents** in the Dashboard instead of contacting their account manager. Choose manual review for every finding, or apply findings automatically above a confidence threshold, and override the choice for an individual orchestrator or specialist agent. The `auto_approve` policy applies findings that meet the threshold rather than every proposed action, and document upload requests always wait for review. [View the interrupt policy guide](/work-with-agents/interrupt-policy).