Skip to main content
POST
Upload a catalog artifact

Headers

domain
string
required

The brand domain name (for example, vessel.com or containerstore.com) used to scope the request to a specific brand's data and configuration. The authenticated principal must be authorized for the specified brand.

Example:

"vessel.com"

Body

multipart/form-data
file
file
required

The catalog file to upload. The file must be a CSV.

kind
enum<string> | null

Optional. When omitted, the server infers the kind from the filename extension or content type. The supported value is csv.

Available options:
csv

Response

Artifact uploaded

artifact_id
string
required

Stable identifier for the artifact. Reference this value when creating a workflow.

Example:

"art_95c650ded4824dc79bb6df16427e4a10"

kind
enum<string>
required

Artifact file format. The supported value is csv.

Available options:
csv
source
enum<string>
required

Indicates how the artifact was ingested. upload denotes a direct multipart upload, presigned denotes the presigned-URL flow used for large files, uri denotes a server-side fetch from an external URI, and generated denotes a system-produced artifact.

Available options:
upload,
presigned,
uri,
generated
content_type
string
required

MIME type as detected by the server.

Example:

"text/csv"

uri
string
required

Internal storage URI for the artifact. Informational only.

Example:

"s3://product-agent-data-prod-ue2/optimize-artifacts/svc_yourClientId/art_95c650ded4824dc79bb6df16427e4a10/catalog.csv"

brand_id
string
required

The brand the artifact is associated with, derived from the domain header.

Example:

"691df5949676c8e0b1d7b6b3"

created_at
string<date-time>
required

Upload timestamp in UTC.

Example:

"2026-05-15T10:30:00Z"

bytes
integer | null

File size in bytes.

Example:

45678

sha256
string | null

Hex-encoded SHA-256 checksum of the file contents.

Example:

"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"

original_filename
string | null

The filename submitted with the multipart upload.

Example:

"catalog.csv"