Production ready · v1.4
Living Echoes REST API
JSON over HTTPS with token authentication. Every resource is versioned, paginated, and returns predictable error envelopes. Rate limit: 600 req/min per token.
Bearer token
Authorization: Bearer le_live_…
Role-scoped
Per-endpoint policy enforcement
Base URL
https://api.livingechoes.io
Quick start
curl https://api.livingechoes.io/v1/memorials \ -H "Authorization: Bearer le_live_xxxx"
Memorials
GET
/v1/memorialsany authenticated
List memorials with filters (center, status, tag).
POST
/v1/memorialsfamily, staff, admin
Create a memorial profile in draft status.
Body
{
"name": "Eleanor Bellamy",
"born": "1938-04-11",
"passed": "2024-09-02",
"centerId": "c1",
"packageId": "p2"
}GET
/v1/memorials/:idany authenticated
Fetch a memorial including media summary.
PATCH
/v1/memorials/:idowner family, staff, admin
Update biography, tags, portrait, or cover.
POST
/v1/memorials/:id/statusstaff, admin
Move status: draft → pending → approved → archived.
DELETE
/v1/memorials/:idadmin
Archive (soft delete) a memorial.
Media
GET
/v1/memorials/:id/mediaany authenticated
List all photos, videos, and audio for a memorial.
POST
/v1/memorials/:id/mediafamily, staff, admin
Upload a new media item (signed URL).
POST
/v1/media/:id/moderatestaff, admin
Approve or reject a pending upload.
Body
{ "action": "approve", "note": "" }DELETE
/v1/media/:idowner family, staff, admin
Remove media from the memorial.
Tributes
GET
/v1/memorials/:id/tributespublic
Public tribute messages, newest first.
POST
/v1/memorials/:id/tributespublic
Post a new tribute (rate-limited).
DELETE
/v1/tributes/:idstaff, admin
Remove a tribute.
Subscriptions & billing
GET
/v1/subscriptions/:idowner family, admin
Retrieve subscription status and plan.
POST
/v1/subscriptions/:id/change-planowner family, admin
Upgrade or downgrade mid-cycle.
POST
/v1/subscriptions/:id/cancelowner family, admin
Cancel at period end.
GET
/v1/invoicesadmin, owner family
List invoices with pagination.
Centers & kiosk
GET
/v1/centersadmin, staff
List centers with counts and geolocation.
GET
/v1/centers/:id/kiosk-lineupkiosk, staff, admin
Ordered memorials shown on a center kiosk.
POST
/v1/centers/:id/kiosk-lineupstaff, admin
Pin, unpin, or reorder lineup entries.
Users & audit
GET
/v1/usersadmin
Search users, filter by role and center.
POST
/v1/users/:id/roleadmin
Grant or revoke a role.
GET
/v1/auditadmin
Immutable log of privileged actions.
Errors
{
"error": {
"code": "media.quota_exceeded",
"message": "Uploading this file would exceed the Legacy plan storage limit.",
"docs": "https://api.livingechoes.io/errors/media.quota_exceeded"
}
}Need product context?