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 | |
DELETE |
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
Return the authenticated user's personal integrations of a given
kind (github or slack).
The response shape varies per kind because the underlying UserIntegration
rows carry different identity fields — GitHub rows expose
installation_id / account / uses_shared_installation; Slack
rows expose slack_user_id / slack_team_id / slack_team_name.
Kind-specific destroy and start actions remain split so their distinct
semantics (e.g. Slack's lack of "uninstall on last reference") stay
explicit at the URL layer.
Default of kind=github is load-bearing: mobile (apps/mobile/...)
and the Code SDK (packages/api-client/...) both call this endpoint
without a query param today and rely on receiving GitHub rows.
Required API key scopes
user:readPath parameters
- uuidstring
Query parameters
- kindstringOne of:
"github""slack" - limitinteger
- offsetinteger
Response
Example request
GET /api /users /:uuid /integrationsExample response
Status 200
List all users integrations
Return the authenticated user's personal integrations of a given
kind (github or slack).
The response shape varies per kind because the underlying UserIntegration
rows carry different identity fields — GitHub rows expose
installation_id / account / uses_shared_installation; Slack
rows expose slack_user_id / slack_team_id / slack_team_name.
Kind-specific destroy and start actions remain split so their distinct
semantics (e.g. Slack's lack of "uninstall on last reference") stay
explicit at the URL layer.
Default of kind=github is load-bearing: mobile (apps/mobile/...)
and the Code SDK (packages/api-client/...) both call this endpoint
without a query param today and rely on receiving GitHub rows.
Required API key scopes
user:readPath parameters
- uuidstring
Query parameters
- kindstringOne of:
"github""slack" - 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 prepare callback
Seed personal GitHub manage callback state before opening installation settings on GitHub.
Required API key scopes
user:writePath parameters
- uuidstring
Request parameters
- installation_idstring
Example request
POST /api /users /:uuid /integrations /github /prepare_callbackExample response
Status 204 No content
Create users integrations github prepare callback
Seed personal GitHub manage callback state before opening installation settings on GitHub.
Required API key scopes
user:writePath parameters
- uuidstring
Request parameters
- installation_idstring
Example request
POST /api /users /:uuid /integrations /github /prepare_callbackExample response
Status 204 No content
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
Delete users integrations slack
Remove a Slack identity link by Slack user id. Idempotent and flag-agnostic — users must always be able to unlink even after the feature flag is turned off.
Required API key scopes
user:writePath parameters
- slack_user_idstring
- uuidstring
Example request
DELETE /api /users /:uuid /integrations /slack /:slack_user_idExample response
Status 204 Slack link removed.
Delete users integrations slack
Remove a Slack identity link by Slack user id. Idempotent and flag-agnostic — users must always be able to unlink even after the feature flag is turned off.
Required API key scopes
user:writePath parameters
- slack_user_idstring
- uuidstring
Example request
DELETE /api /users /:uuid /integrations /slack /:slack_user_id