Submit one already-redacted snapshot to the codec service. The
response carries the compressed output the connector should splice
into its agent’s tool response in place of the original snapshot_yaml.
For frame_type: "pass-through" responses, compressed_output is
omitted and the connector reuses the snapshot_yaml it sent.
Documentation Index
Fetch the complete documentation index at: https://jdcodec.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
API key in two parts separated by a dot, sent as a single bearer:
api_key_id — public, stable, jdck_-prefixed lookup handle.
Safe to log and reference in support conversations.api_key_secret — opaque high-entropy string. Shown to the
customer once at issuance and never again. Server stores only
its hash.Example:
Authorization: Bearer jdck_9f3a2b7c8d1e4f05.BASE32URL_SECRETAlways 1 for v1. Missing or mismatched value returns
400 version_unsupported.
1 "1"
Optional client-supplied UUID v4. The server echoes this header in the response and in every error body. If absent or malformed, the server assigns one.
gzip recommended. Snapshot bodies and compressed output are JSON
and benefit from response compression on slow links.
"gzip"
Client-generated UUID v4. Stable across every snapshot in the session.
Client-generated UUID v4. Stable across every snapshot in a single task. Tasks are fully contained in one session.
0-indexed step within the session. Must increase monotonically
within a session; out-of-order returns 400 step_out_of_order.
x >= 0Page URL at the time of snapshot. Already redacted by the connector's Privacy Shield — values such as IDs, tokens, and other PII-shaped substrings are replaced with bracketed tokens.
Already-redacted Playwright-MCP YAML snapshot, UTF-8 encoded.
Maximum decoded size 2 MiB; larger snapshots return
413 payload_too_large.
2097152Must be true. Audit signal that the connector's on-device
Privacy Shield has run. Missing or false returns
400 privacy_shield_missing.
true Category → count map. Empty {} means the Privacy Shield ran and
matched nothing. Counts only — never the redacted values.
{}{ "email": 2, "CC_GENERIC": 1 }{ "phone": 1, "address": 4 }Snapshot processed. The connector splices compressed_output into
its agent's tool response, or — on frame_type: "pass-through" —
reuses the snapshot_yaml it sent.
Frame type emitted by the codec. The single-letter values are the wire encoding; the human-readable meaning of each:
I — keyframe. Full snapshot, returned on the first step of a
session and on forced refreshes (e.g. URL change). Equivalent in
size to the original snapshot.P — delta. Only what changed since the previous step. Typically
a small fraction of the snapshot size.P-nochange — no meaningful change since the previous step. The
smallest representation; the connector may safely pass the prior
snapshot through to its agent unchanged.pass-through — the codec chose not to compress this snapshot
(e.g. a full-table scan where compression wouldn't help). The
connector reuses the snapshot_yaml it sent in the request.
compressed_output is omitted from the response body.I, P, P-nochange, pass-through The codec-emitted replacement for snapshot_yaml.
frame_type is I, P, or P-nochange.frame_type is pass-through — the
connector reuses the snapshot_yaml it sent in the request.