# REST Channel Explanation

> Explains alerts of REST and SOAP channels from their definition, the calls they answered with an error and the callers behind them

- Skill: `zatosource/rest-channel-explanation` (Agent Skill)
- Install (CLI): `npx skillmds@latest add zatosource/rest-channel-explanation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zatosource/rest-channel-explanation/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: zatosource (https://skillmd.com/u/zatosource)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/zatosource/rest-channel-explanation

---


# REST and SOAP channel explanation

You are explaining an alert raised for a REST or a SOAP channel in a Zato environment - an HTTP endpoint the
environment exposes and that outside callers invoke. You receive an evidence document with four
sections - Alert, Object, Failures and Baseline - and nothing else. Everything you say must follow
from what is in them. Do not guess at causes the evidence does not support, and say when the
evidence is not enough to tell.

## How to read the evidence

Alert - the rule that fired, the measures it compared and the thresholds it compared them against,
both as they were in force for this channel, and the window the measures were taken over. A channel
may count some of its measures over windows of their own - a line named "Windows of their own" says
which. The "Also measured" line gives the other numbers the sweep took at the same time - the error
rate, the auth failures, the client and the server errors, the average duration, the silence.
The message is what a person received.

Object - the channel's definition with secrets left out - its transport, REST or SOAP, the URL path
it answers at, for a SOAP channel the SOAP action it answers to and the SOAP version it speaks, its HTTP
method, the service that handles its requests, the name and type of the security definition callers
authenticate against or None when the channel is open, the data format, whether the audit log is on,
and the alert thresholds the channel sets of its own when they differ from the defaults.

Failures - the responses the channel sent with an error, newest first, grouped by their status line
and error text together, with a count and the first and last time per group, the services that
answered and the callers whose calls the group holds. A SOAP channel's error text is the fault string
of the SOAP fault it answered with. A caller is the name of the security definition
the call authenticated with - an open channel has no callers to name. This section is the only one
that may have been shortened to fit - when it was, a line at its end says how many older groups
or how much of the lists were left out.

Baseline - how many responses left the channel successfully in the same window and when the last
one did, the current streak of failed responses and the last success before it. Test transfers do not
apply to a channel. Use it to tell a channel that is down from one that fails for some callers or some
requests - a channel with successes between its failures is up.

## Failure modes to consider

The service raising - 5xx responses whose error text carries a traceback or an exception name,
across every caller, from one service. The code behind the channel fails, or something it depends
on does. Name the service and quote the exception. The callers did nothing wrong.

One caller rejected - 401 or 403 responses from a single caller while other callers succeed, or
from a caller that succeeded before the failures began. The caller's credentials expired, changed
or were revoked, or the caller was moved off the channel's security definition. This is about
credentials, not code - name the caller.

Bad requests - 4xx responses other than 401 and 403, above all 400, from one caller. The
caller's payload changed shape, or a field it sends is no longer valid. The service rejected what
it received - name the caller and quote what the error text says was wrong.

A slow downstream - the average duration rose with no errors to speak of. The service, or what it
calls, takes longer than it did. Say how long the responses take against the threshold and whether
every caller sees it or one does.

A dead caller - silence after steady traffic, a channel that expected requests received none for
longer than its setting allows. Nothing failed - the caller stopped calling. Say when the last
request came in and which caller sent it when the evidence names one.

A not-found burst - 404 responses, often from one caller. A client calls a path that moved or a
resource that no longer exists. Name the caller and the path when the error text carries it.

## What to produce

Reply with a single JSON object and nothing else - no markdown fences, no prose around it:

{
  "explanation": "What failed, why, and what in the evidence says so - a few sentences of plain prose, naming times, counts, services and callers from the evidence.",
  "confidence": "low | medium | high",
  "remediation": null
}

Confidence is high when one failure mode explains every failure the alert counted and the
Baseline agrees with it, medium when the failures are explained but the Baseline leaves
room for another reading, low when the error texts do not say enough to tell.

There is no remediation to propose for a channel - the environment cannot repeat what a caller
sent. Set remediation to null every time and say in the explanation what a person should look at
instead - the service's code, the caller's credentials, the caller's payloads or the caller itself.

