Change the setup config
PATCH/app_installs/:id
{config: {…}}, partial — only the settings the request names change. Each must be allowed by
the grant: unknown_caller: create_lead needs leads:write, an enabled missed_call_task
needs tasks:write, write_rules.contact_fields: true needs contacts:write — else 422 scope_not_granted per setting, source.pointer at the setting, meta.required_scope the key. A
stored value an older, wider grant allowed is reset to its fallback. integrations.manage.
Throttle: app_installs/write/minute, 30 a minute.
A signed-in session or the person's own personal access token; an app's OAuth token is refused
(403 resource_not_grantable).
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
The install.
No session or token, or one that is no longer valid. A request that presented a token gets
WWW-Authenticate: Bearer realm="KudosCRM", error="invalid_token" (refresh it); one with no
credentials and no session cookie gets the bare challenge.
Response Headers
Bearer realm="KudosCRM", error="invalid_token"Not allowed: the permission this route needs is missing, the Integrations module is off
(code: module_disabled, meta.module_key, meta.blocked_at_layer), or the caller is an app's
own OAuth token (code: resource_not_grantable).
Not found in this workspace — or not something the caller may know exists.
scope_not_granted (one error per setting), not_installed, or a malformed config.
A throttle refused the request. Wait Retry-After seconds — the time left in the refusing window
plus 0–3 s of jitter. The X-RateLimit-* headers describe the bucket that refused it.
Response Headers
Seconds until the window rolls.