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.