---
title: "Get TED notice records linked to this corporate NIF"
method: GET
path: "/api/v1/company/{slug}/ted"
tags: ["Companies", "Public Procurement"]
---

# Get TED notice records linked to this corporate NIF

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

## Request

- Base URL: `https://openmercantil.es`
- URL: `https://openmercantil.es/api/v1/company/{slug}/ted`
- Auth: one of:
  - none
  - API key in header `X-API-Key`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/openmercantil/apis/openmercantil-public-api/docs/api/v1/company/:slug/ted/get.ts> (a function with typed inputs; its response is checked against the schema)

Read only company_integrations_public_v1 after company_public_v2 admission. Returns up to 100 minimized TED notice links: publication number/date, buyer and official notice URL. Tenderer, currency and free-form connector fields are excluded. Rows do not prove payment, executed spend or current contractual status.

## Path parameters

- `slug` string, required

## Query parameters

- `limit` integer

## Headers

- `If-None-Match` string

## Response `200`

Bounded TED documentary records linked to the admitted corporate NIF

- CompanyTedResponse: Generation-bound minimized TED view. count is the total projected row count; returned_count is the bounded slice length.
  - `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
  - `source_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
  - `count` integer, required
  - `returned_count` integer, required
  - `items` TedContractRecord[], required
    - `publication_number` string, required
    - `publication_date` string, date, required
    - `buyer_name` string, required
    - `notice_url` string, uri, required
  - `documentary_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
- `422`: The query is lexically valid but outside a documented numeric or length bound, or uses an unsupported indexed combination.
- `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.

## Changes

- **2026-07-26** `996f96a11758`: 2 breaking, 26 info
  - for the `path` request parameter `slug`, the minLength was increased from `0` to `1`
  - added the pattern `^[a-z0-9]+(?:-[a-z0-9]+)*$` to the `path` request parameter `slug`
  - api operation id `getCompanyBySlugTed` was added
  - the endpoint scheme security `apiKey` was added to the API
  - …24 more

[Operation history](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/changes/api/v1/company/:slug/ted/get.md)

---

[API](https://skmtc.dev/openmercantil/apis/openmercantil-public-api.md) - [All operations](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/revisions/601ff6123c86?raw)
