// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../core/resource'; import * as CompanyAPI from './company'; import * as InsolvencyAPI from './insolvency'; import * as SearchAPI from './search'; import { APIPromise } from '../core/api-promise'; import { RequestOptions } from '../internal/request-options'; import { path } from '../internal/utils/path'; export class Company extends APIResource { /** * Get company contact information */ getContactV0(companyID: string, options?: RequestOptions): APIPromise { return this._client.get(path`/v0/company/${companyID}/contact`, options); } /** * Get detailed company information */ getDetailsV1( companyID: string, query: CompanyGetDetailsV1Params | null | undefined = {}, options?: RequestOptions, ): APIPromise { return this._client.get(path`/v1/company/${companyID}`, { query, ...options }); } /** * Get financial reports */ getFinancialsV1(companyID: string, options?: RequestOptions): APIPromise { return this._client.get(path`/v1/company/${companyID}/financials`, options); } /** * Get historical owner changes */ getHistoricalOwnersV1( companyID: string, options?: RequestOptions, ): APIPromise { return this._client.get(path`/v1/company/${companyID}/owners/historical`, options); } /** * Get company holdings */ getHoldingsV1(companyID: string, options?: RequestOptions): APIPromise { return this._client.get(path`/v1/company/${companyID}/holdings`, options); } /** * Get company owners */ getOwnersV1( companyID: string, query: CompanyGetOwnersV1Params | null | undefined = {}, options?: RequestOptions, ): APIPromise { return this._client.get(path`/v1/company/${companyID}/owners`, { query, ...options }); } /** * Get company end owners */ getUbosV1(companyID: string, options?: RequestOptions): APIPromise { return this._client.get(path`/v1/company/${companyID}/ubo`, options); } } export interface CompanyAddress { /** * City or locality name. Example: "Berlin" */ city: string; /** * Country name. Example: "Germany" */ country: string; /** * Complete address formatted as a single string. Example: "Musterstraße 1, 10117 * Berlin, Germany" */ formatted_value: string; /** * Date when this address became effective. Format: ISO 8601 (YYYY-MM-DD) Example: * "2022-01-01" */ start_date: string; /** * Additional address information such as c/o or attention line. Example: "c/o Max * Mustermann" */ extra?: string; /** * Postal or ZIP code. Example: "10117" */ postal_code?: string; /** * Street name and number. Example: "Musterstraße 1" */ street?: string; } export interface CompanyCapital { /** * Capital amount as a decimal number. Example: 100000.00 represents 100,000.00 * monetary units */ amount: number; /** * Currency code for the capital amount. Example: "EUR" for Euro */ currency: 'EUR' | 'DEM' | 'USD'; /** * Date when this capital amount became effective. Format: ISO 8601 (YYYY-MM-DD) * Example: "2023-01-01" */ start_date: string; } export interface CompanyDocument { /** * Unique identifier for the document. Example: * "f47ac10b-58cc-4372-a567-0e02b2c3d479" */ id: string; /** * Document publication or filing date. Format: ISO 8601 (YYYY-MM-DD) Example: * "2022-01-01" */ date: string; /** * Whether this is the latest version of the document_type. */ latest: boolean; /** * Categorization of the document: * * - articles_of_association: Company statutes/bylaws * - sample_protocol: Standard founding protocol * - shareholder_list: List of company shareholders */ type: 'articles_of_association' | 'sample_protocol' | 'shareholder_list'; } export interface CompanyName { /** * Legal form of the company at this point in time. Example: "gmbh" for * Gesellschaft mit beschränkter Haftung */ legal_form: SearchAPI.CompanyLegalForm; /** * Official company name including any legal form designations. Example: "Descartes * Technologies UG (haftungsbeschränkt)" */ name: string; /** * Date when this name became effective. Format: ISO 8601 (YYYY-MM-DD) Example: * "2022-01-01" */ start_date: string; } export interface CompanyOwnerLegalPerson { city: string | null; /** * Country where the owner is located, in ISO 3166-1 alpha-2 format. Example: "DE" * for Germany */ country: string; name: string; } export interface CompanyOwnerNaturalPerson { city: string; country: string; date_of_birth: string | null; first_name: string; full_name: string; last_name: string; } export interface CompanyPurpose { /** * Official description of the company's business activities and objectives. This * is the registered purpose as stated in official documents. */ purpose: string; /** * Date when this purpose became effective. Format: ISO 8601 (YYYY-MM-DD) Example: * "2022-01-01" */ start_date: string; } export interface CompanyRegister { /** * Court where the company is registered. Example: "Berlin (Charlottenburg)" */ register_court: string; /** * Registration number in the company register. Example: "230633" */ register_number: string; /** * Type of register where the company is recorded. Example: "HRB" (Commercial * Register B) */ register_type: SearchAPI.CompanyRegisterType; /** * Unique company identifier. Example: DE-HRB-F1103-267645 */ company_id?: string; /** * Date when this registration information became effective. Format: ISO 8601 * (YYYY-MM-DD) Example: "2022-01-01" */ start_date?: string; } export type CompanyRelationType = 'shareholder' | 'stockholder' | 'limited_partner' | 'general_partner'; export type EntityType = 'natural_person' | 'legal_person'; /** * Report row with values from multiple report periods */ export interface MergedReportRow { children: Array; formatted_name: string; name: string; /** * Report end date to value mapping (ISO date string as key) */ values: { [key: string]: number }; } /** * Report table with data merged across multiple report periods */ export interface MergedReportTable { rows: Array; } export interface ReportRow { children: Array; current_value: number | null; formatted_name: string; name: string; previous_value: number | null; } export interface ReportTable { rows: Array; } export type RepresentationRole = | 'DIRECTOR' | 'PROKURA' | 'SHAREHOLDER' | 'OWNER' | 'PARTNER' | 'PERSONAL_LIABLE_DIRECTOR' | 'LIQUIDATOR' | 'OTHER'; export interface Source { /** * Url of the source document. In the form of a presigned url accessible for 30 * minutes. */ document_url: string; } export interface CompanyGetContactV0Response { /** * Where the contact information was found. Example: "https://openregister.de" */ source_url: string; /** * Company contact email address. Example: "founders@openregister.de" */ email?: string; /** * Company phone number. Example: "+49 030 12345678" */ phone?: string; /** * Value Added Tax identification number. (Umsatzsteuer-Identifikationsnummer) * Example: "DE370146530" */ vat_id?: string; } export interface CompanyGetDetailsV1Response { /** * Unique company identifier. Example: DE-HRB-F1103-267645 */ id: string; /** * Companies that were merged into this company (Verschmelzung durch Aufnahme, as * the acquiring entity). */ acquisitions: Array; /** * Current registered address of the company. */ address: CompanyAddress; /** * Historical addresses. Shows how the company address changed over time. */ addresses: Array; /** * Spin-offs (Ausgliederung, § 123 Abs. 3 UmwG) in which this company transferred * assets to another company as the transferring entity. */ asset_spin_offs: Array; /** * Current registered capital of the company. */ capital: CompanyCapital | null; /** * Historical capital changes. Shows how the company capital changed over time. */ capitals: Array; /** * Contact information of the company. */ contact: CompanyGetDetailsV1Response.Contact | null; /** * Available official documents related to the company. */ documents: Array; /** * Date when the company was officially registered. Format: ISO 8601 (YYYY-MM-DD) * Example: "2022-01-01" */ incorporated_at: string; /** * Key company indicators like net income, employee count, revenue, etc.. */ indicators: Array; /** * Industry codes of the company. */ industry_codes: CompanyGetDetailsV1Response.IndustryCodes; /** * Legal form of the company. Example: "gmbh" for Gesellschaft mit beschränkter * Haftung */ legal_form: SearchAPI.CompanyLegalForm; /** * If the company ceased to exist through a merger (Verschmelzung), the company it * was merged into. */ merged_into: CompanyGetDetailsV1Response.MergedInto | null; /** * Current official name of the company. */ name: CompanyName; /** * Historical company names. Shows how the company name changed over time. */ names: Array; /** * Date of the notarized company agreement (Gesellschaftsvertrag or Satzung). * Format: ISO 8601 (YYYY-MM-DD) Example: "2021-12-21" */ notarized_at: string | null; /** * The company's current profit and loss transfer agreement * (Gewinnabführungsvertrag), if one exists. The referenced company is the parent * receiving this company's profit (Organträger). Null if the company has no active * agreement. */ profit_transfer_agreement: CompanyGetDetailsV1Response.ProfitTransferAgreement | null; /** * Current official business purpose of the company. */ purpose: CompanyPurpose | null; /** * Historical business purposes. Shows how the company purpose changed over time. */ purposes: Array; /** * Current registration information of the company. */ register: CompanyRegister; /** * Historical registration changes. Shows how registration details changed over * time. */ registers: Array; /** * List of individuals or entities authorized to represent the company. Includes * directors, officers, and authorized signatories. */ representation: Array; /** * The company's current general representation rule (allgemeine * Vertretungsregelung), as published in the register. Example: "Ist nur ein * Geschäftsführer bestellt, so vertritt er die Gesellschaft allein. Sind mehrere * Geschäftsführer bestellt, so wird die Gesellschaft durch zwei Geschäftsführer * oder durch einen Geschäftsführer gemeinsam mit einem Prokuristen vertreten." */ representation_rule: string | null; /** * Sources of the company data. */ sources: Array; /** * Current status of the company: * * - active: Operating normally * - inactive: No longer operating * - liquidation: In the process of being dissolved */ status: 'active' | 'inactive' | 'liquidation'; /** * Date when the company was officially terminated (if applicable). Format: ISO * 8601 (YYYY-MM-DD) Example: "2024-01-01" */ terminated_at: string | null; /** * Insolvency proceedings of the company, if any. Contains basic information per * proceeding; use the insolvency endpoint to retrieve all events of a proceeding. */ insolvencies?: Array; /** * Legal Entity Identifier (LEI), if available. */ lei?: string; } export namespace CompanyGetDetailsV1Response { export interface Acquisition { /** * Date the underlying contract (Verschmelzungsvertrag) was concluded, as cited in * the register entry. Null when the register text does not cite a contract date. * Entries sharing an agreement_date belong to the same transaction. Format: ISO * 8601 (YYYY-MM-DD) */ agreement_date: string | null; /** * Unique company identifier of the company that was merged into this company. * Example: DE-HRB-F1103-267645 */ company_id: string; /** * Current name of the company that was merged into this company. */ name: string; /** * Date the merger was registered. Format: ISO 8601 (YYYY-MM-DD) */ registration_date: string; } export interface AssetSpinOff { /** * Date the underlying contract (Ausgliederungsvertrag) was concluded, as cited in * the register entry. Null when the register text does not cite a contract date. * Entries sharing an agreement_date belong to the same transaction. Format: ISO * 8601 (YYYY-MM-DD) */ agreement_date: string | null; /** * Unique company identifier of the company that received the assets. Example: * DE-HRB-F1103-267645 */ company_id: string; /** * Current name of the company that received the assets. */ name: string; /** * Date the spin-off was registered. Format: ISO 8601 (YYYY-MM-DD) */ registration_date: string; } /** * Contact information of the company. */ export interface Contact { social_media: Contact.SocialMedia; website_url: string; email?: string; phone?: string; vat_id?: string; } export namespace Contact { export interface SocialMedia { facebook?: string; github?: string; instagram?: string; linkedin?: string; tiktok?: string; twitter?: string; xing?: string; youtube?: string; } } /** * A focused subset of the key company indicators for a given year. Values of the * indicator are given in the smallest currency unit (cents). Example: 2099 * represents €20.99 for monetary values. For non-monetary values (e.g., * employees), the actual number. */ export interface Indicator { /** * The balance sheet total of that year (in cents). */ balance_sheet_total: number | null; /** * The capital reserves of that year (in cents). */ capital_reserves: number | null; /** * The cash of that year (in cents). */ cash: number | null; /** * Date to which this financial indicators apply. Format: ISO 8601 (YYYY-MM-DD) * Example: "2022-01-01" */ date: string; /** * The number of employees of that year. */ employees: number | null; /** * The equity of that year (in cents). */ equity: number | null; /** * The liabilities of that year (in cents). */ liabilities: number | null; /** * The materials of that year (in cents). */ materials: number | null; /** * The net income of that year (in cents). */ net_income: number | null; /** * The pension provisions of that year (in cents). */ pension_provisions: number | null; /** * The real estate of that year (in cents). */ real_estate: number | null; /** * The report id (source) of the indicators. */ report_id: string; /** * The revenue of that year (in cents). */ revenue: number | null; /** * The salaries of that year (in cents). */ salaries: number | null; /** * The taxes of that year (in cents). */ taxes: number | null; } /** * Industry codes of the company. */ export interface IndustryCodes { WZ2025: Array; } export namespace IndustryCodes { /** * Industry codes from WZ 2025. */ export interface Wz2025 { code: string; } } /** * If the company ceased to exist through a merger (Verschmelzung), the company it * was merged into. */ export interface MergedInto { /** * Date the underlying contract (Verschmelzungsvertrag) was concluded, as cited in * the register entry. Null when the register text does not cite a contract date. * Entries sharing an agreement_date belong to the same transaction. Format: ISO * 8601 (YYYY-MM-DD) */ agreement_date: string | null; /** * Unique company identifier of the company this company was merged into. Example: * DE-HRB-F1103-267645 */ company_id: string; /** * Current name of the company this company was merged into. */ name: string; /** * Date the merger was registered. Format: ISO 8601 (YYYY-MM-DD) */ registration_date: string; } /** * The company's current profit and loss transfer agreement * (Gewinnabführungsvertrag), if one exists. The referenced company is the parent * receiving this company's profit (Organträger). Null if the company has no active * agreement. */ export interface ProfitTransferAgreement { /** * Date the underlying contract (Gewinnabführungsvertrag) was concluded, as cited * in the register entry. Null when the register text does not cite a contract * date. Entries sharing an agreement_date belong to the same transaction. Format: * ISO 8601 (YYYY-MM-DD) */ agreement_date: string | null; /** * Unique company identifier of the parent company receiving this company's profit * (Organträger). Example: DE-HRB-F1103-267645 */ company_id: string; /** * Current name of the parent company. */ name: string; /** * Date the agreement was registered. Format: ISO 8601 (YYYY-MM-DD) */ registration_date: string; } export interface Representation { /** * Unique identifier for the representative. For companies: Format matches * company_id pattern For individuals: UUID Example: "DE-HRB-F1103-267645" or UUID * May be null for certain representatives. */ id: string | null; /** * The representative's current individual representation authority (individuelle * Vertretungsbefugnis), as published in the register. Null if no special authority * is recorded. Example: "einzelvertretungsberechtigt mit der Befugnis, im Namen * der Gesellschaft mit sich im eigenen Namen Rechtsgeschäfte abzuschließen" */ authority: string | null; /** * Date when this representative role ended (if applicable). Format: ISO 8601 * (YYYY-MM-DD) Example: "2022-01-01" */ end_date: string | null; /** * The name of the representative. E.g. "Max Mustermann" or "Max Mustermann GmbH" */ name: string; /** * The role of the representation. E.g. "DIRECTOR" */ role: CompanyAPI.RepresentationRole; /** * Date when this representative role became effective. Format: ISO 8601 * (YYYY-MM-DD) Example: "2022-01-01" */ start_date: string; /** * Whether the representation is a natural person or a legal entity. */ type: CompanyAPI.EntityType; legal_person?: Representation.LegalPerson | null; natural_person?: Representation.NaturalPerson | null; } export namespace Representation { export interface LegalPerson { city: string | null; /** * Country where the representative is located, in ISO 3166-1 alpha-2 format. * Example: "DE" for Germany */ country: string; name: string; } export interface NaturalPerson { /** * City where the representative is located. Example: "Berlin" */ city: string | null; /** * Date of birth of the representative. May still be null for natural persons if it * is not available. Format: ISO 8601 (YYYY-MM-DD) Example: "1990-01-01" */ date_of_birth: string | null; /** * First name of the representative. Example: "Max" */ first_name: string | null; /** * Last name of the representative. Example: "Mustermann" */ last_name: string | null; } } /** * Basic information about an insolvency proceeding of the company. Use the * insolvency endpoint to retrieve all events of the proceeding. */ export interface Insolvency { /** * Unique identifier of the insolvency proceeding. */ id: string; /** * Case number of the proceeding at the court. Example: "36d IN 3382/25" */ case_number: string; /** * Insolvency court handling the proceeding. */ court: string; /** * Current status of the insolvency proceeding. */ current_status: InsolvencyAPI.InsolvencyStatus; /** * Kind of administration ordered for the proceeding. */ administration_kind?: InsolvencyAPI.InsolvencyAdministrationKind | null; /** * Date the proceeding was closed. Format: ISO 8601 (YYYY-MM-DD) */ closed_at?: string | null; /** * Date the proceeding was opened. Format: ISO 8601 (YYYY-MM-DD) */ opened_at?: string | null; /** * Kind of insolvency proceeding. */ proceeding_kind?: InsolvencyAPI.InsolvencyProceedingKind | null; } } export interface CompanyGetFinancialsV1Response { /** * Key financial indicators per fiscal year, sorted by date (latest first). */ indicators: Array; /** * Financial data merged across all available report periods */ merged: CompanyGetFinancialsV1Response.Merged | null; reports: Array; } export namespace CompanyGetFinancialsV1Response { /** * The indicators of the company for a given year. Values of the indicator are * given in the smallest currency unit (cents). Example: 2099 represents €20.99 for * monetary values For non-monetary values (e.g., employees), the actual number. */ export interface Indicator { /** * The active accruals of that year (in cents). */ active_accruals: number | null; /** * The affiliated liabilities of that year (in cents). */ affiliated_liabilities: number | null; /** * The balance sheet total of that year (in cents). */ balance_sheet_total: number | null; /** * The bank debt of that year (in cents). */ bank_debt: number | null; /** * The capital reserves of that year (in cents). */ capital_reserves: number | null; /** * The cash of that year (in cents). */ cash: number | null; /** * Commission expense (Provisionsaufwendungen) of that year (in cents). */ commission_expense: number | null; /** * Commission income (Provisionserträge) of that year (in cents). */ commission_income: number | null; /** * The current assets of that year (in cents). */ current_assets: number | null; /** * Date to which this financial indicators apply. Format: ISO 8601 (YYYY-MM-DD) * Example: "2022-01-01" */ date: string; /** * The earnings before interest and taxes of that year (in cents). */ ebit: number | null; /** * The earnings before interest, taxes, depreciation, and amortization of that year * (in cents). */ ebitda: number | null; /** * The number of employees of that year. */ employees: number | null; /** * The equity of that year (in cents). */ equity: number | null; /** * The financial assets of that year (in cents). */ financial_assets: number | null; /** * The financial debt of that year (in cents). */ financial_debt: number | null; /** * The signed financial asset depreciation, write-down, or reversal of that year * (in cents). */ financial_depreciation: number | null; /** * The fixed assets of that year (in cents). */ fixed_assets: number | null; /** * The gross profit (Rohergebnis) of that year (in cents). */ gross_profit: number | null; /** * The income after income taxes of that year (in cents). */ income_after_tax: number | null; /** * The income before income taxes of that year (in cents). */ income_before_tax: number | null; /** * The intangible assets of that year (in cents). */ intangible_assets: number | null; /** * The interest expense of that year (in cents). */ interest_expense: number | null; /** * The interest income of that year (in cents). */ interest_income: number | null; /** * The inventory of that year (in cents). */ inventory: number | null; /** * The liabilities of that year (in cents). */ liabilities: number | null; /** * The materials of that year (in cents). */ materials: number | null; /** * The net income of that year (in cents). */ net_income: number | null; /** * The operating depreciation and amortization of that year (in cents). */ operating_depreciation: number | null; /** * The other liabilities of that year (in cents). */ other_liabilities: number | null; /** * The other operating expenses of that year (in cents). */ other_operating_expenses: number | null; /** * The other operating income of that year (in cents). */ other_operating_income: number | null; /** * The other provisions of that year (in cents). */ other_provisions: number | null; /** * Other taxes (Sonstige Steuern) of that year (in cents). */ other_taxes: number | null; /** * The parent-attributed net income of that year (in cents). */ parent_net_income: number | null; /** * The passive accruals of that year (in cents). */ passive_accruals: number | null; /** * The pension provisions of that year (in cents). */ pension_provisions: number | null; /** * The profit carryforward of that year (in cents). */ profit_carryforward: number | null; /** * The provisions of that year (in cents). */ provisions: number | null; /** * The real estate of that year (in cents). */ real_estate: number | null; /** * The receivables of that year (in cents). */ receivables: number | null; /** * The report id (source) of the indicators. */ report_id: string; /** * The retained earnings of that year (in cents). */ retained_earnings: number | null; /** * The revenue of that year (in cents). */ revenue: number | null; /** * The salaries of that year (in cents). */ salaries: number | null; /** * The shareholder liabilities of that year (in cents). */ shareholder_liabilities: number | null; /** * The tangible assets of that year (in cents). */ tangible_assets: number | null; /** * The taxes of that year (in cents). */ taxes: number | null; /** * The trade payables of that year (in cents). */ trade_payables: number | null; /** * The trade receivables of that year (in cents). */ trade_receivables: number | null; } /** * Financial data merged across all available report periods */ export interface Merged { /** * Report table with data merged across multiple report periods */ aktiva: CompanyAPI.MergedReportTable; /** * Report table with data merged across multiple report periods */ passiva: CompanyAPI.MergedReportTable; /** * Report table with data merged across multiple report periods */ guv?: CompanyAPI.MergedReportTable; } export interface Report { aktiva: CompanyAPI.ReportTable; /** * Whether the report is a consolidated report or not. */ consolidated: boolean; passiva: CompanyAPI.ReportTable; /** * Format: ISO 8601 (YYYY-MM-DD) */ report_end_date: string; /** * Unique identifier for the financial report. Example: * f47ac10b-58cc-4372-a567-0e02b2c3d479 */ report_id: string; /** * Format: ISO 8601 (YYYY-MM-DD) */ report_start_date: string | null; /** * Sources of the report data. Presigned URLs accessible for 30 minutes. */ sources: Array; guv?: CompanyAPI.ReportTable | null; } export namespace Report { export interface Source { /** * Url of the rendered HTML report. In the form of a presigned url accessible for * 30 minutes. */ html_url: string; } } } export interface CompanyGetHistoricalOwnersV1Response { owners: Array; } export namespace CompanyGetHistoricalOwnersV1Response { export interface Owner { /** * Unique identifier for the owner. For companies, this is the company register ID * (e.g. DE-HRB-F1103-267645) which can be used to look up the company. For natural * persons, this is the entity UUID. For other entity types (foreign companies, * foundations, etc.), this is empty. */ id: string; /** * Type of the owner entity */ entity_type: | 'natural_person' | 'german_company' | 'foreign_company' | 'german_government_entity' | 'german_foundation' | 'german_multiple_shareholder'; /** * Date when this owner first appeared */ first_appearance: string; /** * Name of the owner */ name: string; /** * Historical ownership data across all documents */ ownership_history: Array; /** * Current status of the owner */ status: 'active' | 'removed'; /** * Country of the owner */ country?: string; /** * Date when this owner last appeared (null if still active) */ last_appearance?: string; } export namespace Owner { export interface OwnershipHistory { /** * Date of the document */ document_date: string; /** * Document where this ownership data was found */ document_id: string; /** * Nominal value of shares in this document */ nominal_shares: number; /** * Percentage ownership in this document */ percentage_shares: number; } } } /** * Companies this entity owns or has invested in. */ export interface CompanyGetHoldingsV1Response { /** * Unique company identifier. Example: DE-HRB-F1103-267645 */ company_id: string; holdings: Array; } export namespace CompanyGetHoldingsV1Response { export interface Holding { /** * Unique company identifier. Example: DE-HRB-F1103-267645 */ company_id: string; /** * Date when the ownership ended. Format: ISO 8601 (YYYY-MM-DD) Example: * "2022-01-01" */ end: string | null; /** * Name of the company. */ name: string; /** * Amount of shares or capital in the company. Example: 100 */ nominal_share: number; /** * Share of the company. Example: 0.5 represents 50% ownership */ percentage_share: number | null; /** * Type of relationship between the entity and the company. */ relation_type: CompanyAPI.CompanyRelationType; /** * Date when the ownership started. Format: ISO 8601 (YYYY-MM-DD) Example: * "2022-01-01" */ start: string | null; } } export interface CompanyGetOwnersV1Response { /** * When true, the returned owner data is the best available but may not reflect the * most current ownership state. This applies to AG and SE companies where * ownership data is sourced from Handelsregister decision and articles of * association documents, which are not filed on every ownership change. */ best_available: boolean; /** * Unique company identifier. Example: DE-HRB-F1103-267645 */ company_id: string; owners: Array; /** * Sources of the company owners data. */ sources: Array; } export namespace CompanyGetOwnersV1Response { export interface Owner { /** * Unique identifier for the shareholder. For companies: Format matches company_id * pattern For individuals: UUID Example: "DE-HRB-F1103-267645" or UUID May be null * for certain shareholders. */ id: string | null; /** * Details about the legal person. */ legal_person: CompanyAPI.CompanyOwnerLegalPerson | null; /** * The name of the shareholder. E.g. "Max Mustermann" or "Max Mustermann GmbH" */ name: string; /** * Details about the natural person. */ natural_person: CompanyAPI.CompanyOwnerNaturalPerson | null; /** * Nominal value of shares in Euro. Example: 100 */ nominal_share: number; /** * Percentage of company ownership. Example: 5.36 represents 5.36% ownership */ percentage_share: number | null; /** * Type of relationship between the entity and the company. */ relation_type: CompanyAPI.CompanyRelationType; /** * Date when the relation started. Only available for some types of owners. Format: * ISO 8601 (YYYY-MM-DD) Example: "2022-01-01" */ start: string | null; /** * The type of shareholder. */ type: CompanyAPI.EntityType; } } export interface CompanyGetUbosV1Response { /** * Unique company identifier. Example: DE-HRB-F1103-267645 */ company_id: string; ubos: Array; } export namespace CompanyGetUbosV1Response { export interface Ubo { /** * Unique identifier for the shareholder. For individuals: UUID For companies: * Format matches company_id pattern Example: "DE-HRB-F1103-267645" or UUID May be * null for certain shareholders. */ id: string | null; legal_person: CompanyAPI.CompanyOwnerLegalPerson | null; /** * Maximum percentage of company ownership. Example: 5.36 represents maximum of * 5.36% ownership There is no exact percentage share for owners that hold a stake * as or through a limited partner. For these owners, we can only show the maximum * percentage share they could have based on their deposit as a limited partner. Is * null for all owners that have an exact percentage share or owners that hold a * stake as or through a personal liable director. */ max_percentage_share: number | null; /** * The name of the shareholder. E.g. "Max Mustermann" */ name: string; natural_person: CompanyAPI.CompanyOwnerNaturalPerson | null; /** * Percentage of company ownership. Example: 5.36 represents 5.36% ownership Is * null for all owners that hold a stake as or through a personal liable directors * or limited partner. */ percentage_share: number | null; } } export interface CompanyGetDetailsV1Params { /** * Setting this to true will return the company without sources. */ export?: boolean; /** * Get the most up-to-date company information directly from the Handelsregister. * When set to true, we fetch the latest data in real-time from the official German * commercial register, ensuring you receive the most current company details. * Note: Real-time requests take longer but guarantee the freshest data available. */ realtime?: boolean; } export interface CompanyGetOwnersV1Params { /** * When set to true, returns the best available owner data for AG and SE companies. * This data is extracted from Handelsregister documents and may not reflect the * most current ownership state, as these document types are not filed on every * ownership change. Requests for AG/SE companies without this flag return 404. * Note: realtime and best_available cannot be used together at the moment. */ best_available?: boolean; /** * Setting this to true will return the owners of the company if they exist but * will skip processing the documents in case they weren't processed yet. */ export?: boolean; /** * Get the most up-to-date company information directly from the Handelsregister. * When set to true, we fetch the latest data in real-time from the official German * commercial register, ensuring you receive the most current company details. * Note: Real-time requests take longer but guarantee the freshest data available. */ realtime?: boolean; } export declare namespace Company { export { type CompanyAddress as CompanyAddress, type CompanyCapital as CompanyCapital, type CompanyDocument as CompanyDocument, type CompanyName as CompanyName, type CompanyOwnerLegalPerson as CompanyOwnerLegalPerson, type CompanyOwnerNaturalPerson as CompanyOwnerNaturalPerson, type CompanyPurpose as CompanyPurpose, type CompanyRegister as CompanyRegister, type CompanyRelationType as CompanyRelationType, type EntityType as EntityType, type MergedReportRow as MergedReportRow, type MergedReportTable as MergedReportTable, type ReportRow as ReportRow, type ReportTable as ReportTable, type RepresentationRole as RepresentationRole, type Source as Source, type CompanyGetContactV0Response as CompanyGetContactV0Response, type CompanyGetDetailsV1Response as CompanyGetDetailsV1Response, type CompanyGetFinancialsV1Response as CompanyGetFinancialsV1Response, type CompanyGetHistoricalOwnersV1Response as CompanyGetHistoricalOwnersV1Response, type CompanyGetHoldingsV1Response as CompanyGetHoldingsV1Response, type CompanyGetOwnersV1Response as CompanyGetOwnersV1Response, type CompanyGetUbosV1Response as CompanyGetUbosV1Response, type CompanyGetDetailsV1Params as CompanyGetDetailsV1Params, type CompanyGetOwnersV1Params as CompanyGetOwnersV1Params, }; }