Integrations
Integration Wizard HTTP endpoints — list registered integrations and fetch their content blocks plus code snippets.
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 page.
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).
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.
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.
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.
Two further behaviours are documented in depth on the Integration Wizard feature page 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 — the full per-feature index.
Integration Wizard — feature description, manifest registry, static-parameter substitution.
Last updated