Skip to main content

Authentication

FlexPortal uses Bearer token authentication. Include your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
API keys are scoped to your organization and can be created in the Dashboard.

Base URLs

RegionBase URL
Europehttps://api-eu.flexportal.io
United Stateshttps://api-us.flexportal.io
Qatarhttps://api-qatar.flexportal.io

Rate Limits

TierRequests per minute
Starter100
GrowthUnlimited*
EnterpriseUnlimited*
*Fair use with abuse protection.

Pagination

List endpoints return paginated results:
{
  "data": [...],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 150,
    "hasMore": true
  }
}
Use query parameters to navigate:
ParameterDefaultDescription
page1Page number
limit20Items per page (max 100)

Request Format

All requests should use JSON:
Content-Type: application/json

Response Format

All responses return JSON with a consistent structure: Success:
{
  "data": { ... }
}
Error:
{
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable description"
  }
}

HTTP Status Codes

CodeDescription
200Success
201Created
400Bad request
401Unauthorized
403Forbidden
404Not found
422Validation error
429Rate limited
500Server error

Core Resources

ResourceDescription
OrdersSubscription checkout transactions
ProductsItems available for subscription
CustomersEnd users who subscribe
SubscriptionsActive subscription contracts
AssetsIndividual tracked units (by serial number)
InvoicesBilling records

Webhooks

FlexPortal sends real-time notifications for key events:
  • subscription.created
  • subscription.renewed
  • subscription.cancelled
  • payment.succeeded
  • payment.failed
  • asset.assigned
  • asset.returned
Configure webhook endpoints in the Dashboard under Settings → Webhooks.