Skip to main content
GET
/
api
/
v1
/
user
Get current user
curl --request GET \
  --url https://neo.api.projectdiscovery.io/api/v1/user \
  --header 'Authorization: Bearer <token>'
{
  "email": "jsmith@example.com",
  "features": {
    "neo_ai": true,
    "neo_credits": 500
  },
  "available_models": [
    "<string>"
  ],
  "byok_models": [
    {
      "id": "<string>",
      "provider": "<string>",
      "supported": true,
      "neo_model_id": "<string>",
      "provider_model_id": "<string>",
      "reason": "<string>"
    }
  ],
  "cap": {
    "limit": 123,
    "remaining": 123,
    "used": 123
  },
  "egress_ip": {
    "browser": {
      "ip_address": "<string>"
    },
    "sandbox": {
      "ip_address": "<string>"
    }
  },
  "neo_cost_rate": 123,
  "onboarding": {
    "subscription": true,
    "team": true
  },
  "tag": "<string>",
  "team": {
    "id": "<string>",
    "name": "<string>",
    "auto_joined": true
  }
}

Authorizations

Authorization
string
header
required

JWT authentication token

Response

User profile information

email
string<email>
required

User's email address

features
object
required

Feature flags for the user (booleans like neo_ai, numbers like neo_credits)

Example:
{ "neo_ai": true, "neo_credits": 500 }
role
enum<string>
required

User's role in the system

Available options:
user,
admin
available_models
string[]

List of canonical Neo model IDs available for the user. In BYOK mode this contains only discovered provider models that Neo supports.

byok_models
object[]

Provider-discovered BYOK models with Neo support classification. Returned when the user is in BYOK mode.

cap
object

Caller's own effective spending-cap status (source/limit/used/remaining). Null for solo / no-team users or when the team isn't on a spend-controls plan. Drives the user's own cap banner.

egress_ip
object

Outbound IP information for customer allowlists

neo_cost_rate
number<float> | null

Effective BYOK neo cost rate for the user. Returned when the user is in BYOK mode.

onboarding
object

Onboarding status flags for the user (active subscription, team membership)

tag
string | null

User tag (e.g., "free", "beta")

team
object

Team membership information (null if user is not in a team)