Users-2
For instructions on how to authenticate to use this endpoint, see API overview.
Endpoints
GET | |
PATCH | |
GET | |
DELETE | |
GET | |
GET | |
POST | |
POST | |
POST | |
POST |
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
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
- hide_mcp_hintsboolean
Example request
PATCH /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
- hide_mcp_hintsboolean
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
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.
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 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
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 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).
OAuth fast path: when 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.
connect_from is preserved for first-party clients so they return to
the originating client 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 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).
OAuth fast path: when 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.
connect_from is preserved for first-party clients so they return to
the originating client 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 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
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_tokens