# Enjovia API ## Description This is version `3.2.12` of this API documentation. Last update on Oct 22, 2025. API documentation for the Enjovia platform post-order processing and fulfillment system. ## Authentication All endpoints require Bearer token authentication via the Authorization header. ### Obtaining an API Token API tokens can be created through the Enjovia dashboard: 1. Navigate to Settings → API Tokens in your account 2. Click "Create New Token" 3. Enter a name for the token and select the required permissions 4. Configure which stores and redeem locations the token can access 5. Copy the token value immediately - it will only be shown once ### Using the API Token Include the token in the Authorization header of all API requests: ``` Authorization: Bearer YOUR_API_TOKEN ``` ### Token Permissions Each API token is associated with specific permissions that determine which endpoints it can access. ## Required Headers - `Account-ID`: Required for most endpoints (UUID format) - `Store-Subdomain`: Required for store-specific operations - `Redeem-Location-ID`: Required for redemption operations ## Permissions Endpoints require specific permissions: - Orders endpoints: `view_orders` permission - Vouchers endpoints: `view_orders` permission - Redeemables endpoints: `view_orders` permission - Transactions endpoints: `manage_payments` permission - Packages endpoints: `fulfil_orders` permission - Terminal endpoints: `redeem_vouchers` or `process_orders` permission ## Sorting List endpoints support sorting via the `sort` query parameter: - Use field names to sort ascending (e.g., `sort=name`) - Use `-` prefix for descending order (e.g., `sort=-created_at`) - Combine multiple fields with commas (e.g., `sort=type,-price`) - Most endpoints default to `-updated_at` (most recently updated first) - Available sort fields vary by endpoint - see individual endpoint documentation ## Filtering List endpoints support filtering via query parameters with the `filter[field]` syntax: - Single values: `filter[is_active]=true` - Multiple values (OR logic): `filter[store.id][]=id1&filter[store.id][]=id2` - Boolean filters: `filter[is_live][]=true&filter[is_live][]=false` - Relationship filters: `filter[store.id]=uuid` (filters by related entity) - Tag filters: `filter[tags][key]=value` (filters by tag key-value pairs) - Available filter fields vary by endpoint - see individual endpoint documentation ### Query Examples: ``` # Get active products sorted by price (lowest first) GET /products?filter[is_active]=true&sort=price # Get live orders from specific store, newest first GET /orders?filter[store.id]=store-uuid&filter[is_live]=true&sort=-created_at # Get USD promotions with codes, sorted by last used GET /promotions?filter[currency_code]=usd&filter[has_codes]=true&sort=-last_used # Get public monetary products in a category, sorted by name GET /products?filter[type]=monetary&filter[status]=public&filter[categories.slug]=gift-cards&sort=name # Complex query: Active products with tags, sorted by multiple fields GET /products?filter[is_active]=true&filter[tags][season]=summer&filter[tags][featured]=true&sort=type,-price # Get stores with pagination, filtering, and sorting GET /stores?filter[is_live]=true&filter[payment_gateway]=Stripe&sort=-last_purchase&page=2&per_page=25 ``` ## Servers - GB server: https://api.gb.enjovia.app (GB server) - EU server: https://api.eu.enjovia.app (EU server) - US server: https://api.us.enjovia.app (US server) - AU server: https://api.au.enjovia.app (AU server) ## Authentication ## Endpoints and operations ### [Reference Data](https://docs.enjovia.com/group/endpoint-reference-data.md) - [List stores](https://docs.enjovia.com/operation/operation-liststores.md) - [List redeem locations](https://docs.enjovia.com/operation/operation-listredeemlocations.md) - [List promotions](https://docs.enjovia.com/operation/operation-listpromotions.md) - [List products](https://docs.enjovia.com/operation/operation-listproducts.md) ### [Orders](https://docs.enjovia.com/group/endpoint-orders.md) - [List orders](https://docs.enjovia.com/operation/operation-listorders.md) - [Get order details](https://docs.enjovia.com/operation/operation-getorder.md) - [Update order](https://docs.enjovia.com/operation/operation-updateorder.md) - [Resend vouchers for order](https://docs.enjovia.com/operation/operation-resendordervouchers.md) - [Get order notes](https://docs.enjovia.com/operation/operation-getordernotes.md) - [Add note to order](https://docs.enjovia.com/operation/operation-addordernote.md) - [Get order history](https://docs.enjovia.com/operation/operation-getorderhistory.md) ### [Vouchers](https://docs.enjovia.com/group/endpoint-vouchers.md) - [List vouchers](https://docs.enjovia.com/operation/operation-listvouchers.md) - [Get voucher details](https://docs.enjovia.com/operation/operation-getvoucher.md) - [Download voucher PDFs](https://docs.enjovia.com/operation/operation-downloadvoucherpdfs.md) - [Download outstanding voucher PDFs](https://docs.enjovia.com/operation/operation-downloadoutstandingvoucherpdfs.md) - [Resend voucher by email](https://docs.enjovia.com/operation/operation-resendvoucherbyemail.md) ### [Redeemables](https://docs.enjovia.com/group/endpoint-redeemables.md) - [Cancel redeemables](https://docs.enjovia.com/operation/operation-cancelredeemables.md) - [Unredeem redeemables](https://docs.enjovia.com/operation/operation-unredeemredeemables.md) - [Top up redeemable value](https://docs.enjovia.com/operation/operation-topupredeemable.md) - [Update redeemable validity period](https://docs.enjovia.com/operation/operation-updateredeemablevalidity.md) ### [Transactions](https://docs.enjovia.com/group/endpoint-transactions.md) - [Update transaction](https://docs.enjovia.com/operation/operation-updatetransaction.md) - [Resend transaction receipt](https://docs.enjovia.com/operation/operation-resendtransactionreceipt.md) ### [Packages](https://docs.enjovia.com/group/endpoint-packages.md) - [Get outstanding delivery methods](https://docs.enjovia.com/operation/operation-getoutstandingdeliverymethods.md) - [Get fulfilled delivery methods](https://docs.enjovia.com/operation/operation-getfulfilleddeliverymethods.md) - [Get outstanding packaging options](https://docs.enjovia.com/operation/operation-getoutstandingpackagingoptions.md) - [Get fulfilled packaging options](https://docs.enjovia.com/operation/operation-getfulfilledpackagingoptions.md) - [Download package envelopes](https://docs.enjovia.com/operation/operation-downloadpackageenvelopes.md) - [Download all outstanding envelopes](https://docs.enjovia.com/operation/operation-downloadoutstandingenvelopes.md) - [Mark packages as fulfilled](https://docs.enjovia.com/operation/operation-markpackagesfulfilled.md) - [Mark all outstanding packages as fulfilled](https://docs.enjovia.com/operation/operation-markalloutstandingfulfilled.md) - [Update package tracking number](https://docs.enjovia.com/operation/operation-updatepackagetracking.md) - [Resend package by post](https://docs.enjovia.com/operation/operation-resendpackagebypost.md) ### [Terminal](https://docs.enjovia.com/group/endpoint-terminal.md) - [Search vouchers for terminal](https://docs.enjovia.com/operation/operation-searchterminalvouchers.md) - [Validate terminal basket](https://docs.enjovia.com/operation/operation-validateterminalbasket.md) - [Redeem redeemables at terminal/POS](https://docs.enjovia.com/operation/operation-redeemterminalredeemables.md) - [Get redeemable details for terminal](https://docs.enjovia.com/operation/operation-getterminalredeemable.md) - [Undo terminal redemption](https://docs.enjovia.com/operation/operation-undoterminalredemption.md) - [Get product details for terminal](https://docs.enjovia.com/operation/operation-getterminalproduct.md) - [Get promotion by code for terminal basket](https://docs.enjovia.com/operation/operation-getterminalpromotionbycode.md) - [Check available promotions for basket](https://docs.enjovia.com/operation/operation-checkterminalbasketpromotions.md) - [Create terminal order](https://docs.enjovia.com/operation/operation-createterminalorder.md) [Powered by Bump.sh](https://bump.sh)