REST API
Base URL: https://{shop-domain}/api/ucp
Service root: GET /api/ucp — returns protocol metadata and confirms reachability.
All mutating endpoints accept Content-Type: application/json. CORS is supported for browser-based integrations.
Standard headers
See Authentication for tier details.
Catalog
Context object (optional on catalog calls): localize results with fields such as language (BCP 47), currency (ISO 4217), address_country, address_region, and postal_code.
Search responses include products and pagination (with a cursor for the next page). Lookup and product responses return full product objects including variants, pricing, and customization metadata.
Carts
Line items reference a variant by item.id and quantity. Products with customizations require a customizations array — use the customization metadata returned by catalog lookup/search to build valid entries.
Cart responses include:
id,currency,line_items,totals(subtotal, tax, discounts, grand total in minor currency units)continue_url— a buyer-facing URL to continue to checkout in the storefrontdiscounts— when the discount capability is negotiatedmessages— warnings or recoverable errors (for example rejected coupon codes)ucp— protocol metadata block
Idempotency: POST /carts and POST /carts/{id}/cancel honor the Idempotency-Key header. Replaying the same key returns the original response.
Checkout and orders
Checkout session and order endpoints follow the UCP specification but are not yet published on Finqu. When they become available, they will appear under:
/checkout-sessions(create, get, update, complete, cancel)/orders/{id}
Money and localization
- All monetary amounts are integers in minor currency units (cents, öre, etc.)
- Currency codes are ISO 4217 three-letter strings
- Country codes are ISO 3166-1 alpha-2
- Pass
context.currencyandcontext.languageon catalog and cart calls to localize pricing and product content
Product customizations
Many Finqu products support buyer customizations (text fields, option groups, required selections). The catalog returns customization definitions on variant metadata. When adding items to a cart:
- Look up or search for the product first
- Read
metadata.customizationson the chosen variant - Include a
customizationsarray on each line item with{ "id": "…", "value": "…" } - Required customization groups must have at least one selection
Missing or invalid customizations return validation errors with field-level messages.