Skip to main content

Availability

Every endpoint below is GA on production (app.traceable.digital) as of release v0.99.6.1 (promoted 2026-07-03). The full Phase 1.5 surface — authoring, discovery, schema versioning, ERP mappings, key management, signed webhooks, and GDPR data-subject endpoints — is live and behind per-key authentication (default-deny: an unknown or missing key returns 401, never a 404 that would confirm a resource exists).

The API is feature-flagged per environment; an environment where it is not enabled returns 503 FEATURE_DISABLED. Both a live key (pk_live_*) and a sandbox key (pk_test_*) call these same paths — see Authentication → Sandbox mode. The GDPR endpoints are live-mode only (a sandbox key gets 403 CROSS_MODE_DENIED).

Every endpoint links to its full request and response schema in the API reference, rendered from the canonical OpenAPI spec.

Discovery

MethodPathScope
GET/api/v1/industriescategory:read
GET/api/v1/categoriescategory:read
GET/api/v1/categories/{code}/schemaschema:read
GET/api/v1/categories/{code}/diffschema:read
GET/api/v1/products/{id}/schema-compatibilitydpp:read
GET/api/v1/supplierssupplier:read

Authoring

MethodPathScope
GET/api/v1/productsdpp:read
POST/api/v1/productsdpp:draft:write
GET/api/v1/products/{id}dpp:read
PATCH/api/v1/products/{id}dpp:draft:write
PUT/api/v1/products/{id}/form-datadpp:draft:write
GET/api/v1/products/{id}/traceabilitydpp:read
POST/api/v1/products/{id}/traceabilitydpp:draft:write
GET/api/v1/products/{id}/componentsdpp:read
POST/api/v1/products/{id}/componentsdpp:draft:write
GET/api/v1/companies/me/gs1-prefixesdpp:read
POST/api/v1/companies/me/gs1-prefixesdpp:draft:write

Lifecycle

MethodPathScope
GET/api/v1/products/{id}/gatedpp:gate:read
GET/api/v1/products/{id}/readinessdpp:gate:read
POST/api/v1/products/{id}/submitdpp:submit
POST/api/v1/products/{id}/withdrawdpp:withdraw

Documents

MethodPathScope
POST/api/v1/products/{id}/documentsdocument:write
GET/api/v1/products/{id}/documentsdpp:read
GET/api/v1/documents/{id}/downloaddpp:read

ERP field mapping

Map your ERP's own column names to Traceable field_ids. An unmapped column is rejected, never silently dropped.

MethodPathScope
GET/api/v1/erp-mappingsmapping:read
POST/api/v1/erp-mappingsmapping:write
PATCH/api/v1/erp-mappings/{id}mapping:write
DELETE/api/v1/erp-mappings/{id}mapping:write
POST/api/v1/mappings/lintmapping:read
GET/api/v1/categories/{code}/erp-templatemapping:read

Key management

Requires the privileged keys:admin scope (see Authentication → Privileged scopes). Keys carry per-key IP allow-lists (allowedCidrs).

MethodPathScope
POST/api/v1/keyskeys:admin
GET/api/v1/keyskeys:admin
GET/api/v1/keys/{id}keys:admin
PATCH/api/v1/keys/{id}keys:admin
DELETE/api/v1/keys/{id}keys:admin
POST/api/v1/keys/{id}/rotatekeys:admin
POST/api/v1/keys/{id}/signing-secret/rotatekeys:admin
POST/api/v1/keys/bulk-revokekeys:admin

Webhooks

HMAC-signed event delivery with retries and a dead-letter queue. A sandbox key's endpoints receive only sandbox events.

MethodPathScope
GET/api/v1/webhook-endpointswebhook:read
POST/api/v1/webhook-endpointswebhook:write
GET/api/v1/webhook-endpoints/{id}webhook:read
PATCH/api/v1/webhook-endpoints/{id}webhook:write
DELETE/api/v1/webhook-endpoints/{id}webhook:write
POST/api/v1/webhook-endpoints/{id}/rotate-secretwebhook:write
GET/api/v1/webhook-endpoints/{id}/deliverieswebhook:read
POST/api/v1/webhook-deliveries/{id}/redeliverwebhook:write

GDPR data-subject endpoints

Requires the privileged gdpr:admin scope, and are live-mode only (a sandbox key gets 403 CROSS_MODE_DENIED). See GDPR and Data Processing.

MethodPathScopeRegulation
GET/api/v1/gdpr/accessgdpr:adminArt. 15 (access)
POST/api/v1/gdpr/erasegdpr:adminArt. 17 (erasure; 202 + 30-day SLA)
GET/api/v1/gdpr/portabilitygdpr:adminArt. 20 (portability)

Platform

Operational endpoints for discovery and monitoring. health and openapi.json are unauthenticated; meta needs a valid key but no specific scope. health is not gated by the products feature flag.

MethodPathAuth
GET/api/v1/healthNone (public)
GET/api/v1/openapi.jsonNone (public)
GET/api/v1/metaAny valid key (no scope)

Not over the API

Publication and approval are not endpoints. A submitted DPP is published by a human operator in the Traceable portal. See Regulatory boundary. There is no AI (ai.*) scope; AI-assisted flows are portal-only.