Verify Business
Verify customer-provided business data against Canadian business registry records.
Fetches fresh registry data, performs field-level matching with configurable thresholds, and returns structured results with an AI-generated analyst summary.
What gets verified:
- Legal name — normalized comparison (strips corporate suffixes like Inc., Corp., Ltd.)
- Registration number — normalized similarity match with configurable threshold (strips formatting and jurisdiction prefixes)
- Address — per-field fuzzy matching (optional)
- People — name and role matching against registry directors/officers (enabled by default)
Matching thresholds are governed by your account’s verification settings; a per-request
matching object overrides them. Out of the box (no custom settings), legal name, address, and
people default to 0.95 (fuzzy) and registration number to 1.0 (exact). A threshold of 1.0
requires an exact (normalized) match; lower values allow proportionally fuzzier matches.
Synchronous vs asynchronous: when a fresh registry lookup is required this endpoint
responds with 202 Accepted and a reportFetchId — poll
GET /verify/{id} until it returns the completed VerifyResponse. When a recent cached
registry report is available the result is returned synchronously with 200 OK.
Always branch on the HTTP status (or the presence of pending: true) rather than assuming 200.
Typical response time: 20-40 seconds (registry lookup is the bottleneck)
Authorizations
API key as Bearer token: Authorization: Bearer cur_live_xxxxx
Body
- Option 1
- Option 2
- Option 3
Supply the identity fields directly, or reference one of your stored business records by businessId (our id) or businessExternalId (your own id on the record) — its legal name, jurisdiction, registration number (and address / people) are hydrated from that record. Any field you also supply in the request overrides the record for this verification only; the stored record is never modified.
Legal name of the business to verify. Required unless businessId or businessExternalId is provided.
"Shopify Inc."
Canadian jurisdiction code (AB, BC, MB, NB, NL, NS, NT, NU, ON, PE, QC, SK, YT, FED) or full name (e.g. "Ontario", "British Columbia", "Federal"). Required unless businessId or businessExternalId is provided.
"ON"
Business registration number assigned by the provincial or federal registry. Required unless businessId or businessExternalId is provided.
"2033076"
Verify one of your existing business records. When provided, legalName / jurisdiction / registrationNumber (and address / people) become optional and are taken from the record. Must reference a business owned by your tenant, otherwise the request fails with 404 NOT_FOUND. If the record is missing a required identity field the request fails with 400.
Reference a stored business record by your own id on it (its external_id) instead of businessId — same behavior. Unknown id → 404 NOT_FOUND (never creates a business). If both businessId and businessExternalId are supplied they must point at the same record, otherwise 400. (Distinct from externalId, which is result metadata, not a lookup.)
Address fields to verify against the registry. All fields are optional — only provided fields are compared.
People to verify against registry directors/officers. People matching is enabled by default; set matching.people.enabled: false to skip it.
Your own reference id for this verification (e.g. a CRM record id). Recorded as metadata on the verification RESULT so you can find verifications by your own identifiers. This is NOT a business lookup and never modifies the business record — to reference a stored business by your own id, use businessExternalId.
"ref_1Nxxx"
Per-request overrides for your account's verification settings. The default shown on each field is the out-of-the-box value used when you haven't customized your account settings and omit the field here.