Skip to content

Everruns SDKs record why a change was made

Rust, Python and TypeScript clients gain with_reason (withReason in TypeScript). It returns a derived client that sends the reason in the Everruns-Change-Reason header with every request, and the server stores it in the changed entity’s history. The original client is unchanged, and a blank reason sends no header.

await client.with_reason("retire the unused agent").agents.delete("agent_123")

The server rejects a reason longer than 1000 characters, one with control characters other than newline and tab, or one that looks like a credential, with HTTP 400 invalid_change_reason.

See Change history, SDKs and #115.