Skip to main content
PATCH
Update claim assignment

Authorizations

X-API-Key
string
header
required

Path Parameters

gtin
string<gtin>
required

GTIN-8, GTIN-12, GTIN-13, or GTIN-14 barcode digits (no spaces, no hyphens). Shorter forms are zero-left-padded to GTIN-14 server-side. Returns 404 if no product matches the normalized GTIN.

Required string length: 8 - 14
claim_id
string<shortuuid>
required

Short ID of the claim to update on this product.

Required string length: 22
Pattern: ^[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22}$

Body

application/json

Request body for PATCH /products/{gtin}/claims/{claim_id}.

All fields are optional; only fields present in the request body are updated. metadata follows the Stripe-style merge convention: keys with null values delete the key, keys with values upsert, omitted keys are preserved. See :func:apps.core.api.metadata.apply_metadata_update.

metadata
Metadata · object | null

Developer-attached key/value data. Send {} or null to clear. Empty-string values delete that key. Omitted keys are preserved.

source
enum<string>
default:BRAND_SELF_DECLARED

How the claim is asserted. Omit to leave unchanged; the default shown is not applied unless the field is sent. Not nullable.

Available options:
BRAND_SELF_DECLARED,
THIRD_PARTY_VERIFIED
valid_from
string<date> | null

Start of validity (ISO 8601). Send null to clear; omit to leave unchanged.

expiration_date
string<date> | null

End of validity (ISO 8601). Send null to clear; omit to leave unchanged.

Response

OK

A claim assigned to a specific product.

Mirrors :class:apps.certifications.models.ClaimAssignment. Most fields proxy through to the linked :class:Claim record; source, valid_from, expiration_date, and metadata carry the per-instance state.

Like :class:CertificationAssignmentOut, id and id are the claim's identifiers (not the assignment's), so callers can deep-link to the claim record.

id
string<shortuuid>
required

URL-safe 22-character shortuuid encoding of the row's UUID primary key. Stable across the row's lifetime; suitable for sharing in URLs, log lines, and external SDK clients. Accepted on input as either the shortuuid form or the canonical UUID form (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).

Required string length: 22
Pattern: ^[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22}$
label
string
required

Display name of the underlying claim (e.g. Non-GMO).

Maximum string length: 100
code
string
required

Stable code of the underlying claim (e.g. NON_GMO).

Maximum string length: 50
category
enum<string>
required

Category of the underlying claim. See :class:ClaimCategoryEnum for the full set of values.

Available options:
DIETARY,
INGREDIENT_ABSENCE,
ALLERGEN_FREE,
PROCESS,
SUSTAINABILITY,
OTHER
source
enum<string>
required

How the claim is asserted. BRAND_SELF_DECLARED means the brand states the claim without third-party verification; THIRD_PARTY_VERIFIED means an independent body has verified it.

Available options:
BRAND_SELF_DECLARED,
THIRD_PARTY_VERIFIED
metadata
Metadata · object

Developer-attached key/value data attached to this object. Up to 50 keys; key max 40 chars, value max 500 chars.

valid_from
string<date> | null

Start of validity for this claim (ISO 8601). null when no start date was recorded — treat as 'valid since unknown date'.

expiration_date
string<date> | null

End of validity for this claim (ISO 8601). null for claims with no scheduled expiry.