Partially update an existing certification assignment. Only fields present in the request body are applied; omitted fields are left unchanged. metadata follows Stripe-style merge semantics. Returns 404 when the GTIN or certification does not match an existing assignment.
Documentation Index
Fetch the complete documentation index at: https://docs.closient.com/llms.txt
Use this file to discover all available pages before exploring further.
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.
8 - 14^\d{8,14}$Short ID of the certification to update on this product.
22^[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22}$Request body for PATCH /products/{gtin}/certifications/{certification_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.
Developer-attached key/value data. Send {} or null to clear. Empty-string values delete that key. Omitted keys are preserved.
Start of validity (ISO 8601). Send null to clear; omit to leave unchanged.
End of validity (ISO 8601). Send null to clear; omit to leave unchanged.
Certificate identifier from the issuing body. Omit to leave unchanged.
100Free-text issuing-organization name. Omit to leave unchanged.
255URL to verify this certificate online. Omit to leave unchanged.
Lifecycle state of the certificate's verification. One of unverified, verified, expired. Omit to leave unchanged.
unverified, verified, expired Free-text describing what the certification covers. Omit to leave unchanged.
GS1 certificationValue — assessed level/result. Omit to leave unchanged.
255Date of the certification audit (ISO 8601). Omit to leave unchanged.
Date the certification was originally granted (ISO 8601). Omit to leave unchanged.
ISO 3166-1 alpha-2 country codes for certificate jurisdictions. Omit to leave unchanged; pass [] to clear.
OK
A certification assigned to a specific product, with certificate detail.
Mirrors :class:apps.certifications.models.CertificationAssignment.
Most fields proxy through to the linked :class:Certification record
(label, code, description, url, logo_url); the
rest carry the per-instance certificate metadata (number, issuing
body, validity dates, verification status, audit dates, scope, ...).
id and id are the certification's identifiers, not
the assignment's — chosen so callers can deep-link to the
certification record from a product's certification list.
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).
22^[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22}$Display name of the underlying certification (e.g. USDA Organic).
255Computed: true when today's date falls within [valid_from, expiration_date] (either bound being null is treated as open). Refreshes per request — do not cache.
Developer-attached key/value data attached to this object. Up to 50 keys; key max 40 chars, value max 500 chars.
Stable code of the underlying certification (e.g. USDA_ORGANIC). Empty for unnamed.
50Free-text summary from the underlying certification record. May be empty.
Canonical reference URL from the underlying certification record. May be empty.
Absolute URL of the certification's logo. null when no logo is set.
Start of validity for this certificate (ISO 8601, YYYY-MM-DD). null when not recorded — treat as 'valid since unknown date'.
End of validity for this certificate (ISO 8601, YYYY-MM-DD). null for certificates with no scheduled expiry. Drives the is_active computed field below.
Certificate identifier issued by the certification body (e.g. NOP-12345). Empty when not yet recorded.
100Free-text name of the organization that issued this certificate. Distinct from the linked :class:CertificationBody record — kept separately because the brand may report a different name than the canonical body. Empty when not recorded.
255When this specific certificate expires (ISO 8601). Distinct from expiration_date: expiration_date is the policy/program validity window; expiry_date is the certificate document's own expiry as printed on it. Often equal in practice.
URL to verify this certificate online via the issuing body's registry (e.g. USDA Organic Integrity Database). Empty when no public registry is exposed.
Lifecycle state of the certificate's verification. unverified (default) means the brand-claimed certificate has not been audited by Closient; verified means it has been confirmed against the issuing body's registry; expired means the verification record lapsed. Maps to GS1 certificationStatus (ACTIVE / INACTIVE) in JSON-LD exports.
unverified, verified, expired Free-text describing what the certification covers (e.g. Product, All organic dairy lines). Empty when not specified.
GS1 certificationValue — the assessed level or result (e.g. Grade A, Level 3, 100% Organic). Empty when the program does not grade results.
255Date the certification audit was performed (ISO 8601). null when not recorded.
Date the certification was originally granted (ISO 8601). null when not recorded. Use to compute years-certified.
ISO 3166-1 alpha-2 country codes (uppercase, e.g. ["US", "CA"]) indicating jurisdictions where this certificate is valid. Empty list when not recorded — does not imply 'valid everywhere'.