---
title: "Get Public Data Product"
method: GET
path: "/public/api/products/v2/{id}"
tags: ["Public Data Products"]
---

# Get Public Data Product

`GET /public/api/products/v2/{id}`

## Request

- The document declares no server URL.
- Auth: none declared

Retrieves a single publicly available data product, including its technical information. Publicly accessible.

## Path parameters

- `id` string, uuid, required

## Response `200`

OK

- PublicDataProductDto
  - `id` string, uuid, required
  - `dataSourceSystem` DataSourceSystemDto
    - `id` string, uuid, required
    - `code` string: Stable technical code of the source
    - `name` TranslationDto
      - `de` string
      - `fr` string
      - `it` string
    - `dataProvider` DataProviderDto, required
      - `id` string, uuid, required
      - `code` string: Stable technical code of the provider
      - `name` TranslationDto
        - `de` string
        - `fr` string
        - `it` string
      - `uid` string: UID of the data provider
    - `legalBasis` TranslationDto, required
      - `de` string
      - `fr` string
      - `it` string
  - `flowCode` 'UID_BASED_PRE_VALIDATION' | 'UID_BASED_POST_VALIDATION' | 'BUR_BASED_PRE_VALIDATION' | 'BUR_BASED_POST_VALIDATION' | 'UNBOUND_UID_BASED_POST_VALIDATION' | 'UNBOUND_BUR_BASED_POST_VALIDATION'
  - `name` TranslationDto
    - `de` string
    - `fr` string
    - `it` string
  - `description` TranslationDto
    - `de` string
    - `fr` string
    - `it` string
  - `links` LinkDto[]: List of relevant product links
    - `url` string
    - `displayText` string
  - `extendedDescription` TranslationDto
    - `de` string
    - `fr` string
    - `it` string
  - `deprecatedSince` string, date-time
  - `stateCode` union, required: State of the data product
    - 'DRAFT' | 'ACTIVE'
    - object
  - `consentRequired` boolean, required: If a consent is required for this data product
  - `paymentRequired` boolean, required: If a payment is required for this data product
  - `pricingBasis` TranslationDto
    - `de` string
    - `fr` string
    - `it` string
  - `restClientPathTemplate` string: Path template for the request
  - `restClientRequestTemplate` string: Body template for the request

## Other responses

- `404`: The resource or element was not found
- `500`: Internal server error: unexpected error

## Changes

- **2026-10-27** `48ab7e1541c3`: 2 info
  - added the optional property `restClientPathTemplate` to the response with the `200` status
  - added the optional property `restClientRequestTemplate` to the response with the `200` status
- **2026-10-19** `75957f6bdc66`: 4 warning
  - added the new `EXPORT_CAPACITY_EXHAUSTED` enum value to the `type` response property for the response status `404`
  - added the new `EXPORT_CAPACITY_EXHAUSTED` enum value to the `type` response property for the response status `500`
  - added the new `EXPORT_LIMIT_EXCEEDED` enum value to the `type` response property for the response status `404`
  - added the new `EXPORT_LIMIT_EXCEEDED` enum value to the `type` response property for the response status `500`
- **2026-09-24** `1aa7b6ad5bcc`: 2 warning
  - added the new `UID_CLAIM_MISSING` enum value to the `type` response property for the response status `404`
  - added the new `UID_CLAIM_MISSING` enum value to the `type` response property for the response status `500`
- **2026-09-08** `78f342f31c68`: 2 info
  - added the optional property `pricingBasis` to the response with the `200` status
  - added the required property `paymentRequired` to the response with the `200` status
- **2026-09-03** `cb85ba8b5d77`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/agridata/apis/agridata-ch-api/changes/public/api/products/v2/:id/get.md)

---

[API](https://skmtc.dev/agridata/apis/agridata-ch-api.md) - [All operations](https://skmtc.dev/agridata/apis/agridata-ch-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agridata/apis/agridata-ch-api/revisions/48ab7e1541c3?raw)
