Base URL
All API requests should be made to:{org_id} with your organization ID provided by your Customer Success Manager when your FunnelFox Billing account was created.
Authentication
Authenticate your API requests by including your secret key in theff-secret-key header. Some endpoints are public and don’t require authentication.
Endpoints requiring ff-secret-key header
Endpoints requiring ff-secret-key header
/payment/refund/subscription/enable_autorenew/subscription/disable_autorenew/subscription/migration/discount/subscription/defer/subscription/pause/subscription/resume/subscription/search/pp/export_csv/pp/import_csv/pp/update/pp/create/feature/create/payments_history/transaction_report/search_users
Endpoints not requiring authentication
Endpoints not requiring authentication
/checkout/create_client_session/checkout/update_client_session/checkout/create_payment/checkout/one_click/checkout/resume_payment/my_assets/price_points/features
Secret key
Request your API secret key from your Solution manager, or set it yourself on the Settings page of the FunnelFox Billing dashboard. To set your API secret key:- Go to the Settings page of the FunnelFox Billing dashboard.
- Configure the following fields:
- ff_api_secrets_new.first.enabled: Set to
trueto enable the secret key. - ff_api_secrets_new.first.group: Set to
adminfor full access. You can also usesupportorviewerfor limited access. - ff_api_secrets_new.first.key: Enter your secret key value. Store this securely—once saved, the UI will not display it again.

- Press Enter to save changes.
ff_api_secrets_new.second fields.
Available endpoints
Payment management
Payment management
POST /payment/refund— Refund an order (full or partial; optional “soft” refund)
Subscription management
Subscription management
POST /subscription/enable_autorenew— Turn on autorenewPOST /subscription/disable_autorenew— Turn off autorenewPOST /subscription/migration— Move a sub to another price point (price_prorate,delayed_start)POST /discount— Apply a percentage discount for a number of iterationsPOST /subscription/defer— Delay the next charge until a timePOST /subscription/pause— Stop billing and access until a timePOST /subscription/resume— Cancel pause and restart billing/accessPOST /subscription/search— Search and filter subscriptions
PricePoints
PricePoints
POST /price_points— List price points (filter byident)POST /pp/export_csv— Export all price points to CSVPOST /pp/import_csv— Bulk-create price points from CSVPOST /pp/update— Update byidentPOST /pp/create— Create a price pointPOST /feature/create— Create a feature (timebased, lifetime, consumable)POST /features— List all features
Information
Information
POST /my_assets— Fetch user ownership (subscriptions & one-off purchases)POST /payments_history— Return successful payments of userPOST /transaction_report— Return all transactionsPOST /search_users— Search user
Checkout
Checkout
POST /checkout/create_client_session— Get a client token & order for the selected price pointPOST /checkout/update_client_session— Re-bind an order to a different price pointPOST /checkout/create_payment— Charge using apayment_method_tokenPOST /checkout/one_click— One-click purchase byexternal_id+pp_identPOST /checkout/resume_payment— Complete a payment after additional action
Making requests
Path parameters
All endpoints defined underhttps://billing.funnelfox.com/{org_id}/v1/... require the org_id in the URL path.
Request body
Most endpoints accept JSON parameters in the request body. Parameters vary by endpoint - see the API Reference for details.Example request
Response format
All successful responses follow this structure:Example response
Filtering
ThePOST /price_points endpoint is the only one that supports narrowing results by ident to retrieve specific price points.
Pass an ident value to retrieve only the matching price point:
Error handling
The API returns standard HTTP status codes with detailed error messages.status- Always"error"for failed requestsreq_id- Unique request identifier for debuggingerror- Array of error objects withmsg(description) andtype(error category)
