Endpoint Details
POST
/api/v0/products
multipart/form-data
(for image uploads) or application/json
Idempotency: Supported (recommended for create operations)
Request Parameters
Required Fields
Product name as it appears to customers (1-200 characters)
Example:
Example:
"Premium Software License"
Detailed product description (max 2000 characters)
Example:
Example:
"Annual license for our premium software suite"
Product price (must be > 0.01)
Example:
Example:
299.99
Optional Fields
3-letter ISO currency code
Default:
Example:
Default:
"USD"
Example:
"EUR"
Product classification
Example:
Example:
"DIGITAL"
Product category
Values:
Default:
Values:
"PRODUCT"
, "SERVICE"
Default:
"PRODUCT"
Product availability status
Values:
Default:
Values:
"ACTIVE"
, "INACTIVE"
Default:
"ACTIVE"
Product weight for shipping
Example:
Example:
0.5
Unit of measurement
Example:
Example:
"kg"
Available quantity
Example:
Example:
100
Current stock level
Example:
Example:
50
Product image files or URLs
Example:
Example:
["https://example.com/image1.jpg"]
Enums
ProductType
PRODUCT
- Physical or digital productSERVICE
- Service offering
ProductStatus
ACTIVE
- Available for purchaseINACTIVE
- Not available for purchase
Supported Currencies
USD
- US DollarEUR
- EuroUSDC
- USD Coin (stablecoin)EURC
- Euro Coin (stablecoin)
Request Examples
Response Format
Success Response (201 Created)
Product with Images Response
Error Responses
Image Upload Guidelines
Supported Formats
- File Types: JPEG, PNG, WebP, GIF
- Maximum Size: 10MB per image
- Maximum Count: 10 images per product
- Recommended Dimensions: 1200x1200px or larger
Upload Methods
- Form Data Upload: Include images as files in multipart/form-data request
- Pre-uploaded URLs: Provide existing image URLs in the
images
array
Image Processing
- Images are automatically optimized and resized
- Multiple sizes are generated for different use cases
- Images are served via CDN for fast loading
Business Logic
Inventory Management
- Digital Products:
stockCount
andquantity
are optional - Physical Products: Stock tracking is recommended
- Services: Use
quantity
for available slots/hours
Wallet Assignment
- Products are automatically linked to your app’s default wallet
- If no wallet exists, the product is created without wallet assignment
- Wallet linking enables payment processing and revenue tracking
Currency Handling
- Prices are stored exactly as provided (no conversion)
- Payment processing respects the product’s currency setting
- Stablecoin pricing (USDC/EURC) provides price stability
Integration Tips
Product Organization
Next Steps
After creating a product, you can:- Add to Payment Links: Include products in payment link configurations
- Create Invoices: Add products to customer invoices
- Upload Additional Images: Use the product images endpoint
- Update Product Details: Modify pricing, inventory, or descriptions
- Track Sales: Monitor product performance through transaction reports
For more information, see: