Obtain your API key from the Middesk dashboard and include it in the Authorization: Bearer header for all requests.
Create a business verification by POSTing to /v1/businesses with the business's legal name, EIN (Employer Identification Number), registered address, and optionally website and phone number.
Receive a business object with an id and an initial status; Middesk runs automated checks (Secretary of State registrations, USPS address, TIN matching, watchlists) asynchronously.
Listen for the business.updated webhook to receive the completed review result; alternatively, poll GET /v1/businesses/{id} until the status transitions from in_review to a terminal state (approved, rejected, or action_required).
Parse the tasks array in the response to see individual check results (e.g., sos_filings, watchlist, tin); use these to determine which specific checks failed if the overall result is not approved.
For action_required outcomes, collect and submit additional documents (e.g., articles of incorporation) via the documents endpoint and resubmit or contact Middesk for manual review.
Known gotchas
Business verification results are asynchronous and may take minutes to hours depending on Secretary of State database availability; never block a user-facing flow waiting for a synchronous response.
Not all US states expose real-time SOS data — some states have delayed or limited data availability, which can cause certain tasks to return inconclusive results even for legitimate businesses; build manual review fallback handling.
EIN matching (TIN verification) is a separate check from SOS registration; a business can have a valid EIN but not appear in SOS records (e.g., sole proprietors, some LLCs) — understand which checks are blockers vs. advisory in your risk framework.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp