> For the complete documentation index, see [llms.txt](https://docs.opendatadiscovery.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.opendatadiscovery.org/developer-guides/api-reference/integrations.md).

# Integrations

The Integration Wizard's UI is the in-app consumer of two endpoints exposed by `IntegrationController.java`; you can call them directly to script integration-snippet generation. For the wizard purpose, the `META-INF/wizard/*.yaml` manifest registry, static-parameter substitution (today only `platform_url`), and the wizard-vs-`collector_config.yaml` boundary, see the [Integration Wizard](/integrations/integrations/integration-wizard.md) page.

| Method | Path                                 | Operation ID             | Purpose                                                                                                                                                                                                                                                                                                                                                 |
| ------ | ------------------------------------ | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GET`  | `/api/integrations`                  | `getIntegrationPreviews` | Lists every integration registered on this platform (`IntegrationPreviewList` of `{id, name, description, installed}`). The `installed` flag is always `false` on every response — see the caveat below.                                                                                                                                                |
| `GET`  | `/api/integrations/{integration_id}` | `getIntegration`         | Returns the full `Integration` overview: the preview plus the ordered list of content blocks (each with title, content, and code snippets). Snippet arguments carry `parameter`, `name`, `type` (`INTEGER` / `STRING` / `BOOLEAN` / `FLOAT`), `isStatic`, and — when static — `staticValue` resolved server-side (see the `platform_url` caveat below). |

{% hint style="warning" %}
**An unknown `{integration_id}` returns HTTP 204 No Content, not 404.** The OpenAPI specification declares only a `200` response for `getIntegration`, so a generated client typically expects either a body or a `404`. When the id is not in the registry the platform returns an empty `204` instead. Treat an empty `204` from this endpoint as "no such integration" and do not assume a missing integration surfaces as `404`.
{% endhint %}

{% hint style="warning" %}
**The `installed` field is always `false` and never reflects real install state.** Although the specification marks `installed` as a required boolean, the platform hardcodes it to `false` on both the list and the overview responses — no code path ever sets it `true`, and the UI's "Integrated" badge consequently never renders. Do not build client logic that branches on this value; it carries no meaning today.
{% endhint %}

{% hint style="info" %}
**On a stock platform build `GET /api/integrations` returns `{ "items": [] }`.** The manifests that populate the registry are loaded from `META-INF/wizard/*.yaml` on the classpath, and the platform ships none — they arrive only through external classpath overlays. An empty list means no manifests were supplied, not that the endpoint failed. The registry mechanism is described on the [Integration Wizard feature page](/integrations/integrations/integration-wizard.md).
{% endhint %}

Two further behaviours are documented in depth on the [Integration Wizard feature page](/integrations/integrations/integration-wizard.md) and apply equally when you call these endpoints directly: the `staticValue` of `platform_url` falls back to the placeholder `http://your.odd.platform` when `odd.platform-base-url` is unset, and neither endpoint carries a per-resource permission (any authenticated user — or any caller under `auth.type=DISABLED` — can read the full registry, including the rendered `platform_url`).

## See also

* [API Reference hub](/developer-guides/api-reference.md) — the full per-feature index.
* [Integration Wizard](/integrations/integrations/integration-wizard.md) — feature description, manifest registry, static-parameter substitution.


---

# 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:

```
GET https://docs.opendatadiscovery.org/developer-guides/api-reference/integrations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
