Skip to main content
Business verification lets you confirm that a customer’s business details match official Canadian registry records. Submit the data you have and get back field-level match results with an AI analyst summary.

How it works

  1. You submit business details (legal name, jurisdiction, registration number, and optionally address and people)
  2. The API fetches fresh data from the relevant provincial or federal business registry
  3. Each field is compared against the registry data with configurable similarity thresholds
  4. An AI analyst summary is generated for compliance review
Verification typically takes 20-40 seconds. The business registry lookup is the bottleneck.

Request

curl -X POST https://api.getcurrent.ca/v1/verify \
  -H "Authorization: Bearer cur_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "legalName": "Shopify Inc.",
    "jurisdiction": "ON",
    "registrationNumber": "2033076"
  }'

Required fields

FieldTypeDescription
legalNamestringLegal name of the business to verify
jurisdictionstringCanadian jurisdiction code or full name
registrationNumberstringRegistration number from the provincial/federal registry

Optional fields

FieldTypeDescription
addressobjectAddress to verify (street, city, province, postalCode, country)
peoplearrayPeople to verify (each with name and role). Disabled by default — set matching.people.enabled: true to activate.
externalIdstringYour internal ID for this business (e.g. CRM record ID). Stored for cross-reference.
matchingobjectPer-field threshold overrides (see below)

Jurisdictions

Accepts codes or full names: AB, BC, MB, NB, NL, NS, NT, NU, ON, PE, QC, SK, YT, FED (or “Ontario”, “British Columbia”, “Federal”, etc.)

Matching thresholds

All thresholds default to 1.0 (exact match). Lower values enable fuzzy matching.
{
  "matching": {
    "legalName": { "threshold": 0.85 },
    "registrationNumber": { "threshold": 1.0 },
    "address": { "threshold": 0.85 },
    "people": {
      "enabled": true,
      "threshold": 0.85,
      "impactsVerification": false,
      "requiredMatchLevel": "all_matched"
    },
    "normalization": { "enabled": true }
  }
}
When normalization.enabled is true (the default), values are normalized before comparison — corporate suffixes are stripped, abbreviations expanded, postal codes standardized, etc. Set to false for strict character-for-character comparison.

Response

{
  "meta": {
    "verificationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "verifiedAt": "2024-01-15T10:30:00Z",
    "duration": 24318,
    "submitted": { ... },
    "matching": { ... }
  },
  "results": {
    "status": "verified",
    "fields": {
      "legalName": {
        "status": "matched",
        "score": 0.95,
        "provided": "Shopify Inc.",
        "registry": "SHOPIFY INC."
      },
      "registrationNumber": {
        "status": "matched",
        "score": 1.0,
        "provided": "2033076",
        "registry": "2033076"
      },
      "address": null,
      "people": null
    },
    "analystSummary": "The business name and registration number match..."
  },
  "registryData": {
    "legalName": "SHOPIFY INC.",
    "registrationNumber": "2033076",
    "jurisdiction": "Ontario",
    "status": "Active",
    "addresses": [ ... ],
    "people": [ ... ]
  }
}

Result status

StatusMeaning
verifiedAll checked fields meet their thresholds
not_verifiedOne or more fields failed their threshold check

Field match status

StatusMeaning
matchedScore meets or exceeds the threshold
not_matchedScore is below the threshold

People matching

People verification is disabled by default. Enable it with matching.people.enabled: true. When enabled, each submitted person is compared against registry directors/officers. The people result includes a unified matches array containing both submitted and registry-only people:
  • Submitted people not found in the registry have registry: null
  • Registry people not in your submitted list have provided: null
Set impactsVerification: true to make people results affect the overall status.

Common patterns

Verify with address

{
  "legalName": "Shopify Inc.",
  "jurisdiction": "ON",
  "registrationNumber": "2033076",
  "address": {
    "street": "150 Elgin St",
    "city": "Ottawa",
    "province": "Ontario",
    "postalCode": "K2P 1L4"
  },
  "matching": {
    "legalName": { "threshold": 0.85 },
    "address": { "threshold": 0.80 }
  }
}

Verify with people

{
  "legalName": "Shopify Inc.",
  "jurisdiction": "ON",
  "registrationNumber": "2033076",
  "people": [
    { "name": "Tobias Lutke", "role": "Director" }
  ],
  "matching": {
    "people": {
      "enabled": true,
      "threshold": 0.85,
      "impactsVerification": true
    }
  }
}