# App installation runtime

Per-installation state, secrets, jobs, and connections for sync apps

## Get installation state map

 - [GET /api/v2/apps/{appUuid}/installation/state](https://developer.caraer.com/apis/app-installation-runtime/getstate.md)

## Replace/merge installation state (shallow merge)

 - [PUT /api/v2/apps/{appUuid}/installation/state](https://developer.caraer.com/apis/app-installation-runtime/putstate.md)

## Get a single state key

 - [GET /api/v2/apps/{appUuid}/installation/state/{key}](https://developer.caraer.com/apis/app-installation-runtime/getstatekey.md)

## Put a single state key

 - [PUT /api/v2/apps/{appUuid}/installation/state/{key}](https://developer.caraer.com/apis/app-installation-runtime/putstatekey.md)

## Delete a state key

 - [DELETE /api/v2/apps/{appUuid}/installation/state/{key}](https://developer.caraer.com/apis/app-installation-runtime/deletestatekey.md)

## Merge COMPANY-scoped installation settings from the app runtime

 - [PUT /api/v2/apps/{appUuid}/installation/settings](https://developer.caraer.com/apis/app-installation-runtime/mergecompanysettings.md)

## Save USER-scoped installation settings for the current user

 - [PUT /api/v2/apps/{appUuid}/installation/settings/user](https://developer.caraer.com/apis/app-installation-runtime/saveusersettings.md)

## Set an encrypted secret

 - [PUT /api/v2/apps/{appUuid}/installation/secrets/{name}](https://developer.caraer.com/apis/app-installation-runtime/putsecret.md)

## Delete an encrypted secret

 - [DELETE /api/v2/apps/{appUuid}/installation/secrets/{name}](https://developer.caraer.com/apis/app-installation-runtime/deletesecret.md)

## Trigger an ACTION setting without saving settings

 - [POST /api/v2/apps/{appUuid}/installation/settings/{fieldName}/trigger](https://developer.caraer.com/apis/app-installation-runtime/triggersettingaction.md)

## Start external OAuth authorize (returns provider authorize URL)

 - [POST /api/v2/apps/{appUuid}/installation/oauth/{provider}/start](https://developer.caraer.com/apis/app-installation-runtime/startoauth.md)

## Enqueue an async serverless function job

 - [POST /api/v2/apps/{appUuid}/installation/jobs](https://developer.caraer.com/apis/app-installation-runtime/enqueuejob.md)

## List secret names (no values)

 - [GET /api/v2/apps/{appUuid}/installation/secrets](https://developer.caraer.com/apis/app-installation-runtime/listsecrets.md)

## Get async job status

 - [GET /api/v2/apps/{appUuid}/installation/jobs/{jobId}](https://developer.caraer.com/apis/app-installation-runtime/getjob.md)

## List external OAuth connection status

 - [GET /api/v2/apps/{appUuid}/installation/connections](https://developer.caraer.com/apis/app-installation-runtime/listconnections.md)

## Revoke external OAuth connection tokens by connection id or provider name

 - [DELETE /api/v2/apps/{appUuid}/installation/connections/{providerOrConnectionId}](https://developer.caraer.com/apis/app-installation-runtime/revokeconnection.md)

