> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gethinto.com/llms.txt
> Use this file to discover all available pages before exploring further.

# HintoConfig

## Properties

<ResponseField name={"allowUrlSearchParams"} type={"string[]"}>
  Query parameter names to keep in captured URLs. Defaults to none.
</ResponseField>

<ResponseField name={"apiKey"} type={"string"} required>
  The publishable ingest key from Hinto.
</ResponseField>

<ResponseField name={"apiUrl"} type={"string"}>
  The Hinto API origin. Defaults to [https://api.gethinto.com](https://api.gethinto.com).
</ResponseField>

<ResponseField name={"appVersion"} type={"string"}>
  Your release, such as a commit SHA. Stored on each session so investigations know the build.
</ResponseField>

<ResponseField name={"captureClicks"} type={"boolean"}>
  Record clicks with the element's role and label. Defaults to true.
</ResponseField>

<ResponseField name={"captureConsoleLevels"} type={"ConsoleLevel[]"}>
  **Type:** <code>[ConsoleLevel](/sdk/index/types/ConsoleLevel){"[]"}</code>

  Console levels to record. Defaults to `["warn", "error"]`; `[]` records none.
</ResponseField>

<ResponseField name={"captureNetwork"} type={"boolean"}>
  Record each fetch and XHR request's method, redacted URL, status, and duration. Defaults to true.
</ResponseField>

<ResponseField name={"captureScroll"} type={"boolean"}>
  Record how far the customer scrolled. Defaults to true.
</ResponseField>

<ResponseField name={"debug"} type={"boolean | (message: string, details: unknown) => void"}>
  `true` logs `[Hinto]` warnings to the console; a function receives each line instead.
</ResponseField>

<ResponseField name={"environment"} type={"string"}>
  Your deployment name, such as `production` or `preview`. Stored on each session.
</ResponseField>

<ResponseField name={"flushIntervalMs"} type={"number"}>
  Milliseconds between sends. Defaults to 5000.
</ResponseField>

<ResponseField name={"ingestUrl"} type={"string"}>
  A full ingest endpoint, when it is not `${apiUrl}/v1/ingest`.
</ResponseField>

<ResponseField name={"initialIdentity"} type={"{ kind: \"external_id\"; value: string }"}>
  The signed-in customer's id from the first event. Journeys and Native Support need it.
</ResponseField>

<ResponseField name={"maxBatchEvents"} type={"number"}>
  Most events in one send.
</ResponseField>

<ResponseField name={"maxKeepaliveBatchBytes"} type={"number"}>
  Most bytes in one send while the page hides or unloads.
</ResponseField>

<ResponseField name={"maxNormalBatchBytes"} type={"number"}>
  Most bytes in one regular send.
</ResponseField>

<ResponseField name={"persistSession"} type={"\"session\" | \"local\""}>
  Where an anonymous session id lives: this tab (`session`, the default) or every tab (`local`).
</ResponseField>

<ResponseField name={"redactPatterns"} type={"RegExp[]"}>
  Replaces the default redaction patterns for URLs and payloads.
</ResponseField>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.