Skip to main content
Glama

Set webhook events

set_webhook_events
Idempotent

Choose which webhook events your key gets: job.started, job.completed, job.failed, usage.threshold. PUT /api/v1/webhooks/events {"events": [...]} (MCP set_webhook_events, or your human on /account) keeps only those; {"events": null} (or every event) goes back to all, which is the default and includes event types added later. [] turns off every event. GET (MCP get_webhook_events) shows the setting. ping (POST /api/v1/webhooks/test) is always sent. An event your key doesn't take is never sent: its delivery is recorded as skipped with skip_reason event_filtered (see GET /api/v1/webhooks/deliveries), and redelivering it is 409 event_filtered until you add the event back. The filter is read when Roster sends. Unknown event names get a 400 unknown_webhook_event. Free. The same as PUT /api/v1/webhooks/events.

Input Schema

NameRequiredDescriptionDefault
eventsNoThe events to keep (any of job.started, job.completed, job.failed, usage.threshold; [] for none), or null for every event (the default).
api_keyNoYour Roster API key (rk_test_... or rk_live_...), if your client can't send it as the Authorization header. Get one with get_sandbox_key or request_access.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds substantial behavior beyond the annotations: null means all events including future additions, [] disables all events, ping is always sent, filtered deliveries are recorded as skipped with skip_reason event_filtered, redelivery returns 409 until the event is re-added, and unknown event names return 400. These details clarify the mutation's semantics and side effects while remaining consistent with idempotentHint=true and destructiveHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main purpose, but it is a dense paragraph with redundancy: the PUT endpoint appears twice, the MCP tool name is restated, and 'or your human on /account' is irrelevant for an agent. Much of the content earns its place, but the same information could be structured more tightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of event filtering and the rich cross-references to related endpoints, the description is nearly complete: it covers defaults, disabling, future event inclusion, filtering behavior, redelivery conflicts, and unknown-name errors. It does not describe the response shape returned by this setter, and since there is no output schema, that is a remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters, but the description adds meaning beyond the schema for the events parameter: it explains null versus [] behavior, the default including later-added event types, and the 400 unknown_webhook_event error for invalid names. It adds no extra detail for api_key beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: choosing which webhook events the API key receives, with the exact event names listed. It also distinguishes the setter from the related GET tool that shows the current setting, so an agent can identify its function without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context for when to use this tool: to set the key's event filter, with explicit pointer to get_webhook_events for viewing and test_webhook for ping validation. It does not explicitly distinguish this key-level filter from the sibling set_job_webhook tool, so it falls short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources