Users
For instructions on how to authenticate to use this endpoint, see API overview.
Endpoints
GET | |
GET | |
POST | |
DELETE | |
GET | |
PATCH | |
DELETE | |
GET | |
GET | |
PATCH | |
GET | |
DELETE | |
GET | |
GET | |
POST | |
POST |
List all users
Required API key scopes
user:readQuery parameters
- emailstring
- is_staffboolean
- limitinteger
- offsetinteger
Response
Example request
GET /api /usersExample response
Status 200
Retrieve users signal autonomy
Per-user signal autonomy config (singleton keyed by user).
GET /api/users/<id>/signal_autonomy/ → current config (or 404) POST /api/users/<id>/signal_autonomy/ → create or update DELETE /api/users/<id>/signal_autonomy/ → remove (opt out)
Required API key scopes
user:writePath parameters
- user_idstring
Response
Example request
GET /api /users /:user_id /signal_autonomyExample response
Status 200
Retrieve users signal autonomy
Per-user signal autonomy config (singleton keyed by user).
GET /api/users/<id>/signal_autonomy/ → current config (or 404) POST /api/users/<id>/signal_autonomy/ → create or update DELETE /api/users/<id>/signal_autonomy/ → remove (opt out)
Required API key scopes
user:writePath parameters
- user_idstring
Response
Example request
GET /api /users /:user_id /signal_autonomyExample response
Status 200
Create users signal autonomy
Per-user signal autonomy config (singleton keyed by user).
GET /api/users/<id>/signal_autonomy/ → current config (or 404) POST /api/users/<id>/signal_autonomy/ → create or update DELETE /api/users/<id>/signal_autonomy/ → remove (opt out)
Required API key scopes
user:writePath parameters
- user_idstring
Request parameters
- autostart_priority
Response
Example request
POST /api /users /:user_id /signal_autonomyExample response
Status 200
Create users signal autonomy
Per-user signal autonomy config (singleton keyed by user).
GET /api/users/<id>/signal_autonomy/ → current config (or 404) POST /api/users/<id>/signal_autonomy/ → create or update DELETE /api/users/<id>/signal_autonomy/ → remove (opt out)
Required API key scopes
user:writePath parameters
- user_idstring
Request parameters
- autostart_priority
Response
Example request
POST /api /users /:user_id /signal_autonomyExample response
Status 200
Delete users signal autonomy
Per-user signal autonomy config (singleton keyed by user).
GET /api/users/<id>/signal_autonomy/ → current config (or 404) POST /api/users/<id>/signal_autonomy/ → create or update DELETE /api/users/<id>/signal_autonomy/ → remove (opt out)
Required API key scopes
user:writePath parameters
- user_idstring
Example request
DELETE /api /users /:user_id /signal_autonomyExample response
Status 204 No response body
Delete users signal autonomy
Per-user signal autonomy config (singleton keyed by user).
GET /api/users/<id>/signal_autonomy/ → current config (or 404) POST /api/users/<id>/signal_autonomy/ → create or update DELETE /api/users/<id>/signal_autonomy/ → remove (opt out)
Required API key scopes
user:writePath parameters
- user_idstring
Example request
DELETE /api /users /:user_id /signal_autonomyExample response
Status 204 No response body
Retrieve users
Retrieve a user's profile and settings. Pass @me as the UUID to fetch the authenticated user; non-staff callers may only access their own account.
Required API key scopes
user:readPath parameters
- uuidstring
Response
Example request
GET /api /users /:uuidExample response
Status 200
Update users
Update one or more of the authenticated user's profile fields or settings.
Required API key scopes
user:writePath parameters
- uuidstring
Request parameters
- first_namestring
- last_namestring
- emailstring
- notification_settingsobject
- anonymize_databooleannull
- allow_impersonationbooleannull
- toolbar_mode
- is_staffboolean
- set_current_organizationstring
- set_current_teamstring
- passwordstring
- current_passwordstring
- events_column_config
- has_seen_product_intro_for
- theme_mode
- hedgehog_config
- allow_sidebar_suggestionsbooleannull
- shortcut_position
- role_at_organization
- passkeys_enabled_for_2fabooleannull
Response
Example request
PATCH /api /users /:uuidExample response
Status 200
Delete users
Path parameters
- uuidstring
Example request
DELETE /api /users /:uuidExample response
Status 204 No response body
Retrieve users github login
Required API key scopes
user:readPath parameters
- uuidstring
Example request
GET /api /users /:uuid /github_loginExample response
Status 200 No response body
Retrieve users hedgehog config
Required API key scopes
user:readPath parameters
- uuidstring
Example request
GET /api /users /:uuid /hedgehog_configExample response
Status 200 No response body
Update users hedgehog config
Required API key scopes
user:writePath parameters
- uuidstring
Request parameters
- first_namestring
- last_namestring
- emailstring
- notification_settingsobject
- anonymize_databooleannull
- allow_impersonationbooleannull
- toolbar_mode
- is_staffboolean
- set_current_organizationstring
- set_current_teamstring
- passwordstring
- current_passwordstring
- events_column_config
- has_seen_product_intro_for
- theme_mode
- hedgehog_config
- allow_sidebar_suggestionsbooleannull
- shortcut_position
- role_at_organization
- passkeys_enabled_for_2fabooleannull
Example request
PATCH /api /users /:uuid /hedgehog_configExample response
Status 200 No response body
List all users integrations
/api/users/@me/integrations/ — manage the user's personal GitHub integrations.
Required API key scopes
user:readPath parameters
- uuidstring
Query parameters
- limitinteger
- offsetinteger
Response
Example request
GET /api /users /:uuid /integrationsExample response
Status 200
Delete users integrations github
Remove a specific GitHub installation by its installation_id.
Required API key scopes
user:writePath parameters
- installation_idstring
- uuidstring
Example request
DELETE /api /users /:uuid /integrations /github /:installation_idExample response
Status 204 Integration removed.
Retrieve users integrations github branches
List branches for a repository accessible to a personal GitHub installation.
Required API key scopes
user:readPath parameters
- installation_idstring
- uuidstring
Query parameters
- limitintegerDefault:
100 - offsetintegerDefault:
0 - repostring
- searchstringDefault:
Response
Example request
GET /api /users /:uuid /integrations /github /:installation_id /branchesExample response
Status 200
Retrieve users integrations github repos
List repositories accessible to a specific GitHub installation (paginated, cached).
Required API key scopes
user:readPath parameters
- installation_idstring
- uuidstring
Query parameters
- limitintegerDefault:
100 - offsetintegerDefault:
0 - searchstringDefault:
Response
Example request
GET /api /users /:uuid /integrations /github /:installation_id /reposExample response
Status 200
Create users integrations github repos refresh
Refresh repositories accessible to a specific GitHub installation.
Required API key scopes
user:writePath parameters
- installation_idstring
- uuidstring
Response
Example request
POST /api /users /:uuid /integrations /github /:installation_id /repos /refreshExample response
Status 200
Create users integrations github start
Start GitHub linking: either full App install or OAuth-only (user-to-server).
**_kwargs absorbs parent_lookup_uuid from the nested
/api/users/{uuid}/integrations/ router (same pattern as local_evaluation
under projects).
Usually returns install_url pointing at /installations/new so the
user can pick any GitHub org (new or already connected). GitHub's install
page handles both cases: orgs where the app is installed show "Configure"
(no admin needed), orgs where it isn't show "Install" (needs admin).
PostHog Code fast path: when connect_from is "posthog_code",
the current project already has a team-level GitHub installation, and the
user has no UserIntegration for that installation yet, we skip the org
picker and redirect straight to /login/oauth/authorize so the user
only authorizes themselves and returns to PostHog Code immediately.
In both cases the response key is install_url for compatibility with callers.
Required API key scopes
user:writePath parameters
- uuidstring
Request parameters
- team_idintegernull
- connect_fromstring
Response
Example request
POST /api /users /:uuid /integrations /github /start