← The evidence ledger
Evidence row 299953
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 3e180af5-01fd-4846-8033-017fce3e82b8
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 04e320e0014bac94b6f5b332c762bbf7a581c8bbadf26f7908608f586c742371
- Leaf
- 0xb3c2aac95fa07585c17496c72586185e252148db976afecd993c4365d3ce2bbe
What was observed
{
"count": 25,
"tools": [
{
"description": "WRITE: add a contact (person) to an existing customer. No email is sent by this call. Returns the new user_id. POST /user.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customer_id": {
"description": "The customer the contact belongs to.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"email": {
"description": "Email address.",
"format": "email",
"maxLength": 254,
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
},
"external_key": {
"description": "Your own unique id for the contact.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"first_name": {
"description": "First name.",
"maxLength": 100,
"type": "string"
},
"last_name": {
"description": "Last name.",
"maxLength": 100,
"type": "string"
},
"mobile": {
"description": "Mobile number.",
"maxLength": 50,
"type": "string"
},
"name": {
"description": "Full name (alternative to first_name and last_name).",
"maxLength": 200,
"type": "string"
},
"phone": {
"description": "Phone number.",
"maxLength": 50,
"type": "string"
},
"title": {
"description": "Job title.",
"maxLength": 100,
"type": "string"
}
},
"required": [
"customer_id"
],
"type": "object"
},
"name": "chargeover_create_contact"
},
{
"description": "WRITE: create a new customer (no charge, no invoice, no email is sent by this call). Returns the new customer_id. Add a primary contact with the superuser_* fields. Use chargeover_list_customers first to avoid a duplicate (external_key is unique). POST /customer.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"bill_addr1": {
"description": "Billing address line 1.",
"maxLength": 255,
"type": "string"
},
"bill_addr2": {
"description": "Billing address line 2.",
"maxLength": 255,
"type": "string"
},
"bill_city": {
"description": "Billing city.",
"maxLength": 100,
"type": "string"
},
"bill_country": {
"description": "Billing country.",
"maxLength": 100,
"type": "string"
},
"bill_postcode": {
"description": "Billing postal code.",
"maxLength": 30,
"type": "string"
},
"bill_state": {
"description": "Billing state/province.",
"maxLength": 100,
"type": "string"
},
"company": {
"description": "Company / customer name.",
"maxLength": 255,
"minLength": 1,
"type": "string"
},
"external_key": {
"description": "Your own unique id for the customer (cannot be reused by default, even after deletion).",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"parent_customer_id": {
"description": "Parent customer id, to create a child customer.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"ship_addr1": {
"description": "Shipping address line 1.",
"maxLength": 255,
"type": "string"
},
"ship_addr2": {
"description": "Shipping address line 2.",
"maxLength": 255,
"type": "string"
},
"ship_city": {
"description": "Shipping city.",
"maxLength": 100,
"type": "string"
},
"ship_country": {
"description": "Shipping country.",
"maxLength": 100,
"type": "string"
},
"ship_postcode": {
"description": "Shipping postal code.",
"maxLength": 30,
"type": "string"
},
"ship_state": {
"description": "Shipping state/province.",
"maxLength": 100,
"type": "string"
},
"superuser_email": {
"description": "Primary contact email address.",
"format": "email",
"maxLength": 254,
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
},
"superuser_first_name": {
"description": "Primary contact first name.",
"maxLength": 100,
"type": "string"
},
"superuser_last_name": {
"description": "Primary contact last name.",
"maxLength": 100,
"type": "string"
},
"superuser_phone": {
"description": "Primary contact phone number.",
"maxLength": 50,
"type": "string"
}
},
"required": [
"company"
],
"type": "object"
},
"name": "chargeover_create_customer"
},
{
"description": "WRITE: add a note to a customer, subscription, invoice, contact, quote or item (shown in the ChargeOver UI to the team; never sent to the customer). Returns the note id. POST /note.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"context_id": {
"description": "The id of that record (customer_id, package_id, invoice_id, user_id, quote_id or item_id).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"context_str": {
"description": "What the note is attached to (billing_package = a subscription, user = a contact).",
"enum": [
"customer",
"billing_package",
"invoice",
"user",
"quote",
"item"
],
"type": "string"
},
"note": {
"description": "The note text.",
"maxLength": 5000,
"minLength": 1,
"type": "string"
}
},
"required": [
"context_str",
"context_id",
"note"
],
"type": "object"
},
"name": "chargeover_create_note"
},
{
"description": "WRITE: create a quote (a proposal) for an existing customer. Nothing is billed and no email is sent: the quote stays open until someone sends or accepts it in ChargeOver. Each line refers to an existing item (chargeover_list_items). paycycle: one = one-time invoice, mon = monthly, 2mn = every 2 months, qtr = quarterly, six = every 6 months, yrl = yearly, 2yr, 3yr, 1wk = weekly, 2wk. Returns the new quote_id. POST /quote.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customer_id": {
"description": "The customer the quote is for.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"date": {
"description": "A date as YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"external_key": {
"description": "Your own unique id for the quote.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"line_items": {
"description": "At least one line.",
"items": {
"properties": {
"descrip": {
"description": "Line description override.",
"maxLength": 1000,
"type": "string"
},
"expire_recurs": {
"description": "Number of invoices before the line expires.",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"item_id": {
"description": "An existing item_id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"line_quantity": {
"description": "Quantity (default 1).",
"exclusiveMinimum": 0,
"maximum": 1000000000,
"type": "number"
}
},
"required": [
"item_id"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"memo": {
"description": "Memo shown to the customer on the quote.",
"maxLength": 2000,
"type": "string"
},
"nickname": {
"description": "Nickname of the quote.",
"maxLength": 255,
"type": "string"
},
"paycycle": {
"description": "Billing cycle of the quote.",
"enum": [
"one",
"mon",
"2mn",
"qtr",
"six",
"yrl",
"2yr",
"3yr",
"1wk",
"2wk"
],
"type": "string"
},
"refnumber": {
"description": "Your reference number for the quote.",
"maxLength": 100,
"type": "string"
},
"validuntil_date": {
"description": "Quote valid until, YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
}
},
"required": [
"customer_id",
"paycycle",
"line_items"
],
"type": "object"
},
"name": "chargeover_create_quote"
},
{
"description": "Get one contact (user) by user_id: name, email, phone, username, the customers they belong to. GET /user/{user_id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "The user_id (a number).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "chargeover_get_contact"
},
{
"description": "Get one customer by customer_id: company, status, addresses, primary contact, terms, balance fields, custom fields. GET /customer/{customer_id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "The customer_id (a number).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "chargeover_get_customer"
},
{
"description": "Get one invoice by invoice_id: status, line items, totals, balance, payments and credits applied, billing address. GET /invoice/{invoice_id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "The invoice_id (a number).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "chargeover_get_invoice"
},
{
"description": "Get one item (product, service or discount) by item_id: name, type, SKU, pricing tiers per currency. GET /item/{item_id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "The item_id (a number).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "chargeover_get_item"
},
{
"description": "Get one quote by quote_id: status, line items, totals, memo, links to the invoice or subscription it became. GET /quote/{quote_id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "The quote_id (a number).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "chargeover_get_quote"
},
{
"description": "A report's name, its available_filters (field names and allowed operators), available_columns and default_columns. Read this before chargeover_run_report to know which filters and columns to use. GET /_report/{report_id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"report_id": {
"description": "The report_id from chargeover_list_reports.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"report_id"
],
"type": "object"
},
"name": "chargeover_get_report"
},
{
"description": "Get one subscription (package) by package_id: status, payment cycle, pay method, next invoice date, line items. GET /package/{package_id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "The package_id (a number).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "chargeover_get_subscription"
},
{
"description": "Get one transaction (payment, refund or credit that already happened) by transaction_id: amount, method, status, the invoices it was applied to, related refunds. GET /transaction/{transaction_id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "The transaction_id (a number).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "chargeover_get_transaction"
},
{
"description": "List contacts (the people at customers; the API calls them users). Filterable fields: user_id, external_key, first_name, last_name, email, phone, user_type_id, username, customers.customer_id (contacts of one customer). Paged: pass next_offset as offset. GET /user.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"filters": {
"description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}].",
"items": {
"properties": {
"field": {
"description": "Filter field (the list tool's description names the valid ones).",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
"type": "string"
},
"op": {
"description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value).",
"enum": [
"EQUALS",
"NOTEQUALS",
"GT",
"GTE",
"LT",
"LTE",
"CONTAINS",
"IS:NULL",
"ISNOT:NULL"
],
"type": "string"
},
"value": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
],
"description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
}
},
"required": [
"field",
"op"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"limit": {
"description": "Records per page, 1-500 (default 50).",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"maximum": 1000000,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC.",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
"type": "string"
}
},
"type": "object"
},
"name": "chargeover_list_contacts"
},
{
"description": "List coupons (code, description, type, enabled, linked discount item). Filterable fields: none documented; the list is small. Paged: pass next_offset as offset. GET /coupon.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"filters": {
"description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}].",
"items": {
"properties": {
"field": {
"description": "Filter field (the list tool's description names the valid ones).",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
"type": "string"
},
"op": {
"description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value).",
"enum": [
"EQUALS",
"NOTEQUALS",
"GT",
"GTE",
"LT",
"LTE",
"CONTAINS",
"IS:NULL",
"ISNOT:NULL"
],
"type": "string"
},
"value": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
],
"description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
}
},
"required": [
"field",
"op"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"limit": {
"description": "Records per page, 1-500 (default 50).",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"maximum": 1000000,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC.",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
"type": "string"
}
},
"type": "object"
},
"name": "chargeover_list_coupons"
},
{
"description": "List customers (companies that are billed). Filterable fields: customer_id, parent_customer_id, bill_state, ship_state, bill_country, ship_country, external_key, token, company, superuser_id, superuser_email, customer_status_state (a = active, i = inactive), customer_status_str (active-current, active-overdue, inactive-manual, inactive-activity), custom_1..custom_50, write_datetime, mod_datetime. Paged: pass next_offset as offset. GET /customer.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"filters": {
"description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}].",
"items": {
"properties": {
"field": {
"description": "Filter field (the list tool's description names the valid ones).",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
"type": "string"
},
"op": {
"description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value).",
"enum": [
"EQUALS",
"NOTEQUALS",
"GT",
"GTE",
"LT",
"LTE",
"CONTAINS",
"IS:NULL",
"ISNOT:NULL"
],
"type": "string"
},
"value": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
],
"description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
}
},
"required": [
"field",
"op"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"limit": {
"description": "Records per page, 1-500 (default 50).",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"maximum": 1000000,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC.",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
"type": "string"
}
},
"type": "object"
},
"name": "chargeover_list_customers"
},
{
"description": "List invoices with status, totals, credits, payments and balance. Filterable fields: invoice_id, refnumber, customer_id, invoice_status_str (open-unpaid, open-overdue, open-collections, closed-void, closed-paid), invoice_status_state (o = open, c = closed), package_id, package_token, date, currency_id, total, balance, subtotal, token, bill_state, bill_country, line_items.item_id, write_datetime, mod_datetime. Paged: pass next_offset as offset. GET /invoice.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"filters": {
"description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}].",
"items": {
"properties": {
"field": {
"description": "Filter field (the list tool's description names the valid ones).",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
"type": "string"
},
"op": {
"description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value).",
"enum": [
"EQUALS",
"NOTEQUALS",
"GT",
"GTE",
"LT",
"LTE",
"CONTAINS",
"IS:NULL",
"ISNOT:NULL"
],
"type": "string"
},
"value": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
],
"description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
}
},
"required": [
"field",
"op"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"include_line_items": {
"description": "true = include each record's line items (bigger reply). Default false.",
"type": "boolean"
},
"limit": {
"description": "Records per page, 1-500 (default 50).",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"maximum": 1000000,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC.",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
"type": "string"
}
},
"type": "object"
},
"name": "chargeover_list_invoices"
},
{
"description": "List items: the products, services and discounts that go on invoices, quotes and subscriptions, with their pricing tiers. Filterable fields: item_id, name, external_key, accounting_sku, item_type (service or discount), custom_1, custom_2, custom_3. Paged: pass next_offset as offset. GET /item.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"filters": {
"description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}].",
"items": {
"properties": {
"field": {
"description": "Filter field (the list tool's description names the valid ones).",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
"type": "string"
},
"op": {
"description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value).",
"enum": [
"EQUALS",
"NOTEQUALS",
"GT",
"GTE",
"LT",
"LTE",
"CONTAINS",
"IS:NULL",
"ISNOT:NULL"
],
"type": "string"
},
"value": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
],
"description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
}
},
"required": [
"field",
"op"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"limit": {
"description": "Records per page, 1-500 (default 50).",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"maximum": 1000000,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC.",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
"type": "string"
}
},
"type": "object"
},
"name": "chargeover_list_items"
},
{
"description": "List notes attached to customers, subscriptions, invoices, contacts, quotes and items. Filterable fields: context_str (customer, billing_package, invoice, user, quote, item), context_id. Paged: pass next_offset as offset. GET /note.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"filters": {
"description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}].",
"items": {
"properties": {
"field": {
"description": "Filter field (the list tool's description names the valid ones).",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
"type": "string"
},
"op": {
"description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value).",
"enum": [
"EQUALS",
"NOTEQUALS",
"GT",
"GTE",
"LT",
"LTE",
"CONTAINS",
"IS:NULL",
"ISNOT:NULL"
],
"type": "string"
},
"value": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
],
"description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
}
},
"required": [
"field",
"op"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"limit": {
"description": "Records per page, 1-500 (default 50).",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"maximum": 1000000,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC.",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
"type": "string"
}
},
"type": "object"
},
"name": "chargeover_list_notes"
},
{
"description": "List quotes (proposals for a customer or lead; the list has no line items, get one quote for those). Filterable fields: quote_id, customer_id, brand_id, currency_id, refnumber, token, external_key, date, bill_state, bill_country, quote_status_str (open-new, open-sent, closed-won, closed-lost), quote_status_state (o = open, c = closed). Paged: pass next_offset as offset. GET /quote.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"filters": {
"description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}].",
"items": {
"properties": {
"field": {
"description": "Filter field (the list tool's description names the valid ones).",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
"type": "string"
},
"op": {
"description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value).",
"enum": [
"EQUALS",
"NOTEQUALS",
"GT",
"GTE",
"LT",
"LTE",
"CONTAINS",
"IS:NULL",
"ISNOT:NULL"
],
"type": "string"
},
"value": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
],
"description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
}
},
"required": [
"field",
"op"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"limit": {
"description": "Records per page, 1-500 (default 50).",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"maximum": 1000000,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC.",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
"type": "string"
}
},
"type": "object"
},
"name": "chargeover_list_quotes"
},
{
"description": "List the account's saved reports (report_id and name). Run one with chargeover_run_report. GET /_report.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "chargeover_list_reports"
},
{
"description": "List subscriptions (the API calls them packages): recurring billing plans of customers. Filterable fields: package_id, customer_id, token, brand_id, paymethod, paycycle (mon, qtr, yrl...), nickname, package_status_state (a active, c cancelled, e expired, s suspended), package_status_str (active-trial, active-current, active-overdue, canceled-nonpayment, canceled-manual, expired-expired, expired-trial, suspended-suspended), external_key, write_datetime, mod_datetime, cancel_datetime, line_items.item_id, customer.superuser_email, customer.users.email. Paged: pass next_offset as offset. GET /package.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"filters": {
"description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}].",
"items": {
"properties": {
"field": {
"description": "Filter field (the list tool's description names the valid ones).",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
"type": "string"
},
"op": {
"description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value).",
"enum": [
"EQUALS",
"NOTEQUALS",
"GT",
"GTE",
"LT",
"LTE",
"CONTAINS",
"IS:NULL",
"ISNOT:NULL"
],
"type": "string"
},
"value": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
],
"description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
}
},
"required": [
"field",
"op"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"include_line_items": {
"description": "true = include each record's line items (bigger reply). Default false.",
"type": "boolean"
},
"limit": {
"description": "Records per page, 1-500 (default 50).",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"maximum": 1000000,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC.",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
"type": "string"
}
},
"type": "object"
},
"name": "chargeover_list_subscriptions"
},
{
"description": "List transactions (payments, refunds and credits that already happened; this tool only reads them). Filterable fields: transaction_id, customer_id, gateway_id, currency_id, creditcard_id, ach_id, tokenized_id, token, external_key, gateway_status, gateway_transid, amount, fee, transaction_type, transaction_method, transaction_detail, transaction_datetime, transaction_status.state, transaction_status.str, applied_to.invoice_id, applied_to.package_id. Paged: pass next_offset as offset. GET /transaction.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"filters": {
"description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}].",
"items": {
"properties": {
"field": {
"description": "Filter field (the list tool's description names the valid ones).",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
"type": "string"
},
"op": {
"description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value).",
"enum": [
"EQUALS",
"NOTEQUALS",
"GT",
"GTE",
"LT",
"LTE",
"CONTAINS",
"IS:NULL",
"ISNOT:NULL"
],
"type": "string"
},
"value": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
],
"description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
}
},
"required": [
"field",
"op"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"include_applied_to": {
"description": "true = include the invoices each transaction was applied to (bigger reply). Default false.",
"type": "boolean"
},
"limit": {
"description": "Records per page, 1-500 (default 50).",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"maximum": 1000000,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC.",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
"type": "string"
}
},
"type": "object"
},
"name": "chargeover_list_transactions"
},
{
"description": "List usage (metered billing) data points recorded against subscription line items. Filterable fields: line_item_id, external_key, from (date), to (date). Paged: pass next_offset as offset. GET /usage.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"filters": {
"description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}].",
"items": {
"properties": {
"field": {
"description": "Filter field (the list tool's description names the valid ones).",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
"type": "string"
},
"op": {
"description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value).",
"enum": [
"EQUALS",
"NOTEQUALS",
"GT",
"GTE",
"LT",
"LTE",
"CONTAINS",
"IS:NULL",
"ISNOT:NULL"
],
"type": "string"
},
"value": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
],
"description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
}
},
"required": [
"field",
"op"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"limit": {
"description": "Records per page, 1-500 (default 50).",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"maximum": 1000000,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC.",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
"type": "string"
}
},
"type": "object"
},
"name": "chargeover_list_usage"
},
{
"description": "Run a saved report and return its rows (read only; nothing is changed). Filters use the report's own field names from chargeover_get_report, for example [{field:'transaction_transaction_date',op:'GTE',value:'2026-01-01'}]. Operators vary by field (dates GTE/LTE/EQUALS, ids EQUALS, strings CONTAINS/DOES_NOT_CONTAIN). To page (offset > 0) an order is required. Max 1000 rows per page. POST /_report/{report_id}/_action/reportData.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"columns": {
"description": "Column names to return (default: the report's default columns).",
"items": {
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
"type": "string"
},
"maxItems": 60,
"type": "array"
},
"filters": {
"description": "Report filters (combined with AND).",
"items": {
"properties": {
"field": {
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
"type": "string"
},
"op": {
"enum": [
"EQUALS",
"NOTEQUALS",
"GT",
"GTE",
"LT",
"LTE",
"CONTAINS",
"DOES_NOT_CONTAIN"
],
"type": "string"
},
"value": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"required": [
"field",
"op",
"value"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"limit": {
"description": "Rows per page, 1-1000 (default 100).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"maximum": 1000000,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC.",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
"type": "string"
},
"report_id": {
"description": "The report_id from chargeover_list_reports.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"report_id"
],
"type": "object"
},
"name": "chargeover_run_report"
},
{
"description": "WRITE: change fields of an existing customer; send only the fields to change. Cannot touch payment methods, balances or status. Replaces the previous values of the fields you send. PUT /customer/{customer_id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"bill_addr1": {
"description": "Billing address line 1.",
"maxLength": 255,
"type": "string"
},
"bill_addr2": {
"description": "Billing address line 2.",
"maxLength": 255,
"type": "string"
},
"bill_city": {
"description": "Billing city.",
"maxLength": 100,
"type": "string"
},
"bill_country": {
"description": "Billing country.",
"maxLength": 100,
"type": "string"
},
"bill_postcode": {
"description": "Billing postal code.",
"maxLength": 30,
"type": "string"
},
"bill_state": {
"description": "Billing state/province.",
"maxLength": 100,
"type": "string"
},
"company": {
"description": "New company / customer name.",
"maxLength": 255,
"minLength": 1,
"type": "string"
},
"customer_id": {
"description": "The customer_id to update.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"external_key": {
"description": "Your own unique id for the customer (cannot be reused by default, even after deletion).",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"ship_addr1": {
"description": "Shipping address line 1.",
"maxLength": 255,
"type": "string"
},
"ship_addr2": {
"description": "Shipping address line 2.",
"maxLength": 255,
"type": "string"
},
"ship_city": {
"description": "Shipping city.",
"maxLength": 100,
"type": "string"
},
"ship_country": {
"description": "Shipping country.",
"maxLength": 100,
"type": "string"
},
"ship_postcode": {
"description": "Shipping postal code.",
"maxLength": 30,
"type": "string"
},
"ship_state": {
"description": "Shipping state/province.",
"maxLength": 100,
"type": "string"
},
"superuser_email": {
"description": "Primary contact email address.",
"format": "email",
"maxLength": 254,
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
},
"superuser_first_name": {
"description": "Primary contact first name.",
"maxLength": 100,
"type": "string"
},
"superuser_last_name": {
"description": "Primary contact last name.",
"maxLength": 100,
"type": "string"
},
"superuser_phone": {
"description": "Primary contact phone number.",
"maxLength": 50,
"type": "string"
}
},
"required": [
"customer_id"
],
"type": "object"
},
"name": "chargeover_update_customer"
}
]
}What the leaf hashes
{"body":"04e320e0014bac94b6f5b332c762bbf7a581c8bbadf26f7908608f586c742371","id":299953,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793053183588925,"prev":null,"subject":"3e180af5-01fd-4846-8033-017fce3e82b8","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0xb3c2a777e8a1077b930a7a7a9091818189181deaa7ed5785c94fc185f2ea33f0
- 0x3d01b93f3b911f79e648894680cd536411a0d76a5282feb7750e7ce7ded466a6
- 0x494b161b2af1048acb2ee395aeca112754f237f5ea343c2ac364602ce41644d1
- 0x2976f4875f2afcdf9469eb577df3b9f2ee298893cad72eef379d0fcd460fb4cd
- 0x3ea7146f7beb2e0bf0af169ff40d4412ddde34c3e535f4dd536e8c1a2948071f
- 0xf1311801853f4c462f0e3fb4b6a730f5be19b519762669e9dd0a5280280ee8fa
- 0xff23a6e68af1622b768b9adb3a6cbe8fa99892d2222731f596860d870a4be7b1
- 0x9e24b893bd073d09598cbeec9365760909ac0d9202731d4260925fdfbabe5a94
- 0xadafc16d116ead5edc3f88bfcb559a636d9650754ac1f6fa383c7092df3f8bf2
- 0xf04f1893fe6291cdbc16182b9a16bead5bf9b24bd4e846024218e2491f79cc69
- 0xc50bb1c2185da1e4294f4829be5412051ce30550dd05a2a26962841b3ba2399d
- 0x3d6ec9d5ef8daa604601742088e213da0a439db6eff6ce50ec3ffb264a60ddd3
- 0x3b1c0e225d1b1cb24cd5d5ea4af2de20ed68a1eaf8b61924ed1b81e4b9cf7e39
- 0x083427e39db4dd470662401f6db5db8fadf084fc4274cf8621b368416952b78b
- 0x1a74ed3b3756b9cd946da49701bcec120ec88645013da99fa9eea60b39e1a570
- 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
- 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae