Public API Status
The FyberPay public REST API is coming soon. Today, all platform functionality is accessed
through the web dashboard and subscriber portal. This reference documents the internal API
surface that the public API will mirror once released.
Base URL
FyberPay uses subdomain-based multi-tenancy. Every API request is scoped to an organization by its subdomain:
Replace
{orgSlug} with your organization’s slug. For example, if your ISP’s slug is acme:
Authentication
FyberPay supports two authentication methods:Session Cookies
JWT access and refresh tokens delivered as
httpOnly cookies. Used by the web dashboard and
subscriber portal automatically.API Keys
Bearer token authentication for server-to-server integrations. Pass the key in the
Authorization header. Available when the public API launches.Cookie-based auth (web clients)
After a successful login, the server sets twohttpOnly cookies:
Cookies are scoped to
.fyberpay.com so they work across subdomains.
API key auth (server-to-server)
API keys will be available when the public API launches. The format is documented here for
early reference.
Rate Limiting
All endpoints are rate-limited to protect platform stability.
When you exceed a limit, the API returns
429 Too Many Requests with a Retry-After header
indicating how many seconds to wait.
Error Response Format
All errors follow a consistent JSON structure:Common status codes
Pagination
List endpoints use cursor-based pagination for consistent, performant results.Request parameters
Response shape
Example
Idempotency
Mutation endpoints (POST, PUT, PATCH, DELETE) support idempotency to safely retry requests without causing duplicate side effects, such as double-charging a subscriber.How it works
- Generate a unique key (a UUID v4 works well) and include it in the
Idempotency-Keyheader. - The server processes the request and caches the response for 24 hours.
- Any subsequent request with the same key returns the cached response without re-executing the operation.
Behavior details
Webhook Delivery
FyberPay delivers webhooks for payment events, subscription lifecycle changes, and network provisioning updates. Webhooks are sent asPOST requests to your configured endpoint.
Delivery format
Event types
Retry policy
Failed deliveries (non-2xx response or timeout) are retried with exponential backoff:- Attempts: Up to 5 retries
- Backoff: 30s, 2m, 10m, 1h, 6h
- Timeout: 10 seconds per delivery attempt
2xx status code within 10 seconds to acknowledge receipt. Process
the event asynchronously if your handler needs more time.
Verifying webhooks
Webhook signature verification details will be published with the public API launch. Your
webhook endpoint should be served over HTTPS.