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

# SDK namespaces

> Facade method map for @flowra/sdk and flowra — TypeScript camelCase ↔ Python snake_case.

Both SDKs expose the same product namespaces. TypeScript uses camelCase; Python uses snake\_case. Full HTTP schemas: [API reference](/api-reference). Packages: [`@flowra/sdk`](https://www.npmjs.com/package/@flowra/sdk), [`flowra-sdk`](https://pypi.org/project/flowra-sdk/). Source: [github.com/flowradev/sdk](https://github.com/flowradev/sdk).

**Every method with TS + Python examples:** [SDK method examples](/guides/sdk-method-examples). Tutorials: [TypeScript](/guides/sdk-typescript) · [Python](/guides/sdk-python).

Escape hatches: TypeScript `flowra.raw.*` · Python `flowra.request(method, path, ...)`.

Copy tool slugs from `tools.list`. Catalog actions are typically `UPPER_SNAKE`.

## Root

| TypeScript         | Python              | Example                        |
| ------------------ | ------------------- | ------------------------------ |
| `getProfile()`     | `get_profile()`     | Who am I for this API key      |
| `asUser(username)` | `as_user(username)` | Scoped client for one end user |

```ts theme={null}
const alice = flowra.asUser('customer_alice');
await alice.getProfile(); // still project key; requests carry x-username
```

```python theme={null}
alice = flowra.as_user("customer_alice")
```

## tools

`list`, `get`, `create`, `update`, `remove`, `setActive` / `set_active`, `execute`, `executionLogs` / `execution_logs`

```ts theme={null}
await flowra.tools.execute('GMAIL_SEND_EMAIL', { arguments: { /* ... */ } });
```

```python theme={null}
flowra.tools.execute("GMAIL_SEND_EMAIL", {"arguments": {}})
```

## toolkits

`list`, `listWithTools` / `list_with_tools`, `get`, `create`, `update`, `remove`, `setActive` / `set_active`, `messagingChannels` / `messaging_channels`, `listCategories` / `list_categories`

## skills

`list`, `get`, `create`, `update`, `remove`, `addToLibrary` / `add_to_library`, `catalogBrowse` / `catalog_browse`, `importGithub` / `import_github`, `registryInstall` / `registry_install`, `registrySync` / `registry_sync`, `registryList` / `registry_list`, `registrySearch` / `registry_search`

## workflows

`list`, `get`, `create`, `update`, `remove`, `setActive` / `set_active`, `run`, `status`, `resume`, `executions`, `execution`, `statistics`, `executionsFor` / `executions_for`, `addConnection` / `add_connection`, `changeConnection` / `change_connection`, `setAuthConfig` / `set_auth_config`, `clearAuthConfig` / `clear_auth_config`, `clearConnection` / `clear_connection`

```ts theme={null}
const run = await flowra.workflows.run(id, { input: { message: 'hi' } });
await flowra.workflows.status(run.threadId);
```

```python theme={null}
run = flowra.workflows.run(id, {"input": {"message": "hi"}})
flowra.workflows.status(run["threadId"])
```

## connections

`list`, `listGrouped` / `list_grouped`, `create`, `createLink` / `create_link`, `update`, `remove`

## authConfigs / auth\_configs

`list`, `get`, `create`, `remove`

## users

`list`, `create`, `getByUsername` / `get_by_username`, `toggleActive` / `toggle_active`, `refreshAvatar` / `refresh_avatar`

## triggers

`list`, `upsert`, `remove`, `setStatus` / `set_status`, `invocationLogs` / `invocation_logs`, `replayWebhook` / `replay_webhook`

## chat

`createThread` / `create_thread`, `getThread` / `get_thread`, `updateThread` / `update_thread`, `deleteThread` / `delete_thread`, `searchThreads` / `search_threads`, `history`, `state`, `stream`, `listRuns` / `list_runs`, `cancelRun` / `cancel_run`, `generateTitle` / `generate_title`, `sendOperatorReply` / `send_operator_reply`, `setReplyMode` / `set_reply_mode`, `joinStream` / `join_stream`

Deep dive: [Chat streaming](/guides/sdk-chat-streaming).

## files

`list`, `upload`, `remove`, `download`, `storageBreakdown` / `storage_breakdown`, `serveByFilename` / `serve_by_filename`, `deleteMany` / `delete_many`, `fileType` / `file_type`, `fileTypes` / `file_types`, `pruneOldest` / `prune_oldest`

```python theme={null}
flowra.files.upload("document", "/tmp/spec.pdf")
```

## knowledge

`list`, `create`, `get`, `rename`, `remove`, `chunks`, `sources`, `deleteSource` / `delete_source`, `ingestFile` / `ingest_file`, `ingestText` / `ingest_text`, `ingestUrl` / `ingest_url`, `search`, `setExposeViaMcp` / `set_expose_via_mcp`

## database

`list`, `get`, `remove`, `documents`, `createDocument` / `create_document`, `updateDocument` / `update_document`, `deleteDocument` / `delete_document`, `setExposeViaMcp` / `set_expose_via_mcp`

## sandbox

`runEphemeral` / `run_ephemeral`, `createSession` / `create_session`, `getSession` / `get_session`, `execute`, `releaseSession` / `release_session`, `startThreadComputer` / `start_thread_computer`, `getThreadComputer` / `get_thread_computer`, `releaseThreadComputer` / `release_thread_computer`

```ts theme={null}
await flowra.sandbox.runEphemeral({
  language: 'python',
  source: 'print(40 + 2)',
});
```

## mcp

`list`, `get`, `create`, `update`, `remove`, `config`, `setAuthConfig` / `set_auth_config`, `clearAuthConfig` / `clear_auth_config`, `hostedSse` / `hosted_sse`, `hostedPost` / `hosted_post`, `handleSse` / `handle_sse`, `handlePost` / `handle_post`

## llm

`models`, `chat`, `generate`

## browser

`status`, `touch`, `close`, `view`, `completeConnection` / `complete_connection`

## usage

`list`, `balance`, `forExecution` / `for_execution`

Deep dive: [Usage and credits](/guides/usage-and-credits).

## Related

* [SDK method examples](/guides/sdk-method-examples) — Every method
* [TypeScript SDK](/guides/sdk-typescript)
* [Python SDK](/guides/sdk-python)
* [Usage and credits](/guides/usage-and-credits)
* [Chat streaming](/guides/sdk-chat-streaming)
* [SDKs](/guides/sdk)
