Skip to main content

GET /v1/products

Lists product nodes from the canonical organization graph.

curl -H "Authorization: Bearer YOUR_TOKEN" \
"https://api.docsignal.app/v1/products?organization_id=ogn_01ARZ3NDEKTSV4RRFFQ69G5FAV&as_of=2026-07-31"
ParameterMeaning
organization_idOptional organization, business-unit, brand or family node. Includes descendant products.
as_ofOptional YYYY-MM-DD; defaults to today.
geography_typeOptional attribute type. Required when any place filter is supplied.
country_codeOptional ISO 3166-1 alpha-2 country match.
subdivision_codeOptional ISO-shaped subdivision; requires country_code.
region_nameOptional vendor-authored region, only with operating_region.
{
"products": [
{
"id": "ogn_01ARZ3NDEKTSV4RRFFQ69G5FAZ",
"organization_id": "ogn_01ARZ3NDEKTSV4RRFFQ69G5FAV",
"parent_id": "ogn_01ARZ3NDEKTSV4RRFFQ69G5FAY",
"name": "Acme Build",
"slug": "acme-build",
"active_from": "2022-04-01",
"active_to": null,
"geography": [
{
"id": "oga_01ARZ3NDEKTSV4RRFFQ69G5FB0",
"type": "operating_market",
"country_code": "GB",
"subdivision_code": null,
"locality": null,
"region_name": null,
"effective_from": "2025-01-01",
"effective_to": null,
"evidence": []
}
]
}
],
"query": {
"organization_id": "ogn_01ARZ3NDEKTSV4RRFFQ69G5FAV",
"as_of": "2026-07-31"
}
}

GET /v1/products/:id

Returns one product with its effective-dated aliases and ancestor chain.

Product IDs are stable identity. A rename changes aliases; a move between brands or families changes an effective-dated parent relationship. Neither creates a new product ID. Historical products remain addressable at dates when they were active.

Product geography is direct attribution only. Organization or business-unit headquarters and markets are never inherited onto descendant products.

Compatibility

These routes are additive. Existing event product values remain product slugs, and null keeps its existing meaning. New clients should join on product_id; old clients do not need to change.