Appearance
SECTION 3 — CREATOR SUBSCRIPTION
12. GET /creators/:id/subscription
Get subscription plan details for a creator.
Request
http
GET /creators/creator_001/subscription
Authorization: Bearer <token>Response 200 OK
json
{
"status": "success",
"data": {
"creator_id": "creator_001",
"creator_name": "Chris Spencer",
"plan": {
"price": 9.99,
"currency": "USD",
"interval": "month",
"perks": ["All Premium content", "Early access", "Exclusive Q&As"]
},
"user_subscription": {
"is_subscribed": false,
"subscribed_at": null,
"renewal_date": null,
"status": null
}
}
}13. POST /creators/:id/subscription
Subscribe to a creator's channel. Requires authentication.
Request
http
POST /creators/creator_001/subscription
Authorization: Bearer <token>
Content-Type: application/jsonRequest Body
json
{
"payment_method_id": "pm_abc123",
"currency": "USD"
}Request Body Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| payment_method_id | string | Yes | Payment method on file |
| currency | string | Yes | Currency code e.g. USD |
Response 201 Created
json
{
"status": "success",
"message": "Successfully subscribed to Chris Spencer",
"data": {
"subscription_id": "sub_001abc",
"creator_id": "creator_001",
"creator_name": "Chris Spencer",
"plan": {
"price": 9.99,
"currency": "USD",
"interval": "month"
},
"status": "active",
"subscribed_at": "2024-11-01T12:00:00Z",
"renewal_date": "2024-12-01T12:00:00Z",
"perks_unlocked": ["All Premium content", "Early access", "Exclusive Q&As"]
}
}Errors
json
{
"status": "error",
"code": 409,
"message": "You already have an active subscription to this creator"
}json
{
"status": "error",
"code": 402,
"message": "Payment failed. Please check your payment method."
}14. DELETE /creators/:id/subscription
Cancel an active subscription. Requires authentication.
Request
http
DELETE /creators/creator_001/subscription
Authorization: Bearer <token>Response 200 OK
json
{
"status": "success",
"message": "Subscription cancelled. Access remains until renewal date.",
"data": {
"creator_id": "creator_001",
"status": "cancelled",
"access_until": "2024-12-01T12:00:00Z"
}
}