API Reference
Base URL: https://api.useflyconnect.com · All endpoints require Authorization: Bearer <token>
Authentication
Fly supports Bearer JWT (via /api/v1/auth/login) for first-party integrations and OAuth 2.0 (Authorization Code) for partner apps. OAuth-token access to the business APIs below is in private beta — the token endpoints work today, but API services are still being upgraded to accept OAuth access tokens. Email developers@useflysystems.com to enrol.
Authorization header
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
/api/v1/auth/loginExchange credentials for a JWT access token and refresh token/api/v1/auth/refreshObtain a new access token using a refresh token/api/v1/auth/logoutRevoke the current session tokens/api/v1/auth/meReturn the authenticated user profile/api/v1/oauth/tokenOAuth 2.0 token exchange (authorization_code / refresh_token / client_credentials)/api/v1/oauth/revokeRevoke an OAuth access or refresh token (RFC 7009)/api/v1/oauth/introspectInspect an OAuth access token (RFC 7662)POST /api/v1/auth/login — Request
{
"email": "admin@store.com",
"password": "••••••••"
}Response 200
{
"data": {
"accessToken": "eyJhbGci...",
"refreshToken": "eyJhbGci...",
"expiresIn": 900,
"user": { "id": "uuid", "email": "admin@store.com", "orgId": "uuid" }
}
}Catalog
/api/v1/catalog/productsList products for the authenticated org with pagination
/api/v1/catalog/productsCreate a new product
/api/v1/catalog/products/:idRetrieve a single product by ID
/api/v1/catalog/products/:idUpdate product fields
/api/v1/catalog/products/:idArchive (soft-delete) a product
/api/v1/catalog/categoriesList product categories
/api/v1/catalog/categoriesCreate a category
/api/v1/catalog/modifiers/groupsList modifier groups and options
/api/v1/catalog/price-listsList price lists
/api/v1/catalog/price-listsCreate a price list
Inventory
/api/v1/inventory/stockGet stock levels, filterable by location and product
/api/v1/inventory/stock/low-stockList items at or below their reorder point
/api/v1/inventory/stock/adjustManual stock adjustment with reason code
/api/v1/inventory/transfersList inter-location stock transfers
/api/v1/inventory/transfersCreate an inter-location stock transfer
/api/v1/inventory/transfers/:idRetrieve a single transfer with line items
Orders
/api/v1/ordersList orders with filters (status, date range, location)
/api/v1/ordersCreate a new order
/api/v1/orders/:idRetrieve order with line items, payments, and history
/api/v1/orders/:idUpdate order fields (including status)
/api/v1/orders/:id/completeMark an order as completed
/api/v1/orders/:id/refundInitiate a full or partial refund
Payments
/api/v1/paymentsList payment records for the org
/api/v1/payments/initiateInitiate a payment for an order
/api/v1/payments/:id/voidVoid a payment
/api/v1/payments/settlementsList settlement summaries
Customers
/api/v1/customersSearch and list customers
/api/v1/customersCreate a customer record
/api/v1/customers/:idGet a customer profile
/api/v1/customers/:idUpdate customer fields and preferences
/api/v1/customers/:idDelete a customer record
Loyalty
/api/v1/loyalty/programsList loyalty programs for the org
/api/v1/loyalty/programsCreate a loyalty program
/api/v1/loyalty/accountsEnrol a customer into a loyalty account
/api/v1/loyalty/accounts/customer/:customerIdGet the loyalty account for a customer
/api/v1/loyalty/accounts/:accountId/earnAccrue points on an account
/api/v1/loyalty/accounts/:accountId/redeemRedeem points from an account
/api/v1/loyalty/accounts/:accountId/transactionsList points transactions for an account
Campaigns
/api/v1/campaignsList marketing campaigns
/api/v1/campaignsCreate a campaign (discount, offer, promotion)
/api/v1/campaigns/:idRetrieve a single campaign
/api/v1/campaigns/:idUpdate campaign status or rules
/api/v1/campaigns/:id/launchLaunch a draft campaign
/api/v1/campaigns/:id/analyticsCampaign performance metrics
Automations
/api/v1/automationsList automation rules for the org
/api/v1/automationsCreate an automation rule (trigger + conditions + actions)
/api/v1/automations/:idUpdate automation rule
/api/v1/automations/:idDelete an automation rule
/api/v1/automations/triggerManually fire a trigger event for testing
/api/v1/automations/:id/executionsList execution history for a rule
Webhooks
/api/v1/webhooksList webhook endpoints for the org
/api/v1/webhooksRegister a webhook endpoint (signing secret returned once)
/api/v1/webhooks/:idRetrieve a single webhook endpoint
/api/v1/webhooks/:idUpdate URL, subscribed events, or status
/api/v1/webhooks/:idRemove a webhook endpoint
/api/v1/webhooks/:id/testSend a signed test.ping delivery to the endpoint
/api/v1/webhooks/:id/deliveriesList the last 50 delivery attempts
/api/v1/webhooks/:id/rotate-secretRotate the HMAC signing secret (takes effect immediately)
Locations
/api/v1/locationsList locations (sites/stores) for the org
Rate Limits
All API endpoints enforce per-org rate limits. The default ceiling is suitable for any merchant up to mid-volume; high-volume integrations can request a higher limit via support.
| Limit | Value |
|---|---|
| Requests / minute | 600 |
| Burst | 900 |
| Higher ceiling | Contact support |
Rate limit headers: X-RateLimit-Limit, X-RateLimit-Remaining, Retry-After
Error Codes (RFC 7807)
All errors follow the RFC 7807 Problem Details format:
{
"type": "https://elevatedpos.com.au/errors/validation",
"title": "Validation Error",
"status": 422,
"detail": "sku is required",
"instance": "/api/v1/products"
}Bad Request
Malformed request body or query parameters.
Unauthorized
Missing or invalid Bearer token.
Forbidden
Authenticated but insufficient scope or org mismatch.
Not Found
Resource does not exist or is outside your org.
Unprocessable Entity
Validation failed — see errors array for field details.
Too Many Requests
Rate limit exceeded. Retry after the Retry-After header value.
Internal Server Error
Unexpected server error. Contact support with the request ID.