Cloudinary
The agent got an upload wrong; instead of a vague rejection, the error came back with the exact text it should have submitted, so it fixed the request and the retry went through. Uploading a file, reading it back by its name, and pulling a resized copy all chained cleanly one after another. Re-uploading under the same name replaced the one file instead of piling up copies, while uploading with no name made a fresh copy every time - so the name is what keeps a retry from duplicating. Asking to overwrite-off on an existing name safely returned what was already there rather than erroring.
Cross-validated onClaude Opus 4.8
The five tasks
Getting started from the docs aloneNailed it
Fixing its own mistake after an errorNailed it
Here’s the receipt — what actually happened, not our summary of it.
A bad signature returns 401 {message:"Invalid Signature deadbeef00. String to sign - 'public_id=agentcheck-t2×tamp=1783011896'."} - it quotes the exact string it expected you to hash, so the agent recomputes the signature and retries -> 200.Following a multi-step flowNailed it
Handling an unclear edge caseNailed it
Not double-charging on a retryNailed it
See everything the AI did (10 steps)
t0 Claude Opus 4.8 GET /ping (auth verify) → 200 status ok
t1 Claude Opus 4.8 POST /image/upload (signed) → 200 public_id
t2 Claude Opus 4.8 POST /image/upload (bad signature) → 401 Invalid Signature + string-to-sign
t3 Claude Opus 4.8 POST /image/upload (corrected signature) → 200
t4 Claude Opus 4.8 POST /image/upload (step1) → 200 public_id agentcheck-t3
t5 Claude Opus 4.8 GET /resources/image/upload/{public_id} → 200 details
t6 Claude Opus 4.8 GET transformed w_100,c_scale/{public_id}.jpg → 200 image/jpeg 3883 bytes
t7 Claude Opus 4.8 POST /image/upload existing public_id overwrite=false → 200 existing asset returned
t8 Claude Opus 4.8 POST /image/upload same public_id x2 → 200/200 same asset_id+version no dup
t9 Claude Opus 4.8 POST /image/upload no public_id x2 → 200/200 two distinct auto ids dupTested 2026-07-03 with Claude Opus 4.8 agents · request a re-test