Project API key for sending traces and accessing project-scoped resources. Format: sk-lw-... (no underscore). Obtain one by creating a project via the Admin API or the LangWatch UI.
Pause an automation
Pause an automation. A report stops claiming its schedule.
Try this endpoint
app.langwatch.ai
API key · X-Auth-Token
Kept in this tab. Cleared when you reload.
This sends a live request to app.langwatch.ai.
Request and response examples
import osimport requestsorigin = "https://app.langwatch.ai"path = "/api/v1/triggers/<triggerId>/disable"api_key = os.environ["LANGWATCH_API_KEY"]headers = { "X-Auth-Token": api_key,}response = requests.post( origin + path, headers=headers,)print(response.json())const url = "https://app.langwatch.ai/api/v1/triggers/<triggerId>/disable";const response = await fetch(url, { method: "POST", headers: { "X-Auth-Token": process.env.LANGWATCH_API_KEY!, },});const data = await response.json();curl --request POST \ --url 'https://app.langwatch.ai/api/v1/triggers/<triggerId>/disable' \ --header "X-Auth-Token: $LANGWATCH_API_KEY"Call the LangWatch API from this project.Request: POST https://app.langwatch.ai/api/v1/triggers/<triggerId>/disableReference: https://langwatch.ai/docs/api-reference/triggers/action-disable.mdAuthentication: send the X-Auth-Token header, read from the LANGWATCH_API_KEY environment variable. Never hard-code the key.Use the HTTP client this project already uses, handle non-2xx responses, and show me the parsed result.Success
application/json · Generated from schema
{ "id": "string", "name": "string", "action": "SEND_EMAIL", "actionParams": {}, "graphAlert": { "threshold": 0, "operator": "gt", "timePeriod": 1, "seriesName": "string" }, "report": { "source": { "kind": "dashboard", "dashboardId": "string" }, "schedule": { "cron": "string", "timezone": "string" }, "compareToPrevious": false }, "filters": {}, "filterQuery": "string", "kind": "AUTOMATION", "customGraphId": "string", "notificationCadence": "string", "traceDebounceMs": 0, "templates": { "slackTemplateType": "string", "slackTemplate": "string", "emailSubjectTemplate": "string", "emailBodyTemplate": "string" }, "active": false, "message": "string", "alertType": "CRITICAL", "createdAt": "string", "updatedAt": "string", "platformUrl": "string"}Not Found
application/json · Generated from schema
{ "error": "string", "message": "string"}Path parameters
triggerIdstringrequiredResponses
200Success
application/json
idstringrequirednamestringrequiredactionstringrequired"SEND_EMAIL""ADD_TO_DATASET""ADD_TO_ANNOTATION_QUEUE""SEND_SLACK_MESSAGE""SEND_WEBHOOK"actionParamsobjectrequiredWhere this automation delivers, with every credential value replaced by the [redacted] placeholder. Which channel is configured, which destination is set and which header names are in play all survive; the values never leave; a Slack automation names its connection by slackIntegrationId and carries no secret. Sending the placeholder back on an update keeps the stored value. The rule this automation fires by is not here: it is stated in graphAlert or report, and sending it in this field is refused.
graphAlertobject | nullrequiredThe rule an alert fires by. Null for anything that is not one.
reportobject | nullrequiredWhat a report renders and when. Null for anything else.
filtersobjectrequiredfilterQuerystring | nullrequiredkindstringrequiredWhat this automation is about: matching traces, a metric crossing a threshold, or a schedule.
"AUTOMATION""ALERT""REPORT"customGraphIdstring | nullrequirednotificationCadencestring | nullrequiredtraceDebounceMsnumber | nullrequiredtemplatesobjectrequiredThe Liquid templates this automation's message is rendered from. Absent fields render the LangWatch default for the channel.
activebooleanrequiredmessagestring | nullrequiredalertTypestring | nullrequiredcreatedAtstringrequiredupdatedAtstringrequiredplatformUrlstring (uri)required404Not Found
application/json
errorstringrequiredmessagestring