# Enjovia API

OpenAPI file: https://docs.enjovia.com/source.yaml

## Description

This is version `v3.5.20` of this API documentation. Last update on Sep 11, 2026.
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 (see each endpoint description for exact requirements):
- Orders endpoints: `view_orders` permission
- Vouchers endpoints: `view_orders` permission
- Redeemables endpoints: `redeem_vouchers`, `extend_vouchers`, or `refund_vouchers` (varies by endpoint)
- Transactions endpoints: `view_orders` permission
- Packages endpoints: `view_orders` permission
- Terminal endpoints: `process_offline_payments` for orders, test orders additionally requiring `process_test_orders`; `process_card_payments` for sending terminal payment links, test links additionally requiring `process_test_orders`; terminal read endpoints (search, product/store lookups) require `process_offline_payments`, `process_card_payments`, or `process_test_orders`; `redeem_vouchers` for voucher search and redemption; baskets containing staff discounts also require `apply_discounts` (enforced during basket validation and order creation)

## 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)

- Asia server: https://api.asia.enjovia.app (Asia server)


## Topics

### [Authentication](https://docs.enjovia.com/authentication.md)


## Endpoints

### [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 custom tags](https://docs.enjovia.com/operation/operation-updateordertags.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 single voucher PDF](https://docs.enjovia.com/operation/operation-downloadsinglevoucherpdf.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)

- [Refund redeemables](https://docs.enjovia.com/operation/operation-refundredeemables.md)

- [Unredeem redeemables](https://docs.enjovia.com/operation/operation-unredeemredeemables.md)

- [Book redeemables](https://docs.enjovia.com/operation/operation-bookredeemables.md)

- [Unbook redeemables](https://docs.enjovia.com/operation/operation-unbookredeemables.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)

- [Update redeemable custom tags](https://docs.enjovia.com/operation/operation-updateredeemabletags.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)

- [List outstanding postal packages](https://docs.enjovia.com/operation/operation-listoutstandingpostalpackages.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)

- [Bulk fulfil postal packages](https://docs.enjovia.com/operation/operation-bulkfulfilpostalpackages.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)
