API Reference
RESTful API for programmatic access to Subscribfy data
Programmatic access to subscription, member, and billing data.
Authentication
All API requests require authentication using an API key.
Getting Your API Key
- Go to Subscribfy → Integrations
- Find your Subscribfy API Key
- Copy the key securely
Using the API Key
Include the key in the Authorization header:
curl -X GET "https://api.subscribfy.com/v1/members" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Keep your API key secure. Never expose it in client-side code or public repositories.
Base URL
https://api.subscribfy.com/v1All endpoints are relative to this base URL.
Rate Limits
| Plan | Requests/Minute | Requests/Day |
|---|---|---|
| Starter | 60 | 10,000 |
| Growth | 120 | 50,000 |
| Enterprise | 300 | Unlimited |
Rate limit headers are included in responses:
X-RateLimit-Limit: Max requests per windowX-RateLimit-Remaining: Requests leftX-RateLimit-Reset: Window reset time (Unix timestamp)
Members Endpoints
List Members
GET /members
List all members with pagination.
curl -X GET "https://api.subscribfy.com/v1/members?limit=50" \
-H "Authorization: Bearer YOUR_API_KEY"Query Parameters:
| Param | Type | Description |
|---|---|---|
limit | integer | Results per page (max 100) |
offset | integer | Number to skip |
status | string | Filter: active, paused, cancelled |
plan_id | string | Filter by plan ID |
email | string | Filter by email |
Get Member
GET /members/member_id
Get a single member by ID.
curl -X GET "https://api.subscribfy.com/v1/members/mem_12345" \
-H "Authorization: Bearer YOUR_API_KEY"Update Member
PATCH /members/member_id
Update member data.
curl -X PATCH "https://api.subscribfy.com/v1/members/mem_12345" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"loyalty_points": 600}'Subscriptions Endpoints
List Subscriptions
GET /subscriptions
List all subscriptions.
curl -X GET "https://api.subscribfy.com/v1/subscriptions?status=active" \
-H "Authorization: Bearer YOUR_API_KEY"Query Parameters:
| Param | Type | Description |
|---|---|---|
status | string | active, paused, cancelled |
plan_id | string | Filter by plan |
customer_id | string | Filter by customer |
created_after | ISO date | Created after date |
created_before | ISO date | Created before date |
Get Subscription
GET /subscriptions/subscription_id
Get subscription details.
curl -X GET "https://api.subscribfy.com/v1/subscriptions/sub_111" \
-H "Authorization: Bearer YOUR_API_KEY"Subscription Actions
POST /subscriptions/subscription_id/pause
Pause a subscription.
curl -X POST "https://api.subscribfy.com/v1/subscriptions/sub_111/pause" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"duration": 30}'POST /subscriptions/subscription_id/resume
Resume a paused subscription.
POST /subscriptions/subscription_id/cancel
Cancel a subscription.
Billing Endpoints
List Billing Attempts
GET /billing-attempts
List billing attempts.
curl -X GET "https://api.subscribfy.com/v1/billing-attempts?status=failed" \
-H "Authorization: Bearer YOUR_API_KEY"Query Parameters:
| Param | Type | Description |
|---|---|---|
subscription_id | string | Filter by subscription |
status | string | success, failed, pending |
date_from | ISO date | Attempts after date |
date_to | ISO date | Attempts before date |
Retry Billing
POST /billing-attempts/attempt_id/retry
Manually retry a failed billing attempt.
curl -X POST "https://api.subscribfy.com/v1/billing-attempts/ba_123/retry" \
-H "Authorization: Bearer YOUR_API_KEY"Store Credits Endpoints
Get Balance
GET /store-credits/customer_id
Get customer's store credit balance.
curl -X GET "https://api.subscribfy.com/v1/store-credits/cust_67890" \
-H "Authorization: Bearer YOUR_API_KEY"Add Credits
POST /store-credits/customer_id/add
Add credits to customer balance.
curl -X POST "https://api.subscribfy.com/v1/store-credits/cust_67890/add" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"amount": 25.00, "reason": "Loyalty reward"}'Deduct Credits
POST /store-credits/customer_id/deduct
Deduct credits from customer balance.
Credit History
GET /store-credits/customer_id/history
Get credit transaction history.
Analytics Endpoint
GET /analytics/overview
Get high-level analytics.
curl -X GET "https://api.subscribfy.com/v1/analytics/overview?period=30d" \
-H "Authorization: Bearer YOUR_API_KEY"Query Parameters:
| Param | Type | Description |
|---|---|---|
period | string | 7d, 30d, 90d, 365d |
plan_id | string | Filter by plan |
Response Format
All responses follow this structure:
{
"data": { ... },
"meta": {
"total": 100,
"limit": 50,
"offset": 0,
"has_more": true
}
}Error Handling
Error Response Format
{
"error": {
"code": "invalid_request",
"message": "The request body is invalid"
}
}Error Codes
| Code | HTTP Status | Description |
|---|---|---|
invalid_request | 400 | Malformed request |
authentication_failed | 401 | Invalid API key |
forbidden | 403 | No permission |
not_found | 404 | Resource not found |
rate_limited | 429 | Too many requests |
internal_error | 500 | Server error |
SDK Examples
Node.js
const Subscribfy = require('@subscribfy/node');
const client = new Subscribfy('YOUR_API_KEY');
// List members
const members = await client.members.list({ status: 'active' });
// Get subscription
const subscription = await client.subscriptions.get('sub_123');
// Add store credit
await client.storeCredits.add('cust_123', {
amount: 25.00,
reason: 'Loyalty reward'
});Python
from subscribfy import Subscribfy
client = Subscribfy('YOUR_API_KEY')
# List members
members = client.members.list(status='active')
# Get subscription
subscription = client.subscriptions.get('sub_123')
# Add store credit
client.store_credits.add('cust_123',
amount=25.00,
reason='Loyalty reward'
)Troubleshooting
Was this page helpful?