{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/bumit-ai/json-schema/bumit-ai-company-result-schema.json",
  "title": "CompanyResult",
  "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/CompanyResult",
  "type": "object",
  "required": [
    "status",
    "company",
    "provenance",
    "freshness",
    "attribution",
    "disclaimer"
  ],
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "OK"
      ]
    },
    "company": {
      "$ref": "#/$defs/Company"
    },
    "provenance": {
      "$ref": "#/$defs/Provenance"
    },
    "attribution": {
      "$ref": "#/$defs/Attribution"
    },
    "bumit_derived_values": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/DerivedValue"
      }
    },
    "disclaimer": {
      "$ref": "#/$defs/Disclaimer"
    },
    "freshness": {
      "$ref": "#/$defs/Freshness"
    },
    "meta": {
      "$ref": "#/$defs/Meta"
    }
  },
  "$defs": {
    "Address": {
      "type": "object",
      "properties": {
        "street": {
          "type": [
            "string",
            "null"
          ]
        },
        "house_number": {
          "type": [
            "string",
            "null"
          ]
        },
        "address_addon": {
          "type": [
            "string",
            "null"
          ]
        },
        "po_box": {
          "type": [
            "string",
            "null"
          ]
        },
        "postcode": {
          "type": [
            "string",
            "null"
          ]
        },
        "city": {
          "type": [
            "string",
            "null"
          ]
        },
        "canton": {
          "type": [
            "string",
            "null"
          ]
        },
        "country": {
          "type": "string"
        }
      }
    },
    "Attribution": {
      "type": "object",
      "required": [
        "source",
        "retrieved_at",
        "legal_effect",
        "guaranteed"
      ],
      "description": "Source attribution for Zefix-derived facts. Zefix data has no legal effect and is provided without guarantee.",
      "properties": {
        "source": {
          "type": "string",
          "enum": [
            "ZEFIX"
          ]
        },
        "source_label": {
          "type": "string"
        },
        "source_reference": {
          "type": "string"
        },
        "source_record_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "source_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "retrieved_at": {
          "type": "string",
          "format": "date-time"
        },
        "source_timestamp": {
          "type": [
            "string",
            "null"
          ]
        },
        "legal_effect": {
          "type": "boolean",
          "enum": [
            false
          ]
        },
        "guaranteed": {
          "type": "boolean",
          "enum": [
            false
          ]
        },
        "notices": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "Company": {
      "type": "object",
      "required": [
        "legal_name",
        "normalized_name",
        "provenance",
        "not_provided_by_source"
      ],
      "properties": {
        "uid": {
          "type": [
            "string",
            "null"
          ]
        },
        "ehraid": {
          "type": [
            "integer",
            "null"
          ]
        },
        "chid": {
          "type": [
            "string",
            "null"
          ]
        },
        "legal_name": {
          "type": "string"
        },
        "normalized_name": {
          "type": "string"
        },
        "translations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "names": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "normalized_name": {
                "type": "string"
              },
              "is_current": {
                "type": "boolean"
              },
              "sequence_nr": {
                "type": [
                  "integer",
                  "null"
                ]
              }
            }
          }
        },
        "legal_form": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "id": {
              "type": [
                "integer",
                "null"
              ]
            },
            "code": {
              "type": [
                "string",
                "null"
              ]
            },
            "name": {
              "type": [
                "string",
                "null"
              ]
            },
            "short_name": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        },
        "legal_status": {
          "$ref": "#/$defs/LegalStatus"
        },
        "seat": {
          "type": [
            "string",
            "null"
          ]
        },
        "canton": {
          "type": [
            "string",
            "null"
          ]
        },
        "address": {
          "anyOf": [
            {
              "$ref": "#/$defs/Address"
            },
            {
              "type": "null"
            }
          ]
        },
        "purpose": {
          "type": [
            "string",
            "null"
          ]
        },
        "capital_nominal": {
          "type": [
            "string",
            "null"
          ]
        },
        "capital_currency": {
          "type": [
            "string",
            "null"
          ]
        },
        "incorporation_date": {
          "type": [
            "string",
            "null"
          ],
          "description": "Not published by Zefix; always null in this phase."
        },
        "deletion_date": {
          "type": [
            "string",
            "null"
          ]
        },
        "last_sogc_date": {
          "type": [
            "string",
            "null"
          ]
        },
        "people": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "Not published by Zefix; empty in this phase."
        },
        "relationships": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string"
              },
              "uid": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "ehraid": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        },
        "not_provided_by_source": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "provenance": {
          "$ref": "#/$defs/Provenance"
        }
      }
    },
    "DerivedValue": {
      "type": "object",
      "required": [
        "field",
        "source",
        "source_value",
        "bumit_derived_value",
        "modified"
      ],
      "description": "A value BUMIT derived from Zefix data. Not a Zefix-published field.",
      "properties": {
        "field": {
          "type": "string"
        },
        "source": {
          "type": "string",
          "enum": [
            "ZEFIX"
          ]
        },
        "source_value": {},
        "bumit_derived_value": {},
        "modified": {
          "type": "boolean",
          "enum": [
            true
          ]
        },
        "derivation": {
          "type": "string"
        }
      }
    },
    "Disclaimer": {
      "type": "object",
      "required": [
        "legal_effect",
        "source_guarantees_data",
        "statement"
      ],
      "properties": {
        "legal_effect": {
          "type": "boolean",
          "enum": [
            false
          ]
        },
        "source_guarantees_data": {
          "type": "boolean",
          "enum": [
            false
          ]
        },
        "bumit_derived_fields_present": {
          "type": "boolean"
        },
        "statement": {
          "type": "string"
        },
        "notices": {
          "type": "array",
          "items": {
            "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"
            }
          ]
        }
      }
    },
    "LegalStatus": {
      "type": "string",
      "enum": [
        "ACTIVE",
        "BEING_CANCELLED",
        "CANCELLED"
      ]
    },
    "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"
        }
      }
    },
    "Provenance": {
      "type": "object",
      "required": [
        "source",
        "observed_at"
      ],
      "properties": {
        "source": {
          "type": "string",
          "enum": [
            "ZEFIX"
          ]
        },
        "source_record_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "source_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "observed_at": {
          "type": "string",
          "format": "date-time"
        },
        "source_hash": {
          "type": "string"
        },
        "source_timestamp": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "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."
    }
  }
}