Skip to main content

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.
When the public API launches, you will be able to manage subscribers, invoices, payments, plans, and network provisioning programmatically. Subscribe to the FyberPay blog for launch updates.

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.
After a successful login, the server sets two httpOnly 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.
See Authentication for full details on login flows and token management.

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

  1. Generate a unique key (a UUID v4 works well) and include it in the Idempotency-Key header.
  2. The server processes the request and caches the response for 24 hours.
  3. Any subsequent request with the same key returns the cached response without re-executing the operation.

Behavior details

Idempotency keys expire after 24 hours. If you retry a request after that window, it will be processed as a new request.

Webhook Delivery

FyberPay delivers webhooks for payment events, subscription lifecycle changes, and network provisioning updates. Webhooks are sent as POST 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
Your endpoint should return a 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.