Zum Hauptinhalt springen

IDs and relationships

CertHub uses different identifiers in the dashboard UI and in the API. Mixing them is the most common integration mistake. This page explains which ID to use where and how the major objects relate to each other.

The core distinction: history ID vs revision ID​

CertHub tracks two kinds of identifiers for most objects:

TypeWhere you see itWhat it represents
History IDDashboard URLs, query parameters in the UIThe stable identity of the object across all its versions
Revision IDAPI responses, Records and Tech Doc API callsA specific version of that object

They look the same, but they are not interchangeable. Using a history ID where the API expects a revision ID returns a 404 or an empty result.

Where to find each ID​

Product history ID​

In the CertHub dashboard, open a product. The URL contains the product history ID:

https://app.certhub.de/dashboard/products/PRODUCT_HISTORY_ID/...

Use this for linked_product in RecordCreate.context and for filtering products in the Tech Doc API.

Knowledge unit history ID and revision ID​

The dashboard URL uses the KU history ID:

https://app.certhub.de/dashboard/products/.../ku/KU_HISTORY_ID/...

To create a record, you need the KU revision ID. Resolve it from Tech Doc:

curl "https://techdoc.prod.certhub-containers.containers.certhub.tech/ku/KU_HISTORY_ID" \
-H "X-API-Key: YOUR_API_KEY"

Use the returned id as knowledge_unit_id in RecordCreate.context.

Knowledge topic history ID and revision ID​

The dashboard URL uses the KT history ID in the query parameter:

https://app.certhub.de/dashboard/products/.../ku/...?knowledgeTopicId=KT_HISTORY_ID

The Records API and most Tech Doc workflows need the KT revision ID:

curl "https://techdoc.prod.certhub-containers.containers.certhub.tech/kt/?product_history_id=PRODUCT_HISTORY_ID" \
-H "X-API-Key: YOUR_API_KEY"

Each KT in the response has a _id field. That is the revision ID you pass to the Records API.

Quick reference​

What you needWhere to find itAPI field
Product history IDDashboard URL path segmentlinked_product in RecordCreate.context
KU history IDDashboard URL path segmentPass to Tech Doc GET /ku/{history_id} to get the revision
KU revision IDTech Doc API response idknowledge_unit_id in RecordCreate.context
KT history IDDashboard URL query knowledgeTopicId=Only for dashboard links
KT revision IDTech Doc API response _idcontext__knowledge_unit_topic_id and knowledge_unit_topic_id
Record IDRecords API response _idTracer nodes, GET, PATCH

How the objects relate​

  • A product contains knowledge units
  • A knowledge unit contains knowledge topics
  • A knowledge topic defines the schema for one type of record
  • A record is a row inside a knowledge topic
  • Tracer links records to other records

Common mistakes​

  • Using the KT history ID from the dashboard URL in a Records API call
  • Using the KU history ID when knowledge_unit_id expects a revision ID
  • Assuming linked_product wants a product revision ID when it actually wants the product history ID

Next steps​