Documentation

Fetching a User

Read the signed-in user's identity, another user's profile, and the user's Davi plan.

This page shows you how to read the signed-in user, look up other users, and read the user's Davi plan. You need a user access token with user:read, plus profile:read to read profiles. 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, email_verified, avatar_image_file_url
  • scopes: the scopes granted to your token. Read this to check what the token can actually do.
  • wallet_address and primary_card_identifier: the user's primary wallet and card
  • profile_complete, onboarding_required: onboarding flags

Other users

Resolve another user with GET /users/{username} (scope user:read), and read their profile with GET /users/{username}/profile (scope profile:read). An unknown username returns 404. The profile route also serves the signed-in user's own profile, using the username from GET /users/me.

Store the uuid, not the username. People change their username, and the old one stops resolving. It returns the same 404 as a name that never existed. Resolve a username when you are handed one and keep the uuid it returns.

A profile is the public identity page a card routes to. See Core Concepts.

Their Davi subscription

GET /users/me/subscription (scope user:read) returns the user's own plan:

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

Render display_name. status and valid_until tell a lapsed plan apart from one that never existed.

entitlements here are Davi's own product features, such as whether the user may set a custom profile background and how many profiles they may keep. They describe the user's relationship with Davi, not with any organization. To gate your own features on what an organization grants, use the keys a membership tier grants instead: see Feature Gating.

Next