---
title: "Create a business"
method: POST
path: "/v1/businesses"
tags: ["businesses"]
---

# Create a business

`POST /v1/businesses`

## Headers

- `Authorization` string, required

## Request body

- object
  - `name` string, required
  - `tin` TypeBusinessesBusinessRequestParamTin
    - `tin` string
  - `addresses` TypeBusinessesBusinessRequestParamAddressesItem[], required
    - union
      - TypeSubmittedAddressFull
        - `full_address` string, required — Complete address as a single string
        - `reference` string — Optional, customer-supplied key to identify an address
      - TypeSubmittedAddressComponent
        - `address_line_1` string, required
        - `address_line_2` string
        - `city` string, required
        - `state` 'AL' | 'AK' | 'AZ' | 'AR' | 'CA' | 'CO' | 'CT' | 'DE' | 'FL' | 'GA' | 'HI' | 'ID' | 'IL' | 'IN' | 'IA' | 'KS' | 'KY' | 'LA' | 'ME' | 'MD' | 'MA' | 'MI' | 'MN' | 'MS' | 'MO' | 'MT' | 'NE' | 'NV' | 'NH' | 'NJ' | 'NM' | 'NY' | 'NC' | 'ND' | 'OH' | 'OK' | 'OR' | 'PA' | 'RI' | 'SC' | 'SD' | 'TN' | 'TX' | 'UT' | 'VT' | 'VA' | 'WA' | 'WV' | 'WI' | 'WY', required
        - `postal_code` string
        - `country` string
        - `reference` string — Optional, customer-supplied key to identify an address
  - `website` TypeBusinessesBusinessRequestParamWebsite — Website information for the business. Required when name and addresses are not provided when ordering the web_analysis and/or industry_classification subproducts.
    - `url` string, uri — The website URL for the business
  - `phone_numbers` TypeBusinessesBusinessRequestParamPhoneNumbersItem[] — Phone numbers for the business.
    - `phone_number` string
  - `people` TypeSubmittedPerson[]
    - `name` string, required — Full name of the person
    - `first_name` string — The person's first (given) name.
    - `middle_name` string — The person's middle name.
    - `last_name` string — The person's last (family) name.
    - `name_suffix` string — Generational suffix for the person (for example `Jr`, `Sr`, or `III`). Used only to narrow `people_ucc_liens` searches by matching debtors whose name includes this suffix. It has no effect on any other order type.
    - `title` string — Job title or role
    - `email` string, email
    - `phone` string
  - `external_id` string
  - `unique_external_id` string
  - `tags` string[]
  - `connection_id` string — The ID of a connection to use as the source for this business. Pre-fills the business name and address from the connection.
  - `orders` TypeBusinessesBusinessRequestParamOrdersItem[] — Orders to place against the business at creation time. Each order specifies a product (and optional subproducts/options) to run.
    - `product` 'identity' | 'liens' | 'adverse_media' | 'bankruptcies' | 'business_enrichment' | 'documents' | 'enhanced_screenings' | 'kyc' | 'litigations' | 'people_litigations' | 'people_bankruptcies' | 'people_tax_liens' | 'people_ucc_liens' | 'people_criminal_history' | 'tin' | 'website' | 'business_verification_qualify' | 'business_verification_verify' | 'tax_liens' | 'ucc_liens' | 'email_risk', required — The product to order.
    - `subproducts` TypeBusinessesBusinessRequestParamOrdersItemSubproductsItem[] — Subproducts to include with the order.
    - `options` TypeBusinessesBusinessRequestParamOrdersItemOptions — Per-order configuration flags.
      - `person_match` boolean — When true on a `tin` order, enables person-name matching against IRS records.
  - `registrations` TypeInternationalRegistrationRequestParam[] — Known international registrations to look up for the business. Requires the International Business Verification package to be enabled for your account. If omitted, Middesk searches for international registrations based on the submitted addresses.
    - `file_number` string, required — The registration or file number issued by the international registry.
    - `country_code` string, required — ISO 3166-1 alpha-2 country code of the registry (e.g., `FR`, `DE`, `GB`).
    - `jurisdiction_details` TypeInternationalRegistrationRequestParamJurisdictionDetails — The sub-national jurisdiction for the registration.
      - `abbr` string — Abbreviation of the sub-national jurisdiction. Required when `country_code` is `CA`.

## Response `201`

business created

- TypeBusiness
  - `object` string, required
  - `id` string, uuid, required
  - `external_id` string, nullable
  - `unique_external_id` string, nullable
  - `name` string, required
  - `status` 'open' | 'pending' | 'in_audit' | 'in_review' | 'approved' | 'rejected', required — Current status of the business verification
  - `tags` string[]
  - `requester` TypeRequester
    - `id` string, uuid, required
    - `type` 'account' | 'user', required
    - `name` string, required
    - `requested_at` string, date-time, required
  - `assignee_id` string, uuid, nullable
  - `supported_document_types` TypeBusinessSupportedDocumentTypesItem[]
  - `review` TypeReview
    - `object` 'review', required
    - `id` string, uuid, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `completed_at` string, date-time, nullable
    - `analyst_read_markdown` string, nullable — LLM-generated analyst read of the business's verification results, in CommonMark markdown: one lead sentence followed by up to five bullet findings. Inline links, when present, are dashboard-relative paths (for example /businesses/{id}/registrations) and may be ignored by API consumers. Null until a read has been generated; generated only for businesses without a risk order, whose risk assessment carries its own read.
    - `analyst_read_generated_at` string, date-time, nullable — When the analyst read was delivered. Null until a read has been generated.
    - `tasks` TypeReviewTask[], required
      - `category` 'bankruptcies' | 'global_watchlists' | 'name' | 'people_litigations' | 'loans' | 'kyc' | 'watchlist' | 'phone' | 'formation' | 'people_criminal_history' | 'adverse_media' | 'litigations' | 'tin_type' | 'address' | 'sos' | 'web' | 'liens' | 'people_bankruptcies' | 'industry' | 'tin' | 'people' | 'people_liens' | 'website' | 'politically_exposed_persons' | 'email', required
      - `key` 'location_frequency' | 'bankruptcies' | 'sos_unknown' | 'address_deliverability' | 'website_url_discovery' | 'entity_type' | 'web_person_verification' | 'global_watchlists' | 'website_status' | 'name' | 'sos_sub_status' | 'name_and_entity_type' | 'sos_active' | 'profile_status' | 'phone' | 'sos_domestic' | 'address_high_risk' | 'web_address_verification' | 'address_property_type' | 'sos_not_found' | 'time_in_business' | 'web_phone_number_verification' | 'adverse_media' | 'litigations' | 'address_verification' | 'people_litigations' | 'dba_name' | 'watchlist' | 'entity_type_match' | 'people_criminal_history' | 'formation_state' | 'tin_error' | 'sos_inactive' | 'address_frequency' | 'web_business_name_verification' | 'web_presence_quality' | 'tin_type' | 'tin_issued' | 'sos_domestic_sub_status' | 'risky_keywords' | 'address_registered_agent' | 'sos' | 'kyc_decision' | 'ppp_loans' | 'web_email_address_verification' | 'tin' | 'address' | 'liens' | 'sos_status' | 'industry' | 'sos_match' | 'address_risk' | 'website_url_domain_ownership' | 'website_parked' | 'domain_redirect' | 'people_bankruptcies' | 'politically_exposed_persons' | 'person_verification' | 'profile_discovery' | 'address_cmra' | 'website_verification' | 'website' | 'people_liens' | 'email_risk', required
      - `label` 'Politically Exposed Persons' | 'Web Presence Quality' | 'KYC' | 'People Bankruptcies' | 'Address Risk' | 'Global Watchlists' | 'Phone Number' | 'Third Party Profile Status' | 'Liens' | 'Third Party Profiles' | 'Time in Business' | 'Web - Email Address' | 'Risky Keywords' | 'SOS Domestic Sub‑status' | 'PPP Loans' | 'Secretary of State Filings' | 'Entity Type' | 'SOS Filings' | 'People Criminal History' | 'Adverse Media' | 'Web - People' | 'Office Address' | 'Entity Type Match' | 'Web - Phone Number' | 'Business Name' | 'Bankruptcies' | 'Industry Classification' | 'TIN Match' | 'Watchlists' | 'People Litigations' | 'True Industry' | 'People' | 'DBA Name' | 'Domain Ownership' | 'Domain Redirect' | 'TIN Type' | 'Website' | 'TIN Error' | 'Watchlist' | 'Litigations' | 'Web - Business Name' | 'Name Entity Type' | 'Formation State' | 'People Liens' | 'Web - Office Address' | 'Email Risk', required
      - `message` string, required
      - `name` string, required
      - `status` 'success' | 'failure' | 'warning' | 'neutral', required
      - `sub_label` string, required
      - `sources` TypeSource[], required
        - `id` string, uuid, required
        - `type` string, required — Origin of the resource. `risk_analysis` indicates the resource was discovered by a Risk order; for such sources, `id` is the originating risk_assessment ID.
        - `metadata` object, required
    - `assignee` TypeUser
      - `object` string, required
      - `id` string, uuid, required
      - `name` string, required
      - `email` string, email, required
      - `roles` string[], required
      - `image_url` string, uri
      - `directory_managed` boolean
      - `last_login_at` string, date-time, nullable
      - `settings` object
      - `created_at` string, date-time, required
  - `tin` TypeTin
    - `name` string, nullable
    - `mismatch` boolean
    - `unknown` boolean
    - `verified` boolean, nullable
    - `error` string, nullable
    - `updated_at` string, date-time
    - `issued` boolean, nullable
    - `verified_by` string, nullable
    - `business_id` string, uuid, required
    - `tin` string, required
  - `business_batch_id` string, uuid, nullable
  - `formation` TypeFormation
    - `entity_type` string
    - `formation_date` string, date
    - `formation_state` string
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `sources` TypeSource[]
      - `id` string, uuid, required
      - `type` string, required — Origin of the resource. `risk_analysis` indicates the resource was discovered by a Risk order; for such sources, `id` is the originating risk_assessment ID.
      - `metadata` object, required
  - `website` TypeWebsite
    - `object` 'website', required
    - `id` string, uuid, required
    - `url` string, uri, nullable, required — The URL that was passed or found for the Business
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `status` 'online' | 'offline' | 'unknown', required
    - `http_status_code` integer, nullable — HTTP response status code
    - `title` string, nullable — Website page title
    - `description` string, nullable — Website meta description
    - `domain` TypeWebsiteDomain
      - `domain` string
      - `domain_id` string, nullable
      - `creation_date` string, date-time
      - `expiration_date` string, date-time
      - `registrar` TypeWebsiteDomainRegistrar
        - `organization` string, nullable
        - `name` string
        - `url` string, uri, nullable
      - `redirected` boolean, nullable — Whether the domain redirects to a different URL
      - `url_shortener` boolean, nullable — Whether the domain uses a URL shortener service
      - `resolved_url` string, uri, nullable — The final URL after redirect resolution (present when redirected is true)
    - `pages` TypeWebsitePagesItem[] — Website pages with screenshots
      - `url` string, uri
      - `category` string
      - `screenshot_url` string, uri
    - `parked` boolean, nullable, required — Whether the domain is parked
    - `submitted` boolean, required — Whether the website was submitted by user
    - `error` string, nullable — Error message if website analysis failed
    - `category` string, nullable — Website category classification
    - `platform` string, nullable — Website platform (e.g., instagram.com, facebook.com)
    - `posts_summary` string, nullable — Summary of posts found on the website or linked social media profiles
    - `reviews_summary` string, nullable — Summary of reviews found on the website or linked third-party profiles
    - `business_id` string, uuid, required
    - `business_name_match` boolean, required — Whether website content matches business name
    - `names` TypeName[] — Names found on website
      - `object` string, required
      - `id` string, uuid, required
      - `name` string, required
      - `submitted` boolean, required
      - `type` 'legal' | 'dba'
      - `business_id` string, uuid, required
      - `sources` TypeSource[], required
        - `id` string, uuid, required
        - `type` string, required — Origin of the resource. `risk_analysis` indicates the resource was discovered by a Risk order; for such sources, `id` is the originating risk_assessment ID.
        - `metadata` object, required
    - `phone_numbers` TypeWebsitePhoneNumber[], required — Phone numbers found on website
      - `object` 'phone_number'
      - `id` string, uuid
      - `number` string
      - `contact_type` string, nullable
      - `recommended` boolean, nullable
      - `submitted` boolean
      - `sources` TypeSource[], nullable
        - `id` string, uuid, required
        - `type` string, required — Origin of the resource. `risk_analysis` indicates the resource was discovered by a Risk order; for such sources, `id` is the originating risk_assessment ID.
        - `metadata` object, required
    - `people` object[], nullable — People found on website
    - `addresses` TypeWebsiteAddressesItem[], required — Addresses found on website
      - `object` string
      - `id` string, uuid
      - `address_line1` string, nullable
      - `address_line2` string, nullable
      - `city` string, nullable
      - `state` string, nullable
      - `postal_code` string, nullable
      - `full_address` string
      - `submitted` boolean
      - `sources` TypeSource[]
        - `id` string, uuid, required
        - `type` string, required — Origin of the resource. `risk_analysis` indicates the resource was discovered by a Risk order; for such sources, `id` is the originating risk_assessment ID.
        - `metadata` object, required
    - `email_addresses` TypeWebsiteEmailAddressesItem[], nullable — Email addresses found on website
      - `object` 'email_address'
      - `email` string
      - `id` string, uuid
      - `submitted` boolean
      - `sources` TypeSource[]
        - `id` string, uuid, required
        - `type` string, required — Origin of the resource. `risk_analysis` indicates the resource was discovered by a Risk order; for such sources, `id` is the originating risk_assessment ID.
        - `metadata` object, required
    - `rating` TypeWebsiteRating
      - `indicators` TypeWebsiteIndicator[]
        - `type` 'domain_age' | 'top_level_domain' | 'content_diversity' | 'contact_info' | 'compliance_info' | 'page_count' | 'broken_links' | 'domain_consistency' | 'update_frequency' | 'filler_text' | 'image_quality' | 'last_updated' | 'third_party_profile_links' | 'us_business_presence' | 'spelling_and_grammar' | 'https' | 'domain_ownership', required
        - `name` string, required
        - `rating` 'positive' | 'negative' | 'neutral', required
        - `value` string, required
        - `description` string, required
      - `quality_rating` 'low' | 'moderate' | 'high' | 'not_available', required
  - `watchlist` TypeWatchlist
    - `object` string, required
    - `id` string, uuid, required
    - `hit_count` integer, required
    - `agencies` TypeWatchlistAgency[], required
      - `abbr` string, required
      - `name` string, required
      - `org` string, required
    - `lists` TypeWatchlistSource[], required
      - `object` string, required
      - `agency` string, required
      - `agency_abbr` string, required
      - `organization` string, required
      - `title` string, required
      - `abbr` string, required
      - `results` TypeWatchlistResult[], required
        - `object` 'watchlist_result', required
        - `id` string, uuid, required
        - `status` string, required
        - `entity_name` string, required
        - `entity_aliases` string[], required
        - `listed_at` string, date-time, nullable
        - `agency_information_url` string, required
        - `agency_list_url` string, required
        - `score` number, double, nullable, required
        - `addresses` TypeWatchlistResultAddressesItem[]
          - `full_address` string
        - `url` string, uri, nullable
        - `list_country` string
        - `list_url` string, uri, nullable
        - `list_region` string
        - `categories` string[]
    - `people` object[], required
  - `risk` TypeBusinessRisk — Terminal outcome of a Risk order on the business. `status: completed` carries a verdict (`level`); `status: unavailable` means the run stopped in a failure state and produced no verdict, with a `reason`. Null while a run is in flight.
    - `object` 'risk', required — The resource type, always `risk`.
    - `status` 'completed' | 'unavailable', required — Whether the Risk order produced a verdict or stopped unavailable.
    - `level` 'low' | 'moderate' | 'high' | 'not_available' — Categorical risk verdict, present when `status` is `completed`. `not_available` means the run completed but could not produce a conclusive verdict (e.g. an unassessable profile) — distinct from `unavailable`.
    - `score` integer — Integer 0-100 risk score, present when `status` is `completed` and the assessment carries a score. `level` is banded from it.
    - `latest_assessment_id` string, uuid — Id of the Risk Assessment resource, present when `status` is `completed`.
    - `reason` string — Why no verdict was produced, present when `status` is `unavailable`.
  - `bankruptcies` TypeBankruptcy[]
    - `object` 'bankruptcy', required
    - `id` string, uuid, required
    - `business_id` string, uuid, required
    - `case_number` string, required
    - `case_updates` TypeBankruptcyCaseUpdatesItem[], required
      - `guid` string
      - `pub_date` string
      - `description` string
    - `chapter` number, double, required
    - `court` string, required
    - `filing_date` string, date, nullable, required
    - `debtors` TypeBankruptcyDebtorsItem[], required
      - `name` string
  - `certifications` TypeCertification[]
    - `object` 'certification', required
    - `id` string, uuid
    - `business_id` string, uuid
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `entrance_date` string, date-time, nullable
    - `exit_date` string, date-time, nullable
    - `certification_id` string, nullable
    - `name` string, required
    - `key` string, required
    - `certification_type` 'federal' | 'self_certified', required
    - `external_sources` TypeCertificationExternalSourcesItem[], required
      - `organization` string
      - `link` string
  - `documents` TypeDocument[]
    - `object` 'document', required
    - `id` string, uuid, required
    - `document_type` string, required — Type of document. Common values include: Initial_Filing, Certificate of Good Standing, Articles of Incorporation, Initial Filing (UCC1), Amendment (UCC3)
    - `filename` string, required — Name of the document file
    - `content_type` string, required — MIME type of the document
    - `size` integer, required — File size in bytes
    - `download_url` string, uri, required — URL to download the document
    - `created_at` string, date-time, required
    - `source` TypeDocumentSource
      - `type` string — Source type (e.g., registration)
      - `id` string, uuid — Source record ID
      - `metadata` object — Additional source metadata
    - `filing_date` string, date-time, nullable
    - `metadata` object — Additional document metadata
  - `liens` TypeLien[]
    - `object` 'lien', required
    - `type` 'ucc' | 'state' | 'federal' | 'attachment' | 'judgment', required — Type of lien
    - `id` string, uuid, required
    - `business_id` string, uuid, required
    - `debtors` TypeLienDebtorsItem[], required
      - `name` string
      - `type` 'ORGANIZATION' | 'INDIVIDUAL' | 'UNKNOWN' | 'Business'
      - `party_type` string
      - `organization_name` string
      - `entity_type` string
      - `first_name` string
      - `last_name` string
      - `addresses` TypeLienDebtorsItemAddressesItem[]
        - `full_address` string
        - `address_line1` string
        - `address_line2` string, nullable
        - `city` string
        - `state` string
        - `postal_code` string
    - `secured_parties` TypeLienSecuredPartiesItem[], required
      - `name` string
      - `type` 'ORGANIZATION' | 'INDIVIDUAL'
      - `role` string
      - `organization_name` string
      - `addresses` TypeLienSecuredPartiesItemAddressesItem[]
        - `full_address` string
        - `address_line1` string
        - `address_line2` string, nullable
        - `city` string
        - `state` string
        - `postal_code` string
    - `file_number` string, nullable, required — Filing number for the lien
    - `state` 'AL' | 'AK' | 'AZ' | 'AR' | 'CA' | 'CO' | 'CT' | 'DE' | 'FL' | 'GA' | 'HI' | 'ID' | 'IL' | 'IN' | 'IA' | 'KS' | 'KY' | 'LA' | 'ME' | 'MD' | 'MA' | 'MI' | 'MN' | 'MS' | 'MO' | 'MT' | 'NE' | 'NV' | 'NH' | 'NJ' | 'NM' | 'NY' | 'NC' | 'ND' | 'OH' | 'OK' | 'OR' | 'PA' | 'RI' | 'SC' | 'SD' | 'TN' | 'TX' | 'UT' | 'VT' | 'VA' | 'WA' | 'WV' | 'WI' | 'WY', required — State where the lien was filed
    - `status` 'created' | 'pending' | 'open' | 'closing' | 'closed' | 'unknown' | 'filed', required — Current status of the lien
    - `filing_date` string, date, nullable, required — Date the lien was filed
    - `updated_date` string, date, nullable — Date the lien was last updated
    - `lapse_date` string, date, nullable — Date the lien lapses/expires
    - `collateral` string, nullable — Description of collateral securing the lien
    - `collateral_type` 'Blanket' | 'Collateral' | 'Unknown' | 'All Assets and Receivables' | 'All Receivables' | 'All Assets' | 'Named Assets' | 'Unavailable'
    - `negative_pledge` boolean — Whether this is a negative pledge
    - `confirmation_number` string, nullable
    - `loan_principal_amount_cents` integer, nullable — Loan principal amount in cents
    - `source` string, uri, nullable — Source URL for the lien data
    - `packet_number` string, nullable
    - `lien_termination` object, nullable — Lien termination details if terminated
    - `liability_cents` integer, nullable — Liability amount in cents
    - `alternative_designation` 'buyer_seller' | 'bailee_bailor' | 'consignee_consignor' | 'lessee_lessor' | 'licensee_licensor'
    - `status_category` 'active' | 'open' | 'closed' | 'terminated' | 'processing' | 'unknown', required — Categorized status of the lien
    - `owner_id` string, uuid, required — Polymorphic owner ID (typically business_id)
    - `owner_type` string, required — Polymorphic owner type (typically Business)
    - `filed_by_account` boolean, nullable — Whether the lien was filed by the account
    - `documents` TypeDocument[], required — Associated lien documents
      - `object` 'document', required
      - `id` string, uuid, required
      - `document_type` string, required — Type of document. Common values include: Initial_Filing, Certificate of Good Standing, Articles of Incorporation, Initial Filing (UCC1), Amendment (UCC3)
      - `filename` string, required — Name of the document file
      - `content_type` string, required — MIME type of the document
      - `size` integer, required — File size in bytes
      - `download_url` string, uri, required — URL to download the document
      - `created_at` string, date-time, required
      - `source` TypeDocumentSource
        - `type` string — Source type (e.g., registration)
        - `id` string, uuid — Source record ID
        - `metadata` object — Additional source metadata
      - `filing_date` string, date-time, nullable
      - `metadata` object — Additional document metadata
  - `names` TypeName[]
    - `object` string, required
    - `id` string, uuid, required
    - `name` string, required
    - `submitted` boolean, required
    - `type` 'legal' | 'dba'
    - `business_id` string, uuid, required
    - `sources` TypeSource[], required
      - `id` string, uuid, required
      - `type` string, required — Origin of the resource. `risk_analysis` indicates the resource was discovered by a Risk order; for such sources, `id` is the originating risk_assessment ID.
      - `metadata` object, required
  - `addresses` TypeAddress[]
    - `object` string, required
    - `id` string, uuid, required
    - `address_line1` string, nullable
    - `address_line2` string, nullable
    - `city` string, nullable
    - `state` 'AL' | 'AK' | 'AZ' | 'AR' | 'CA' | 'CO' | 'CT' | 'DE' | 'FL' | 'GA' | 'HI' | 'ID' | 'IL' | 'IN' | 'IA' | 'KS' | 'KY' | 'LA' | 'ME' | 'MD' | 'MA' | 'MI' | 'MN' | 'MS' | 'MO' | 'MT' | 'NE' | 'NV' | 'NH' | 'NJ' | 'NM' | 'NY' | 'NC' | 'ND' | 'OH' | 'OK' | 'OR' | 'PA' | 'RI' | 'SC' | 'SD' | 'TN' | 'TX' | 'UT' | 'VT' | 'VA' | 'WA' | 'WV' | 'WI' | 'WY'
    - `postal_code` string, nullable
    - `full_address` string, required
    - `submitted` boolean, required
    - `latitude` number, double, nullable
    - `longitude` number, double, nullable
    - `property_type` 'commercial' | 'residential'
    - `deliverable` boolean
    - `deliverability_analysis` TypeAddressDeliverabilityAnalysis
      - `message` string
      - `sub_type` 'Deliverable' | 'Undeliverable' | 'Unknown'
      - `sub_key` 'deliverable' | 'undeliverable' | 'unknown'
    - `street_view_available` boolean, nullable
    - `labels` string[]
    - `references` string[] — References submitted by the customer for this address. Only present when the customer submitted a reference; collapsed duplicate addresses include every submitted key.
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `registered_agent_name` string, nullable
    - `cmra` boolean
    - `business_id` string, uuid, required
    - `location_count` integer, nullable
    - `is_registered_agent` boolean, nullable
    - `sources` TypeSource[], required
      - `id` string, uuid, required
      - `type` string, required — Origin of the resource. `risk_analysis` indicates the resource was discovered by a Risk order; for such sources, `id` is the originating risk_assessment ID.
      - `metadata` object, required
    - `rating` TypeAddressRating, required
      - `indicators` TypeAddressIndicator[]
        - `type` 'valid_us_address' | 'deliverability' | 'geographical_location' | 'registered_agent' | 'private_mailbox' | 'location_frequency' | 'property_type' | 'virtual_address', required
        - `name` 'Valid US address' | 'Commercial registered agent' | 'Geographical location' | 'Private mailbox' | 'Virtual address' | 'Location frequency' | 'Deliverability' | 'Property type', required
        - `rating` 'positive' | 'negative' | 'neutral', required
        - `value` string, required
        - `description` string, required
      - `risk_rating` 'low' | 'moderate' | 'high' | 'not_available', required
  - `people` TypePerson[]
    - `object` 'person'
    - `id` string, uuid
    - `name` string
    - `submitted` boolean
    - `business_id` string, uuid
    - `titles` TypePersonTitlesItem[]
      - `object` 'person_title'
      - `title` string
    - `people_bankruptcies` object[]
    - `litigations` TypeLitigation[]
      - `object` string, required
      - `id` string, uuid, required
      - `case_name` string, required
      - `case_number` string, required
      - `case_status` 'OPEN' | 'CLOSED' | 'UNKNOWN', required
      - `case_type` string, required
      - `filing_date` string, date, required
      - `judgments` TypeJudgment[]
        - `id` string, uuid, required
        - `litigation_id` string, uuid, required
        - `docket_entry_date` string, date, required
        - `text` string, required
        - `amount_cents` integer, nullable — The judgment amount in cents. For example, 5000000 represents $50,000.00. Null if no monetary amount is associated with the judgment.
        - `created_at` string, date-time, required
        - `updated_at` string, date-time, required
      - `jurisdiction` string
      - `jurisdiction_state` string, nullable
      - `party_type` string, required
      - `parties` TypeLitigationPartiesItem[]
        - `id` string, uuid, required
        - `name` string, required
        - `role` 'Plaintiff' | 'Defendant' | 'Cross-Plaintiff' | 'Cross-Defendant', required
        - `litigation_id` string, uuid, required
        - `created_at` string, date-time
        - `updated_at` string, date-time
    - `liens` TypeLien[]
      - `object` 'lien', required
      - `type` 'ucc' | 'state' | 'federal' | 'attachment' | 'judgment', required — Type of lien
      - `id` string, uuid, required
      - `business_id` string, uuid, required
      - `debtors` TypeLienDebtorsItem[], required
        - `name` string
        - `type` 'ORGANIZATION' | 'INDIVIDUAL' | 'UNKNOWN' | 'Business'
        - `party_type` string
        - `organization_name` string
        - `entity_type` string
        - `first_name` string
        - `last_name` string
        - `addresses` TypeLienDebtorsItemAddressesItem[]
          - `full_address` string
          - `address_line1` string
          - `address_line2` string, nullable
          - `city` string
          - `state` string
          - `postal_code` string
      - `secured_parties` TypeLienSecuredPartiesItem[], required
        - `name` string
        - `type` 'ORGANIZATION' | 'INDIVIDUAL'
        - `role` string
        - `organization_name` string
        - `addresses` TypeLienSecuredPartiesItemAddressesItem[]
          - `full_address` string
          - `address_line1` string
          - `address_line2` string, nullable
          - `city` string
          - `state` string
          - `postal_code` string
      - `file_number` string, nullable, required — Filing number for the lien
      - `state` 'AL' | 'AK' | 'AZ' | 'AR' | 'CA' | 'CO' | 'CT' | 'DE' | 'FL' | 'GA' | 'HI' | 'ID' | 'IL' | 'IN' | 'IA' | 'KS' | 'KY' | 'LA' | 'ME' | 'MD' | 'MA' | 'MI' | 'MN' | 'MS' | 'MO' | 'MT' | 'NE' | 'NV' | 'NH' | 'NJ' | 'NM' | 'NY' | 'NC' | 'ND' | 'OH' | 'OK' | 'OR' | 'PA' | 'RI' | 'SC' | 'SD' | 'TN' | 'TX' | 'UT' | 'VT' | 'VA' | 'WA' | 'WV' | 'WI' | 'WY', required — State where the lien was filed
      - `status` 'created' | 'pending' | 'open' | 'closing' | 'closed' | 'unknown' | 'filed', required — Current status of the lien
      - `filing_date` string, date, nullable, required — Date the lien was filed
      - `updated_date` string, date, nullable — Date the lien was last updated
      - `lapse_date` string, date, nullable — Date the lien lapses/expires
      - `collateral` string, nullable — Description of collateral securing the lien
      - `collateral_type` 'Blanket' | 'Collateral' | 'Unknown' | 'All Assets and Receivables' | 'All Receivables' | 'All Assets' | 'Named Assets' | 'Unavailable'
      - `negative_pledge` boolean — Whether this is a negative pledge
      - `confirmation_number` string, nullable
      - `loan_principal_amount_cents` integer, nullable — Loan principal amount in cents
      - `source` string, uri, nullable — Source URL for the lien data
      - `packet_number` string, nullable
      - `lien_termination` object, nullable — Lien termination details if terminated
      - `liability_cents` integer, nullable — Liability amount in cents
      - `alternative_designation` 'buyer_seller' | 'bailee_bailor' | 'consignee_consignor' | 'lessee_lessor' | 'licensee_licensor'
      - `status_category` 'active' | 'open' | 'closed' | 'terminated' | 'processing' | 'unknown', required — Categorized status of the lien
      - `owner_id` string, uuid, required — Polymorphic owner ID (typically business_id)
      - `owner_type` string, required — Polymorphic owner type (typically Business)
      - `filed_by_account` boolean, nullable — Whether the lien was filed by the account
      - `documents` TypeDocument[], required — Associated lien documents
        - `object` 'document', required
        - `id` string, uuid, required
        - `document_type` string, required — Type of document. Common values include: Initial_Filing, Certificate of Good Standing, Articles of Incorporation, Initial Filing (UCC1), Amendment (UCC3)
        - `filename` string, required — Name of the document file
        - `content_type` string, required — MIME type of the document
        - `size` integer, required — File size in bytes
        - `download_url` string, uri, required — URL to download the document
        - `created_at` string, date-time, required
        - `source` TypeDocumentSource
          - `type` string — Source type (e.g., registration)
          - `id` string, uuid — Source record ID
          - `metadata` object — Additional source metadata
        - `filing_date` string, date-time, nullable
        - `metadata` object — Additional document metadata
    - `criminal_records` TypeCriminalHistoryRecord[]
      - `object` 'criminal_history/record', required
      - `id` string, uuid, required
      - `category` string, required
      - `state` string, nullable
      - `person` TypeCriminalHistoryRecordPerson
        - `dob` string, date, nullable
      - `cases` TypeCriminalHistoryCase[], required
        - `object` 'criminal_history/case', required
        - `arrest_date` string, date, nullable
        - `case_number` string, nullable
        - `case_type` string, nullable
        - `court_county` string, nullable
        - `court_name` string, nullable
        - `file_date` string, date, nullable
        - `status` string, nullable
        - `title` string, nullable
        - `arresting_agency` string, nullable
        - `charges` TypeCriminalHistoryCharge[], required
          - `object` 'criminal_history/charge', required
          - `category` string, nullable
          - `charge_type` string, nullable
          - `city` string, nullable
          - `county` string, nullable
          - `description` string, nullable
          - `dispositions` TypeCriminalHistoryChargeDispositionsItem[]
            - `disposition` string, nullable
            - `disposition_date` string, date, nullable
            - `disposition_type` string, nullable
          - `legal_code` string, nullable
          - `offense_date` string, date, nullable
          - `sentences` TypeCriminalHistoryChargeSentencesItem[], nullable
            - `details` string
          - `state` string, nullable
          - `subcategory` string, nullable
          - `subsubcategory` string, nullable
    - `sources` TypeSource[]
      - `id` string, uuid, required
      - `type` string, required — Origin of the resource. `risk_analysis` indicates the resource was discovered by a Risk order; for such sources, `id` is the originating risk_assessment ID.
      - `metadata` object, required
  - `phone_numbers` TypePhoneNumber[]
    - `object` 'phone_number'
    - `id` string, uuid — Unique identifier for the phone number resource.
    - `number` string
    - `contact_type` string, nullable
    - `recommended` boolean, nullable
  - `email_addresses` TypeEmailAddress[]
    - `object` 'email_address', required
    - `id` string, uuid, required
    - `email` string, required
    - `submitted` boolean, required
    - `sources` TypeSource[]
      - `id` string, uuid, required
      - `type` string, required — Origin of the resource. `risk_analysis` indicates the resource was discovered by a Risk order; for such sources, `id` is the originating risk_assessment ID.
      - `metadata` object, required
    - `domain` string — Domain portion of the email address. Included when email risk data is present.
    - `valid` boolean — Whether the email address is valid. Included when email risk data is present.
    - `deliverability` string — Likelihood that mail sent to this address will be delivered. Included when email risk data is present.
    - `disposable` boolean — Whether the email belongs to a disposable / temporary email service. Included when email risk data is present.
    - `address_type` 'disposable' | 'free' | 'private' — Classification of the email address. Included when email risk data is present.
    - `business_id` string, uuid — ID of the business the email address is associated with. Included when email risk data is present.
    - `domain_age` string, date-time, nullable — UTC datetime the email's domain was first registered. Included when email risk data is present.
    - `first_seen` string, date-time, nullable — UTC datetime the email was first observed by our data provider. Included when email risk data is present.
    - `rating` TypeEmailRating
      - `risk_rating` 'low' | 'moderate' | 'high', required
      - `indicators` TypeEmailIndicator[]
        - `type` 'email_validity' | 'email_deliverability' | 'email_domain_reputation' | 'email_domain_configuration' | 'email_account_activity' | 'email_data_breach_exposure' | 'email_address_type', required
        - `name` string, required
        - `rating` 'positive' | 'negative' | 'neutral', required
        - `value` string, required
        - `description` string, required
  - `profiles` TypeProfile[]
    - `object` string, required
    - `id` string, uuid, required
    - `type` 'facebook' | 'google' | 'yelp' | 'bbb' | 'linkedin', required
    - `external_id` string, nullable
    - `url` string, uri, required
    - `metadata` TypeProfileMetadata
      - `name` string
      - `city` string
      - `state` string
      - `full_address` string
      - `website_urls` string[]
      - `latitude` number, double
      - `longitude` number, double
      - `phone_number` string
      - `categories` string[]
      - `reviews` TypeProfileMetadataReviewsItem[]
        - `rating` number, double
        - `posted_at` string, date-time
      - `recent_posts` object[]
      - `recent_reviews` object[]
    - `rating` number, double, nullable
    - `rating_count` integer, nullable
  - `registrations` TypeRegistration[]
    - `object` string, required
    - `id` string, uuid, required
    - `business_id` string, uuid, required
    - `name` string, required
    - `status` string, required
    - `sub_status` string, nullable
    - `status_details` string, nullable
    - `jurisdiction` string, nullable, required — Indicates the relationship between the business and this jurisdiction. `DOMESTIC` or `FOREIGN` for US registrations; `HOME` or `EXTRA_PROVINCIAL` for Canada; `UNKNOWN` when undetermined; `null` for other international registrations.
    - `jurisdiction_details` TypeRegistrationJurisdictionDetails — The sub-national jurisdiction for international registrations. `null` for US registrations.
      - `name` string, nullable
      - `abbr` string, nullable
      - `authority` string, nullable — The registry authority for the jurisdiction.
    - `entity_type` string, nullable, required
    - `file_number` string, required
    - `country_code` string — `US` for domestic registrations, or an ISO 3166-1 alpha-2 code for international registrations (e.g., `FR`, `DE`, `GB`).
    - `addresses` string[]
    - `officers` object[]
    - `registered_agent` object, nullable
    - `registration_date` string, date, nullable
    - `state` 'AL' | 'AK' | 'AZ' | 'AR' | 'CA' | 'CO' | 'CT' | 'DE' | 'FL' | 'GA' | 'HI' | 'ID' | 'IL' | 'IN' | 'IA' | 'KS' | 'KY' | 'LA' | 'ME' | 'MD' | 'MA' | 'MI' | 'MN' | 'MS' | 'MO' | 'MT' | 'NE' | 'NV' | 'NH' | 'NJ' | 'NM' | 'NY' | 'NC' | 'ND' | 'OH' | 'OK' | 'OR' | 'PA' | 'RI' | 'SC' | 'SD' | 'TN' | 'TX' | 'UT' | 'VT' | 'VA' | 'WA' | 'WV' | 'WI' | 'WY', required — The US state for the registration. `null` for international registrations.
    - `source` string, uri, nullable
    - `submitted` boolean — `true` if you submitted the registration, `false` if Middesk sourced it.
  - `orders` TypeOrder[]
    - `object` string, required
    - `id` string, uuid, required
    - `status` 'created' | 'pending' | 'audited' | 'completed' | 'approved' | 'rejected', required
    - `business_id` string, uuid, required
    - `subproducts` TypeOrderSubproductsItem[]
    - `completed_at` string, date-time, nullable
    - `monitoring` boolean
    - `product` 'identity' | 'liens' | 'adverse_media' | 'bankruptcies' | 'business_enrichment' | 'documents' | 'enhanced_screenings' | 'kyc' | 'litigations' | 'people_litigations' | 'people_bankruptcies' | 'people_tax_liens' | 'people_ucc_liens' | 'people_criminal_history' | 'tin' | 'website' | 'business_verification_qualify' | 'business_verification_verify' | 'tax_liens' | 'ucc_liens' | 'email_risk', required
    - `requester` TypeOrderRequester
      - `name` string, nullable
      - `type` 'account' | 'user' | 'api_key'
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `industry_classification` TypeIndustryClassification
    - `object` 'industry_classification', required
    - `id` string, uuid, required
    - `status` 'pending' | 'completed' | 'failed', required
    - `categories` TypeIndustryClassificationCategoriesItem[], required
      - `classification_system` 'NAICS' | 'MCC' | 'Prohibited'
      - `name` string — Industry name
      - `sector` string, nullable — Industry sector in CONSTANT_CASE
      - `category` string — Industry category in CONSTANT_CASE
      - `score` number, double — Classification confidence score (0.0 to 1.0)
      - `high_risk` boolean — Whether this industry is considered high risk
      - `naics_codes` string[] — NAICS (2022) classification codes
      - `sic_codes` string[] — SIC classification codes
      - `mcc_codes` string[] — MCC classification codes
      - `prohibited_labels` string[], nullable — Prohibited classification labels if applicable
      - `risk_program_flags` TypeRiskProgramFlag[] — Card-network merchant-risk program flags (Mastercard SMRP, Visa VIRP) this category was flagged under. Present only on risk orders; omitted otherwise. Empty when the risk order flagged none.
        - `program` 'SMRP' | 'VIRP', required — The card-network merchant-risk program.
        - `program_category` string, required — The network listing category (e.g. `crypto`, `pharmacy`, `gambling`).
        - `tier` TypeRiskProgramFlagTier — VIRP tier severity. Present only for VIRP flags; absent for SMRP (which is untiered).
          - `level` integer, required — VIRP tier severity level.
          - `harm_type` 'health_safety' | 'financial' | 'regulatory_deceptive', required
    - `created_at` string, date-time, required
    - `completed_at` string, date-time, nullable
    - `website` TypeIndustryClassificationWebsite
      - `status` 'online' | 'offline' | 'unknown'
      - `parked` boolean
  - `monitor` TypeMonitor
    - `object` string, required
    - `id` string, uuid, required
    - `created_at` string, date-time, required
    - `event_types` TypeMonitorEventTypesItem[], required
      - `type` string
      - `enabled_at` string, date-time, nullable
      - `status` 'active' | 'unavailable' | 'pending'
  - `tax_exempt_organization` TypeTaxExemptOrganization
    - `object` string
    - `id` string, uuid
    - `ein` string
    - `name` string
    - `section` string, nullable
    - `ruling_date` string, date, nullable
    - `tax_period` string, date, nullable
    - `revoked_at` string, date-time, nullable
  - `fmcsa_registrations` TypeFmcsaRegistration[]
    - `object` 'fmcsa_registration', required
    - `id` string, uuid, required
    - `dot_number` string, required — Department of Transportation (DOT) number
    - `legal_name` string, required — Legal name of the carrier
    - `dba_name` string, nullable — Doing Business As name
    - `source` string, uri, required — Source URL for the FMCSA registration data
    - `addresses` string[], required — List of carrier addresses
  - `loans` TypeLoan[], nullable
    - `object` 'loan', required
    - `id` string, uuid, required
    - `issued_date` string, date, nullable
    - `amount` number, double, nullable
    - `lender` string, nullable
    - `details` TypeLoanDetails
      - `gender` string, nullable
      - `veteran` string, nullable
      - `naics_code` TypeLoanDetailsNaicsCode
        - `code` integer
        - `title` string
        - `description` string
      - `non_profit` string, nullable
      - `business_type` string, nullable
      - `jobs_reported` string, nullable
      - `race_ethnicity` string, nullable
  - `litigations` TypeLitigation[]
    - `object` string, required
    - `id` string, uuid, required
    - `case_name` string, required
    - `case_number` string, required
    - `case_status` 'OPEN' | 'CLOSED' | 'UNKNOWN', required
    - `case_type` string, required
    - `filing_date` string, date, required
    - `judgments` TypeJudgment[]
      - `id` string, uuid, required
      - `litigation_id` string, uuid, required
      - `docket_entry_date` string, date, required
      - `text` string, required
      - `amount_cents` integer, nullable — The judgment amount in cents. For example, 5000000 represents $50,000.00. Null if no monetary amount is associated with the judgment.
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
    - `jurisdiction` string
    - `jurisdiction_state` string, nullable
    - `party_type` string, required
    - `parties` TypeLitigationPartiesItem[]
      - `id` string, uuid, required
      - `name` string, required
      - `role` 'Plaintiff' | 'Defendant' | 'Cross-Plaintiff' | 'Cross-Defendant', required
      - `litigation_id` string, uuid, required
      - `created_at` string, date-time
      - `updated_at` string, date-time
  - `policy_results` TypePolicyResult[]
    - `object` string
    - `id` string — Policy result ID
    - `result` string — Policy result outcome
    - `created_at` string — Creation timestamp
    - `matched` string, nullable — Match status
    - `executed` boolean — Execution status
    - `name` string, nullable — Policy name
    - `details` object — Additional details
    - `owner_id` string — Owner ID
    - `owner_type` string — Owner type
    - `business_id` string — Business ID
    - `type_of` string — Type of policy result
    - `policy_action_results` TypePolicyActionResult[]
      - `object` string
      - `id` string — Policy action result ID
      - `details` object — Action details
      - `executed` boolean — Execution status
      - `policy_action` TypePolicyActionResultPolicyAction
        - `id` string — Policy action ID
        - `action_type` string — Type of action
        - `options` object — Action options
        - `policy_version_id` string — Policy version ID
  - `politically_exposed_person_screening` TypePoliticallyExposedPersonScreening
    - `object` string, required
    - `id` string, uuid, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `results` TypePoliticallyExposedPersonScreeningResultsItem[], required
      - `object` 'politically_exposed_person_screening_result'
      - `id` string, uuid
      - `aliases` string[]
      - `birth_name` string, nullable
      - `birth_place` string, nullable
      - `citizenship_country` string, nullable
      - `dob` string, nullable
      - `employers` string[]
      - `hit_type` 'direct' | 'direct_alias' | 'association'
      - `memberships` object[]
      - `name` string
      - `professional_history` string[]
      - `score` number, double
      - `source_urls` string[]
      - `stakeholders` object[]
    - `settings` TypePoliticallyExposedPersonScreeningSettings
      - `people` string
      - `match_score` 'LOW' | 'MEDIUM' | 'HIGH'
  - `adverse_media_screening` TypeAdverseMediaScreening
    - `object` string, required
    - `id` string, uuid, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `results` TypeAdverseMediaScreeningResultsItem[], required
      - `object` 'adverse_media_screening_result'
      - `id` string, uuid
      - `risk_scores` object
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `match_score` number, double
      - `items` TypeAdverseMediaScreeningResultsItemItemsItem[]
        - `object` 'adverse_media_item'
        - `source_name` string
        - `title` string
        - `url` string, uri
        - `flags` TypeAdverseMediaScreeningResultsItemItemsItemFlags
          - `risks` TypeAdverseMediaScreeningResultsItemItemsItemFlagsRisksItem[]
            - `name` string
            - `confidence_level` 'low' | 'moderate' | 'high'
          - `sentiments` TypeAdverseMediaScreeningResultsItemItemsItemFlagsSentimentsItem[]
            - `name` 'positive' | 'negative' | 'neutral'
            - `confidence_level` 'low' | 'moderate' | 'high'
        - `created_at` string, date-time
        - `updated_at` string, date-time
    - `exclusion_settings` TypeAdverseMediaScreeningExclusionSettings
      - `criteria_match_threshold` number, double
      - `max_people_screened` integer
      - `max_names_screened` integer
      - `people` object[]
  - `signal` TypeSignal
    - `object` string, required
    - `id` string, uuid, required
    - `name` string, required
    - `tin` string, nullable
    - `external_id` string, nullable
    - `model_slug` string
    - `score` number, double, nullable
    - `business_id` string, uuid, nullable
    - `batch_id` string, uuid, nullable
    - `requester` TypeSignalRequester
      - `id` string, uuid, required
      - `type` string, required
      - `name` string, required
    - `reasons` TypeSignalReasonsItem[]
      - `category` 'identification' | 'verification' | 'evaluation', required
      - `group` string, required
      - `description` string, required
      - `code` 'I301' | 'I302' | 'I304' | 'I102' | 'I103' | 'I107' | 'I108' | 'I109' | 'I111' | 'I601' | 'I603' | 'I201' | 'I202' | 'I203' | 'I204' | 'V010' | 'V011' | 'V101' | 'V102' | 'V103' | 'V104' | 'V501' | 'V502' | 'V503' | 'V505' | 'V748' | 'V749' | 'V750' | 'V751' | 'V752' | 'V753' | 'V801' | 'V1101' | 'V1201' | 'V1302' | 'E500' | 'E501' | 'E502' | 'E503' | 'E1101' | 'E1102' | 'E1201', required
      - `importance` number, double
    - `addresses` string[]
    - `people` string[]
    - `created_at` string, date-time, required
  - `submitted` TypeSubmittedAttribute
    - `object` string, required
    - `name` string, required
    - `name_derived` boolean
    - `entity_type` string, nullable
    - `addresses` object[]
    - `orders` TypeSubmittedAttributeOrdersItem[], nullable
      - `product` string
    - `people` object[]
    - `phone_numbers` object[], nullable
    - `email_addresses` object[], nullable
    - `tags` string[], nullable
    - `external_id` string, nullable
    - `unique_external_id` string, nullable
    - `tin` object, nullable
    - `website` object, nullable
    - `assignee_id` string, nullable
    - `formation` object, nullable
    - `names` object[], nullable
    - `profiles` object[], nullable
  - `subscription` TypeSubscription
    - `object` string
    - `id` string, uuid
  - `subscription_availability` TypeBusinessSubscriptionAvailability
    - `bankruptcy` 'subscribable' | 'account_unsubscribable'
    - `certification` 'subscribable' | 'account_unsubscribable'
    - `registration` 'subscribable' | 'account_unsubscribable'
    - `tin` 'subscribable' | 'account_unsubscribable'
    - `watchlist_result` 'subscribable' | 'account_unsubscribable'
    - `lien` 'subscribable' | 'account_unsubscribable'
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422` — invalid request
- `429` — Sandbox fixed one-minute account business-creation limit exceeded
- `503` — Sandbox business creation rate limit service unavailable

---

[API](https://skmtc.net/middesk/apis/middesk-api.md) · [All operations](https://skmtc.net/middesk/apis/middesk-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/middesk/middesk-api/revisions/015f33b27f13/schema)
