@maschinenlesbar.org/marktstammdatenregister-cli
    Preparing search index...

    Interface MastrClientOptions

    Options for the MaStR client: the engine options (the API needs no auth) plus one of its own.

    interface MastrClientOptions {
        allowUnknownFilters?: boolean;
        baseUrl?: string;
        defaultHeaders?: Record<string, string>;
        maxResponseBytes?: number;
        maxRetries?: number;
        onRetry?: (event: RetryEvent) => void;
        retryDelayMs?: number;
        sleep?: (ms: number) => Promise<void>;
        timeoutMs?: number;
        transport?: Transport;
        userAgent?: string;
    }

    Hierarchy (View Summary)

    Index
    allowUnknownFilters?: boolean

    Send filters without checking their FilterNames and dropdown codes against the category's columns, and so without the one filterColumns() request per category that check costs. Default false: a name the category doesn't have, or a code its dropdown doesn't list, is a MastrValidationError, because the register ignores an unknown name (the unfiltered set) and answers an unknown code with 0 rows. The shape check and the name normalisation apply either way.

    baseUrl?: string

    Base URL of the API. Defaults to the canonical marktstammdatenregister.de base. A value that breaks a rule of validateBaseUrl (blank, whitespace or control characters, not an absolute http(s) URL, a query or fragment) throws a MastrValidationError.

    defaultHeaders?: Record<string, string>

    Extra headers sent on every request; names must be tokens, values follow the userAgent rule.

    maxResponseBytes?: number

    Hard cap on response body size in bytes (defends against memory exhaustion from a hostile/buggy endpoint), a non-negative integer. Defaults to 100 MiB; set to 0 for no limit.

    maxRetries?: number

    Number of automatic retries for transient (429/503) responses and reset connections (isTransientNetworkError), an integer 0..MAX_RETRIES (10); defaults to 2. Each waits retryDelayMs * attempt, or the response's Retry-After when that is longer. A Retry-After above MAX_RETRY_AFTER_MS waits that cap (30 s) and then retries.

    onRetry?: (event: RetryEvent) => void

    Called once per retry, right before the backoff sleep, for each retried status and reset connection; never when there is no retry. A throw is swallowed.

    retryDelayMs?: number

    Base backoff between retries in milliseconds (grows linearly: retryDelayMs * attempt), an integer 0..MAX_RETRY_AFTER_MS (30 000). Defaults to 200. It is also the floor: a Retry-After can make a wait longer, never shorter.

    sleep?: (ms: number) => Promise<void>

    Injectable sleep, primarily for deterministic tests.

    timeoutMs?: number

    Time limit per request in milliseconds, covering the whole response body, not only idle gaps: an integer 0..MAX_TIMEOUT_MS (2^31 - 1 ms); 0 disables. Defaults to 30000.

    transport?: Transport

    Swappable transport. Defaults to the built-in node http/https transport.

    userAgent?: string

    Value of the User-Agent header: not blank, Latin-1 without control characters (tab is fine), else a MastrValidationError.