---
title: "Get bounded public integration coverage for a company"
method: GET
path: "/api/v1/company/{slug}/sources"
tags: ["Companies"]
---

# Get bounded public integration coverage for a company

`GET /api/v1/company/{slug}/sources`

Return the four generation-bound company integration sources (BDNS, CNMV, TED and Wikidata) with explicit available/empty coverage and projection-bound license metadata. It never probes BORME, PLACSP, OEPM, GLEIF, sanctions, raw helpers or connector telemetry. Empty never proves upstream absence.

## Path parameters

- `slug` string, required

## Headers

- `If-None-Match` string

## Response `200`

Generation-bound coverage for exactly four safe company integrations

- CompanySourcesResponse — Coverage summary for exactly four sources in one company_integrations_public_v1 generation. It is not the global legal catalog.
  - `projection_status` 'available', required
  - `projection` CompanyIntegrationProjection, required
    - `name` 'company_integrations_public_v1', required
    - `schema_version` '1.3', required
    - `builder_version` '1.4.0', required
    - `generation` string, required
  - `slug` string, required
  - `cif` string, required
  - `complete_bounded_projection` true, required
  - `coverage_status` 'available' | 'empty', required
  - `sources_count` 4, required
  - `available_sources_count` integer, required
  - `sources` CompanySourceCoverageRecord[], required
    - `source_slug` 'bdns' | 'cnmv' | 'ted_eu' | 'wikidata', required
    - `coverage_status` 'available' | 'empty', required
    - `count` integer, required
    - `metadata` CompanyIntegrationSourceMetadata, required — Projection-bound legal metadata plus the exact governed acquisition boundary for a company integration source.
      - `slug` 'bdns' | 'cnmv' | 'ted_eu' | 'wikidata', required
      - `name` string, required
      - `license` string, required
      - `license_url` string, uri, nullable, required
      - `attribution_required` boolean, required
      - `attribution_text` string, nullable, required
      - `official_url` string, uri, required
      - `reuse_conditions` string, required
      - `policy_effective_date` string, date, required
      - `reviewed_at` string, date, required
      - `data_updated_at` string, date-time, nullable, required
      - `catalog_version` string, required
      - `acquisition_coverage` CompanyIntegrationAcquisitionCoverage, required — Attested acquisition boundary for one governed source package. Completeness applies only to this exact bounded scope; complete_history_claimed and source_snapshot_claimed are always false, so this metadata never asserts complete historical or upstream snapshot coverage.
        - `scope` 'bounded_newest_first_page_prefix' | 'directory_snapshot_plus_relative_event_window' | 'publication_date_window_page_walk' | 'exact_identity_seed_lookup_snapshot', required
        - `declared_scope_complete` true, required — All partitions declared by this bounded acquisition scope were captured; this is not a complete-history claim.
        - `complete_history_claimed` false, required
        - `source_snapshot_claimed` false, required
        - `window_start` string, date, nullable, required
        - `window_end` string, date, nullable, required
        - `relative_window_days` integer, nullable, required
        - `source_as_of` string, date, nullable, required
        - `identity_seed_subject_count` integer, required
        - `request_count` integer, required
        - `partition_count` integer, required
        - `source_package_schema` 'openmercantil-bdns-reingest-package/v2' | 'openmercantil-cnmv-reingest-package/v2' | 'openmercantil-ted-reingest-package/v2' | 'openmercantil-wikidata-reingest-package/v2', required
        - `source_package_manifest_sha256` string, required
        - `source_fragment_schema` 'openmercantil-bdns-reingest-source-fragment/v2' | 'openmercantil-cnmv-reingest-source-fragment/v2' | 'openmercantil-ted-reingest-source-fragment/v2' | 'openmercantil-wikidata-reingest-source-fragment/v2', required
        - `source_fragment_sha256` string, required
        - `source_authority_binding_sha256` string, required
        - `coverage_sha256` string, required — Digest of the producer-declared bounded coverage object; it is integrity evidence, not proof of complete history.
  - `coverage_notice` string, required
  - `_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 admitted company, projection generation and legal envelope have not changed
- `400` — Invalid request
- `404` — Resource not found
- `429` — Rate limit exceeded
- `503` — The public read failed closed because its legal source catalog, subject classification, bounded projection, database helper or required artifact is unavailable. Clients must not infer an empty result.

---

[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)
