Skip to content

Developer documentation

Integrate deterministic Swiss business verification.

REST and JSON under /api/v1. Start with the generated OpenAPI document; this page explains how to interpret its contract.

Getting started

Use a structurally valid Swiss UID. The production base URL is deployment-specific; all API paths are versioned.

GET /api/v1/company/CHE-000.000.000/verify

Endpoints

Company search
GET /api/v1/company/search?q={name}
Company lookup
GET /api/v1/company/{uid}
Company verification
GET /api/v1/company/{uid}/verify
Registry events
GET /api/v1/company/{uid}/events
Sanctions capability
GET /api/v1/company/{uid}/sanctions

Source-specific fixture-only paths remain documented but unavailable for production use. See capabilities.

Decision semantics

PASS
REVIEW
FAIL
UNKNOWN

Every applicable mandatory check of the configured verification profile obtained sufficient usable evidence and none produced REVIEW or FAIL. PASS does not mean safe to transact, complete KYB, legal approval, risk-free, ownership/control screened, or signatory authority confirmed.

Profile: SWISS_BUSINESS_BASELINE_V1 / 1.0.0. Mandatory: existence, active status, direct sanctions screening. Optional evidence cannot compensate for mandatory UNKNOWN.

Freshness and provenance

Claims distinguish SOURCE_FACT, NORMALIZED, DERIVED, INFERRED, and UNAVAILABLE. Responses expose source, observation time, freshness, evidence class, and ruleset version. The deterministic baseline uses no inference.

Capability availability

SUPPORTED means BUMIT implements the contract. AVAILABLE means this deployment can serve it using configured operational evidence. NOT_AVAILABLE means it cannot currently be served. FIXTURE_ONLY means deterministic test support exists but production evidence does not.

Errors and reason codes

Machines should branch on stable reason_code values, never mutable message prose. Errors identify whether retrying may succeed and never expose internal exception details.

INVALID_UIDCOMPANY_NOT_FOUNDSOURCE_NOT_CONFIGUREDSOURCE_UNAVAILABLESOURCE_TIMEOUTSOURCE_RATE_LIMITEDSTALE_EVIDENCEINSUFFICIENT_EVIDENCECAPABILITY_NOT_AVAILABLEAUTHENTICATION_REQUIREDACCESS_DENIEDUPSTREAM_DEGRADED