---
title: "List public integration capabilities"
method: GET
path: "/api/v1/integrations"
tags: ["Integrations"]
---

# List public integration capabilities

`GET /api/v1/integrations`

Versioned fail-closed catalog that reports legal egress permission separately from technical transport availability. public_read is false when permission exists but no safe projection is active; separate_authority delegates validation to the endpoint's own fail-closed contract. Sources in review, restricted or unknown are omitted. The query contract is closed: capability is optional, but when present it must match the documented lowercase pattern byte-for-byte; empty, padded or upper-case values and unknown parameters return 400. Provenance contains exactly the sources represented by the returned items. This is not an operator health probe and never includes credentials, OAuth tokens, webhook secrets, billing or internal errors.

## Query parameters

- `capability` string

## Headers

- `If-None-Match` string

## Response `200`

Public integration catalog

- IntegrationListResponse
  - `schema_version` string, required
  - `source_catalog_version` string, required
  - `count` integer, required
  - `items` PublicIntegration[], required — unresolved $ref
  - `contract` PublicIntegrationContract, required
    - `surface` 'public-read-only', required
    - `secrets_exposed` false, required
    - `writes_exposed` false, required
    - `health_semantics` string, nullable
    - `excluded` string[]
  - `_source_catalog` SourceCatalogEnvelope, required
    - `catalog_version` string, required
    - `policy_fingerprint` string, required
    - `policy_effective_date` string, date
    - `sources` object, required
  - `_data_sources_used` PublicSourcePolicyMetadata[], required
    - `slug` string, required
    - `name` string, required
    - `license` string, required
    - `license_url` string, uri, nullable
    - `attribution_required` boolean, required
    - `attribution_text` string, nullable
    - `official_url` string, uri, nullable
    - `reuse_conditions` string, required — Condiciones de reutilizacion que el consumidor debe conservar al presentar o transformar el dato.
    - `policy_effective_date` string, date, required
    - `reviewed_at` string, date, required
    - `data_updated_at` string, date-time, nullable
    - `catalog_version` string, required
  - `_attributions` object

## Other responses

- `304` — The legal catalog and technical transport snapshot have not changed
- `400` — Invalid request
- `429` — Rate limit exceeded
- `503` — Controlled fail-closed denial: the required dataset or legal layer is absent, invalid, unsupported or not authorized for this public surface.

---

[API](https://skmtc.net/openmercantil/apis/openmercantil-public-api.md) · [All operations](https://skmtc.net/openmercantil/apis/openmercantil-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openmercantil/openmercantil-public-api/revisions/996f96a11758/schema)
