@maschinenlesbar.org/destatis-genesis-cli
    Preparing search index...

    Interface DestatisClientOptions

    Options for the GENESIS client (engine options plus credentials).

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

    Hierarchy (View Summary)

    Index
    baseUrl?: string

    Base URL of the API. Defaults to https://genesis.destatis.de

    defaultHeaders?: Record<string, string>

    Extra headers sent on every request.

    guest?: boolean

    Run without an account, as the GENESIS guest user: whoami() and find() only. Must be set explicitly when no credential is given — a client with neither throws DestatisValidationError — and must not be combined with one.

    maxResponseBytes?: number

    Hard cap on response body size in bytes (defends against memory exhaustion from a hostile/buggy endpoint). Defaults to 100 MiB; set to 0 for no limit; at most Number.MAX_SAFE_INTEGER. The default transport stops reading at the cap; for any other the engine checks the body it gets back.

    maxRetries?: number

    Number of automatic retries for transient (429/503) responses, 0..MAX_RETRIES (10). Each waits retryDelayMs * attempt, or the response's Retry-After when that is longer (up to MAX_RETRY_AFTER_MS; a longer one is not retried, and the error says so).

    onRetry?: (event: RetryEvent) => void

    Called once per retry, right before the backoff sleep, for each retried 429/503; never when there is no retry. A throw is swallowed.

    password?: string

    Account password (10–50 chars).

    retryDelayMs?: number

    Base backoff between retries in milliseconds (grows linearly); used without a Retry-After. At most MAX_RETRY_AFTER_MS.

    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 (0 disables; at most MAX_TIMEOUT_MS, 2^31 - 1 ms). Enforced by the engine for every transport: the request's signal is aborted at the deadline and the call rejects with a DestatisNetworkError.

    token?: string

    A 32-char personal API token. Sent in the username header field with no password. Not together with username/password: a token next to either is a DestatisValidationError (TOKEN_WITH_LOGIN_PROBLEM), never a silent pick.

    transport?: Transport

    Swappable transport. Defaults to the built-in node http/https transport. The engine enforces timeoutMs and maxResponseBytes whatever the transport does, reads a Headers/Map or any-case header record and any ArrayBuffer view as the body, and turns everything a transport throws or returns malformed into a DestatisNetworkError.

    userAgent?: string

    Value of the User-Agent header.

    username?: string

    Account username (10 chars, may be an email). Requires password: with only one of the two (and no token) the constructor throws DestatisValidationError.