BUMIT · Schema

BusinessVerificationResponse

CompanyTrustVerificationSwiss

Properties

Name Type Description
status object
contract object
request object
resolution object
result object
checks array
coverage object
next_actions array Deterministic guidance derived only from resolution and checks, in fixed code order, no duplicates. Never changes outcome, never selects a UID, never a risk score or payment-safety signal. REQUIRES_DI
freshness object Keyed by capability.
warnings array
pass_semantics object
caller_identity_used object
persisted_request_data object
disclaimers object
meta object
View JSON Schema on GitHub

JSON Schema

bumit-ai-business-verification-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/bumit-ai/json-schema/bumit-ai-business-verification-response-schema.json",
  "title": "BusinessVerificationResponse",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/bumit-ai-v1-openapi.json#/components/schemas/BusinessVerificationResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "status",
    "contract",
    "request",
    "resolution",
    "result",
    "checks",
    "coverage",
    "next_actions",
    "freshness",
    "warnings",
    "pass_semantics",
    "caller_identity_used",
    "persisted_request_data",
    "disclaimers"
  ],
  "properties": {
    "status": {
      "const": "OK"
    },
    "contract": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "version",
        "ruleset_version",
        "profile_id",
        "profile_version",
        "evaluation_context",
        "outcome_vocabulary",
        "resolution_vocabulary"
      ],
      "properties": {
        "id": {
          "const": "BUMIT_BUSINESS_VERIFICATION"
        },
        "version": {
          "const": "1.1.0"
        },
        "ruleset_version": {
          "type": "string"
        },
        "profile_id": {
          "type": "string"
        },
        "profile_version": {
          "type": "string"
        },
        "evaluation_context": {
          "type": "string",
          "enum": [
            "PRODUCTION",
            "FIXTURE_TEST"
          ]
        },
        "outcome_vocabulary": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "VERIFIED",
              "NOT_VERIFIED",
              "NOT_FOUND",
              "AMBIGUOUS",
              "REVIEW_REQUIRED",
              "UNAVAILABLE",
              "UNSUPPORTED",
              "NOT_REQUESTED"
            ]
          }
        },
        "resolution_vocabulary": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "RESOLVED",
              "NOT_FOUND",
              "AMBIGUOUS",
              "UNAVAILABLE",
              "UNSUPPORTED"
            ]
          }
        }
      }
    },
    "request": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "supplied",
        "normalized_uid"
      ],
      "properties": {
        "supplied": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "uid",
            "name",
            "address"
          ],
          "properties": {
            "uid": {
              "type": "boolean"
            },
            "name": {
              "type": "boolean"
            },
            "address": {
              "type": "boolean"
            }
          }
        },
        "normalized_uid": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "resolution": {
      "$ref": "#/$defs/BusinessResolution"
    },
    "result": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "outcome",
        "reason_code",
        "required_capabilities",
        "blocking_capabilities",
        "derivation",
        "weighted_score_used",
        "probabilistic_decision_used",
        "fuzzy_matching_used",
        "llm_used"
      ],
      "properties": {
        "outcome": {
          "type": "string",
          "enum": [
            "VERIFIED",
            "NOT_VERIFIED",
            "REVIEW_REQUIRED",
            "UNAVAILABLE",
            "NOT_FOUND",
            "AMBIGUOUS",
            "UNSUPPORTED"
          ],
          "x-agent-guidance": {
            "VERIFIED": "Only the defined BUMIT required checks passed. Does not establish general trustworthiness, safety to transact or complete KYB.",
            "NOT_VERIFIED": "One or more required verification conditions failed; see result.blocking_capabilities and checks[].reason_code.",
            "REVIEW_REQUIRED": "Treat as neither VERIFIED nor NOT_VERIFIED. Inspect the blocking checks' unresolved or adverse evidence (e.g. a possible sanctions name candidate) before acting.",
            "UNAVAILABLE": "Required evidence could not currently support a conclusion. Not a negative result; retrying later may help (see checks[] and freshness).",
            "NOT_FOUND": "The business could not be resolved: the UID lookup found no company, or the register name search returned no candidate. Not proof that the business does not exist.",
            "AMBIGUOUS": "The name did not identify exactly one company (resolution.reason_code MULTIPLE_EXACT_NAME_MATCHES or NAME_CANDIDATES_REQUIRE_SELECTION). Do not silently select a candidate: inspect resolution.candidates, select the intended legal entity using your available context (or ask the user), then resubmit verifyBusiness with the selected candidate's uid. Candidates are register search results, not verified identities; candidates_truncated=true means more existed.",
            "UNSUPPORTED": "The supplied input combination cannot resolve a business (e.g. address only). Supply a UID or a name."
          }
        },
        "reason_code": {
          "type": "string",
          "enum": [
            "SOURCE_NOT_CONFIGURED",
            "SOURCE_UNAVAILABLE",
            "COMPANY_NOT_FOUND",
            "REGISTER_SEARCH_UNAVAILABLE",
            "NO_EXACT_NAME_MATCH",
            "MULTIPLE_EXACT_NAME_MATCHES",
            "NAME_CANDIDATES_REQUIRE_SELECTION",
            "CANDIDATE_UID_UNUSABLE",
            "ADDRESS_ONLY_RESOLUTION_NOT_SUPPORTED",
            "REQUIRED_CHECK_NOT_VERIFIED",
            "REQUIRED_CHECK_REVIEW",
            "REQUIRED_CHECK_UNAVAILABLE",
            "ALL_REQUIRED_CHECKS_VERIFIED"
          ]
        },
        "required_capabilities": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "REGISTRY_EXISTENCE",
              "REGISTER_STATUS",
              "NAME_MATCH",
              "SANCTIONS_CHECK",
              "FINMA_AUTHORISATION_CHECK",
              "FINMA_WARNING_CHECK",
              "VAT_VERIFY",
              "ADDRESS_VERIFY",
              "LEI_LOOKUP"
            ]
          }
        },
        "blocking_capabilities": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "REGISTRY_EXISTENCE",
              "REGISTER_STATUS",
              "NAME_MATCH",
              "SANCTIONS_CHECK",
              "FINMA_AUTHORISATION_CHECK",
              "FINMA_WARNING_CHECK",
              "VAT_VERIFY",
              "ADDRESS_VERIFY",
              "LEI_LOOKUP"
            ]
          }
        },
        "derivation": {
          "const": "DETERMINISTIC_REQUIRED_CHECKS"
        },
        "weighted_score_used": {
          "const": false
        },
        "probabilistic_decision_used": {
          "const": false
        },
        "fuzzy_matching_used": {
          "const": false
        },
        "llm_used": {
          "const": false
        }
      }
    },
    "checks": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/BusinessCheck"
      }
    },
    "coverage": {
      "$ref": "#/$defs/VerificationCoverage"
    },
    "next_actions": {
      "type": "array",
      "description": "Deterministic guidance derived only from resolution and checks, in fixed code order, no duplicates. Never changes outcome, never selects a UID, never a risk score or payment-safety signal. REQUIRES_DISAMBIGUATION: name not resolved to one identity, choose explicitly. RESUBMIT_WITH_UID: candidates carry UIDs, resubmit with the intended uid. SOURCE_UNAVAILABLE_RETRY_LATER: a supported source was unavailable for a required conclusion. CAPABILITY_NOT_SUPPORTED: a requested capability has no production support (retrying will not help). IDENTITY_BINDING_UNVERIFIED: the result does not show the counterparty controls this legal identity. REQUIRED_CHECK_REVIEW: a required check is NOT_VERIFIED or REVIEW_REQUIRED, inspect checks[].",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "code",
          "capabilities"
        ],
        "properties": {
          "code": {
            "type": "string",
            "enum": [
              "REQUIRES_DISAMBIGUATION",
              "RESUBMIT_WITH_UID",
              "SOURCE_UNAVAILABLE_RETRY_LATER",
              "CAPABILITY_NOT_SUPPORTED",
              "IDENTITY_BINDING_UNVERIFIED",
              "REQUIRED_CHECK_REVIEW"
            ]
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "REGISTRY_EXISTENCE",
                "REGISTER_STATUS",
                "NAME_MATCH",
                "SANCTIONS_CHECK",
                "FINMA_AUTHORISATION_CHECK",
                "FINMA_WARNING_CHECK",
                "VAT_VERIFY",
                "ADDRESS_VERIFY",
                "LEI_LOOKUP"
              ]
            }
          }
        }
      }
    },
    "freshness": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/Freshness"
      },
      "description": "Keyed by capability."
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        }
      }
    },
    "pass_semantics": {
      "type": "object"
    },
    "caller_identity_used": {
      "const": false
    },
    "persisted_request_data": {
      "const": false
    },
    "disclaimers": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "zefix",
        "seco",
        "finma"
      ],
      "properties": {
        "zefix": {},
        "seco": {},
        "finma": {}
      }
    },
    "meta": {
      "$ref": "#/$defs/Meta"
    }
  },
  "$defs": {
    "BusinessCheck": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "capability",
        "requirement",
        "outcome",
        "reason_code",
        "source_state",
        "source_reason_codes",
        "sources",
        "data_basis",
        "provenance",
        "freshness",
        "freshness_mode",
        "semantic_boundary"
      ],
      "properties": {
        "capability": {
          "type": "string",
          "enum": [
            "REGISTRY_EXISTENCE",
            "REGISTER_STATUS",
            "NAME_MATCH",
            "SANCTIONS_CHECK",
            "FINMA_AUTHORISATION_CHECK",
            "FINMA_WARNING_CHECK",
            "VAT_VERIFY",
            "ADDRESS_VERIFY",
            "LEI_LOOKUP"
          ]
        },
        "requirement": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "NOT_REQUIRED"
          ],
          "description": "Only REQUIRED checks determine result.outcome."
        },
        "outcome": {
          "type": "string",
          "enum": [
            "VERIFIED",
            "NOT_VERIFIED",
            "NOT_FOUND",
            "AMBIGUOUS",
            "REVIEW_REQUIRED",
            "UNAVAILABLE",
            "UNSUPPORTED",
            "NOT_REQUESTED"
          ]
        },
        "reason_code": {
          "type": "string",
          "description": "Stable machine code from the underlying layer (see components.schemas.ReasonCode and the layer-specific codes documented on each capability)."
        },
        "source_state": {
          "type": [
            "string",
            "null"
          ]
        },
        "source_reason_codes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "data_basis": {
          "type": "string",
          "enum": [
            "LIVE_SOURCE_CACHE_FIRST",
            "PRODUCTION_ACCEPTED_BASELINE",
            "SYNTHETIC_FIXTURE",
            "NONE"
          ]
        },
        "provenance": {
          "type": [
            "object",
            "null"
          ]
        },
        "freshness": {
          "oneOf": [
            {
              "$ref": "#/$defs/Freshness"
            },
            {
              "type": "null"
            }
          ]
        },
        "freshness_mode": {
          "type": "string",
          "enum": [
            "LIVE",
            "REGISTER_CACHE",
            "STORED_DATASET",
            "FIXTURE",
            "NONE"
          ],
          "description": "How this check's evidence was obtained. LIVE = successful source call during this request; REGISTER_CACHE = BUMIT's stored register copy; STORED_DATASET = accepted operator-ingested dataset (SECO/FINMA; never a live lookup); FIXTURE = synthetic test data; NONE = no evidence. Projection of data_basis and freshness; never changes outcome."
        },
        "semantic_boundary": {
          "type": "string"
        }
      }
    },
    "BusinessResolution": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "outcome",
        "method",
        "reason_code",
        "business",
        "candidate_count",
        "candidates_truncated",
        "candidates"
      ],
      "properties": {
        "outcome": {
          "type": "string",
          "enum": [
            "RESOLVED",
            "NOT_FOUND",
            "AMBIGUOUS",
            "UNAVAILABLE",
            "UNSUPPORTED"
          ]
        },
        "method": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "UID",
            "EXACT_NAME",
            "EXACT_NAME_AND_LOCALITY",
            null
          ]
        },
        "reason_code": {
          "type": "string",
          "enum": [
            "RESOLVED_BY_UID",
            "RESOLVED_BY_UNIQUE_EXACT_NAME",
            "SOURCE_NOT_CONFIGURED",
            "SOURCE_UNAVAILABLE",
            "COMPANY_NOT_FOUND",
            "REGISTER_SEARCH_UNAVAILABLE",
            "NO_EXACT_NAME_MATCH",
            "MULTIPLE_EXACT_NAME_MATCHES",
            "NAME_CANDIDATES_REQUIRE_SELECTION",
            "CANDIDATE_UID_UNUSABLE",
            "ADDRESS_ONLY_RESOLUTION_NOT_SUPPORTED"
          ]
        },
        "business": {
          "oneOf": [
            {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "uid",
                "legal_name",
                "legal_form",
                "legal_status",
                "seat",
                "canton"
              ],
              "properties": {
                "uid": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "legal_name": {
                  "type": "string"
                },
                "legal_form": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "legal_status": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "seat": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "canton": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            },
            {
              "type": "null"
            }
          ]
        },
        "candidate_count": {
          "type": "integer",
          "minimum": 0,
          "description": "Number of entries in candidates (after the response bound)."
        },
        "candidates_truncated": {
          "type": "boolean",
          "description": "True when the register search returned more distinct candidates than this response carries. Candidates are never claimed to be exhaustive."
        },
        "candidates": {
          "type": "array",
          "maxItems": 50,
          "description": "AMBIGUOUS company candidates from the commercial-register search, deduplicated by UID and ordered deterministically (uid, legal_name, seat, canton). Discovery only — never auto-selected and not verified; resubmit with a selected uid. match_type is a deterministic label, not a score: EXACT_NAME = legal_name equals the requested name after BUMIT's company-name normalization; RELATED_NAME = returned by register discovery without an exact normalized match.",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "uid",
              "legal_name",
              "seat",
              "canton",
              "match_type",
              "legal_status"
            ],
            "properties": {
              "uid": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "legal_name": {
                "type": "string"
              },
              "seat": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "canton": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "match_type": {
                "type": "string",
                "enum": [
                  "EXACT_NAME",
                  "RELATED_NAME"
                ],
                "description": "EXACT_NAME or RELATED_NAME (see candidates). Never a confidence or ranking."
              },
              "legal_status": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "ACTIVE",
                  "BEING_CANCELLED",
                  "CANCELLED",
                  null
                ],
                "description": "Status as reported by the commercial register (Zefix) in the search result; null when not reported. Not a BUMIT verification and never used for selection."
              }
            }
          }
        }
      }
    },
    "CoverageEntry": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "capability",
        "requirement",
        "outcome",
        "reason_code"
      ],
      "properties": {
        "capability": {
          "type": "string",
          "enum": [
            "REGISTRY_EXISTENCE",
            "REGISTER_STATUS",
            "NAME_MATCH",
            "SANCTIONS_CHECK",
            "FINMA_AUTHORISATION_CHECK",
            "FINMA_WARNING_CHECK",
            "VAT_VERIFY",
            "ADDRESS_VERIFY",
            "LEI_LOOKUP"
          ]
        },
        "requirement": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "NOT_REQUIRED"
          ]
        },
        "outcome": {
          "type": "string",
          "enum": [
            "VERIFIED",
            "NOT_VERIFIED",
            "NOT_FOUND",
            "AMBIGUOUS",
            "REVIEW_REQUIRED",
            "UNAVAILABLE",
            "UNSUPPORTED",
            "NOT_REQUESTED"
          ]
        },
        "reason_code": {
          "type": "string"
        }
      }
    },
    "Freshness": {
      "type": "object",
      "required": [
        "observed_at",
        "stale",
        "served_from_cache",
        "source_state",
        "upstream_status"
      ],
      "description": "Cached evidence is never reported as LIVE.",
      "properties": {
        "observed_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "retrieved_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "description": "Set only when this response came from a successful upstream call."
        },
        "source_timestamp": {
          "type": [
            "string",
            "null"
          ]
        },
        "age_seconds": {
          "type": [
            "integer",
            "null"
          ]
        },
        "max_age_hours": {
          "type": [
            "integer",
            "null"
          ]
        },
        "stale": {
          "type": "boolean"
        },
        "served_from_cache": {
          "type": "boolean"
        },
        "source_state": {
          "$ref": "#/$defs/SourceState"
        },
        "upstream_status": {
          "$ref": "#/$defs/UpstreamStatus"
        },
        "reason_code": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReasonCode"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "Meta": {
      "type": "object",
      "required": [
        "service",
        "api_version",
        "trace_id",
        "generated_at"
      ],
      "properties": {
        "service": {
          "type": "string"
        },
        "api_version": {
          "type": "string"
        },
        "trace_id": {
          "type": "string",
          "format": "uuid"
        },
        "generated_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "ReasonCode": {
      "type": "string",
      "enum": [
        "INVALID_UID",
        "COMPANY_NOT_FOUND",
        "SOURCE_NOT_CONFIGURED",
        "SOURCE_UNAVAILABLE",
        "SOURCE_TIMEOUT",
        "SOURCE_RATE_LIMITED",
        "STALE_EVIDENCE",
        "INSUFFICIENT_EVIDENCE",
        "CAPABILITY_NOT_SUPPORTED",
        "CAPABILITY_NOT_AVAILABLE",
        "AUTHENTICATION_REQUIRED",
        "ACCESS_DENIED",
        "RATE_LIMITED",
        "UPSTREAM_DEGRADED",
        "INTERNAL_ERROR",
        "BAD_REQUEST",
        "PARTIAL_COVERAGE",
        "SANCTIONS_NO_DIRECT_MATCH",
        "SANCTIONS_POSSIBLE_MATCH",
        "SANCTIONS_CONFIRMED_MATCH",
        "SANCTIONS_DATA_UNAVAILABLE",
        "SANCTIONS_DATA_STALE",
        "SANCTIONS_SCHEMA_UNSUPPORTED",
        "SANCTIONS_CHECK_INCOMPLETE",
        "FINMA_LIST_UID_MATCH",
        "FINMA_LIST_UID_NOT_FOUND",
        "FINMA_LIST_UID_UNUSABLE",
        "FINMA_AUTHORISATION_DATA_UNAVAILABLE",
        "FINMA_AUTHORISATION_DATA_STALE",
        "FINMA_AUTHORISATION_DATA_INVALID",
        "FINMA_AUTHORISATION_CHECK_INCOMPLETE",
        "FINMA_WARNING_NO_DIRECT_MATCH",
        "FINMA_WARNING_POSSIBLE_MATCH",
        "FINMA_WARNING_DATA_UNAVAILABLE",
        "FINMA_WARNING_DATA_STALE",
        "FINMA_WARNING_DATA_INVALID",
        "FINMA_WARNING_CHECK_INCOMPLETE",
        "LEI_RECORD_FOUND",
        "LEI_RECORD_NOT_FOUND",
        "LEI_MULTIPLE_RECORDS",
        "LEI_LINKAGE_IDENTIFIER_UNUSABLE",
        "LEI_DATA_UNAVAILABLE",
        "LEI_DATA_INVALID",
        "LEI_DATA_STALE",
        "LEI_LOOKUP_INCOMPLETE",
        "VAT_ACTIVE_REGISTRATION",
        "VAT_INACTIVE_REGISTRATION",
        "VAT_NO_REGISTRATION",
        "VAT_STATUS_UNRECOGNISED",
        "VAT_EVIDENCE_CONTRADICTORY",
        "VAT_RECORD_NOT_FOUND",
        "VAT_MULTIPLE_SOURCE_RECORDS",
        "VAT_SUBJECT_UID_UNUSABLE",
        "VAT_DATA_UNAVAILABLE",
        "VAT_DATA_INVALID",
        "VAT_DATA_STALE",
        "VAT_CHECK_INCOMPLETE",
        "ADDRESS_OFFICIAL_MATCH",
        "ADDRESS_PLANNED_MATCH",
        "ADDRESS_OUTDATED_MATCH",
        "ADDRESS_NOT_FOUND",
        "ADDRESS_MULTIPLE_MATCHES",
        "ADDRESS_QUERY_UNUSABLE",
        "ADDRESS_STATUS_MISSING",
        "ADDRESS_STATUS_UNRECOGNISED",
        "ADDRESS_OFFICIAL_FLAG_NOT_SET",
        "ADDRESS_EVIDENCE_CONTRADICTORY",
        "ADDRESS_DATA_UNAVAILABLE",
        "ADDRESS_DATA_INVALID",
        "ADDRESS_DATA_STALE",
        "ADDRESS_CHECK_INCOMPLETE",
        "MANDATORY_CHECK_FAILED",
        "MANDATORY_CHECK_REVIEW",
        "MANDATORY_CHECK_UNKNOWN",
        "VERIFICATION_PROFILE_SATISFIED"
      ],
      "description": "Stable machine-readable reason identifier.",
      "x-active": [
        "INVALID_UID",
        "COMPANY_NOT_FOUND",
        "SOURCE_NOT_CONFIGURED",
        "SOURCE_UNAVAILABLE",
        "SOURCE_TIMEOUT",
        "SOURCE_RATE_LIMITED",
        "STALE_EVIDENCE",
        "INSUFFICIENT_EVIDENCE",
        "CAPABILITY_NOT_AVAILABLE",
        "AUTHENTICATION_REQUIRED",
        "ACCESS_DENIED",
        "UPSTREAM_DEGRADED",
        "INTERNAL_ERROR",
        "BAD_REQUEST",
        "PARTIAL_COVERAGE",
        "SANCTIONS_NO_DIRECT_MATCH",
        "SANCTIONS_POSSIBLE_MATCH",
        "SANCTIONS_DATA_UNAVAILABLE",
        "SANCTIONS_DATA_STALE",
        "SANCTIONS_SCHEMA_UNSUPPORTED",
        "SANCTIONS_CHECK_INCOMPLETE",
        "FINMA_LIST_UID_MATCH",
        "FINMA_LIST_UID_NOT_FOUND",
        "FINMA_LIST_UID_UNUSABLE",
        "FINMA_AUTHORISATION_DATA_UNAVAILABLE",
        "FINMA_AUTHORISATION_DATA_STALE",
        "FINMA_AUTHORISATION_DATA_INVALID",
        "FINMA_AUTHORISATION_CHECK_INCOMPLETE",
        "FINMA_WARNING_NO_DIRECT_MATCH",
        "FINMA_WARNING_POSSIBLE_MATCH",
        "FINMA_WARNING_DATA_UNAVAILABLE",
        "FINMA_WARNING_DATA_STALE",
        "FINMA_WARNING_DATA_INVALID",
        "FINMA_WARNING_CHECK_INCOMPLETE",
        "LEI_RECORD_FOUND",
        "LEI_RECORD_NOT_FOUND",
        "LEI_MULTIPLE_RECORDS",
        "LEI_LINKAGE_IDENTIFIER_UNUSABLE",
        "LEI_DATA_UNAVAILABLE",
        "LEI_DATA_INVALID",
        "LEI_DATA_STALE",
        "LEI_LOOKUP_INCOMPLETE",
        "VAT_ACTIVE_REGISTRATION",
        "VAT_INACTIVE_REGISTRATION",
        "VAT_NO_REGISTRATION",
        "VAT_STATUS_UNRECOGNISED",
        "VAT_EVIDENCE_CONTRADICTORY",
        "VAT_RECORD_NOT_FOUND",
        "VAT_MULTIPLE_SOURCE_RECORDS",
        "VAT_SUBJECT_UID_UNUSABLE",
        "VAT_DATA_UNAVAILABLE",
        "VAT_DATA_INVALID",
        "VAT_DATA_STALE",
        "VAT_CHECK_INCOMPLETE",
        "ADDRESS_OFFICIAL_MATCH",
        "ADDRESS_PLANNED_MATCH",
        "ADDRESS_OUTDATED_MATCH",
        "ADDRESS_NOT_FOUND",
        "ADDRESS_MULTIPLE_MATCHES",
        "ADDRESS_QUERY_UNUSABLE",
        "ADDRESS_STATUS_MISSING",
        "ADDRESS_STATUS_UNRECOGNISED",
        "ADDRESS_OFFICIAL_FLAG_NOT_SET",
        "ADDRESS_EVIDENCE_CONTRADICTORY",
        "ADDRESS_DATA_UNAVAILABLE",
        "ADDRESS_DATA_INVALID",
        "ADDRESS_DATA_STALE",
        "ADDRESS_CHECK_INCOMPLETE",
        "MANDATORY_CHECK_FAILED",
        "MANDATORY_CHECK_REVIEW",
        "MANDATORY_CHECK_UNKNOWN",
        "VERIFICATION_PROFILE_SATISFIED"
      ]
    },
    "SourceState": {
      "type": "string",
      "enum": [
        "LIVE",
        "CACHED",
        "STALE",
        "DEGRADED",
        "UNAVAILABLE"
      ]
    },
    "UpstreamStatus": {
      "type": "string",
      "enum": [
        "AVAILABLE",
        "NOT_CHECKED",
        "DEGRADED",
        "UNAVAILABLE",
        "NOT_CONFIGURED"
      ],
      "description": "Current upstream condition. NOT_CHECKED means this request was served cache-first and never contacted the source, so no availability claim is made; it is not a failure. Pair it with upstream_checked: false and source_state: CACHED."
    },
    "VerificationCoverage": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "derivation",
        "performed",
        "not_performed"
      ],
      "description": "Deterministic projection of `checks` (canonical check order preserved); `checks` remains authoritative. `performed` lists capabilities BUMIT actually evaluated — this does NOT mean the result was favourable (NOT_VERIFIED, NOT_FOUND or REVIEW_REQUIRED are performed checks). `not_performed` lists capabilities that were UNSUPPORTED, UNAVAILABLE or NOT_REQUESTED; each entry keeps its actual outcome and reason_code. Empty lists when the business was not resolved.",
      "properties": {
        "derivation": {
          "const": "PROJECTION_OF_CHECKS"
        },
        "performed": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CoverageEntry"
          }
        },
        "not_performed": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CoverageEntry"
          }
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/bumit-ai-business-verification-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.