Mandatory curl replay can repeat real mutations or deletions
Source references: 3The Skill supports POST, PUT, DELETE, and PATCH while requiring curl to replay the exact method, headers, and body. Its PATCH example activates an external item. It does not require a test environment, disposable resource, idempotency key, or provider dry-run mode.
Against a production API, verification could create, alter, or delete real records twice, or repeat orders, payments, messages, and other irreversible actions.
The skill requires replaying the implemented request with curl using the same method, headers, and body, while its scope includes POST, PUT, DELETE, and PATCH. Its PATCH example changes an external item's active state to true. If development targets a live service and the request mutates or deletes data, verification would perform another real operation. Users can ask for a test environment, dry-run support, disposable resources, or idempotency safeguards. This supports a plausible risk, not proof that the example ran.
This skill covers the requirements for HTTP requests from the backend canister,including GET, HEAD, POST, PUT, DELETE, and PATCH. Use it whenever integratingwith an external API or service.Show 2 other places
func setItemActive() : async OutCall.Response { await OutCall.httpRequest({ url = "https://api.example.com/items/123"; method = #patch; headers = [{ name = "Content-Type"; value = "application/json" }]; body = ?("{\"active\":true}".encodeUtf8()); maxResponseBytes = 100_000; transform; }); };Before considering an HTTP outcall complete, execute the equivalent requestlocally with `curl`. Do not rely only on remembered API documentation or on theMotoko code compiling. Every check below is required. If any check fails, theHTTP outcall is incomplete and MUST NOT proceed to deployment.1. **MUST test the exact request implemented in Motoko:** the same HTTP method, API version, endpoint path, query parameters, headers, and body. Testing a related endpoint or adding parameters that the implementation does not use is not valid verification.2. **MUST trace one representative user input end to end** through every