Documentation

Users & profiles

Read the authenticated user, their subscription, and activity feed.

Once a user authorizes your app, the "me" endpoints let you read their identity, subscription, and activity. All paths are under https://api.davi.social/api/v1.

The current user

GET /users/me returns the authenticated user (scope user:read):

curl "https://api.davi.social/api/v1/users/me" \
  -H "Authorization: Bearer ACCESS_TOKEN"

The response includes uuid, username, first_name / last_name, email and email_verified, avatar_image_file_url, the granted scopes, the user's primary wallet_address and primary_card_identifier, and onboarding flags (profile_complete, onboarding_required). Reading scopes is a reliable way to check what your token can actually do.

Subscription and entitlements

GET /users/me/subscription (scope user:read) returns the user's own Davi plan — distinct from their organization memberships:

{
  "tier": "pro",
  "display_name": "Pro",
  "status": "active",
  "started_at": "2026-01-01T00:00:00Z",
  "valid_until": "2027-01-01T00:00:00Z",
  "entitlements": { }
}

Gate premium features on tier / entitlements rather than hard-coding them.

Activity feed

GET /feed (scope user_activity:read) returns the user's activity timeline, paginated (standard pagination):

| Parameter | Description | |---|---| | feed_type | all (enriched timeline) or registrations (their events) | | activity_types | Comma-separated type filter | | organization_uuids | Comma-separated org filter | | include_past | Include past events (registrations only) |

curl "https://api.davi.social/api/v1/feed?feed_type=registrations&include_past=true" \
  -H "Authorization: Bearer ACCESS_TOKEN"

Profiles

GET /profiles/me returns the user's own profile page, and PATCH /profiles/me updates it (scope profile:read / profile:write). A profile is the public identity page a card routes to — see Core concepts.

Other users

Resolve another user with GET /users/{username} (scope user:read), and read their public profile with GET /users/{username}/profile. An unknown username returns 404.

Next