Developer REST API
Official API specification to programmatically manage member access, integrate external payment checkouts, and query subscriber delivery logs.
Overview & Base URL
The Museed API communicates over HTTPS using JSON-encoded request bodies and returns standard JSON response payloads. All requests require authentication via a secret Bearer token.
https://museed.co/api/v1
Authentication
Authenticate your server-to-server requests by sending your secret API key in the HTTP Authorization header using the Bearer scheme.
Authorization: Bearer msd_sk_your_secret_token_here
POST Grant, Renew, or Revoke Access
Creates or updates listener memberships. Supports custom duration timestamps (e.g. annual, monthly), lifetime access, and immediate revocation.
Request Payload (JSON)
| Parameter | Type | Requirement | Description |
|---|---|---|---|
| string | Required | Member's email address (e.g. customer@example.com). |
|
| action | string | Required | "grant" (create or renew access) or "revoke" (cancel access). |
| expires_at | ISO 8601 string | Optional | Expiration date timestamp (e.g. 2027-08-19T23:59:59-03:00). Omit or null for lifetime access. |
| group | string | Optional | Target platform group name. Omit for default general access. |
| reference | string | Optional | External order ID or transaction reference (e.g. "order_123"). |
Code Examples
curl -X POST "https://museed.co/api/v1/access/" \
-H "Authorization: Bearer <YOUR_SECRET_TOKEN>" \
-H "Idempotency-Key: order_123" \
-H "Content-Type: application/json" \
-d '{
"email": "customer@example.com",
"action": "grant",
"expires_at": "2027-08-19T23:59:59-03:00",
"reference": "order_123",
"group": "Members"
}'
Response (200 OK)
{
"ok": true,
"email": "customer@example.com",
"result": "granted",
"expires_at": "2027-08-19T23:59:59-03:00"
}
GET Query Member Access Status
Returns the real-time access state, expiration timestamp, and platform groups for a specific member.
curl -X GET "https://museed.co/api/v1/access/?email=customer@example.com" \
-H "Authorization: Bearer <YOUR_SECRET_TOKEN>"
Response (200 OK)
{
"ok": true,
"email": "customer@example.com",
"is_active": true,
"is_access_valid": true,
"expires_at": "2027-08-19T23:59:59-03:00",
"reference": "order_123",
"groups": ["Members"],
"created_at": "2026-08-26T20:00:00Z"
}
GET Health Check & Token Test
Instantly verifies whether your API token is valid and returns the creator's platform identity.
curl -X GET "https://museed.co/api/v1/ping/" \
-H "Authorization: Bearer <YOUR_SECRET_TOKEN>"
Response (200 OK)
{
"ok": true,
"authenticated": true,
"platform": "Creator Studio",
"username": "creator_name",
"status": "active"
}
GET Inspect Delivery Logs
Programmatically inspect recent incoming webhook and API delivery logs to debug automated integrations without opening the dashboard.
curl -X GET "https://museed.co/api/v1/logs/" \
-H "Authorization: Bearer <YOUR_SECRET_TOKEN>"
Response (200 OK)
{
"ok": true,
"total_logs": 2,
"logs": [
{
"status": "processed",
"result": "granted",
"email": "customer@example.com",
"idempotency_key": "order_123",
"created_at": "2026-08-26 20:30:15"
}
]
}
GET List Platform Groups
Returns the list of platform group names configured for the authenticated platform.
curl -X GET "https://museed.co/api/v1/groups/" \
-H "Authorization: Bearer <YOUR_SECRET_TOKEN>"
Response (200 OK)
{
"ok": true,
"groups": ["Members", "VIP"]
}
Idempotency & Retries
The API supports idempotent requests via the Idempotency-Key header to prevent double-processing on network retries.
Idempotency-Key: unique_transaction_id_here
When an Idempotency-Key is re-sent, the server returns the cached response instantly without creating duplicate members or extending expiration dates twice.
HTTP Status & Error Responses
All errors return standard HTTP status codes along with a descriptive JSON error payload.
| HTTP Status | Description |
|---|---|
400 Bad Request |
Missing or invalid payload fields (e.g. invalid email address or date format). |
401 Unauthorized |
Missing, invalid, or expired Bearer token in the Authorization header. |
404 Not Found |
Requested member email does not exist on this platform. |