> For the complete documentation index, see [llms.txt](https://docs.feathery.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.feathery.io/develop/react/api-guide/init.md).

# init()

Async function that initializes the Feathery library to the correct auth and user info. This is necessary before using the rest of the API and can be called multiple times, although it will register as a no-op after the first call.

<table><thead><tr><th width="173" align="center">Parameter</th><th width="170.33333333333331" align="center">Type</th><th>Description</th></tr></thead><tbody><tr><td align="center"><code>SDKKey</code></td><td align="center"><code>string</code></td><td>Admin or user SDK key to authorize the client to communicate with Feathery servers. If it's a user SDK key, the <code>userId</code> will be inferred from the key.</td></tr><tr><td align="center"><code>userId</code></td><td align="center"><code>optional string</code></td><td>Unique ID of the user who is accessing Feathery. This can be anything as long as it's unique per user. If not specified, Feathery autogenerates the user ID.</td></tr><tr><td align="center"><code>preloadForms</code></td><td align="center"><code>optional array</code></td><td>Array of IDs of forms that you want to preload at initialization. This can improve form load performance. The <code>firebase</code> global object is accessible after pre-loading a form with Firebase activated.</td></tr><tr><td align="center"><code>userTracking</code></td><td align="center"><code>optional enum {'fingerprint', 'cookie'}</code></td><td>Defaults to <code>cookie</code>. Affects the way Feathery generates and tracks user IDs. Cookies can be cleared but fingerprints are permanent.</td></tr><tr><td align="center"><code>language</code></td><td align="center"><code>optional string</code></td><td><p>This is a comma-separated list of ISO 639-1 language code(s) to show the form in if a <a href="/pages/Z0siELDgOG1SjjZMbS5r">translation file</a> in one of those languages has been uploaded for the form in its settings.</p><p></p><p>The languages will be prioritized according to their order in the specified string. If no translation for any of the specified languages is found, the form language will by default show up as written in the visual editor.</p></td></tr><tr><td align="center"><code>theme</code></td><td align="center"><code>optional string</code></td><td>By default forms will show with the theme connected from the Feathery dashboard, but specifying the name of a <a href="/pages/muPKYh0H7nXh2lT3Mv0Y">theme</a> here will override the theme for all forms that are shown during this session. Allows you to programmatically adjust styles (e.g. dark vs light mode).<br><br>Assets from the theme being overridden will either be dropped or replaced with assets with matching names and types from the new theme.</td></tr><tr><td align="center"><code>noSave</code></td><td align="center"><code>optional boolean</code></td><td>On the Feathery business plan, you may disable sending form data back to Feathery servers.</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.feathery.io/develop/react/api-guide/init.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
