Skip to main content
POST
/
v2
/
optimize
/
artifacts
Upload a catalog artifact
curl --request POST \
  --url https://commerceos.aiagents.fabric.inc/api/v2/optimize/artifacts \
  --header 'Content-Type: multipart/form-data' \
  --header 'domain: <domain>' \
  --form file='@example-file'
{
  "artifact_id": "art_95c650ded4824dc79bb6df16427e4a10",
  "kind": "csv",
  "source": "upload",
  "bytes": 45678,
  "sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
  "content_type": "text/csv",
  "uri": "s3://product-agent-data-prod-ue2/optimize-artifacts/svc_yourClientId/art_95c650ded4824dc79bb6df16427e4a10/catalog.csv",
  "original_filename": "catalog.csv",
  "brand_id": "691df5949676c8e0b1d7b6b3",
  "created_at": "2026-05-15T10:30:00Z"
}

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>

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"