GETSession
/api/profile/me
Load caller profile + resolved profilePath.
PATCHSession
/api/profile/me
Update profile fields (username, bio, links, privacy, avatar/banner URLs).
GETPublic
/api/profile/:username
Resolve profile view state for any username (manage mode for owner).
GETPublic
/api/profile/:username/originals
Paginated public/manage listing of profile originals with visibility policy filtering.
POSTSession
/api/profile/:username/follow
Follow target profile and return updated relationship state.
DELETESession
/api/profile/:username/follow
Unfollow target profile and return updated relationship state.
GETPublic
/api/profile/username/availability
Validate and suggest canonical username alternatives.
POSTSession
/api/profile/me/media
Upload/process avatar or banner, mint media Receiz, update profile URL.
PATCHSession
/api/profile/originals/visibility
Set public showcase state for an original (ownership + entitlement enforced).
POSTSession
/api/profile/originals/upload
Multipart original upload with SHA-256 verification.
POSTSession
/api/profile/originals/upload-signed
Initialize signed-upload flow for large originals.
POSTSession
/api/profile/originals/seal
Seal uploaded original into verifiable artifact and return verify path.
POSTPublic
/api/profile/originals/download/checkout
Create embedded Stripe checkout for paid original/derivative access.
POSTSession
/api/profile/originals/download/receiz/challenge
Create PresenceBound challenge for paid original/derivative release authorization.
POSTSession
/api/profile/originals/download/receiz/confirm
Verify PresenceBound assertion and commit paid download release settlement.
GETPublic
/api/profile/originals/download
Authorize and stream original/derivative/moment-record download with limits + payment checks.
POSTSession
/api/profile/originals/image-variants
Generate bounded image variants for profile originals and update derivative metadata.
POSTSession
/api/profile/originals/image-variants/backfill
Backfill missing derivative image variants for already-published originals.
POSTSession
/api/profile/originals/video-poster
Persist verified video-poster frames and derivative variants for video originals.
POSTPublic
/api/profile/analytics/track
Best-effort ingestion of profile analytics events with typed event validation.
Example: profile mutation
PATCH /api/profile/me
content-type: application/json
{
"username": "operator_prime",
"displayName": "Operator Prime",
"bio": "Canonical issuer profile",
"websiteUrl": "https://example.org",
"socialXUrl": "https://x.com/operator_prime",
"isPrivate": false
}
Example: analytics event
POST /api/profile/analytics/track
content-type: application/json
{
"username": "operator_prime",
"event": "original_open",
"receizId": "00000000-0000-0000-0000-000000000000",
"source": "profile_public_page",
"durationSeconds": 12.4,
"meta": {
"ownershipKind": "creator",
"layout": "single"
}
}