45trust / 100

Inventory Reorder Run

by botx402 in Markets & finance

x402 APIFailing, checked 36 min ago

Reorder plan from your SKU sales, stock and lead times: what to order now, how many, what is overstocked, where cash is stuck. PDF + JSON.

POST
https://api.botx402.io/api/v1/agent/inventory-reorder/run
Price
$19.00
per call in USDC
Uptime
84.6%
last 30 days
Response time
491 ms
573 ms slowest 5%
Last check
Failed
36 min ago, next in 29 min

Run a free test callHow to call it

Reliability

All checks passedSome failedAll failedNot checked

Latest check failed 36 min ago: Expected HTTP 402, got 404

Status and outage history · Atom feed · Watch with other listings

How to call it

POST https://api.botx402.io/api/v1/agent/inventory-reorder/run

Each call costs $19.00 in USDC on Base, paid with the request over x402.

Run a free test callOne unpaid request, the way an agent sends it. You see the payment challenge it gets back. Nothing is charged.

Example request

From the listing.

POST https://api.botx402.io/api/v1/agent/inventory-reorder/run
content-type: application/json

{
  "inputs": {
    "as_of": "2026-09-30",
    "currency": "USD",
    "defaults": {
      "lead_time_days": 14,
      "safety_days": 7,
      "target_cover_days": 30
    },
    "skus": [
      {
        "moq": 50,
        "on_hand": 40,
        "on_order": 0,
        "sku": "MUG-BLUE",
        "title": "Blue enamel mug",
        "unit_cost": 6.5,
        "unit_price": 18,
        "units_sold": 180
      },
      {
        "on_hand": 0,
        "order_multiple": 12,
        "sku": "MUG-RED",
        "title": "Red enamel mug",
        "unit_cost": 6.5,
        "unit_price": 18,
        "units_sold": 95
      },
      {
        "on_hand": 300,
        "on_order": 100,
        "sku": "TOTE-NAT",
        "title": "Natural canvas tote",
        "unit_cost": 9,
        "unit_price": 24,
        "units_sold": 12
      },
      {
        "on_hand": 75,
        "sku": "POSTER-A3",
        "title": "A3 poster",
        "unit_cost": 2,
        "unit_price": 15,
        "units_sold": 0
      },
      {
        "days_out_of_stock": 20,
        "lead_time_days": 30,
        "on_hand": 25,
        "on_order": 40,
        "sku": "CANDLE-SM",
        "title": "Small candle",
        "unit_cost": 4,
        "unit_price": 12,
        "units_sold": 60
      }
    ],
    "window_days": 90
  }
}

Parameters

ParameterTypeRequiredDescription
connection_idstringNoLong-lived OAuth handle from POST /api/v1/agent/connections/{provider}
emailstring (email)NoOptional. When set, fulfillment emails the result PDF link.
inputsobjectYes

Example response

The provider's example. We can't check it without paying.

{
  "access_token": "<per-run token>",
  "payer_wallet": "0x857b06519e91e3a54538791bdbb0e22373e36b66",
  "payment_method": "x402",
  "receipt_id": "IR-202610-EXAMPLE1",
  "status_url": "https://api.botx402.io/api/v1/agent/runs/IR-202610-EXAMPLE1"
}

Call it from code

The curl command shows the payment challenge. The JavaScript and Python versions pay and call, and never pay more than $19.

curl: see the payment challenge
# bash or zsh: see the payment challenge. Nothing is charged.
curl -sS -g -i -X POST 'https://api.botx402.io/api/v1/agent/inventory-reorder/run' \
  -H 'content-type: application/json' \
  --data-raw '{"inputs":{"as_of":"2026-09-30","currency":"USD","defaults":{"lead_time_days":14,"safety_days":7,"target_cover_days":30},"skus":[{"moq":50,"on_hand":40,"on_order":0,"sku":"MUG-BLUE","title":"Blue enamel mug","unit_cost":6.5,"unit_price":18,"units_sold":180},{"on_hand":0,"order_multiple":12,"sku":"MUG-RED","title":"Red enamel mug","unit_cost":6.5,"unit_price":18,"units_sold":95},{"on_hand":300,"on_order":100,"sku":"TOTE-NAT","title":"Natural canvas tote","unit_cost":9,"unit_price":24,"units_sold":12},{"on_hand":75,"sku":"POSTER-A3","title":"A3 poster","unit_cost":2,"unit_price":15,"units_sold":0},{"days_out_of_stock":20,"lead_time_days":30,"on_hand":25,"on_order":40,"sku":"CANDLE-SM","title":"Small candle","unit_cost":4,"unit_price":12,"units_sold":60}],"window_days":90}}'

# x402 v2 sends the challenge base64-encoded in the PAYMENT-REQUIRED header (v1 sends it in the body).
# To read the header:
curl -sS -g -o /dev/null -D - -X POST 'https://api.botx402.io/api/v1/agent/inventory-reorder/run' \
  -H 'content-type: application/json' \
  --data-raw '{"inputs":{"as_of":"2026-09-30","currency":"USD","defaults":{"lead_time_days":14,"safety_days":7,"target_cover_days":30},"skus":[{"moq":50,"on_hand":40,"on_order":0,"sku":"MUG-BLUE","title":"Blue enamel mug","unit_cost":6.5,"unit_price":18,"units_sold":180},{"on_hand":0,"order_multiple":12,"sku":"MUG-RED","title":"Red enamel mug","unit_cost":6.5,"unit_price":18,"units_sold":95},{"on_hand":300,"on_order":100,"sku":"TOTE-NAT","title":"Natural canvas tote","unit_cost":9,"unit_price":24,"units_sold":12},{"on_hand":75,"sku":"POSTER-A3","title":"A3 poster","unit_cost":2,"unit_price":15,"units_sold":0},{"days_out_of_stock":20,"lead_time_days":30,"on_hand":25,"on_order":40,"sku":"CANDLE-SM","title":"Small candle","unit_cost":4,"unit_price":12,"units_sold":60}],"window_days":90}}' \
  | grep -i '^payment-required:' | cut -d' ' -f2 | tr -d '\r' | base64 --decode
JavaScript: pay and call
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

// Pays at most $19 per call.
const client = new x402Client().setSpendControls({ maxAmountPerPayment: "$19" });
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.EVM_PRIVATE_KEY) });
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? ToolVet checks it first for $0.005. Pay for that from a separate
// client: this one is capped at $19 per payment. GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fapi.botx402.io%2Fapi%2Fv1%2Fagent%2Finventory-reorder%2Frun&method=POST
const res = await pay("https://api.botx402.io/api/v1/agent/inventory-reorder/run", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({
    "inputs": {
      "as_of": "2026-09-30",
      "currency": "USD",
      "defaults": {
        "lead_time_days": 14,
        "safety_days": 7,
        "target_cover_days": 30
      },
      "skus": [
        {
          "moq": 50,
          "on_hand": 40,
          "on_order": 0,
          "sku": "MUG-BLUE",
          "title": "Blue enamel mug",
          "unit_cost": 6.5,
          "unit_price": 18,
          "units_sold": 180
        },
        {
          "on_hand": 0,
          "order_multiple": 12,
          "sku": "MUG-RED",
          "title": "Red enamel mug",
          "unit_cost": 6.5,
          "unit_price": 18,
          "units_sold": 95
        },
        {
          "on_hand": 300,
          "on_order": 100,
          "sku": "TOTE-NAT",
          "title": "Natural canvas tote",
          "unit_cost": 9,
          "unit_price": 24,
          "units_sold": 12
        },
        {
          "on_hand": 75,
          "sku": "POSTER-A3",
          "title": "A3 poster",
          "unit_cost": 2,
          "unit_price": 15,
          "units_sold": 0
        },
        {
          "days_out_of_stock": 20,
          "lead_time_days": 30,
          "on_hand": 25,
          "on_order": 40,
          "sku": "CANDLE-SM",
          "title": "Small candle",
          "unit_cost": 4,
          "unit_price": 12,
          "units_sold": 60
        }
      ],
      "window_days": 90
    }
  }),
});
console.log(res.status, await res.text());
Python: pay and call
# pip install "x402[requests,evm]"
import os
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client

# Pays at most $19 per call.
client = x402ClientSync().set_spend_controls({"max_amount_per_payment": "$19"})
register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])))

with x402_requests(client) as session:
    res = session.post(
        "https://api.botx402.io/api/v1/agent/inventory-reorder/run",
        json={
            "inputs": {
                "as_of": "2026-09-30",
                "currency": "USD",
                "defaults": {
                    "lead_time_days": 14,
                    "safety_days": 7,
                    "target_cover_days": 30,
                },
                "skus": [
                    {
                        "moq": 50,
                        "on_hand": 40,
                        "on_order": 0,
                        "sku": "MUG-BLUE",
                        "title": "Blue enamel mug",
                        "unit_cost": 6.5,
                        "unit_price": 18,
                        "units_sold": 180,
                    },
                    {
                        "on_hand": 0,
                        "order_multiple": 12,
                        "sku": "MUG-RED",
                        "title": "Red enamel mug",
                        "unit_cost": 6.5,
                        "unit_price": 18,
                        "units_sold": 95,
                    },
                    {
                        "on_hand": 300,
                        "on_order": 100,
                        "sku": "TOTE-NAT",
                        "title": "Natural canvas tote",
                        "unit_cost": 9,
                        "unit_price": 24,
                        "units_sold": 12,
                    },
                    {
                        "on_hand": 75,
                        "sku": "POSTER-A3",
                        "title": "A3 poster",
                        "unit_cost": 2,
                        "unit_price": 15,
                        "units_sold": 0,
                    },
                    {
                        "days_out_of_stock": 20,
                        "lead_time_days": 30,
                        "on_hand": 25,
                        "on_order": 40,
                        "sku": "CANDLE-SM",
                        "title": "Small candle",
                        "unit_cost": 4,
                        "unit_price": 12,
                        "units_sold": 60,
                    },
                ],
                "window_days": 90,
            },
        },
    )
    print(res.status_code, res.text)

Security scan

No findings

We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
36 min agoExpected HTTP 402, got 404404472 ms-
6 h agoExpected HTTP 402, got 404404515 ms-
12 h agoExpected HTTP 402, got 404404486 ms-
18 h agoExpected HTTP 402, got 404404467 ms-
23 h agoExpected HTTP 402, got 404404500 ms-
Show 10 older checks
27 h agoExpected HTTP 402, got 404404407 ms-
32 h agoPassed402560 ms$19.00
37 h agoPassed402452 ms$19.00
42 h agoPassed402419 ms$19.00
46 h agoPassed402447 ms$19.00
2 days agoPassed402387 ms$19.00
2 days agoPassed402511 ms$19.00
3 days agoPassed402472 ms$19.00
3 days agoPassed402482 ms$19.00
3 days agoPassed402618 ms$19.00

History

11 Oct 2026Price changed from $0.01 to $19.00