Skip to main content
POST
Create a document

Authorizations

X-API-Key
string
header
required

Path Parameters

gtin
string
required

GTIN barcode (8, 12, 13, or 14 digits, with or without separators). Normalized to GTIN-14 for lookup.

Pattern: ^[0-9]{8,14}$

Body

multipart/form-data
purpose
enum<string>
required
Available options:
gs1:certificationInfo,
gs1:epil,
gs1:instructions,
gs1:quickStartGuide,
gs1:recipeInfo,
gs1:safetyInfo,
gs1:traceability,
gs1:whatsInTheBox
languages
string[]
required

At least one BCP 47 language tag.

external_url
string
default:""

Link to a document hosted elsewhere. Mutually exclusive with file.

markets
string[]

ISO 3166-1 alpha-2 codes. Empty means all markets.

labels
string[]

At most 10 brand-owned tags, each at most 40 characters.

Maximum array length: 10
title
string
default:""

Document title.

Maximum string length: 255
description
string
default:""

Free-text description.

is_pinned
boolean
default:false

At most one pinned document per product.

sort_order
integer
default:0

Tiebreaker within a purpose group; lower sorts first.

Required range: x >= 0
file
file | null

PDF (or other) file to upload. Mutually exclusive with external_url.

Response

Created

A single document, as returned by the public Catalog API.

id
string<shortuuid>
required

Document identifier.

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

GS1 link type CURIE describing what this document is, e.g. gs1:instructions.

title
string
required

Document title.

url
string
required

Resolvable public URL for this document — never a signed or expiring one. For an uploaded file this is Closient's own download-redirect endpoint (permanent; it re-signs on every hit). For a brand-supplied link this is that link verbatim.

media_type
string
required

Full IANA media type, e.g. application/pdf.

format
enum<string>
required

Presentation bucket derived from media_type.

Available options:
pdf,
video,
web_page,
image,
other
languages
string[]
required

BCP 47 language tags this document is available in.

markets
string[]
required

ISO 3166-1 alpha-2 codes. Empty means all markets.

labels
string[]
required

Brand-owned free-text tags, normalized to lowercase.

is_pinned
boolean
required

Featured above the rest of the section.

sort_order
integer
required

Tiebreaker within a purpose group; lower sorts first.

is_active
boolean
required

Inactive documents are excluded from every public surface.

description
string
default:""

Free-text description.

file_size_bytes
integer | null

Size of an uploaded file. Null for a link-only document.