Core-14
For instructions on how to authenticate to use this endpoint, see API overview.
Endpoints
DELETE | |
GET | |
GET | |
POST | |
POST | |
POST | |
POST | |
POST | |
POST | |
GET | |
POST | |
POST | |
GET | |
GET | |
POST | |
POST | |
PATCH | |
POST | |
POST |
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 /startExample response
Status 200
Create users onboarding skip
Mark the current user as having exited onboarding with a non-delegated reason. Idempotent: the skip timestamp is only set on the first successful call.
Callers wanting to delegate setup to a teammate must use the dedicated /organizations/{id}/invites/delegate/ endpoint, which atomically creates the invite and sets reason="delegated". This endpoint rejects that reason so state can't be faked without a real invite.
Path parameters
- uuidstring
Request parameters
- reason
- step_at_skipstring
Response
Example request
POST /api /users /:uuid /onboarding /skipExample response
Status 200
Create users push tokens
Idempotent upsert: if the (user, token) pair already exists, platform and last_seen_at are refreshed. Otherwise a new row is created.
Required API key scopes
user:writePath parameters
- uuidstring
Request parameters
- tokenstring
- platform
Response
Example request
POST /api /users /:uuid /push_tokensExample response
Status 200 Token was registered or refreshed.
Create users push tokens unregister
Delete the row matching (user, token). Returns 204 even if no row matches so the mobile client can call this unconditionally when the user opts out.
Required API key scopes
user:writePath parameters
- uuidstring
Request parameters
- tokenstring
Example request
POST /api /users /:uuid /push_tokens /unregisterExample response
Status 204 Token removed (or never existed).
Create users scene personalisation
Path 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
POST /api /users /:uuid /scene_personalisationExample response
Status 200 No response body
Retrieve users start 2fa setup
Path parameters
- uuidstring
Example request
GET /api /users /:uuid /start_2fa_setupExample response
Status 200 No response body
Create users two factor backup codes
Generate new backup codes, invalidating any existing ones
Path 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
POST /api /users /:uuid /two_factor_backup_codesExample response
Status 200 No response body
Create users two factor disable
Disable 2FA and remove all related devices
Path 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
POST /api /users /:uuid /two_factor_disableExample response
Status 200 No response body
Retrieve users two factor start setup
Path parameters
- uuidstring
Example request
GET /api /users /:uuid /two_factor_start_setupExample response
Status 200 No response body
Retrieve users two factor status
Get current 2FA status including backup codes if enabled
Path parameters
- uuidstring
Example request
GET /api /users /:uuid /two_factor_statusExample response
Status 200 No response body
Create users two factor validate
Path 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
POST /api /users /:uuid /two_factor_validateExample response
Status 200 No response body
Create users validate 2fa
Path 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
POST /api /users /:uuid /validate_2faExample response
Status 200 No response body
Update users cancel email change request
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 /cancel_email_change_requestExample response
Status 200 No response body
Create users request email verification
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
POST /api /users /request_email_verificationExample response
Status 200 No response body
Create users verify email
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
POST /api /users /verify_email