← The evidence ledger
Evidence row 301857
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 926a8235-6e59-4ee7-9f64-b0a6f1e3818e
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 5d856a2853dfcb02e7b8de67850dae305b76fd4dcd9ab9c8542b2f6e5e981415
- Leaf
- 0x4132b8ee33e434681979717511e8aa74899afa776e5d563fd66703b33a39be04
What was observed
{
"count": 22,
"tools": [
{
"description": "WRITE: add an internal (employee) note to an order, e.g. 'Customer asked for gift wrap'. It is visible to your Veeqo team on the order; it is not emailed to the customer. Notes cannot be deleted through the API. POST /orders/{order_id}/notes.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"order_id": {
"description": "Veeqo order id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"text": {
"description": "The note text.",
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"order_id",
"text"
],
"type": "object"
},
"name": "veeqo_add_order_note"
},
{
"description": "The Veeqo company this API key belongs to: id, name, product (e.g. veeqo-shipping), paying/trial state, address and company settings (currency, weight/dimension units, timezone). The employee list and billing internals are not returned. GET /current_company.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "veeqo_get_company"
},
{
"description": "One customer by id with billing and shipping addresses and notes. GET /customers/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customer_id": {
"description": "Veeqo customer id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"customer_id"
],
"type": "object"
},
"name": "veeqo_get_customer"
},
{
"description": "One order by id: status, totals, line items (sellable ids, SKUs, quantities), customer and delivery address, store, notes, tags, allocations and shipments with tracking numbers. GET /orders/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"order_id": {
"description": "Veeqo order id (not the store's order number — find it with veeqo_list_orders query).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"order_id"
],
"type": "object"
},
"name": "veeqo_get_order"
},
{
"description": "Returns (RMAs) recorded on an order for one of its sellables: return number, status, reason, returned line items and received quantities. Veeqo's reference requires the sellable id (an order line item's sellable.id). GET /orders/{id}/returns?sellable_id=.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"order_id": {
"description": "Veeqo order id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"sellable_id": {
"description": "Sellable (variant) id of the returned item — veeqo_get_order → line_items[].sellable.id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"order_id",
"sellable_id"
],
"type": "object"
},
"name": "veeqo_get_order_returns"
},
{
"description": "One product by id with all sellables (variants), prices, weights, customs data and stock entries per warehouse. GET /products/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"product_id": {
"description": "Veeqo product id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"product_id"
],
"type": "object"
},
"name": "veeqo_get_product"
},
{
"description": "One purchase order by id with supplier, destination warehouse and every line item. Paid Veeqo plans only. GET /purchase_orders/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"purchase_order_id": {
"description": "Veeqo purchase order id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"purchase_order_id"
],
"type": "object"
},
"name": "veeqo_get_purchase_order"
},
{
"description": "Tracking events (timestamp, status, description, location) for a shipment. Available when the label was bought in Veeqo. The shipment id is in an order's allocations[].shipment. GET /shipping/tracking_events/{shipment_id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"shipment_id": {
"description": "Veeqo shipment id (from veeqo_get_order → allocations[].shipment.id).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"shipment_id"
],
"type": "object"
},
"name": "veeqo_get_shipment_tracking"
},
{
"description": "Stock of one sellable (variant) in one warehouse: physical, allocated, available, incoming (purchase orders) and in-transit levels, bin location and the low-stock flag. GET /sellables/{sellable_id}/warehouses/{warehouse_id}/stock_entry.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"sellable_id": {
"description": "Sellable (variant) id — product.sellables[].id, not the product id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"warehouse_id": {
"description": "Warehouse id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"sellable_id",
"warehouse_id"
],
"type": "object"
},
"name": "veeqo_get_stock_entry"
},
{
"description": "One supplier by id (bank details are not returned). Paid Veeqo plans only. GET /suppliers/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"supplier_id": {
"description": "Veeqo supplier id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"supplier_id"
],
"type": "object"
},
"name": "veeqo_get_supplier"
},
{
"description": "One warehouse by id. GET /warehouses/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"warehouse_id": {
"description": "Veeqo warehouse id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"warehouse_id"
],
"type": "object"
},
"name": "veeqo_get_warehouse"
},
{
"description": "List or search customers with email, phone, billing address and shipping addresses. GET /customers.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customer_type": {
"description": "Customer type.",
"enum": [
"retail",
"business"
],
"type": "string"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0,
"maximum": 100000,
"type": "integer"
},
"page_size": {
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
},
"query": {
"description": "Free-text search, e.g. an email address or name.",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"type": "object"
},
"name": "veeqo_list_customers"
},
{
"description": "List the delivery methods orders can use (id, name, cost). GET /delivery_methods.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0,
"maximum": 100000,
"type": "integer"
},
"page_size": {
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
}
},
"type": "object"
},
"name": "veeqo_list_delivery_methods"
},
{
"description": "List or search orders, newest first, with line items, customer, delivery address, store, allocations and shipments (tracking numbers). Filter by status, store, tag, free text, created/due date or update time. GET /orders.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"allocated_at_warehouse_id": {
"description": "Only orders allocated at this warehouse id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"channel_ids": {
"description": "Only orders from these store (channel) ids — see veeqo_list_stores.",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"created_after": {
"description": "Only orders created on or after this date (yyyy-mm-dd).",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"type": "string"
},
"created_before": {
"description": "Only orders created on or before this date, whole day included (yyyy-mm-dd).",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"type": "string"
},
"due_after": {
"description": "Only orders due on or after this date (yyyy-mm-dd).",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"type": "string"
},
"due_before": {
"description": "Only orders due on or before this date, whole day included (yyyy-mm-dd).",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"type": "string"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0,
"maximum": 100000,
"type": "integer"
},
"page_size": {
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
},
"query": {
"description": "Free-text search (order number, customer name, email, SKU...).",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"since_id": {
"description": "Only orders with an id greater than this.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"status": {
"description": "Order status.",
"enum": [
"awaiting_payment",
"awaiting_stock",
"awaiting_fulfillment",
"shipped",
"on_hold",
"cancelled",
"refunded"
],
"type": "string"
},
"tag": {
"description": "Only orders carrying the tag with this exact name.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"updated_since": {
"description": "Only orders updated at or after this ISO 8601 date-time with timezone (sent in UTC).",
"type": "string"
}
},
"type": "object"
},
"name": "veeqo_list_orders"
},
{
"description": "List or search products with their sellables (variants): SKU, UPC, price, cost, and per-warehouse stock entries (physical, allocated, available). GET /products.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"created_since": {
"description": "Only products created at or after this ISO 8601 date-time with timezone.",
"type": "string"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0,
"maximum": 100000,
"type": "integer"
},
"page_size": {
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
},
"query": {
"description": "Search by product name or SKU.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"since_id": {
"description": "Only products with an id greater than this.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"updated_since": {
"description": "Only products updated at or after this ISO 8601 date-time with timezone.",
"type": "string"
},
"warehouse_id": {
"description": "Only products with stock in this warehouse.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"type": "object"
},
"name": "veeqo_list_products"
},
{
"description": "List or search purchase orders with supplier, destination warehouse and line items (ordered/received quantities, cost). Search-index backed, so a just-changed PO may be stale here — confirm with veeqo_get_purchase_order. Paid Veeqo plans only. GET /purchase_orders.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"created_after": {
"description": "Created on or after this date (yyyy-mm-dd).",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"type": "string"
},
"created_before": {
"description": "Created on or before this date, whole day included (yyyy-mm-dd).",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"type": "string"
},
"destination_warehouse_id": {
"description": "Only POs delivering to this warehouse.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"order": {
"description": "Sort direction, used with sort_by.",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0,
"maximum": 100000,
"type": "integer"
},
"page_size": {
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
},
"query": {
"description": "Search supplier name/post code, PO number, reference, SKU, UPC or item title.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"reference_number": {
"description": "Exact PO reference number.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"sellable_id": {
"description": "Only active POs containing this sellable (variant) id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"sort_by": {
"description": "Sort field (default created_at, newest first).",
"enum": [
"supplier_name",
"created_at",
"expected_date",
"estimated_delivery_days"
],
"type": "string"
},
"state": {
"description": "Lifecycle state (draft/active/completed) or a received-status filter (not_received, partially_received, fully_received, past_due, all). Default: all states including drafts.",
"enum": [
"draft",
"active",
"completed",
"not_received",
"partially_received",
"fully_received",
"past_due",
"all"
],
"type": "string"
},
"supplier_id": {
"description": "Only POs for this supplier.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"updated_since": {
"description": "Updated at or after this ISO 8601 date-time with timezone.",
"type": "string"
}
},
"type": "object"
},
"name": "veeqo_list_purchase_orders"
},
{
"description": "List the sales channels (stores) connected to Veeqo — Amazon, eBay, Shopify, POS, etc. — with id, name, type and state. Use the ids to filter orders by store. Marketplace credentials and integration settings are never returned. GET /channels.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0,
"maximum": 100000,
"type": "integer"
},
"page_size": {
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
}
},
"type": "object"
},
"name": "veeqo_list_stores"
},
{
"description": "List suppliers with address, sales/accounting contacts, currency, credit limit and open/completed purchase-order counts (bank details are not returned). Paid Veeqo plans only. GET /suppliers.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0,
"maximum": 100000,
"type": "integer"
},
"page_size": {
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
}
},
"type": "object"
},
"name": "veeqo_list_suppliers"
},
{
"description": "All tags in the account (id, name, colour, how many records use it). Use the ids with veeqo_tag_orders. GET /tags.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "veeqo_list_tags"
},
{
"description": "List warehouses with address, phone and dispatch cut-off times. Use the ids for stock levels and warehouse filters. GET /warehouses.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"external_id": {
"description": "Only the warehouse with this external id.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0,
"maximum": 100000,
"type": "integer"
},
"page_size": {
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
}
},
"type": "object"
},
"name": "veeqo_list_warehouses"
},
{
"description": "WRITE: set the physical stock level of ONE sellable in ONE warehouse (a stock count correction), optionally its bin location. This overwrites the current on-hand quantity, and Veeqo may push the new available stock to the connected sales channels. The entry's infinite-stock setting is read first and kept as it is (this tool never changes it). Veeqo marks this endpoint 'Paid plan only'. GET then PUT /sellables/{sellable_id}/warehouses/{warehouse_id}/stock_entry.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"location": {
"description": "Bin/shelf location in the warehouse, e.g. 'Shelf 2B'.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"physical_stock_level": {
"description": "New physical (on-hand) quantity.",
"maximum": 10000000,
"minimum": 0,
"type": "integer"
},
"sellable_id": {
"description": "Sellable (variant) id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"warehouse_id": {
"description": "Warehouse id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"sellable_id",
"warehouse_id",
"physical_stock_level"
],
"type": "object"
},
"name": "veeqo_set_stock_level"
},
{
"description": "WRITE: apply existing tags (ids from veeqo_list_tags) to up to 50 orders. Tags can drive Veeqo automation rules and filters. Tagging an order that already has the tag changes nothing. POST /bulk_tagging.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"order_ids": {
"description": "Veeqo order ids to tag (1-50).",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"tag_ids": {
"description": "Tag ids to apply (1-10).",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
}
},
"required": [
"order_ids",
"tag_ids"
],
"type": "object"
},
"name": "veeqo_tag_orders"
}
]
}What the leaf hashes
{"body":"5d856a2853dfcb02e7b8de67850dae305b76fd4dcd9ab9c8542b2f6e5e981415","id":301857,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793054326450965,"prev":null,"subject":"926a8235-6e59-4ee7-9f64-b0a6f1e3818e","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0x413291937c88519a12637b9edd122f1720efa1e5c0ae0b533b0c3c9f1ea6d920
- 0x32f3ab671db3c78eda63dec41a5fad02eb6bd4bd52a04d7e948fe6b458aef752
- 0x56ffea77a366965d5aa042f1fafb15a5b4d6ee7f17a7db26b04b51990aee18c2
- 0xa3050953bd265c6bcaedd234991436cc13049da3ca52f5d8a982d11d2c74ba4f
- 0x189f55a9f163f1e05e689035f8a6100a9d2b66947b4dba95250e366324d60722
- 0x113318ea61eaa1487d798af730144d031e230c4d9c6d06a880f68ea6ee581016
- 0x3682db03de1be5616b070dcf809c9e3774b1f0d809e74059bab72378e5583906
- 0x7408ea1f899707fd8fc96166e07b955d4b25ab482b8daa0c9e45abc34a24730c
- 0x49ba577391c12d866413e21970938b593b2e367b6455832ffa1a4f58c8ec99b6
- 0x5abcabf96a8e684fe6e262d534520acf62828f31c0a7a0f29ffa7346f72de9b1
- 0x475d2fbee38b77be440946f3f083a3953187376db2f7f57a3a3db41905aa12b6
- 0xe2bb2a30c74e0bf16b8b75c332bdd45334d0338bef3f3022b7ea7b55718e1369
- 0xd406739acce2ba016f8d49081b15f266a4ea4a0b0fc5ef171c89c8fd2dda4d80
- 0x8b27a4c21bf4ba962fd008c8f4300bc6953764a5032b9ab0cfe696b318c45326
- 0x4b52a97f7a80ff7778a702b85267b8d2e5c93ce160942656435c29ae7be68bf4
- 0x2e6a32eb32761c210560e852405e2f865f958ddbe01027894f8b9c1b3433b9f0
- 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
- 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae