On-Call API › Integrations
Update an integration
Changes the integration's name, escalation policy or enabled state. A field
left out keeps its value; an empty escalation_policy_id removes the policy.
The type and the key do not change.
An integration carries its ingest key (api_key), the credential a
monitoring tool sends alerts with — treat these responses as secrets. An
integration that belongs to a team is visible only to callers in that team;
others get 404.
Permission (API-key scope): oncall:integration:write.
Authorization
bearerAuth(oncall:integration:write)apiKeyHeader(oncall:integration:write)
Parameters
Path parameters
idstring requiredThe integration's id.
Request body required
Every field is optional; one left out keeps its value.
namestringescalation_policy_idstringEmpty removes the policy.enabledboolean
Responses
200
The integration after the change.
dataIntegration requiredShow Integration properties
idstringorg_idstringteam_idstringnamestringtypestringThe integration kind, e.g.prometheus,grafana,api,webhook,email,github.api_keystringThe ingest key. A credential: treat it as a secret.email_addressstringInbound address, foremailintegrations only.enabledbooleanescalation_policy_idstringlast_event_atstring (date-time)event_countintegersigning_secret_configuredbooleanWhether a signing secret is set. The secret itself is never returned.external_sourcestringexternal_idstringcreated_atstring (date-time)updated_atstring (date-time)
successboolean required
400
The body is not JSON (INVALID_BODY); name is empty or too long, or a newly set escalation_policy_id names no policy the caller can see (VALIDATION_FAILED).
errorobject requiredcodestring requiredmessagestring requireddetailsarray of object requiredfieldstringmessagestring
401
No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.
403
The key lacks the scope this endpoint needs (FORBIDDEN).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.
404
No such integration in your organization or your teams (INTEGRATION_NOT_FOUND).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.
429
Too many requests (RATE_LIMITED). Wait Retry-After seconds.
Retry-AfterintegerSeconds to wait.
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.
500
Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.
Example request
curl -X PUT 'https://evohub.io/api/v1/integrations/int_6e5d4c3b-2a19-4f8e-b7d6-c5b4a3928170' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"name": "Prometheus prod",
"enabled": true,
"escalation_policy_id": "3f8a0b2c-4d6e-4f8a-b1c3-d5e7f9a1b3c5"
}'