gigstackprodev with a test key.
The checks made 102 requests covering 40 distinct documented operations: 87 exploratory
requests plus 15 requests executed from the Bash blocks copied directly out of the six
recipe pages. Those copied examples passed their response checks, and the preview decoded
into a valid PDF. This includes
successful flows, deliberate validation failures, and a confirmed unavailable gateway route.
It is not a claim that all 155 documented operations have been exercised.
Checks first used Discovery directly, then the staging gateway at
https://gigstack-staging-9z9nnaat.uc.gateway.dev/v2. Direct handler checks alone do not
prove gateway availability. Production behavior can differ until a release reaches main.
Completed flows
Additional record-only refund check
On 2026-10-08, an authorized staging run made eight API requests, including authentication and webhook prechecks, with a test MCP token and an explicit issuing-team selection. It created a fresh synthetic customer and succeeded MXN 1,160 manual payment, then submitted one MXN 116 refund withexternal_processor_refund: false.
The refund returned HTTP 200, data.refund.total: 116,
data.payment.amount: 116000 and data.payment.total_refunded: 11600. The refund record
reported succeeded; the POST response’s payment refund_status was requires_action. Reading
the payment again found the same refund ID, amount and reason, with total_refunded: 11600.
That GET retained payment status: "succeeded" and did not expose refund_status.
This verifies the record-only request, response units and persisted result. It did not
request a Stripe refund or establish money movement. Before the write, published test
Journeys and active webhook routing were empty, automatic refund handling was disabled,
and the fresh payment had no fiscal or processor associations. No billing entitlement
was changed. Synthetic test history remains in staging for reconciliation.
Behaviors to account for
- Draft updates: a notes-only
PUTcleareditems. Send the complete intended body and read it back before stamping. The published reference calls out this observed behavior rather than promising a partial update. - Draft identity: stamping returned
200anddata.uuid, withoutdata.id. The former draft ID returned404; reading by the new UUID succeeded. - Duplicate creation keys: payments and receipts returned
400 resource_conflict. Do not build duplicate handling around HTTP409alone. - Receipt payment form: the returned field was
nulldespite input03. Verify the fiscal document instead of relying on that response field. - Different response envelopes: drafts use
{message, data}; validation errors can use{message, errors}. Other endpoints commonly return{success, data}or{success, error}.