78trust / 100
Commerce Availability
by Forest Gas Station in Weather & location
x402 APIPassing, checked 40 min ago
Resolve public product or listing availability with explicit normalized states. It reports only provider evidence and never infers inventory, reserves items or places an order.
POST https://http--forest-gas-station--lcjl27p8lmjs.code.run/commerce/availability
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 118 ms typical, 210 ms slowest 5%
- Last check
- 40 min ago
- Next check
- any minute now
How to call it
# See the payment challenge (nothing is charged)
curl -i -X POST "https://http--forest-gas-station--lcjl27p8lmjs.code.run/commerce/availability" \
-H "content-type: application/json" \
-d '{"url":"https://shop.example/products/widget","variant":{"Color":"Black"}}'import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:84532",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fhttp--forest-gas-station--lcjl27p8lmjs.code.run%2Fcommerce%2Favailability
const res = await pay("https://http--forest-gas-station--lcjl27p8lmjs.code.run/commerce/availability", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({"url":"https://shop.example/products/widget","variant":{"Color":"Black"}}),
});
console.log(await res.json());Example input
{
"url": "https://shop.example/products/widget",
"variant": {
"Color": "Black"
}
}Example output
{
"capability": "commerce.availability",
"data": {
"available": false,
"backorder": false,
"quantity_available": 1,
"quantity_known": false,
"requested_variant": {},
"resolved_variant": {},
"status": "example"
},
"meta": {
"cache": "miss",
"checked_at": "2026-01-01T00:00:00.000Z",
"duration_ms": 0,
"provider": "shopify-ajax"
},
"ok": true,
"version": "1"
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 40 min ago | Passed | 402 | 269 ms | $0.002 |
| 4 h ago | Passed | 402 | 197 ms | $0.002 |
| 8 h ago | Passed | 402 | 44 ms | $0.002 |
| 12 h ago | Passed | 402 | 154 ms | $0.002 |
| 15 h ago | Passed | 402 | 39 ms | $0.002 |
| 19 h ago | Passed | 402 | 39 ms | $0.002 |
| 23 h ago | Passed | 402 | 118 ms | $0.002 |
| 26 h ago | Passed | 402 | 37 ms | $0.002 |
| 30 h ago | Passed | 402 | 179 ms | $0.002 |
| 34 h ago | Passed | 402 | 158 ms | $0.002 |
| 37 h ago | Passed | 402 | 210 ms | $0.002 |
| 42 h ago | Passed | 402 | 36 ms | $0.002 |