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/memorials
any authenticated
List memorials with filters (center, status, tag).
POST/v1/memorials
family, 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/:id
any authenticated
Fetch a memorial including media summary.
PATCH/v1/memorials/:id
owner family, staff, admin
Update biography, tags, portrait, or cover.
POST/v1/memorials/:id/status
staff, admin
Move status: draft → pending → approved → archived.
DELETE/v1/memorials/:id
admin
Archive (soft delete) a memorial.

Media

GET/v1/memorials/:id/media
any authenticated
List all photos, videos, and audio for a memorial.
POST/v1/memorials/:id/media
family, staff, admin
Upload a new media item (signed URL).
POST/v1/media/:id/moderate
staff, admin
Approve or reject a pending upload.
Body
{ "action": "approve", "note": "" }
DELETE/v1/media/:id
owner family, staff, admin
Remove media from the memorial.

Tributes

GET/v1/memorials/:id/tributes
public
Public tribute messages, newest first.
POST/v1/memorials/:id/tributes
public
Post a new tribute (rate-limited).
DELETE/v1/tributes/:id
staff, admin
Remove a tribute.

Subscriptions & billing

GET/v1/subscriptions/:id
owner family, admin
Retrieve subscription status and plan.
POST/v1/subscriptions/:id/change-plan
owner family, admin
Upgrade or downgrade mid-cycle.
POST/v1/subscriptions/:id/cancel
owner family, admin
Cancel at period end.
GET/v1/invoices
admin, owner family
List invoices with pagination.

Centers & kiosk

GET/v1/centers
admin, staff
List centers with counts and geolocation.
GET/v1/centers/:id/kiosk-lineup
kiosk, staff, admin
Ordered memorials shown on a center kiosk.
POST/v1/centers/:id/kiosk-lineup
staff, admin
Pin, unpin, or reorder lineup entries.

Users & audit

GET/v1/users
admin
Search users, filter by role and center.
POST/v1/users/:id/role
admin
Grant or revoke a role.
GET/v1/audit
admin
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?