/api/v1/company/compliance-profileUpdate compliance profile
Merges the provided fields into the stored compliance profile and returns the updated profile with `updatedAt`. Fields not included in the request are left unchanged. Set a field to `null` to remove it. Validated fields: `role` (`manufacturer`, `importer`, `distributor`, `authorised_representative`, `fulfilment_service_provider`), `ownBrand` (boolean), `categories` (array of template category keys), `markets` (array of ISO-3166-1 alpha-2 codes or `EU`), `products` (array of `{name, category, facts}`, at most 50), `sizeBand` (`sme` or `large`), `salesChannels` (array of `own_shop`, `marketplace`, `retail`, `b2b`, `fulfilment`), `dataSystems` (string, at most 200 chars). An invalid value returns 400 `invalid_input`.
Auth: an API key or OAuth with `passports:write`. For OAuth principals, the user must have the `admin` or `owner` role (same rule as the dashboard compliance-profile page). API keys are not role-gated. Counts no scope answer (this is a profile write, not a regulatory query).
Headers
- Authorizationrequired
string
`Bearer <token>` — either a `tp_` API key (Developer → API Keys; simplest, for server-to-server) or an OAuth 2.0 access token (Developer → OAuth Apps; for user-authorized apps, scoped + revocable). The Authentication page has the full OAuth flow and scope list.
e.g. Bearer tp_REDACTED_xxxxxxxxxxxx
Body fields
- role
string
Company's role in the supply chain — `manufacturer`, `importer`, `distributor`, `authorised_representative`, or `fulfilment_service_provider`.
e.g. manufacturer
- categories
string[]
Array of template category keys the company deals with.
- markets
string[]
ISO-3166-1 alpha-2 country codes or `EU` for all EU markets.
- sizeBand
string
Company size — `sme` or `large`.
e.g. sme
Request
curl -sS https://app.tracepass.eu/api/v1/company/compliance-profile \
-X PATCH \
-H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"role":"manufacturer","categories":["battery"],"markets":["EU"],"sizeBand":"sme"}'Response
{
"complianceProfile": {
"role": "manufacturer",
"categories": ["battery"],
"markets": ["EU"],
"sizeBand": "sme"
},
"updatedAt": "2026-10-11T19:01:12.152Z"
}