Validate one product before bulk imports.
Push product to Faura
Send one product using a stable SKU and authenticated brand API key. Start here before bulk imports or scheduled sync.
Keep the brand key in backend secrets only.
Same SKU updates instead of duplicating.
Confirm imagery, pricing, and category first.
Purpose
What this route does
Confirm authentication, schema, imagery, and SKU behavior before high-volume workflows.
Purpose
Create or update one product in the authenticated brand catalog.
Who should use it
Backend jobs and middleware that need a stable server-to-server write path.
Why this matters
The safest rollout gate before bulk sync or scheduled catalog jobs.
Authentication
Server-side access
Every write requires the brand API key. Prefer X-API-Key for server-to-server ingestion.
Accepted headers
X-API-Key: fau_your_brand_api_keyAuthorization: Bearer fau_your_brand_api_keyContent-Type: application/jsonSecurity
- Store brand API keys in backend secrets, not mobile apps or public bundles.
- Prefer X-API-Key for ingestion jobs — explicit and easy to rotate.
- Rotate the key immediately if it is exposed outside trusted infrastructure.
Request URL
Primary write route
Keep the path stable. Swap only the host between local testing and your public API domain.
https://api.faura.io/api/clothing/itemsRelative route
/api/clothing/items — when website and API share a gateway.
Public origin
https://api.faura.io/api/clothing/items — for partner-facing docs.
Schema
Required and recommended fields
Keep payloads normalized. A stable SKU plus durable image URLs gives the cleanest update path.
| Field | Type | Status | Notes |
|---|---|---|---|
name | string | Required | Product title shown across Faura discovery surfaces. |
category | string | Required | Stable category label. Keep naming consistent. |
images | string[] | Required | Durable HTTPS media URLs. |
sku | string | Recommended | Primary upsert key for idempotent writes. |
description | string | Optional | Catalog copy for search and merchandising. |
price | number | Optional | Numeric price paired with currency. |
currency | string | Optional | Currency code such as USD, NGN, or EUR. |
sizes | string[] | Optional | Normalized sizes for filters. |
material | string | Optional | Fabric or material composition. |
productUrl | string | Optional | Canonical storefront URL. |
tags | string[] | Optional | Search and merchandising labels. |
Payload expectations
- Use stable category naming across every sync.
- Prefer empty arrays over null for sizes and tags.
- Send the canonical SKU from your commerce system.
- Use durable CDN image URLs where possible.
Examples
See the cURL request, JSON body, and success response in the panel on the right.
Workflow
Recommended rollout
Treat single-product ingestion as the verification gate before any scheduled job.
Create the brand account and store the API key in your secrets manager.
Send one product and verify pricing, imagery, category, and SKU in Faura.
Replay the same SKU with a small edit to confirm updates stay clean.
Enable batch or scheduled sync only after the single-item contract is stable.
Operations
Guardrails and retries
Build ingestion as an operational workflow, not just a single HTTP request.
Retry policy
Safe to retry when the request is SKU-based and deterministic.
Media quality
Stable primary imagery and product URLs improve presentation.
Change control
Version category naming before large catalog refreshes.
Accepted
Faura created or updated the product successfully.
Validation issue
The body is incomplete, malformed, or missing required fields.
Authentication failed
The API key is missing, invalid, or not allowed.
Resource missing
The endpoint or record does not exist for this brand.
Server error
Retry only after confirming the payload is safe to replay.
Support
Need rollout help?
Validate the SKU contract, then move to batch sync.