Endpoints
Complete reference for the public Universal Goods API endpoints. All paths are relative to /api.
All endpoints require a Bearer token. See Authentication for details on creating and using API keys.
Products
Product definitions. Each product belongs to an organization and can have structured data sections, batches, and items.
CRUD
Create request body:
Only organizationId and title are required. All other fields are optional.
Data sections
Each product can have multiple detail sections (materials, sustainability, certifications, etc.) managed through the metadata API.
Detail upsert body:
Only slug and title are required. Set visibility to "public" or "private" to control passport disclosure. Set includeInDefaultPassport to include the section in shared passports by default.
Credentials
Batches
Production batches within a product. Batches can be created under a product and also accessed directly by ID.
Create and list (nested under products)
Create request body:
Only productId is required. state defaults to "draft".
Direct batch access
Batch states
Data sections
Items
Individual tokenised items within a batch. Items can be created one at a time or in bulk, and accessed directly by ID.
Create and list (nested under batches)
Create request body:
batchId, friendlyUid, and ethereumAddress are required. The ethereumAddress cannot be changed after creation.
Bulk create body:
Direct item access
The ethereumAddress field is immutable. It is set at creation and cannot be updated.
Data sections
Common patterns
Pagination
List endpoints accept limit and offset (or page) query parameters:
Response format:
Error responses
Errors follow a consistent shape: