SDKs and client libraries
=========================

v1.1

There is no official Holofin SDK yet. The API is JSON over HTTPS with one authentication header, so any HTTP client works, and the OpenAPI document generates a typed client in most languages.

Call the API directly
---------------------

Most integrations need two calls: create a workflow run, then read it when the webhook arrives. The [Quickstart](https://app.holofin.ai/docs/api/v1.1/quickstart/#complete-example) ends with the whole flow as one Python script using `requests`, and every endpoint on the reference pages has a cURL, Python and Node.js sample.

Generate a client from openapi.json
-----------------------------------

The [OpenAPI 3.1 document](https://app.holofin.ai/docs/api/v1.1/openapi.json) describes every endpoint, request body, response and error code. It is public, so a generator can fetch it without a key. It declares the `X-API-Key` header as the security scheme, so generated clients take the key as a setting.

### Python

With [openapi-python-client](https://github.com/openapi-generators/openapi-python-client), which writes one module per endpoint and typed models for the bodies:

```
pip install openapi-python-client
openapi-python-client generate --url https://app.holofin.ai/docs/api/v1.1/openapi.json
```

### TypeScript

With [openapi-typescript](https://openapi-ts.dev/), which writes the types, to use with `openapi-fetch` or your own `fetch` calls:

```
npx openapi-typescript https://app.holofin.ai/docs/api/v1.1/openapi.json -o holofin.d.ts
```

### Other languages

[OpenAPI Generator](https://openapi-generator.tech/) covers Go, Java, C#, PHP, Ruby and many more from the same URL. Its support for OpenAPI 3.1 is newer than for 3.0, so check the generated models against the [API Reference](https://app.holofin.ai/docs/api/v1.1/reference/).

A generated client is a snapshot of the document on the day you generated it. Regenerate it when the [Changelog](https://app.holofin.ai/docs/api/v1.1/changelog/) announces a change you want to use.

AI assistants
-------------

To let Claude or another MCP client read your dossiers, connect it to the [MCP server](https://app.holofin.ai/docs/api/v1.1/ai-assistants/) instead of writing a client. The [agent skill](https://app.holofin.ai/docs/api/v1.1/agent-skills/) tells the assistant which tool to call and how to read the results.
