Documentation
DocsAPI reference

Account

Who the session belongs to. Read the current member, their organization and permissions.

Updated Sep 21, 2026

Every product endpoint under /api/v1 reads the session cookie and resolves it into a principal: the organization, the membership, and the permissions its roles grant. This endpoint returns that principal, along with the person and organization behind it.

Retrieve the current member

GET/api/v1/meSession or API keySelf-service

Returns who the session belongs to. The principal is what the API checks permissions against on every call. The rest is for display: the person's name and email, the organization, and the role assignments the membership holds. Call this after signing in to learn what the session can do.

Request

No parameters or body.

Response

Response codes

StatusBodyDescription
200object

The member behind the session

401

No session cookie, or the session has expired or been signed out

Response body200

The identity the API checks permissions against. A person acting through a session, or a machine acting through a credential.

userobject

The person who signed in.

The organization the session is scoped to.

The membership's role assignments: its own, plus the ones it inherits through its teams. The grants in the principal are flattened from these.

Whether the product's guided setup should open for this person.

Example

GET /api/v1/me
curl -X GET "$WITHHUMAN_URL/api/v1/me" \
  -H "Authorization: Bearer $WITHHUMAN_API_KEY"
200 response
{
  "principal": {
    "actor_type": "human",
    "actor_id": "7ab8c8ec-7b2d-4fd6-9b52-752f9515eb71",
    "organization_id": "7ab8c8ec-7b2d-4fd6-9b52-752f9515eb71",
    "membership_id": "7ab8c8ec-7b2d-4fd6-9b52-752f9515eb71",
    "agent_instance_id": "7ab8c8ec-7b2d-4fd6-9b52-752f9515eb71",
    "agent_slug": "claude-code",
    "permissions": [
      "request.read",
      "request.decide",
      "agent.credential.issue"
    ],
    "grants": [
      {
        "permission": "request.decide",
        "scope_kind": "organization",
        "scope_id": "string"
      }
    ],
    "team_ids": [
      "7ab8c8ec-7b2d-4fd6-9b52-752f9515eb71"
    ],
    "auth": {
      "method": "local_password",
      "assurance": "strong",
      "authenticated_at": "2026-09-08T12:02:11Z",
      "session_id": "7ab8c8ec-7b2d-4fd6-9b52-752f9515eb71",
      "credential_id": "7ab8c8ec-7b2d-4fd6-9b52-752f9515eb71"
    }
  },
  "user": {
    "display_name": "Ada Lovelace",
    "email": "[email protected]",
    "has_password": true
  },
  "organization": {
    "name": "Northwind",
    "slug": "northwind"
  },
  "assignments": [
    {
      "id": "7ab8c8ec-7b2d-4fd6-9b52-752f9515eb71",
      "organization_id": "7ab8c8ec-7b2d-4fd6-9b52-752f9515eb71",
      "principal_kind": "membership",
      "principal_id": "7ab8c8ec-7b2d-4fd6-9b52-752f9515eb71",
      "scope_kind": "organization",
      "scope_id": "string",
      "scope_name": "string",
      "source": "manual",
      "source_key": "string",
      "granted_by_actor_id": "7ab8c8ec-7b2d-4fd6-9b52-752f9515eb71",
      "via_team_id": "7ab8c8ec-7b2d-4fd6-9b52-752f9515eb71",
      "via_team_name": "string",
      "created_at": "2026-09-08T12:02:11Z",
      "permissions": [
        "string"
      ],
      "is_owner": true,
      "permission_policy_id": "7ab8c8ec-7b2d-4fd6-9b52-752f9515eb71"
    }
  ],
  "onboarding": {
    "required": false,
    "completed_at": "2026-09-08T12:02:11Z"
  }
}