Skip to main content
Programmatic equivalent of the dashboard’s products/<gtin>/certifications/ page.

When to use

  • A brand owner wants the certifications a product holds on its Closient record, with the details of each certificate, so a shopper or a search filter can rely on them.
  • A certificate on file has been renewed, has lapsed, or carries a wrong number or link.

Auth

X-API-Key header or OAuth token. The caller must be a member of the product’s organization with the contribute role (Editor or Manager). A read-only key is refused with 403; a product another organization owns answers 404, so the API never confirms it exists.

Flow

  • Find the certification — a certification is chosen from Closient’s catalog by its id. Search the catalog by label or exact code (e.g. USDA_ORGANIC). If it is not in the catalog, report it rather than picking a near match.
  • List — every certification on the product.
  • Create — the body names the catalog entry with certification_id and may carry the certificate’s certificate_number, issuing_body, valid_from, expiration_date, verification_url, scope, certification_value, audit_date, initial_certification_date and certificate_countries; fields are listed in the OpenAPI document at /certifications/api/v1/openapi.json. verification_url must be an http(s) address of at most 200 characters. A product can hold each certification once; a second create answers 409.
  • Update — PATCH only the fields to change, addressed by the certification’s id (not an assignment id). Send null to clear a date.
  • Delete — removes the certification from the product permanently.
  • Read back — every write returns the saved assignment; list again to confirm.
Returns 403 for a read-only key, 404 for a product or assignment the caller cannot see, 409 for a duplicate, and 422 for an invalid value.

Notes

Record a certification only when the brand publishes it for this product or holds the certificate. A brand’s agent leaves verification_status alone: whether a certificate has been checked against the issuing body’s registry is Closient’s to record. The fields a brand writes on a certification are defined once on the model (CertificationAssignment.BRAND_EDITABLE_FIELDS); both API schemas are pinned to that set.