Skip to content
Mekler AI

Mekler AI / API reference

API reference.

Each operation has a specific input, output, price and scope. Choose an operation below to inspect its exact schema and response definitions. Schema references resolve against the shared definitions at the end of this page.

Download the complete OpenAPI contract (JSON)

Create a durable agent mailbox with optional incoming email

POST /v1/messaging/mailboxes/create-mailbox

2 USDC per 30-day receiving term; 1,000 messages and explicitly bounded recovery

Service scope, examples and recovery →

Give an agent a durable private mailbox for messages, HTTP callbacks and optional incoming email. A 2 USDC purchase opens 30 days of receiving with 1,000 messages; each accepted message is retained for 30 days. Recover unfinished work after disconnects using scoped access, processing claims and an outbound notification connector. No customer public server is required. No outbound email or hosted agent execution.

Input fields

request_id Required · string
See the complete request schema for values and bounds.
owner_key Required · string
See the complete request schema for values and bounds.
email_enabled Optional · boolean
See the complete request schema for values and bounds.
webhook_url Optional · string
See the complete request schema for values and bounds.

Response status

200
Finalized receiving term and original-proof recovery receipt. PAYMENT-RESPONSE confirms settlement.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
Input-bound x402 v2 quote for valid creation input. Empty unsigned JSON is nonpayable preflight; supply request_id and a private access_key before signing.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Decoded JSON request exceeds 8192 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "request_id",
          "owner_key"
        ],
        "properties": {
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "owner_key": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$"
          },
          "email_enabled": {
            "type": "boolean",
            "default": false
          },
          "webhook_url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          }
        }
      },
      "example": {
        "request_id": "mekler-mail-example-01",
        "owner_key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE",
        "email_enabled": true
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Finalized receiving term and original-proof recovery receipt. PAYMENT-RESPONSE confirms settlement.",
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "mailbox_id",
            "purchase_id",
            "email_address",
            "receiving_term_seconds",
            "next_step",
            "receiving_term"
          ],
          "properties": {
            "status": {
              "const": "ok"
            },
            "mailbox_id": {
              "type": "string",
              "pattern": "^[a-f0-9]{32}$"
            },
            "purchase_id": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "email_address": {
              "type": "string",
              "format": "email"
            },
            "receiving_term_seconds": {
              "const": 2592000
            },
            "next_step": {
              "type": "string"
            },
            "receiving_term": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "starts_at",
                "ends_at"
              ],
              "properties": {
                "starts_at": {
                  "type": "integer"
                },
                "ends_at": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "mailbox_id": "1c2dee1d4ee689f629f57d2ba1ac2f40",
          "purchase_id": "10f56926c6b832c25b1c9edc9e22c8481db8f1e761a1ff2b7f6b258ff9fa52df",
          "email_address": "1c2dee1d4ee689f629f57d2ba1ac2f40@mail.mekler.ai",
          "receiving_term_seconds": 2592000,
          "next_step": "Retrieve mailbox status with your owner key after settlement.",
          "receiving_term": {
            "starts_at": 1792886400,
            "ends_at": 1795478400
          }
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "Input-bound x402 v2 quote for valid creation input. Empty unsigned JSON is nonpayable preflight; supply request_id and a private access_key before signing.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "2.000000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Decoded JSON request exceeds 8192 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Create a private temporary inbox and read incoming email

POST /v1/email/inboxes/create-private-inbox

0.05 USDC per private 24 hour inbox; capability reads and deletion are free

Service scope, examples and recovery →

Create a private receive-only email inbox for an agent. Read incoming confirmation mail and attachments for 24 hours, up to 25 messages of 128 KiB each, and optionally receive signed arrival webhooks. Creation costs 0.05 USDC; capability-authorized reads and deletion are free. No outbound email, permanent address or guarantee that websites accept the address.

Input fields

request_id Required · string
Caller-selected idempotency identity; retain unchanged with the same access key.
access_key Required · string
Privately generated canonical base64url of 32 random bytes, without padding. The published example is synthetic; never use it as a real secret.
webhook_url Optional · string
Optional public HTTPS metadata on port 443; callback, no credentials/fragment. Private DNS/IP destinations and redirects are never called; delivery is best effort.

Response status

200
Finalized private inbox creation; original expires_at never changes during recovery. PAYMENT-RESPONSE confirms settlement.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
Input-bound x402 v2 quote for valid creation input. Empty unsigned JSON is nonpayable preflight; supply request_id and a private access_key before signing.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Decoded JSON request exceeds 8192 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "request_id",
          "access_key"
        ],
        "properties": {
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Caller-selected idempotency identity; retain unchanged with the same access key."
          },
          "access_key": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$",
            "description": "Privately generated canonical base64url of 32 random bytes, without padding. The published example is synthetic; never use it as a real secret."
          },
          "webhook_url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Optional public HTTPS metadata on port 443; callback, no credentials/fragment. Private DNS/IP destinations and redirects are never called; delivery is best effort."
          }
        }
      },
      "example": {
        "request_id": "mekler-synthetic-request-01",
        "access_key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Finalized private inbox creation; original expires_at never changes during recovery. PAYMENT-RESPONSE confirms settlement.",
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "inbox_id",
            "address",
            "created_at",
            "expires_at",
            "limits"
          ],
          "properties": {
            "status": {
              "const": "ok"
            },
            "inbox_id": {
              "type": "string",
              "pattern": "^[a-f0-9]{32}$"
            },
            "address": {
              "type": "string",
              "format": "email"
            },
            "created_at": {
              "type": "integer"
            },
            "expires_at": {
              "type": "integer"
            },
            "limits": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "messages",
                "raw_message_bytes"
              ],
              "properties": {
                "messages": {
                  "const": 25
                },
                "raw_message_bytes": {
                  "const": 131072
                }
              }
            },
            "webhook_secret": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{43}$"
            }
          }
        },
        "example": {
          "status": "ok",
          "inbox_id": "ed157de6233b2dbbb69d46c26189a7c5",
          "address": "ed157de6233b2dbbb69d46c26189a7c5@inbox.mekler.ai",
          "created_at": 1792252800,
          "expires_at": 1792339200,
          "limits": {
            "messages": 25,
            "raw_message_bytes": 131072
          }
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "Input-bound x402 v2 quote for valid creation input. Empty unsigned JSON is nonpayable preflight; supply request_id and a private access_key before signing.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.050000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Decoded JSON request exceeds 8192 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Generate task-routed model completions

POST /v1/compute/inference/generate-completions

Example: 0.002796 USDC per completed purchase; example shown, exact quote required

Service scope, examples and recovery →

Compare exact prices across eight models: GPT-6 Luna, GPT-6.1 Sol, Ministral 3B/8B/14B, Nemotron 3 Nano and Qwen3 Next/Coder Next. Review a recommendation and supported model/effort alternatives, then accept one quote or use automatic selection. Generate text or JSON with one USDC payment and no supplier account. Recover private results after completion. Recommendations use task rules, not a quality guarantee. No tools, browsing or streaming.

Input fields

tasks Required · array
See the complete request schema for values and bounds.
max_price_usdc Required · string
See the complete request schema for values and bounds.
idempotency_key Optional · string
See the complete request schema for values and bounds.

Response status

200
All completions stored and delivered; receipt reports payment finality separately.
202
Work or payment is pending. Retain original proof.
400
Invalid request or proof.
402
Input-bound fixed quote; no supplier work performed.
409
Payment or idempotency conflict.
410
Uncharged failed work or expired private recovery; inspect response.
413
Input too large.
415
Expected application/json.
422
Selected work exceeds spending limit; no silent model downgrade.
429
Admission capacity unavailable; no payment started.
503
Unavailable; retain original proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "properties": {
          "tasks": {
            "type": "array",
            "minItems": 1,
            "maxItems": 20,
            "items": {
              "type": "object",
              "properties": {
                "messages": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 16,
                  "items": {
                    "type": "object",
                    "properties": {
                      "role": {
                        "enum": [
                          "system",
                          "user",
                          "assistant"
                        ]
                      },
                      "content": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16000
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "additionalProperties": false
                  }
                },
                "model": {
                  "enum": [
                    "auto",
                    "gpt-6-luna",
                    "gpt-6.1-sol",
                    "ministral-3-3b",
                    "ministral-3-8b",
                    "ministral-3-14b",
                    "nemotron-3-nano",
                    "qwen3-next",
                    "qwen3-coder-next",
                    "gemma-4-e2b"
                  ],
                  "default": "auto",
                  "description": "Gemma is only eligible for a checked contract with current qualification and supplier authorization."
                },
                "task": {
                  "enum": [
                    "auto",
                    "extract",
                    "classify",
                    "summarize",
                    "translate",
                    "write",
                    "code",
                    "analyze",
                    "plan"
                  ],
                  "default": "auto"
                },
                "priority": {
                  "enum": [
                    "balanced",
                    "economy",
                    "quality",
                    "speed"
                  ],
                  "default": "balanced"
                },
                "max_output_tokens": {
                  "type": "integer",
                  "minimum": 32,
                  "maximum": 4096,
                  "default": 1000,
                  "description": "Total billed output ceiling, including reasoning and non-visible tokens. Small ceilings can truncate a response; truncated work is uncharged."
                },
                "response_format": {
                  "enum": [
                    "text",
                    "json_object"
                  ],
                  "default": "text"
                },
                "contract": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "const": "extract_fields"
                        },
                        "fields": {
                          "type": "object",
                          "minProperties": 1,
                          "maxProperties": 3,
                          "propertyNames": {
                            "pattern": "^[a-z][a-z0-9_]{0,31}$",
                            "not": {
                              "const": "abstain"
                            }
                          },
                          "additionalProperties": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 240
                          }
                        }
                      },
                      "required": [
                        "kind",
                        "fields"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "const": "classify"
                        },
                        "labels": {
                          "type": "object",
                          "minProperties": 2,
                          "maxProperties": 3,
                          "propertyNames": {
                            "pattern": "^[a-z][a-z0-9_]{0,31}$",
                            "not": {
                              "const": "abstain"
                            }
                          },
                          "additionalProperties": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 240
                          }
                        }
                      },
                      "required": [
                        "kind",
                        "labels"
                      ],
                      "additionalProperties": false
                    }
                  ],
                  "description": "Optional checked workflow for one English user-message source, at most 8000 UTF-8 bytes. Requires json_object and at least the qualified model output allowance (currently 2048). Returns 422 when no current qualified candidate fits. Field values and evidence are verbatim source spans; missing/ambiguous fields are null. Classification can abstain. Validation does not prove semantic correctness."
                }
              },
              "required": [
                "messages"
              ],
              "additionalProperties": false
            }
          },
          "max_price_usdc": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8,
            "pattern": "^(?:0(?:\\.[0-9]{1,6})?|1(?:\\.0{1,6})?)$"
          },
          "idempotency_key": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[A-Za-z0-9_-]{22,128}$"
          }
        },
        "required": [
          "tasks",
          "max_price_usdc"
        ],
        "additionalProperties": false
      },
      "example": {
        "tasks": [
          {
            "messages": [
              {
                "role": "user",
                "content": "Summarize: the meeting starts at noon."
              }
            ],
            "task": "summarize",
            "max_output_tokens": 64
          }
        ],
        "max_price_usdc": "0.003"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "All completions stored and delivered; receipt reports payment finality separately.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "job_id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "state": {
              "enum": [
                "complete",
                "delivered",
                "delivered-payment-failed"
              ]
            },
            "plan": {
              "type": "object",
              "properties": {
                "version": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64
                },
                "models": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 20,
                  "items": {
                    "type": "object",
                    "properties": {
                      "index": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 19
                      },
                      "model": {
                        "enum": [
                          "gpt-6-luna",
                          "gpt-6.1-sol",
                          "ministral-3-3b",
                          "ministral-3-8b",
                          "ministral-3-14b",
                          "nemotron-3-nano",
                          "qwen3-next",
                          "qwen3-coder-next",
                          "gemma-4-e2b"
                        ]
                      },
                      "provider_model": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      },
                      "reason": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 64
                      },
                      "reasoning_effort": {
                        "enum": [
                          "none",
                          "low",
                          "high",
                          null
                        ]
                      },
                      "input_token_allowance": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "max_output_tokens": {
                        "type": "integer",
                        "minimum": 32,
                        "maximum": 4096
                      },
                      "response_format": {
                        "enum": [
                          "text",
                          "json_object"
                        ]
                      },
                      "provider": {
                        "enum": [
                          "openai",
                          "bedrock_mantle"
                        ]
                      },
                      "region": {
                        "const": "us-east-1"
                      },
                      "json_policy": {
                        "const": "strict-object-or-one-outer-fence-v1"
                      },
                      "qualification": {
                        "type": "object",
                        "properties": {
                          "policy": {
                            "const": "qualified-value-v1"
                          },
                          "profile": {
                            "enum": [
                              "extract_fields",
                              "classify"
                            ]
                          },
                          "prompt_version": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 64
                          },
                          "evidence_id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 64,
                            "pattern": "^[0-9a-f]{64}$"
                          },
                          "observed_passed": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "observed_total": {
                            "type": "integer",
                            "minimum": 60
                          },
                          "observed_p95_seconds": {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 30
                          },
                          "qualified_at": {
                            "type": "integer"
                          },
                          "expires_at": {
                            "type": "integer"
                          },
                          "selection_basis": {
                            "enum": [
                              "caller_pin",
                              "highest_observed_lower_bound",
                              "lowest_observed_p95",
                              "lowest_qualified_supplier_allowance"
                            ]
                          },
                          "scope": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "policy",
                          "profile",
                          "prompt_version",
                          "evidence_id",
                          "observed_passed",
                          "observed_total",
                          "observed_p95_seconds",
                          "qualified_at",
                          "expires_at",
                          "selection_basis",
                          "scope"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "index",
                      "model",
                      "provider_model",
                      "reason",
                      "reasoning_effort",
                      "input_token_allowance",
                      "max_output_tokens",
                      "response_format"
                    ],
                    "additionalProperties": false
                  }
                },
                "price_micros": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 1000000
                },
                "processing": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "output_policy": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "delivery_policy": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              },
              "required": [
                "version",
                "models",
                "price_micros",
                "processing",
                "output_policy"
              ],
              "additionalProperties": false
            },
            "recovery_token": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "expires_at": {
              "type": "integer"
            },
            "retry": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "results": {
              "type": "array",
              "minItems": 1,
              "maxItems": 20,
              "items": {
                "type": "object",
                "properties": {
                  "index": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 19
                  },
                  "model": {
                    "enum": [
                      "gpt-6-luna",
                      "gpt-6.1-sol",
                      "ministral-3-3b",
                      "ministral-3-8b",
                      "ministral-3-14b",
                      "nemotron-3-nano",
                      "qwen3-next",
                      "qwen3-coder-next",
                      "gemma-4-e2b"
                    ]
                  },
                  "provider_model": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "reported_model": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "content": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 65536
                  },
                  "finish_reason": {
                    "const": "stop"
                  },
                  "usage": {
                    "type": "object",
                    "properties": {
                      "prompt_tokens": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "completion_tokens": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "total_tokens": {
                        "type": "integer",
                        "minimum": 0
                      }
                    },
                    "required": [
                      "prompt_tokens",
                      "completion_tokens",
                      "total_tokens"
                    ],
                    "additionalProperties": false
                  },
                  "validation": {
                    "type": "object",
                    "properties": {
                      "profile": {
                        "enum": [
                          "extract_fields",
                          "classify"
                        ]
                      },
                      "prompt_version": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 64
                      },
                      "checks_passed": {
                        "type": "array",
                        "items": {
                          "enum": [
                            "json_shape",
                            "allowed_fields_or_labels",
                            "literal_source_evidence"
                          ]
                        }
                      },
                      "semantic_correctness_guaranteed": {
                        "const": false
                      }
                    },
                    "required": [
                      "profile",
                      "prompt_version",
                      "checks_passed",
                      "semantic_correctness_guaranteed"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "index",
                  "model",
                  "provider_model",
                  "reported_model",
                  "content",
                  "finish_reason",
                  "usage"
                ],
                "additionalProperties": false
              }
            },
            "receipt": {
              "type": "object",
              "properties": {
                "network": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "transaction": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "price_micros": {
                  "type": "integer"
                },
                "finalized": {
                  "type": "boolean"
                }
              },
              "required": [
                "network",
                "transaction",
                "price_micros",
                "finalized"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "job_id",
            "state",
            "plan",
            "recovery_token",
            "expires_at",
            "retry",
            "results",
            "receipt"
          ],
          "additionalProperties": false
        },
        "example": {
          "job_id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
          "state": "complete",
          "plan": {
            "version": "inference-v4-purchase",
            "models": [
              {
                "index": 0,
                "model": "gpt-6-luna",
                "provider_model": "gpt-6-luna",
                "reason": "bounded_general_task",
                "reasoning_effort": "none",
                "input_token_allowance": 326,
                "max_output_tokens": 64,
                "response_format": "text"
              }
            ],
            "price_micros": 2796,
            "delivery_policy": "Stored results delivered after independently verified payment inclusion; finality reconciles separately.",
            "processing": "OpenAI direct API; store=false; standard processing",
            "output_policy": "Complete text or JSON object; refusals, truncation and any failed item are uncharged."
          },
          "recovery_token": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
          "expires_at": 1794528000,
          "retry": "Recover with the original proof or private token. Do not pay again.",
          "results": [
            {
              "index": 0,
              "model": "gpt-6-luna",
              "provider_model": "gpt-6-luna",
              "reported_model": "gpt-6-luna",
              "content": "The meeting starts at noon.",
              "finish_reason": "stop",
              "usage": {
                "prompt_tokens": 18,
                "completion_tokens": 7,
                "total_tokens": 25
              }
            }
          ],
          "receipt": {
            "network": "eip155:8453",
            "transaction": "0xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
            "price_micros": 2796,
            "finalized": true
          }
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 x402 finalized payment receipt.",
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 16384
        }
      }
    }
  },
  "202": {
    "description": "Work or payment is pending. Retain original proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "job_id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "state": {
              "enum": [
                "queued",
                "running",
                "settlement-pending"
              ]
            },
            "plan": {
              "type": "object",
              "properties": {
                "version": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64
                },
                "models": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 20,
                  "items": {
                    "type": "object",
                    "properties": {
                      "index": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 19
                      },
                      "model": {
                        "enum": [
                          "gpt-6-luna",
                          "gpt-6.1-sol",
                          "ministral-3-3b",
                          "ministral-3-8b",
                          "ministral-3-14b",
                          "nemotron-3-nano",
                          "qwen3-next",
                          "qwen3-coder-next",
                          "gemma-4-e2b"
                        ]
                      },
                      "provider_model": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      },
                      "reason": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 64
                      },
                      "reasoning_effort": {
                        "enum": [
                          "none",
                          "low",
                          "high",
                          null
                        ]
                      },
                      "input_token_allowance": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "max_output_tokens": {
                        "type": "integer",
                        "minimum": 32,
                        "maximum": 4096
                      },
                      "response_format": {
                        "enum": [
                          "text",
                          "json_object"
                        ]
                      },
                      "provider": {
                        "enum": [
                          "openai",
                          "bedrock_mantle"
                        ]
                      },
                      "region": {
                        "const": "us-east-1"
                      },
                      "json_policy": {
                        "const": "strict-object-or-one-outer-fence-v1"
                      },
                      "qualification": {
                        "type": "object",
                        "properties": {
                          "policy": {
                            "const": "qualified-value-v1"
                          },
                          "profile": {
                            "enum": [
                              "extract_fields",
                              "classify"
                            ]
                          },
                          "prompt_version": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 64
                          },
                          "evidence_id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 64,
                            "pattern": "^[0-9a-f]{64}$"
                          },
                          "observed_passed": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "observed_total": {
                            "type": "integer",
                            "minimum": 60
                          },
                          "observed_p95_seconds": {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 30
                          },
                          "qualified_at": {
                            "type": "integer"
                          },
                          "expires_at": {
                            "type": "integer"
                          },
                          "selection_basis": {
                            "enum": [
                              "caller_pin",
                              "highest_observed_lower_bound",
                              "lowest_observed_p95",
                              "lowest_qualified_supplier_allowance"
                            ]
                          },
                          "scope": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "policy",
                          "profile",
                          "prompt_version",
                          "evidence_id",
                          "observed_passed",
                          "observed_total",
                          "observed_p95_seconds",
                          "qualified_at",
                          "expires_at",
                          "selection_basis",
                          "scope"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "index",
                      "model",
                      "provider_model",
                      "reason",
                      "reasoning_effort",
                      "input_token_allowance",
                      "max_output_tokens",
                      "response_format"
                    ],
                    "additionalProperties": false
                  }
                },
                "price_micros": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 1000000
                },
                "processing": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "output_policy": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "delivery_policy": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              },
              "required": [
                "version",
                "models",
                "price_micros",
                "processing",
                "output_policy"
              ],
              "additionalProperties": false
            },
            "recovery_token": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "expires_at": {
              "type": "integer"
            },
            "retry": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "job_id",
            "state",
            "plan",
            "recovery_token",
            "expires_at",
            "retry"
          ],
          "additionalProperties": false
        },
        "example": {
          "job_id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
          "state": "queued",
          "plan": {
            "version": "inference-v4-purchase",
            "models": [
              {
                "index": 0,
                "model": "gpt-6-luna",
                "provider_model": "gpt-6-luna",
                "reason": "bounded_general_task",
                "reasoning_effort": "none",
                "input_token_allowance": 326,
                "max_output_tokens": 64,
                "response_format": "text"
              }
            ],
            "price_micros": 2796,
            "delivery_policy": "Stored results delivered after independently verified payment inclusion; finality reconciles separately.",
            "processing": "OpenAI direct API; store=false; standard processing",
            "output_policy": "Complete text or JSON object; refusals, truncation and any failed item are uncharged."
          },
          "recovery_token": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
          "expires_at": 1794528000,
          "retry": "Recover with the original proof or private token. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid request or proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "Input-bound fixed quote; no supplier work performed.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 x402 offers bound to the exact input and routing plan.",
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 16384
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "const": "payment_required"
            },
            "price_usdc": {
              "type": "string",
              "minLength": 1,
              "maxLength": 16
            },
            "plan": {
              "type": "object",
              "properties": {
                "version": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64
                },
                "models": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 20,
                  "items": {
                    "type": "object",
                    "properties": {
                      "index": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 19
                      },
                      "model": {
                        "enum": [
                          "gpt-6-luna",
                          "gpt-6.1-sol",
                          "ministral-3-3b",
                          "ministral-3-8b",
                          "ministral-3-14b",
                          "nemotron-3-nano",
                          "qwen3-next",
                          "qwen3-coder-next",
                          "gemma-4-e2b"
                        ]
                      },
                      "provider_model": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      },
                      "reason": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 64
                      },
                      "reasoning_effort": {
                        "enum": [
                          "none",
                          "low",
                          "high",
                          null
                        ]
                      },
                      "input_token_allowance": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "max_output_tokens": {
                        "type": "integer",
                        "minimum": 32,
                        "maximum": 4096
                      },
                      "response_format": {
                        "enum": [
                          "text",
                          "json_object"
                        ]
                      },
                      "provider": {
                        "enum": [
                          "openai",
                          "bedrock_mantle"
                        ]
                      },
                      "region": {
                        "const": "us-east-1"
                      },
                      "json_policy": {
                        "const": "strict-object-or-one-outer-fence-v1"
                      },
                      "qualification": {
                        "type": "object",
                        "properties": {
                          "policy": {
                            "const": "qualified-value-v1"
                          },
                          "profile": {
                            "enum": [
                              "extract_fields",
                              "classify"
                            ]
                          },
                          "prompt_version": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 64
                          },
                          "evidence_id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 64,
                            "pattern": "^[0-9a-f]{64}$"
                          },
                          "observed_passed": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "observed_total": {
                            "type": "integer",
                            "minimum": 60
                          },
                          "observed_p95_seconds": {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 30
                          },
                          "qualified_at": {
                            "type": "integer"
                          },
                          "expires_at": {
                            "type": "integer"
                          },
                          "selection_basis": {
                            "enum": [
                              "caller_pin",
                              "highest_observed_lower_bound",
                              "lowest_observed_p95",
                              "lowest_qualified_supplier_allowance"
                            ]
                          },
                          "scope": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "policy",
                          "profile",
                          "prompt_version",
                          "evidence_id",
                          "observed_passed",
                          "observed_total",
                          "observed_p95_seconds",
                          "qualified_at",
                          "expires_at",
                          "selection_basis",
                          "scope"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "index",
                      "model",
                      "provider_model",
                      "reason",
                      "reasoning_effort",
                      "input_token_allowance",
                      "max_output_tokens",
                      "response_format"
                    ],
                    "additionalProperties": false
                  }
                },
                "price_micros": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 1000000
                },
                "processing": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "output_policy": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "delivery_policy": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              },
              "required": [
                "version",
                "models",
                "price_micros",
                "processing",
                "output_policy"
              ],
              "additionalProperties": false
            },
            "flow": {
              "const": "quote-first-async"
            },
            "menu": {
              "type": "object",
              "properties": {
                "options": {
                  "type": "array",
                  "maxItems": 9,
                  "items": {
                    "type": "object",
                    "properties": {
                      "option_id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 24
                      },
                      "label": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                      },
                      "recommended": {
                        "type": "boolean"
                      },
                      "request": {
                        "type": "object",
                        "properties": {
                          "tasks": {
                            "type": "array",
                            "minItems": 1,
                            "maxItems": 20,
                            "items": {
                              "type": "object",
                              "properties": {
                                "messages": {
                                  "type": "array",
                                  "minItems": 1,
                                  "maxItems": 16,
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "role": {
                                        "enum": [
                                          "system",
                                          "user",
                                          "assistant"
                                        ]
                                      },
                                      "content": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 16000
                                      }
                                    },
                                    "required": [
                                      "role",
                                      "content"
                                    ],
                                    "additionalProperties": false
                                  }
                                },
                                "model": {
                                  "enum": [
                                    "auto",
                                    "gpt-6-luna",
                                    "gpt-6.1-sol",
                                    "ministral-3-3b",
                                    "ministral-3-8b",
                                    "ministral-3-14b",
                                    "nemotron-3-nano",
                                    "qwen3-next",
                                    "qwen3-coder-next",
                                    "gemma-4-e2b"
                                  ],
                                  "default": "auto",
                                  "description": "Gemma is only eligible for a checked contract with current qualification and supplier authorization."
                                },
                                "task": {
                                  "enum": [
                                    "auto",
                                    "extract",
                                    "classify",
                                    "summarize",
                                    "translate",
                                    "write",
                                    "code",
                                    "analyze",
                                    "plan"
                                  ],
                                  "default": "auto"
                                },
                                "priority": {
                                  "enum": [
                                    "balanced",
                                    "economy",
                                    "quality",
                                    "speed"
                                  ],
                                  "default": "balanced"
                                },
                                "max_output_tokens": {
                                  "type": "integer",
                                  "minimum": 32,
                                  "maximum": 4096,
                                  "default": 1000,
                                  "description": "Total billed output ceiling, including reasoning and non-visible tokens. Small ceilings can truncate a response; truncated work is uncharged."
                                },
                                "response_format": {
                                  "enum": [
                                    "text",
                                    "json_object"
                                  ],
                                  "default": "text"
                                },
                                "contract": {
                                  "oneOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "kind": {
                                          "const": "extract_fields"
                                        },
                                        "fields": {
                                          "type": "object",
                                          "minProperties": 1,
                                          "maxProperties": 3,
                                          "propertyNames": {
                                            "pattern": "^[a-z][a-z0-9_]{0,31}$",
                                            "not": {
                                              "const": "abstain"
                                            }
                                          },
                                          "additionalProperties": {
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 240
                                          }
                                        }
                                      },
                                      "required": [
                                        "kind",
                                        "fields"
                                      ],
                                      "additionalProperties": false
                                    },
                                    {
                                      "type": "object",
                                      "properties": {
                                        "kind": {
                                          "const": "classify"
                                        },
                                        "labels": {
                                          "type": "object",
                                          "minProperties": 2,
                                          "maxProperties": 3,
                                          "propertyNames": {
                                            "pattern": "^[a-z][a-z0-9_]{0,31}$",
                                            "not": {
                                              "const": "abstain"
                                            }
                                          },
                                          "additionalProperties": {
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 240
                                          }
                                        }
                                      },
                                      "required": [
                                        "kind",
                                        "labels"
                                      ],
                                      "additionalProperties": false
                                    }
                                  ],
                                  "description": "Optional checked workflow for one English user-message source, at most 8000 UTF-8 bytes. Requires json_object and at least the qualified model output allowance (currently 2048). Returns 422 when no current qualified candidate fits. Field values and evidence are verbatim source spans; missing/ambiguous fields are null. Classification can abstain. Validation does not prove semantic correctness."
                                }
                              },
                              "required": [
                                "messages"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "max_price_usdc": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 8,
                            "pattern": "^(?:0(?:\\.[0-9]{1,6})?|1(?:\\.0{1,6})?)$"
                          },
                          "idempotency_key": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "pattern": "^[A-Za-z0-9_-]{22,128}$"
                          }
                        },
                        "required": [
                          "tasks",
                          "max_price_usdc"
                        ],
                        "additionalProperties": false
                      },
                      "plan": {
                        "type": "object",
                        "properties": {
                          "version": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 64
                          },
                          "models": {
                            "type": "array",
                            "minItems": 1,
                            "maxItems": 20,
                            "items": {
                              "type": "object",
                              "properties": {
                                "index": {
                                  "type": "integer",
                                  "minimum": 0,
                                  "maximum": 19
                                },
                                "model": {
                                  "enum": [
                                    "gpt-6-luna",
                                    "gpt-6.1-sol",
                                    "ministral-3-3b",
                                    "ministral-3-8b",
                                    "ministral-3-14b",
                                    "nemotron-3-nano",
                                    "qwen3-next",
                                    "qwen3-coder-next",
                                    "gemma-4-e2b"
                                  ]
                                },
                                "provider_model": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "reason": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                "reasoning_effort": {
                                  "enum": [
                                    "none",
                                    "low",
                                    "high",
                                    null
                                  ]
                                },
                                "input_token_allowance": {
                                  "type": "integer",
                                  "minimum": 1
                                },
                                "max_output_tokens": {
                                  "type": "integer",
                                  "minimum": 32,
                                  "maximum": 4096
                                },
                                "response_format": {
                                  "enum": [
                                    "text",
                                    "json_object"
                                  ]
                                },
                                "provider": {
                                  "enum": [
                                    "openai",
                                    "bedrock_mantle"
                                  ]
                                },
                                "region": {
                                  "const": "us-east-1"
                                },
                                "json_policy": {
                                  "const": "strict-object-or-one-outer-fence-v1"
                                },
                                "qualification": {
                                  "type": "object",
                                  "properties": {
                                    "policy": {
                                      "const": "qualified-value-v1"
                                    },
                                    "profile": {
                                      "enum": [
                                        "extract_fields",
                                        "classify"
                                      ]
                                    },
                                    "prompt_version": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 64
                                    },
                                    "evidence_id": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 64,
                                      "pattern": "^[0-9a-f]{64}$"
                                    },
                                    "observed_passed": {
                                      "type": "integer",
                                      "minimum": 0
                                    },
                                    "observed_total": {
                                      "type": "integer",
                                      "minimum": 60
                                    },
                                    "observed_p95_seconds": {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 30
                                    },
                                    "qualified_at": {
                                      "type": "integer"
                                    },
                                    "expires_at": {
                                      "type": "integer"
                                    },
                                    "selection_basis": {
                                      "enum": [
                                        "caller_pin",
                                        "highest_observed_lower_bound",
                                        "lowest_observed_p95",
                                        "lowest_qualified_supplier_allowance"
                                      ]
                                    },
                                    "scope": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 256
                                    }
                                  },
                                  "required": [
                                    "policy",
                                    "profile",
                                    "prompt_version",
                                    "evidence_id",
                                    "observed_passed",
                                    "observed_total",
                                    "observed_p95_seconds",
                                    "qualified_at",
                                    "expires_at",
                                    "selection_basis",
                                    "scope"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "index",
                                "model",
                                "provider_model",
                                "reason",
                                "reasoning_effort",
                                "input_token_allowance",
                                "max_output_tokens",
                                "response_format"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "price_micros": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 1000000
                          },
                          "processing": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "output_policy": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "delivery_policy": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "version",
                          "models",
                          "price_micros",
                          "processing",
                          "output_policy"
                        ],
                        "additionalProperties": false
                      },
                      "payment_required": {
                        "type": "object",
                        "description": "Complete x402 PaymentRequired object for this exact option request."
                      },
                      "reason": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    },
                    "required": [
                      "option_id",
                      "label",
                      "recommended",
                      "request",
                      "plan",
                      "payment_required",
                      "reason"
                    ],
                    "additionalProperties": false
                  }
                },
                "assessment": {
                  "type": "object",
                  "properties": {
                    "basis": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    },
                    "input_bytes": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "tasks": {
                      "type": "array",
                      "maxItems": 20,
                      "items": {
                        "type": "object",
                        "properties": {
                          "index": {
                            "type": "integer"
                          },
                          "recommended_model": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "rule": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "index",
                          "recommended_model",
                          "rule"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "quality_prediction": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    },
                    "latency_estimate_seconds": {
                      "type": "null"
                    }
                  },
                  "required": [
                    "basis",
                    "input_bytes",
                    "tasks",
                    "quality_prediction",
                    "latency_estimate_seconds"
                  ],
                  "additionalProperties": false
                },
                "choose": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512
                }
              },
              "required": [
                "options",
                "assessment",
                "choose"
              ],
              "additionalProperties": false
            },
            "referral": {
              "type": "object",
              "properties": {
                "mode": {
                  "const": "none"
                },
                "commission_promised": {
                  "const": false
                }
              },
              "required": [
                "mode",
                "commission_promised"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "error",
            "price_usdc",
            "plan",
            "flow"
          ],
          "additionalProperties": false
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.002796",
          "plan": {
            "version": "inference-v4-purchase",
            "models": [
              {
                "index": 0,
                "model": "gpt-6-luna",
                "provider_model": "gpt-6-luna",
                "reason": "bounded_general_task",
                "reasoning_effort": "none",
                "input_token_allowance": 326,
                "max_output_tokens": 64,
                "response_format": "text"
              }
            ],
            "price_micros": 2796,
            "delivery_policy": "Stored results delivered after independently verified payment inclusion; finality reconciles separately.",
            "processing": "OpenAI direct API; store=false; standard processing",
            "output_policy": "Complete text or JSON object; refusals, truncation and any failed item are uncharged."
          },
          "flow": "quote-first-async"
        }
      }
    }
  },
  "409": {
    "description": "Payment or idempotency conflict.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  },
  "410": {
    "description": "Uncharged failed work or expired private recovery; inspect response.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "supplier_work_incomplete"
        }
      }
    }
  },
  "413": {
    "description": "Input too large.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  },
  "415": {
    "description": "Expected application/json.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  },
  "422": {
    "description": "Selected work exceeds spending limit; no silent model downgrade.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "menu": {
              "type": "object",
              "properties": {
                "options": {
                  "type": "array",
                  "maxItems": 9,
                  "items": {
                    "type": "object",
                    "properties": {
                      "option_id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 24
                      },
                      "label": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                      },
                      "recommended": {
                        "type": "boolean"
                      },
                      "request": {
                        "type": "object",
                        "properties": {
                          "tasks": {
                            "type": "array",
                            "minItems": 1,
                            "maxItems": 20,
                            "items": {
                              "type": "object",
                              "properties": {
                                "messages": {
                                  "type": "array",
                                  "minItems": 1,
                                  "maxItems": 16,
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "role": {
                                        "enum": [
                                          "system",
                                          "user",
                                          "assistant"
                                        ]
                                      },
                                      "content": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 16000
                                      }
                                    },
                                    "required": [
                                      "role",
                                      "content"
                                    ],
                                    "additionalProperties": false
                                  }
                                },
                                "model": {
                                  "enum": [
                                    "auto",
                                    "gpt-6-luna",
                                    "gpt-6.1-sol",
                                    "ministral-3-3b",
                                    "ministral-3-8b",
                                    "ministral-3-14b",
                                    "nemotron-3-nano",
                                    "qwen3-next",
                                    "qwen3-coder-next",
                                    "gemma-4-e2b"
                                  ],
                                  "default": "auto",
                                  "description": "Gemma is only eligible for a checked contract with current qualification and supplier authorization."
                                },
                                "task": {
                                  "enum": [
                                    "auto",
                                    "extract",
                                    "classify",
                                    "summarize",
                                    "translate",
                                    "write",
                                    "code",
                                    "analyze",
                                    "plan"
                                  ],
                                  "default": "auto"
                                },
                                "priority": {
                                  "enum": [
                                    "balanced",
                                    "economy",
                                    "quality",
                                    "speed"
                                  ],
                                  "default": "balanced"
                                },
                                "max_output_tokens": {
                                  "type": "integer",
                                  "minimum": 32,
                                  "maximum": 4096,
                                  "default": 1000,
                                  "description": "Total billed output ceiling, including reasoning and non-visible tokens. Small ceilings can truncate a response; truncated work is uncharged."
                                },
                                "response_format": {
                                  "enum": [
                                    "text",
                                    "json_object"
                                  ],
                                  "default": "text"
                                },
                                "contract": {
                                  "oneOf": [
                                    {
                                      "type": "object",
                                      "properties": {
                                        "kind": {
                                          "const": "extract_fields"
                                        },
                                        "fields": {
                                          "type": "object",
                                          "minProperties": 1,
                                          "maxProperties": 3,
                                          "propertyNames": {
                                            "pattern": "^[a-z][a-z0-9_]{0,31}$",
                                            "not": {
                                              "const": "abstain"
                                            }
                                          },
                                          "additionalProperties": {
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 240
                                          }
                                        }
                                      },
                                      "required": [
                                        "kind",
                                        "fields"
                                      ],
                                      "additionalProperties": false
                                    },
                                    {
                                      "type": "object",
                                      "properties": {
                                        "kind": {
                                          "const": "classify"
                                        },
                                        "labels": {
                                          "type": "object",
                                          "minProperties": 2,
                                          "maxProperties": 3,
                                          "propertyNames": {
                                            "pattern": "^[a-z][a-z0-9_]{0,31}$",
                                            "not": {
                                              "const": "abstain"
                                            }
                                          },
                                          "additionalProperties": {
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 240
                                          }
                                        }
                                      },
                                      "required": [
                                        "kind",
                                        "labels"
                                      ],
                                      "additionalProperties": false
                                    }
                                  ],
                                  "description": "Optional checked workflow for one English user-message source, at most 8000 UTF-8 bytes. Requires json_object and at least the qualified model output allowance (currently 2048). Returns 422 when no current qualified candidate fits. Field values and evidence are verbatim source spans; missing/ambiguous fields are null. Classification can abstain. Validation does not prove semantic correctness."
                                }
                              },
                              "required": [
                                "messages"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "max_price_usdc": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 8,
                            "pattern": "^(?:0(?:\\.[0-9]{1,6})?|1(?:\\.0{1,6})?)$"
                          },
                          "idempotency_key": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "pattern": "^[A-Za-z0-9_-]{22,128}$"
                          }
                        },
                        "required": [
                          "tasks",
                          "max_price_usdc"
                        ],
                        "additionalProperties": false
                      },
                      "plan": {
                        "type": "object",
                        "properties": {
                          "version": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 64
                          },
                          "models": {
                            "type": "array",
                            "minItems": 1,
                            "maxItems": 20,
                            "items": {
                              "type": "object",
                              "properties": {
                                "index": {
                                  "type": "integer",
                                  "minimum": 0,
                                  "maximum": 19
                                },
                                "model": {
                                  "enum": [
                                    "gpt-6-luna",
                                    "gpt-6.1-sol",
                                    "ministral-3-3b",
                                    "ministral-3-8b",
                                    "ministral-3-14b",
                                    "nemotron-3-nano",
                                    "qwen3-next",
                                    "qwen3-coder-next",
                                    "gemma-4-e2b"
                                  ]
                                },
                                "provider_model": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "reason": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                "reasoning_effort": {
                                  "enum": [
                                    "none",
                                    "low",
                                    "high",
                                    null
                                  ]
                                },
                                "input_token_allowance": {
                                  "type": "integer",
                                  "minimum": 1
                                },
                                "max_output_tokens": {
                                  "type": "integer",
                                  "minimum": 32,
                                  "maximum": 4096
                                },
                                "response_format": {
                                  "enum": [
                                    "text",
                                    "json_object"
                                  ]
                                },
                                "provider": {
                                  "enum": [
                                    "openai",
                                    "bedrock_mantle"
                                  ]
                                },
                                "region": {
                                  "const": "us-east-1"
                                },
                                "json_policy": {
                                  "const": "strict-object-or-one-outer-fence-v1"
                                },
                                "qualification": {
                                  "type": "object",
                                  "properties": {
                                    "policy": {
                                      "const": "qualified-value-v1"
                                    },
                                    "profile": {
                                      "enum": [
                                        "extract_fields",
                                        "classify"
                                      ]
                                    },
                                    "prompt_version": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 64
                                    },
                                    "evidence_id": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 64,
                                      "pattern": "^[0-9a-f]{64}$"
                                    },
                                    "observed_passed": {
                                      "type": "integer",
                                      "minimum": 0
                                    },
                                    "observed_total": {
                                      "type": "integer",
                                      "minimum": 60
                                    },
                                    "observed_p95_seconds": {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 30
                                    },
                                    "qualified_at": {
                                      "type": "integer"
                                    },
                                    "expires_at": {
                                      "type": "integer"
                                    },
                                    "selection_basis": {
                                      "enum": [
                                        "caller_pin",
                                        "highest_observed_lower_bound",
                                        "lowest_observed_p95",
                                        "lowest_qualified_supplier_allowance"
                                      ]
                                    },
                                    "scope": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 256
                                    }
                                  },
                                  "required": [
                                    "policy",
                                    "profile",
                                    "prompt_version",
                                    "evidence_id",
                                    "observed_passed",
                                    "observed_total",
                                    "observed_p95_seconds",
                                    "qualified_at",
                                    "expires_at",
                                    "selection_basis",
                                    "scope"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "index",
                                "model",
                                "provider_model",
                                "reason",
                                "reasoning_effort",
                                "input_token_allowance",
                                "max_output_tokens",
                                "response_format"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "price_micros": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 1000000
                          },
                          "processing": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "output_policy": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "delivery_policy": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "version",
                          "models",
                          "price_micros",
                          "processing",
                          "output_policy"
                        ],
                        "additionalProperties": false
                      },
                      "payment_required": {
                        "type": "object",
                        "description": "Complete x402 PaymentRequired object for this exact option request."
                      },
                      "reason": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    },
                    "required": [
                      "option_id",
                      "label",
                      "recommended",
                      "request",
                      "plan",
                      "payment_required",
                      "reason"
                    ],
                    "additionalProperties": false
                  }
                },
                "assessment": {
                  "type": "object",
                  "properties": {
                    "basis": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    },
                    "input_bytes": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "tasks": {
                      "type": "array",
                      "maxItems": 20,
                      "items": {
                        "type": "object",
                        "properties": {
                          "index": {
                            "type": "integer"
                          },
                          "recommended_model": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "rule": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "index",
                          "recommended_model",
                          "rule"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "quality_prediction": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    },
                    "latency_estimate_seconds": {
                      "type": "null"
                    }
                  },
                  "required": [
                    "basis",
                    "input_bytes",
                    "tasks",
                    "quality_prediction",
                    "latency_estimate_seconds"
                  ],
                  "additionalProperties": false
                },
                "choose": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512
                }
              },
              "required": [
                "options",
                "assessment",
                "choose"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "budget_too_low"
        }
      }
    }
  },
  "429": {
    "description": "Admission capacity unavailable; no payment started.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  },
  "503": {
    "description": "Unavailable; retain original proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "name": "PAYMENT-SIGNATURE",
    "in": "header",
    "required": false,
    "description": "Optional x402 proof; omit to receive an input-bound quote before authorizing.",
    "schema": {
      "type": "string",
      "minLength": 1,
      "maxLength": 16384
    }
  }
]

Export reconciled payment receipts

POST /v1/finance/receipts/export-payment-ledger

0.05 USDC per completed report of up to 10 receipts

Service scope, examples and recovery →

Reconcile 1–10 supplied native-USDC payment receipts on Base and Solana into JSON and CSV. Match finalized transfers, separate transaction-level fees, linked reverse transfers, duplicates and caller delivery claims. 0.05 USDC per completed report; provider failures are uncharged. A completed report can contain pending, failed, ambiguous or mismatched claims.

Input fields

request_id Required · string
See the complete request schema for values and bounds.
receipts Required · array
See the complete request schema for values and bounds.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 24000 decoded bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "request_id",
          "receipts"
        ],
        "properties": {
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{12,80}$"
          },
          "receipts": {
            "type": "array",
            "minItems": 1,
            "maxItems": 10,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "id",
                "network",
                "transaction",
                "payer",
                "payee",
                "amount_usdc"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64
                },
                "network": {
                  "type": "string",
                  "enum": [
                    "eip155:8453",
                    "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
                  ]
                },
                "transaction": {
                  "type": "string",
                  "minLength": 64,
                  "maxLength": 88
                },
                "payer": {
                  "type": "string",
                  "minLength": 32,
                  "maxLength": 44
                },
                "payee": {
                  "type": "string",
                  "minLength": 32,
                  "maxLength": 44
                },
                "amount_usdc": {
                  "type": "string",
                  "pattern": "^(?:0|[1-9][0-9]{0,11})(?:\\.[0-9]{1,6})?$",
                  "description": "Positive decimal USDC, at most 6 fractional digits. No floats."
                },
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 160
                },
                "delivery_status": {
                  "type": "string",
                  "enum": [
                    "delivered",
                    "missing",
                    "unknown"
                  ]
                },
                "refund": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "transaction",
                    "amount_usdc"
                  ],
                  "properties": {
                    "transaction": {
                      "type": "string",
                      "minLength": 64,
                      "maxLength": 88
                    },
                    "amount_usdc": {
                      "type": "string",
                      "pattern": "^(?:0|[1-9][0-9]{0,11})(?:\\.[0-9]{1,6})?$"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "example": {
        "request_id": "receipts_example_001",
        "receipts": [
          {
            "id": "purchase-001",
            "network": "eip155:8453",
            "transaction": "0xabababababababababababababababababababababababababababababababab",
            "payer": "0x1111111111111111111111111111111111111111",
            "payee": "0x2222222222222222222222222222222222222222",
            "amount_usdc": "0.050000",
            "label": "Synthetic API purchase",
            "delivery_status": "unknown"
          }
        ]
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "observed_at",
            "rows",
            "transactions",
            "totals",
            "csv",
            "fees_csv",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string",
              "const": "ok"
            },
            "observed_at": {
              "type": "string"
            },
            "rows": {
              "type": "array",
              "minItems": 1,
              "maxItems": 10,
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "id",
                  "label",
                  "network",
                  "transaction",
                  "payer",
                  "payee",
                  "expected_usdc",
                  "settlement_status",
                  "matched_usdc",
                  "delivery_claim",
                  "refund_status",
                  "refund_usdc",
                  "net_usdc",
                  "block_time",
                  "transfer_index",
                  "duplicate_of",
                  "refund_transaction",
                  "delivery_verified"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "label": {
                    "type": "string"
                  },
                  "network": {
                    "type": "string"
                  },
                  "transaction": {
                    "type": "string"
                  },
                  "payer": {
                    "type": "string"
                  },
                  "payee": {
                    "type": "string"
                  },
                  "expected_usdc": {
                    "type": "string"
                  },
                  "settlement_status": {
                    "type": "string"
                  },
                  "matched_usdc": {
                    "type": "string"
                  },
                  "delivery_claim": {
                    "type": "string"
                  },
                  "refund_status": {
                    "type": "string"
                  },
                  "refund_usdc": {
                    "type": "string"
                  },
                  "net_usdc": {
                    "type": "string"
                  },
                  "block_time": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "transfer_index": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "duplicate_of": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "refund_transaction": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "delivery_verified": {
                    "type": "boolean",
                    "const": false
                  }
                }
              }
            },
            "transactions": {
              "type": "array",
              "maxItems": 20,
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "network",
                  "transaction",
                  "state",
                  "block_time",
                  "fee",
                  "source_sha256"
                ],
                "properties": {
                  "network": {
                    "type": "string"
                  },
                  "transaction": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "block_time": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "fee": {
                    "anyOf": [
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "payer",
                          "unit",
                          "execution_atomic",
                          "l1_data_atomic",
                          "observed_components_atomic",
                          "completeness"
                        ],
                        "properties": {
                          "payer": {
                            "type": "string"
                          },
                          "unit": {
                            "type": "string",
                            "enum": [
                              "wei",
                              "lamports"
                            ]
                          },
                          "execution_atomic": {
                            "type": "string"
                          },
                          "l1_data_atomic": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "observed_components_atomic": {
                            "type": "string"
                          },
                          "completeness": {
                            "type": "string",
                            "enum": [
                              "observed_components_only",
                              "network_transaction_fee"
                            ]
                          }
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "source_sha256": {
                    "type": "string",
                    "pattern": "^[a-f0-9]{64}$"
                  }
                }
              }
            },
            "totals": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "matched_principal_usdc",
                "matched_refunds_usdc",
                "net_matched_usdc"
              ],
              "properties": {
                "matched_principal_usdc": {
                  "type": "string"
                },
                "matched_refunds_usdc": {
                  "type": "string"
                },
                "net_matched_usdc": {
                  "type": "string"
                }
              }
            },
            "csv": {
              "type": "string"
            },
            "fees_csv": {
              "type": "string"
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "observed_at": "2026-10-26T15:01:00+00:00",
          "rows": [
            {
              "id": "purchase-001",
              "label": "Synthetic API purchase",
              "network": "eip155:8453",
              "transaction": "0xabababababababababababababababababababababababababababababababab",
              "payer": "0x1111111111111111111111111111111111111111",
              "payee": "0x2222222222222222222222222222222222222222",
              "expected_usdc": "0.050000",
              "settlement_status": "matched",
              "block_time": "2026-10-26T15:00:00+00:00",
              "matched_usdc": "0.050000",
              "transfer_index": "0",
              "duplicate_of": null,
              "delivery_claim": "unknown",
              "delivery_verified": false,
              "refund_transaction": null,
              "refund_status": "not_supplied",
              "refund_usdc": "0.000000",
              "net_usdc": "0.050000"
            }
          ],
          "transactions": [
            {
              "network": "eip155:8453",
              "transaction": "0xabababababababababababababababababababababababababababababababab",
              "state": "finalized",
              "block_time": "2026-10-26T15:00:00+00:00",
              "fee": {
                "payer": "0x3333333333333333333333333333333333333333",
                "unit": "wei",
                "execution_atomic": "210000000000",
                "l1_data_atomic": "1000000000",
                "observed_components_atomic": "211000000000",
                "completeness": "observed_components_only"
              },
              "source_sha256": "352ba3d7b9214968eb9d6bd7502ab7475c1ea22f128e6073c6e7dd482af9399a"
            }
          ],
          "totals": {
            "matched_principal_usdc": "0.050000",
            "matched_refunds_usdc": "0.000000",
            "net_matched_usdc": "0.050000"
          },
          "csv": "id,label,network,transaction,payer,payee,expected_usdc,settlement_status,block_time,matched_usdc,duplicate_of,delivery_claim,delivery_verified,refund_transaction,refund_status,refund_usdc,net_usdc\r\npurchase-001,Synthetic API purchase,eip155:8453,0xabababababababababababababababababababababababababababababababab,0x1111111111111111111111111111111111111111,0x2222222222222222222222222222222222222222,0.050000,matched,2026-10-26T15:00:00+00:00,0.050000,,unknown,False,,not_supplied,0.000000,0.050000\r\n",
          "fees_csv": "network,transaction,state,block_time,fee_payer,unit,execution_atomic,l1_data_atomic,observed_components_atomic,completeness\r\neip155:8453,0xabababababababababababababababababababababababababababababababab,finalized,2026-10-26T15:00:00+00:00,0x3333333333333333333333333333333333333333,wei,210000000000,1000000000,211000000000,observed_components_only\r\n",
          "limitations": [
            "Only supplied transaction claims are reconciled; this is not complete wallet history or tax advice.",
            "Block time is inclusion time, not the exact moment finality occurred.",
            "Delivery labels and the relationship of a reverse transfer to a purchase are caller claims, not chain proof.",
            "Fees are transaction-level native units paid by the reported fee payer; sponsored fees are not automatically buyer expenses.",
            "Base fee fields report observed components; absent additional fees are not assumed zero.",
            "CSV formula-like text is prefixed with an apostrophe for spreadsheet safety."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.050000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 24000 decoded bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Compare API request quotes

POST /v1/services/offers/compare-request-quotes

0.005 USDC per complete dated quote comparison

Service scope, examples and recovery →

Compare current unsigned x402 quotes for 2–4 supplied API requests. Return original challenges, native USDC prices on Base/Solana, advertised outputs and explicit fee, expiry and quality gaps. Identify lowest quoted amounts per network without claiming equivalent delivery or lowest total cost. No seller purchases, credentials or market-wide search. 0.005 USDC per complete comparison; unavailable or invalid candidate quotes are uncharged.

Input fields

request_id Required · string
See the complete request schema for values and bounds.
task Required · string
See the complete request schema for values and bounds.
candidates Required · array
See the complete request schema for values and bounds.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 24000 decoded bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "request_id",
          "task",
          "candidates"
        ],
        "properties": {
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "task": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "candidates": {
            "type": "array",
            "minItems": 2,
            "maxItems": 4,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "id",
                "url"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^[A-Za-z0-9_-]{1,40}$"
                },
                "url": {
                  "type": "string",
                  "format": "uri",
                  "maxLength": 2048,
                  "pattern": "^https://"
                },
                "method": {
                  "type": "string",
                  "enum": [
                    "GET",
                    "POST"
                  ],
                  "default": "GET"
                },
                "body": {
                  "anyOf": [
                    {
                      "type": "object",
                      "additionalProperties": true
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "POST JSON, at most 4096 encoded bytes; GET has no body. Credentials/payment fields are rejected."
                }
              }
            }
          }
        }
      },
      "example": {
        "request_id": "quote_comparison_example_001",
        "task": "Compare quoted prices for extracting readable content from the Mekler homepage",
        "candidates": [
          {
            "id": "markdown",
            "url": "https://x402.shizu.me/markdown?url=https%3A%2F%2Fmekler.ai%2F",
            "method": "GET"
          },
          {
            "id": "readable-text",
            "url": "https://true402.dev/api/v1/web-extract",
            "method": "POST",
            "body": {
              "url": "https://mekler.ai/"
            }
          }
        ]
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "task",
            "observed_at",
            "observations",
            "price_groups",
            "scope",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string",
              "const": "ok"
            },
            "task": {
              "type": "string"
            },
            "observed_at": {
              "type": "string"
            },
            "observations": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "id",
                  "url",
                  "method",
                  "request_sha256",
                  "resource_url",
                  "description",
                  "description_truncated",
                  "observed_at",
                  "challenge_sha256",
                  "payment_required_header",
                  "offers",
                  "input_binding",
                  "source_limits"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string"
                  },
                  "method": {
                    "type": "string"
                  },
                  "request_sha256": {
                    "type": "string"
                  },
                  "resource_url": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "description_truncated": {
                    "type": "boolean"
                  },
                  "observed_at": {
                    "type": "string"
                  },
                  "challenge_sha256": {
                    "type": "string"
                  },
                  "payment_required_header": {
                    "type": "string"
                  },
                  "offers": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "network",
                        "asset",
                        "scheme",
                        "amount_atomic",
                        "quoted_usdc",
                        "recipient",
                        "payment_timeout_seconds",
                        "quote_expires_at",
                        "additional_fees",
                        "total_cost_usdc"
                      ],
                      "properties": {
                        "network": {
                          "type": "string"
                        },
                        "asset": {
                          "type": "string"
                        },
                        "scheme": {
                          "type": "string"
                        },
                        "amount_atomic": {
                          "type": "string"
                        },
                        "quoted_usdc": {
                          "type": "string"
                        },
                        "recipient": {
                          "type": "string"
                        },
                        "payment_timeout_seconds": {
                          "type": "integer"
                        },
                        "quote_expires_at": {
                          "type": "null"
                        },
                        "additional_fees": {
                          "type": "null"
                        },
                        "total_cost_usdc": {
                          "type": "null"
                        }
                      }
                    }
                  },
                  "input_binding": {
                    "type": "string"
                  },
                  "source_limits": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "price_groups": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "network",
                  "asset",
                  "quoted_amounts",
                  "lowest_quoted_candidate_ids",
                  "comparison_available",
                  "lowest_total_cost_candidate_id",
                  "equivalent_outputs_verified"
                ],
                "properties": {
                  "network": {
                    "type": "string"
                  },
                  "asset": {
                    "type": "string"
                  },
                  "quoted_amounts": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "id",
                        "amount_atomic"
                      ],
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "amount_atomic": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "lowest_quoted_candidate_ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "comparison_available": {
                    "type": "boolean"
                  },
                  "lowest_total_cost_candidate_id": {
                    "type": "null"
                  },
                  "equivalent_outputs_verified": {
                    "type": "boolean"
                  }
                }
              }
            },
            "scope": {
              "type": "string"
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "task": "Compare quoted prices for extracting readable content from the Mekler homepage",
          "observed_at": "2026-10-26T15:00:01+00:00",
          "observations": [
            {
              "id": "markdown",
              "url": "https://x402.shizu.me/markdown?url=https%3A%2F%2Fmekler.ai%2F",
              "method": "GET",
              "request_sha256": "a724b7ba65d3b802ab6ace9168bcad86c1b882d40147d38ab7a7d9aa61b69932",
              "resource_url": "https://x402.shizu.me/markdown?url=https%3A%2F%2Fmekler.ai%2F",
              "description": "Synthetic advertised extraction output",
              "description_truncated": false,
              "observed_at": "2026-10-26T15:00:00+00:00",
              "challenge_sha256": "66be961ebc87e2eb224610c41d4e57721c36e3366a670f9f361517de0c73cf85",
              "payment_required_header": "eyJ4NDAyVmVyc2lvbiI6IDIsICJyZXNvdXJjZSI6IHsidXJsIjogImh0dHBzOi8veDQwMi5zaGl6dS5tZS9tYXJrZG93bj91cmw9aHR0cHMlM0ElMkYlMkZtZWtsZXIuYWklMkYiLCAiZGVzY3JpcHRpb24iOiAiU3ludGhldGljIGFkdmVydGlzZWQgZXh0cmFjdGlvbiBvdXRwdXQiLCAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vanNvbiJ9LCAiYWNjZXB0cyI6IFt7InNjaGVtZSI6ICJleGFjdCIsICJuZXR3b3JrIjogImVpcDE1NTo4NDUzIiwgImFzc2V0IjogIjB4ODMzNTg5ZkNENmVEYjZFMDhmNGM3QzMyRDRmNzFiNTRiZEEwMjkxMyIsICJhbW91bnQiOiAiNDAwMCIsICJwYXlUbyI6ICIweDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEiLCAibWF4VGltZW91dFNlY29uZHMiOiAzMDAsICJleHRyYSI6IHsibmFtZSI6ICJVU0QgQ29pbiIsICJ2ZXJzaW9uIjogIjIifX1dfQ==",
              "offers": [
                {
                  "network": "eip155:8453",
                  "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                  "scheme": "exact",
                  "amount_atomic": "4000",
                  "quoted_usdc": "0.004000",
                  "recipient": "0x1111111111111111111111111111111111111111",
                  "payment_timeout_seconds": 300,
                  "quote_expires_at": null,
                  "additional_fees": null,
                  "total_cost_usdc": null
                }
              ],
              "input_binding": "Observed for this request; seller cryptographic body binding is unverified.",
              "source_limits": [
                "Seller delivery quality, output capacity, fees and guaranteed expiry are not independently verified."
              ]
            },
            {
              "id": "readable-text",
              "url": "https://true402.dev/api/v1/web-extract",
              "method": "POST",
              "request_sha256": "77abbded48d17bb560589def54855c17e08ed46b1c443fc767e37c28bbe65de2",
              "resource_url": "https://true402.dev/api/v1/web-extract",
              "description": "Synthetic advertised extraction output",
              "description_truncated": false,
              "observed_at": "2026-10-26T15:00:00+00:00",
              "challenge_sha256": "ac6d1a4aecdfca184bcd60187aa57ad93ac7b211cfac5145f1b6f3485529b157",
              "payment_required_header": "eyJ4NDAyVmVyc2lvbiI6IDIsICJyZXNvdXJjZSI6IHsidXJsIjogImh0dHBzOi8vdHJ1ZTQwMi5kZXYvYXBpL3YxL3dlYi1leHRyYWN0IiwgImRlc2NyaXB0aW9uIjogIlN5bnRoZXRpYyBhZHZlcnRpc2VkIGV4dHJhY3Rpb24gb3V0cHV0IiwgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL2pzb24ifSwgImFjY2VwdHMiOiBbeyJzY2hlbWUiOiAiZXhhY3QiLCAibmV0d29yayI6ICJlaXAxNTU6ODQ1MyIsICJhc3NldCI6ICIweDgzMzU4OWZDRDZlRGI2RTA4ZjRjN0MzMkQ0ZjcxYjU0YmRBMDI5MTMiLCAiYW1vdW50IjogIjUwMDAiLCAicGF5VG8iOiAiMHgxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExIiwgIm1heFRpbWVvdXRTZWNvbmRzIjogMzAwLCAiZXh0cmEiOiB7Im5hbWUiOiAiVVNEIENvaW4iLCAidmVyc2lvbiI6ICIyIn19XX0=",
              "offers": [
                {
                  "network": "eip155:8453",
                  "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                  "scheme": "exact",
                  "amount_atomic": "5000",
                  "quoted_usdc": "0.005000",
                  "recipient": "0x1111111111111111111111111111111111111111",
                  "payment_timeout_seconds": 300,
                  "quote_expires_at": null,
                  "additional_fees": null,
                  "total_cost_usdc": null
                }
              ],
              "input_binding": "Observed for this request; seller cryptographic body binding is unverified.",
              "source_limits": [
                "Seller delivery quality, output capacity, fees and guaranteed expiry are not independently verified."
              ]
            }
          ],
          "price_groups": [
            {
              "network": "eip155:8453",
              "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
              "quoted_amounts": [
                {
                  "id": "markdown",
                  "amount_atomic": "4000"
                },
                {
                  "id": "readable-text",
                  "amount_atomic": "5000"
                }
              ],
              "lowest_quoted_candidate_ids": [
                "markdown"
              ],
              "comparison_available": true,
              "lowest_total_cost_candidate_id": null,
              "equivalent_outputs_verified": false
            }
          ],
          "scope": "Supplied candidate requests only; no market-wide discovery or seller purchase.",
          "limitations": [
            "Lowest quoted amount is not lowest total cost or best value.",
            "Candidates are caller-selected; equivalent task fulfillment is not verified.",
            "Payment timeout is not quote expiry or a delivery guarantee.",
            "Stored recovery preserves the original dated comparison; it does not refresh quotes."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.005000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 24000 decoded bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Check OFAC sanctions list name and identifier matches

POST /v1/data/sanctions/check-list-matches

0.01 USDC per completed matching diagnostic

Service scope, examples and recovery →

Match a supplied name and optional typed identifiers against freshly retrieved OFAC SDN and Consolidated lists. Return potential candidates, strong/weak aliases, matching evidence and versioned source dates/hashes. Similarity is heuristic; no identity, transaction-legality or clearance guarantee. 0.01 USDC per completed diagnostic; source/limit failures are uncharged.

Input fields

name Required · string
One name, at least two normalized alphanumeric characters. Unicode accepted. Case/accent/punctuation folding and token-order matching; fuzzy threshold 85, short names exact only. No transliteration.
identifiers Optional · array
See the complete request schema for values and bounds.
request_id Required · string
Fresh purchase identity; retain the same JSON and original proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 24000 decoded bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "request_id"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 160,
            "minLength": 2,
            "description": "One name, at least two normalized alphanumeric characters. Unicode accepted. Case/accent/punctuation folding and token-order matching; fuzzy threshold 85, short names exact only. No transliteration."
          },
          "identifiers": {
            "type": "array",
            "maxItems": 5,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "type",
                "value"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "maxLength": 120,
                  "minLength": 1,
                  "description": "Exact OFAC identifier label, such as Passport or Registration Number; case-insensitive type comparison."
                },
                "value": {
                  "type": "string",
                  "maxLength": 120,
                  "minLength": 1,
                  "description": "Exact source identifier value after outer whitespace removal. Case/punctuation variants are not normalized."
                }
              }
            },
            "default": []
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh purchase identity; retain the same JSON and original proof for recovery."
          }
        }
      },
      "example": {
        "name": "Mekler Example Trading",
        "request_id": "sanctions-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "verdict",
            "name",
            "matches",
            "observed_at",
            "coverage",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string",
              "const": "ok"
            },
            "verdict": {
              "type": "string",
              "enum": [
                "potential_matches",
                "no_matches"
              ]
            },
            "name": {
              "type": "string",
              "maxLength": 160
            },
            "matches": {
              "type": "array",
              "maxItems": 50,
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "list",
                  "uid",
                  "primary_name",
                  "entity_type",
                  "programs",
                  "name_matches",
                  "identifier_matches",
                  "basis",
                  "weak_alias_only",
                  "review_required",
                  "source_url"
                ],
                "properties": {
                  "list": {
                    "type": "string",
                    "enum": [
                      "ofac_sdn",
                      "ofac_consolidated"
                    ]
                  },
                  "uid": {
                    "type": "string",
                    "maxLength": 12
                  },
                  "primary_name": {
                    "type": "string",
                    "maxLength": 1024
                  },
                  "entity_type": {
                    "type": "string",
                    "maxLength": 80
                  },
                  "programs": {
                    "type": "array",
                    "maxItems": 100,
                    "items": {
                      "type": "string",
                      "maxLength": 128
                    }
                  },
                  "name_matches": {
                    "type": "array",
                    "maxItems": 500,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "name",
                        "kind",
                        "quality",
                        "method",
                        "similarity"
                      ],
                      "properties": {
                        "name": {
                          "type": "string",
                          "maxLength": 1024
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "primary",
                            "alias"
                          ]
                        },
                        "quality": {
                          "type": "string",
                          "enum": [
                            "primary",
                            "strong",
                            "weak"
                          ]
                        },
                        "method": {
                          "type": "string",
                          "enum": [
                            "normalized_exact",
                            "token_order_exact",
                            "fuzzy_token_similarity"
                          ]
                        },
                        "similarity": {
                          "type": "number",
                          "minimum": 85,
                          "maximum": 100,
                          "description": "Heuristic string similarity, not a probability or OFAC Search score."
                        }
                      }
                    }
                  },
                  "identifier_matches": {
                    "type": "array",
                    "maxItems": 5,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "value"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "maxLength": 120,
                          "minLength": 1,
                          "description": "Exact OFAC identifier label, such as Passport or Registration Number; case-insensitive type comparison."
                        },
                        "value": {
                          "type": "string",
                          "maxLength": 120,
                          "minLength": 1,
                          "description": "Exact source identifier value after outer whitespace removal. Case/punctuation variants are not normalized."
                        }
                      }
                    }
                  },
                  "basis": {
                    "type": "string",
                    "enum": [
                      "exact_identifier",
                      "name_candidate"
                    ]
                  },
                  "weak_alias_only": {
                    "type": "boolean"
                  },
                  "review_required": {
                    "type": "boolean",
                    "const": true
                  },
                  "source_url": {
                    "type": "string",
                    "maxLength": 256
                  }
                }
              }
            },
            "observed_at": {
              "type": "string",
              "maxLength": 40
            },
            "coverage": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "sources",
                "query_complete",
                "matching_policy",
                "name_similarity_threshold",
                "candidate_limit"
              ],
              "properties": {
                "sources": {
                  "type": "array",
                  "maxItems": 2,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "list",
                      "source_url",
                      "sha256",
                      "published_date",
                      "retrieved_at",
                      "records"
                    ],
                    "properties": {
                      "list": {
                        "type": "string",
                        "enum": [
                          "ofac_sdn",
                          "ofac_consolidated"
                        ]
                      },
                      "source_url": {
                        "type": "string",
                        "maxLength": 256
                      },
                      "sha256": {
                        "type": "string",
                        "pattern": "^[a-f0-9]{64}$"
                      },
                      "published_date": {
                        "type": "string",
                        "maxLength": 10
                      },
                      "retrieved_at": {
                        "type": "string",
                        "maxLength": 40
                      },
                      "records": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 100000
                      }
                    }
                  }
                },
                "query_complete": {
                  "type": "boolean",
                  "const": true
                },
                "matching_policy": {
                  "type": "string",
                  "const": "ofac-candidate-v1"
                },
                "name_similarity_threshold": {
                  "type": "integer",
                  "const": 85
                },
                "candidate_limit": {
                  "type": "integer",
                  "const": 50
                }
              }
            },
            "limitations": {
              "type": "array",
              "maxItems": 10,
              "items": {
                "type": "string",
                "maxLength": 1024
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "verdict": "potential_matches",
          "name": "Mekler Example Trading",
          "matches": [
            {
              "list": "ofac_sdn",
              "uid": "900001",
              "primary_name": "Mekler Example Trading",
              "entity_type": "Entity",
              "programs": [
                "SYNTHETIC"
              ],
              "name_matches": [
                {
                  "name": "Mekler Example Trading",
                  "kind": "primary",
                  "quality": "primary",
                  "method": "normalized_exact",
                  "similarity": 100
                }
              ],
              "identifier_matches": [],
              "basis": "name_candidate",
              "weak_alias_only": false,
              "review_required": true,
              "source_url": "https://sanctionslistservice.ofac.treas.gov/api/PublicationPreview/exports/SDN.XML"
            }
          ],
          "observed_at": "2026-10-23T00:00:00Z",
          "coverage": {
            "sources": [
              {
                "list": "ofac_sdn",
                "source_url": "https://sanctionslistservice.ofac.treas.gov/api/PublicationPreview/exports/SDN.XML",
                "sha256": "c4ba3d2a9e10e6e904335895b4263beddf3e8037b1e598e8d42b877fcdecba97",
                "published_date": "2026-10-21",
                "retrieved_at": "2026-10-23T00:00:00Z",
                "records": 1
              },
              {
                "list": "ofac_consolidated",
                "source_url": "https://sanctionslistservice.ofac.treas.gov/api/PublicationPreview/exports/CONSOLIDATED.XML",
                "sha256": "cbae6b57debbecedfbce3a18af6bab30d4a8df42d96a81ff5e1e5a650b706efc",
                "published_date": "2026-10-21",
                "retrieved_at": "2026-10-23T00:00:00Z",
                "records": 0
              }
            ],
            "query_complete": true,
            "matching_policy": "ofac-candidate-v1",
            "name_similarity_threshold": 85,
            "candidate_limit": 50
          },
          "limitations": [
            "Potential matches require review; names and identifiers do not establish identity, a prohibition or legal clearance. No matches is not permission to transact.",
            "Coverage is OFAC SDN and Non-SDN Consolidated legacy XML only. Non-SDN programs impose different restrictions. Other jurisdictions, ownership/control and the 50 Percent Rule are not assessed.",
            "Names use Unicode case folding, accent removal, punctuation spacing and token ordering; fuzzy similarity is a heuristic, not a probability or OFAC Search score. No transliteration or phonetic matching; short names require an exact normalized token match.",
            "Identifier types compare case-insensitively to the exact OFAC label; values compare exactly after outer whitespace removal. Alternative formats, case variants and identifiers recorded only in remarks can be missed.",
            "Each full source is freshly retrieved for this purchase; publication dates can differ. Retrieval time does not establish publisher freshness or a synchronized snapshot. Recovered results retain the original dated evidence.",
            "No ongoing monitoring, PEP search, transaction approval or legal advice. Weak aliases and common names can produce false positives; unlisted parties and missed variants can produce non-matches."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.010000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 24000 decoded bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Check package version vulnerabilities

POST /v1/data/packages/check-version-vulnerabilities

0.01 USDC per completed diagnostic

Service scope, examples and recovery →

Check an exact PyPI or npm package version against OSV advisories, group aliases and report affected/fixed version evidence and CISA known exploitation. Preserve source disagreements, withdrawn records, unsupported ranges and dated coverage. No dependency traversal, malware scan, registry existence check or safety guarantee. 0.01 USDC per completed diagnostic; source failures and incomplete pagination are uncharged.

Input fields

ecosystem Required · string
See the complete request schema for values and bounds.
name Required · string
PyPI project name or lowercase npm name, optionally @scope/name. PyPI names normalize runs of dash, underscore and dot to dash.
version Required · string
Required exact version: PyPI PEP 440 without local build suffix; npm strict SemVer 2.0. No ranges, tags or dependency trees. Versions are ordered against advisory boundaries, including prereleases.
request_id Required · string
Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 24000 decoded bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ecosystem": {
            "type": "string",
            "enum": [
              "pypi",
              "npm"
            ]
          },
          "name": {
            "type": "string",
            "maxLength": 128,
            "description": "PyPI project name or lowercase npm name, optionally @scope/name. PyPI names normalize runs of dash, underscore and dot to dash."
          },
          "version": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "description": "Required exact version: PyPI PEP 440 without local build suffix; npm strict SemVer 2.0. No ranges, tags or dependency trees. Versions are ordered against advisory boundaries, including prereleases."
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery."
          }
        },
        "required": [
          "ecosystem",
          "name",
          "version",
          "request_id"
        ]
      },
      "example": {
        "ecosystem": "pypi",
        "name": "requests",
        "version": "2.19.0",
        "request_id": "package-vulnerability-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "ecosystem",
            "name",
            "version",
            "verdict",
            "advisories",
            "vulnerability_groups",
            "withdrawn_advisory_ids",
            "observed_at",
            "coverage",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string",
              "const": "ok"
            },
            "ecosystem": {
              "type": "string",
              "enum": [
                "pypi",
                "npm"
              ]
            },
            "name": {
              "type": "string",
              "maxLength": 128
            },
            "version": {
              "type": "string",
              "maxLength": 80
            },
            "verdict": {
              "type": "string",
              "enum": [
                "affected",
                "review_required",
                "no_known_matches"
              ]
            },
            "advisories": {
              "type": "array",
              "maxItems": 100,
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "id",
                  "aliases",
                  "modified",
                  "version_status",
                  "ranges",
                  "fixed_versions_reported",
                  "listed_version_match",
                  "source_url",
                  "known_exploitation"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "maxLength": 160
                  },
                  "aliases": {
                    "type": "array",
                    "maxItems": 40,
                    "items": {
                      "type": "string",
                      "maxLength": 160
                    }
                  },
                  "modified": {
                    "type": "string",
                    "maxLength": 80
                  },
                  "version_status": {
                    "type": "string",
                    "enum": [
                      "affected",
                      "not_affected",
                      "unknown"
                    ]
                  },
                  "ranges": {
                    "type": "array",
                    "maxItems": 3000,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "type",
                        "events"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "maxLength": 32
                        },
                        "events": {
                          "type": "array",
                          "maxItems": 60,
                          "items": {
                            "type": "object",
                            "minProperties": 1,
                            "maxProperties": 1,
                            "additionalProperties": false,
                            "properties": {
                              "introduced": {
                                "type": "string",
                                "maxLength": 80
                              },
                              "fixed": {
                                "type": "string",
                                "maxLength": 80
                              },
                              "last_affected": {
                                "type": "string",
                                "maxLength": 80
                              },
                              "limit": {
                                "type": "string",
                                "maxLength": 80
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  "fixed_versions_reported": {
                    "type": "array",
                    "maxItems": 3000,
                    "items": {
                      "type": "string",
                      "maxLength": 80
                    }
                  },
                  "listed_version_match": {
                    "type": "boolean",
                    "description": "Whether the exact requested spelling occurs in a matching source entry version enumeration. Range and enumeration verdicts use ecosystem version equivalence."
                  },
                  "source_url": {
                    "type": "string",
                    "maxLength": 512
                  },
                  "known_exploitation": {
                    "type": "array",
                    "maxItems": 41,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "cve",
                        "date_added",
                        "due_date",
                        "ransomware_use"
                      ],
                      "properties": {
                        "cve": {
                          "type": "string",
                          "maxLength": 160
                        },
                        "date_added": {
                          "type": "string",
                          "maxLength": 10
                        },
                        "due_date": {
                          "type": "string",
                          "maxLength": 10
                        },
                        "ransomware_use": {
                          "type": "string",
                          "maxLength": 32
                        }
                      }
                    }
                  }
                }
              }
            },
            "vulnerability_groups": {
              "type": "array",
              "maxItems": 100,
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "identifiers",
                  "advisory_ids",
                  "version_status",
                  "source_disagreement"
                ],
                "properties": {
                  "identifiers": {
                    "type": "array",
                    "maxItems": 4100,
                    "items": {
                      "type": "string",
                      "maxLength": 160
                    }
                  },
                  "advisory_ids": {
                    "type": "array",
                    "maxItems": 100,
                    "items": {
                      "type": "string",
                      "maxLength": 160
                    }
                  },
                  "version_status": {
                    "type": "string",
                    "enum": [
                      "affected",
                      "not_affected",
                      "unknown"
                    ]
                  },
                  "source_disagreement": {
                    "type": "boolean"
                  }
                }
              }
            },
            "withdrawn_advisory_ids": {
              "type": "array",
              "maxItems": 100,
              "items": {
                "type": "string",
                "maxLength": 160
              }
            },
            "observed_at": {
              "type": "string",
              "maxLength": 80
            },
            "coverage": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "advisory_records",
                "withdrawn_records",
                "pages",
                "query_complete",
                "osv_source",
                "kev_source",
                "kev_catalog_version",
                "kev_released_at",
                "kev_count"
              ],
              "properties": {
                "advisory_records": {
                  "type": "integer",
                  "minimum": 0
                },
                "withdrawn_records": {
                  "type": "integer",
                  "minimum": 0
                },
                "pages": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 4
                },
                "query_complete": {
                  "type": "boolean"
                },
                "osv_source": {
                  "type": "string",
                  "maxLength": 512
                },
                "kev_source": {
                  "type": "string",
                  "maxLength": 512
                },
                "kev_catalog_version": {
                  "type": "string",
                  "maxLength": 80
                },
                "kev_released_at": {
                  "type": "string",
                  "maxLength": 80
                },
                "kev_count": {
                  "type": "integer",
                  "minimum": 0
                }
              }
            },
            "limitations": {
              "type": "array",
              "maxItems": 5,
              "items": {
                "type": "string",
                "maxLength": 512
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "ecosystem": "pypi",
          "name": "requests",
          "version": "2.19.0",
          "verdict": "affected",
          "advisories": [
            {
              "id": "GHSA-mekl-0000-0001",
              "aliases": [
                "CVE-2026-99901"
              ],
              "modified": "2026-10-20T00:00:00Z",
              "version_status": "affected",
              "ranges": [
                {
                  "type": "ECOSYSTEM",
                  "events": [
                    {
                      "introduced": "0"
                    },
                    {
                      "fixed": "2.20.0"
                    }
                  ]
                }
              ],
              "fixed_versions_reported": [
                "2.20.0"
              ],
              "listed_version_match": false,
              "source_url": "https://osv.dev/vulnerability/GHSA-mekl-0000-0001",
              "known_exploitation": [
                {
                  "cve": "CVE-2026-99901",
                  "date_added": "2026-10-20",
                  "due_date": "2026-11-10",
                  "ransomware_use": "Unknown"
                }
              ]
            }
          ],
          "vulnerability_groups": [
            {
              "identifiers": [
                "CVE-2026-99901",
                "GHSA-mekl-0000-0001"
              ],
              "advisory_ids": [
                "GHSA-mekl-0000-0001"
              ],
              "version_status": "affected",
              "source_disagreement": false
            }
          ],
          "withdrawn_advisory_ids": [],
          "observed_at": "2026-10-21T00:00:00Z",
          "coverage": {
            "advisory_records": 1,
            "withdrawn_records": 0,
            "pages": 1,
            "query_complete": true,
            "osv_source": "https://api.osv.dev/v1/query",
            "kev_source": "https://raw.githubusercontent.com/cisagov/kev-data/main/known_exploited_vulnerabilities.json",
            "kev_catalog_version": "2026.10.20",
            "kev_released_at": "2026-10-20T00:00:00Z",
            "kev_count": 1
          },
          "limitations": [
            "No known matches means no affected version found in this bounded OSV response; unknown, unpublished, missing or newly changed advisories remain possible.",
            "Only the supplied exact package/version is checked. No dependency resolution, code execution, malware scan, registry-existence check or installation-safety guarantee.",
            "GitHub and PyPI advisory records are obtained through OSV, not independently corroborated. Aliases group source assertions; disagreements remain visible.",
            "Fixed versions are source-reported boundaries, not a recommended upgrade or a guarantee against other vulnerabilities. Prereleases use version ordering, not npm installer range selection.",
            "CISA catalog membership is exploitation evidence for the CVE, not proof that this package deployment is exploitable. Absence is not evidence of no exploitation."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.010000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 24000 decoded bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Response Check: Check schema, timestamp freshness and supplied claim evidence

POST /v1/data/responses/check-response-contract

0.05 USDC per completed diagnostic

Service scope, examples and recovery →

Check supplied JSON against a bounded Draft 2020-12 schema, declared timestamp freshness and optional claim evidence. Return separate pass/fail/review findings. Evidence assessment is advisory and uses supplied excerpts only; no external fact verification, source authentication or URL retrieval.

Input fields

request_id Required · string
Fresh per purchase; preserve for original-proof recovery.
response Required · See complete schema
Any supplied JSON value. Whole request at most 20000 serialized UTF-8 bytes, depth 16 and 1200 values. Integer values, including integral exponent notation, are exact up to 1000 digits. Fractional numbers must round-trip unchanged through finite binary64 decimal serialization; unsupported precision, overflow or underflow rejects before payment with unsupported_number_precision. Wire and canonical normalized JSON each have the 20000-byte bound.
schema Optional · See complete schema
Optional bounded Draft 2020-12 schema. Allowed keywords: $schema, title, description, type, properties, required, additionalProperties, items, enum, const, minimum, maximum, exclusiveMinimum, exclusiveMaximum, minLength, maxLength, minItems, maxItems, minProperties, maxProperties, format. Schema depth at most 8. Formats asserted: date-time, uuid, ipv4, ipv6. No refs, regexes or combinators; other keywords reject before payment. The date-time assertion uses the freshness timestamp profile: uppercase T/Z, seconds, known UTC offset, at most six fractional digits and no leap seconds. At most ten schema errors are returned; error_limit_reached indicates the cap was reached and further errors may exist.
freshness Optional · object
See the complete request schema for values and bounds.
semantic Optional · array
Optional selected claim checks. One bounded AWS Bedrock model call receives these claim texts and evidence. Other response fields are not sent. Missing evidence is not world knowledge. Serialized selected claim/evidence array is at most 10000 UTF-8 bytes, including repeated claim text; this is checked before payment.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 24000 decoded bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "request_id",
          "response"
        ],
        "properties": {
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh per purchase; preserve for original-proof recovery."
          },
          "response": {
            "description": "Any supplied JSON value. Whole request at most 20000 serialized UTF-8 bytes, depth 16 and 1200 values. Integer values, including integral exponent notation, are exact up to 1000 digits. Fractional numbers must round-trip unchanged through finite binary64 decimal serialization; unsupported precision, overflow or underflow rejects before payment with unsupported_number_precision. Wire and canonical normalized JSON each have the 20000-byte bound."
          },
          "schema": {
            "oneOf": [
              {
                "type": "boolean"
              },
              {
                "type": "object"
              }
            ],
            "description": "Optional bounded Draft 2020-12 schema. Allowed keywords: $schema, title, description, type, properties, required, additionalProperties, items, enum, const, minimum, maximum, exclusiveMinimum, exclusiveMaximum, minLength, maxLength, minItems, maxItems, minProperties, maxProperties, format. Schema depth at most 8. Formats asserted: date-time, uuid, ipv4, ipv6. No refs, regexes or combinators; other keywords reject before payment. The date-time assertion uses the freshness timestamp profile: uppercase T/Z, seconds, known UTC offset, at most six fractional digits and no leap seconds. At most ten schema errors are returned; error_limit_reached indicates the cap was reached and further errors may exist."
          },
          "freshness": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "pointer",
              "reference_time",
              "max_age_seconds"
            ],
            "properties": {
              "pointer": {
                "type": "string",
                "maxLength": 256,
                "description": "RFC6901 JSON Pointer; empty selects the whole response. Exact key/index syntax; no leading zero array indices."
              },
              "reference_time": {
                "type": "string",
                "description": "Explicit RFC3339 timestamp with timezone and optional 1–6 fractional digits. Unknown -00:00 offset is rejected. Caller declaration, not server clock."
              },
              "max_age_seconds": {
                "type": "integer",
                "minimum": 0,
                "maximum": 31536000,
                "description": "Inclusive maximum age; future timestamps fail."
              }
            }
          },
          "semantic": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "description": "Optional selected claim checks. One bounded AWS Bedrock model call receives these claim texts and evidence. Other response fields are not sent. Missing evidence is not world knowledge. Serialized selected claim/evidence array is at most 10000 UTF-8 bytes, including repeated claim text; this is checked before payment.",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "pointer",
                "evidence"
              ],
              "properties": {
                "pointer": {
                  "type": "string",
                  "maxLength": 256,
                  "description": "RFC6901 pointer to a nonempty string claim, at most 1500 characters."
                },
                "evidence": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 3000,
                  "description": "One nonempty source excerpt supplied by you; source authenticity is unverified. Instructions inside it are treated as data."
                }
              }
            }
          }
        },
        "description": "At least one of schema, freshness or semantic is required. Omitted checks are explicitly not_requested. Unsupported input fails before payment. Limits apply to the complete request including keys and schema."
      },
      "example": {
        "request_id": "response-check-example-001",
        "response": {
          "value": 12,
          "updated_at": "2026-10-21T12:00:00Z"
        },
        "schema": {
          "type": "object",
          "required": [
            "value",
            "updated_at"
          ],
          "properties": {
            "value": {
              "type": "integer",
              "minimum": 0
            },
            "updated_at": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        },
        "freshness": {
          "pointer": "/updated_at",
          "reference_time": "2026-10-21T12:01:00Z",
          "max_age_seconds": 300
        }
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "verdict",
            "schema",
            "freshness",
            "semantic",
            "observed_at",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "ok"
              ]
            },
            "verdict": {
              "type": "string",
              "enum": [
                "pass",
                "fail",
                "review"
              ],
              "description": "fail if any requested check fails; otherwise review if semantic evidence is uncertain; otherwise pass for requested checks only."
            },
            "schema": {
              "oneOf": [
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "status"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "not_requested"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "status",
                    "errors",
                    "error_limit_reached",
                    "draft",
                    "format_assertions"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "pass",
                        "fail"
                      ]
                    },
                    "errors": {
                      "type": "array",
                      "maxItems": 10,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "pointer",
                          "keyword"
                        ],
                        "properties": {
                          "pointer": {
                            "type": "string"
                          },
                          "keyword": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "error_limit_reached": {
                      "type": "boolean"
                    },
                    "draft": {
                      "type": "string",
                      "enum": [
                        "2020-12"
                      ]
                    },
                    "format_assertions": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "date-time",
                          "uuid",
                          "ipv4",
                          "ipv6"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "freshness": {
              "oneOf": [
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "status"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "not_requested"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "status",
                    "pointer",
                    "reason",
                    "age_seconds"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "pass",
                        "fail"
                      ]
                    },
                    "pointer": {
                      "type": "string"
                    },
                    "reason": {
                      "type": "string",
                      "enum": [
                        "timestamp_missing",
                        "timestamp_invalid",
                        "future_timestamp",
                        "stale",
                        "within_declared_age"
                      ]
                    },
                    "age_seconds": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                }
              ]
            },
            "semantic": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "status",
                "method",
                "claims"
              ],
              "properties": {
                "status": {
                  "type": "string",
                  "enum": [
                    "pass",
                    "fail",
                    "review",
                    "not_requested"
                  ]
                },
                "method": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "claims": {
                  "type": "array",
                  "maxItems": 4,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "pointer",
                      "verdict",
                      "evidence_quote"
                    ],
                    "properties": {
                      "pointer": {
                        "type": "string"
                      },
                      "verdict": {
                        "type": "string",
                        "enum": [
                          "supported",
                          "contradicted",
                          "uncertain"
                        ]
                      },
                      "evidence_quote": {
                        "type": "string",
                        "maxLength": 300
                      }
                    }
                  }
                }
              }
            },
            "observed_at": {
              "type": "string"
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "verdict": "pass",
          "schema": {
            "status": "pass",
            "errors": [],
            "error_limit_reached": false,
            "draft": "2020-12",
            "format_assertions": [
              "date-time",
              "ipv4",
              "ipv6",
              "uuid"
            ]
          },
          "freshness": {
            "status": "pass",
            "pointer": "/updated_at",
            "reason": "within_declared_age",
            "age_seconds": 60.0
          },
          "semantic": {
            "status": "not_requested",
            "claims": [],
            "method": null
          },
          "observed_at": "2026-10-21T12:01:00Z",
          "limitations": [
            "Only the requested contract is checked; pass is not proof of truth, source authenticity or suitability for a consequential decision.",
            "Freshness uses caller-supplied timestamps and reference time; a recent timestamp does not authenticate recent source data.",
            "Semantic assessment is advisory, uses supplied evidence only and can be wrong. Only caller-selected claims are assessed; other content remains unchecked.",
            "No URLs are fetched, instructions executed or external facts independently verified."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.050000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 24000 decoded bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Cron and Timezone Calculation: Calculate up to 20 upcoming five-field cron runs in a named IANA timezone, strictly after an explicit timestamp through a 366-day horizon

POST /v1/data/schedules/calculate-cron-runs

0.005 USDC per accepted request

Service scope, examples and recovery →

Calculate up to 20 upcoming five-field cron runs in a named IANA timezone, strictly after an explicit timestamp through a 366-day horizon. Report UTC, local offset and fold. Skip nonexistent times; choose both, first or second repeated times. Calculation only: no scheduler, job execution or delivery.

Input fields

expression Required · string
Five fields minute hour day-of-month month day-of-week. Numeric lists, inclusive ranges, positive steps and English month/weekday abbreviations. Sunday 0 or 7. If both day fields differ from literal *, either may match; otherwise both must match. No seconds/year/macros/L/W/#.
timezone Required · string
IANA timezone name available in the deployed runtime, e.g. America/Los_Angeles.
start Required · string
RFC3339 timestamp with seconds and explicit Z or numeric offset, years 1970 through 2097. No fractional seconds.
count Optional · integer
See the complete request schema for values and bounds.
repeat_policy Optional · string
Policy for repeated local times when clocks go backward. Nonexistent times are always skipped.
request_id Required · string
Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 24000 decoded bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "expression": {
            "type": "string",
            "maxLength": 128,
            "description": "Five fields minute hour day-of-month month day-of-week. Numeric lists, inclusive ranges, positive steps and English month/weekday abbreviations. Sunday 0 or 7. If both day fields differ from literal *, either may match; otherwise both must match. No seconds/year/macros/L/W/#."
          },
          "timezone": {
            "type": "string",
            "maxLength": 100,
            "description": "IANA timezone name available in the deployed runtime, e.g. America/Los_Angeles."
          },
          "start": {
            "type": "string",
            "format": "date-time",
            "description": "RFC3339 timestamp with seconds and explicit Z or numeric offset, years 1970 through 2097. No fractional seconds."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "default": 5
          },
          "repeat_policy": {
            "type": "string",
            "enum": [
              "both",
              "first",
              "second"
            ],
            "default": "both",
            "description": "Policy for repeated local times when clocks go backward. Nonexistent times are always skipped."
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery."
          }
        },
        "required": [
          "expression",
          "timezone",
          "start",
          "request_id"
        ]
      },
      "example": {
        "expression": "30 9 * * MON-FRI",
        "timezone": "America/Los_Angeles",
        "start": "2026-10-20T00:00:00Z",
        "count": 5,
        "repeat_policy": "both",
        "request_id": "cron-calculation-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "expression",
            "timezone",
            "start",
            "runs",
            "requested_count",
            "complete",
            "search_end_utc",
            "repeat_policy",
            "observed_at",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "expression": {
              "type": "string"
            },
            "timezone": {
              "type": "string"
            },
            "start": {
              "type": "string"
            },
            "runs": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "utc",
                  "local",
                  "fold"
                ],
                "properties": {
                  "utc": {
                    "type": "string"
                  },
                  "local": {
                    "type": "string"
                  },
                  "fold": {
                    "type": "integer"
                  }
                }
              }
            },
            "requested_count": {
              "type": "integer"
            },
            "complete": {
              "type": "boolean"
            },
            "search_end_utc": {
              "type": "string"
            },
            "repeat_policy": {
              "type": "string"
            },
            "observed_at": {
              "type": "string"
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "expression": "30 9 * * MON-FRI",
          "timezone": "America/Los_Angeles",
          "start": "2026-10-20T00:00:00+00:00",
          "runs": [
            {
              "utc": "2026-10-20T16:30:00Z",
              "local": "2026-10-20T09:30:00-07:00",
              "fold": 0
            },
            {
              "utc": "2026-10-21T16:30:00Z",
              "local": "2026-10-21T09:30:00-07:00",
              "fold": 0
            },
            {
              "utc": "2026-10-22T16:30:00Z",
              "local": "2026-10-22T09:30:00-07:00",
              "fold": 0
            },
            {
              "utc": "2026-10-23T16:30:00Z",
              "local": "2026-10-23T09:30:00-07:00",
              "fold": 0
            },
            {
              "utc": "2026-10-26T16:30:00Z",
              "local": "2026-10-26T09:30:00-07:00",
              "fold": 0
            }
          ],
          "requested_count": 5,
          "complete": true,
          "search_end_utc": "2027-10-21T00:00:00+00:00",
          "repeat_policy": "both",
          "observed_at": "2026-10-20T00:00:00Z",
          "limitations": [
            "Calculation only; no job is scheduled or delivered.",
            "Five fields: minute hour day-of-month month day-of-week. Numeric lists, ranges, steps and English month/weekday abbreviations; Sunday is 0 or 7.",
            "Day-of-month and day-of-week use OR when both fields differ from the literal *; otherwise both must match. No seconds, year, L, W, # or @ macros.",
            "Nonexistent local times are skipped. Repeated times follow repeat_policy. Search is strictly after start through 366 elapsed days.",
            "Uses the deployed IANA timezone database; future government rule changes may alter results."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.005000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 24000 decoded bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

TLS Certificate Inspection: Inspect a public host on TCP port 443 for certificate expiry, DNS names, fingerprint, runtime CA/hostname validation and negotiated TLS details

POST /v1/web/tls/inspect-certificate

0.005 USDC per accepted request

Service scope, examples and recovery →

Inspect a public host on TCP port 443 for certificate expiry, DNS names, fingerprint, runtime CA/hostname validation and negotiated TLS details. A failed certificate check triggers one unverified diagnostic handshake and remains untrusted. No HTTP scanning, revocation or exhaustive security assessment.

Input fields

hostname Required · string
Public DNS hostname only, without scheme, port, path or credentials. Public addresses are resolved and pinned; private/local targets are rejected.
request_id Required · string
Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 24000 decoded bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "hostname": {
            "type": "string",
            "maxLength": 253,
            "description": "Public DNS hostname only, without scheme, port, path or credentials. Public addresses are resolved and pinned; private/local targets are rejected."
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery."
          }
        },
        "required": [
          "hostname",
          "request_id"
        ]
      },
      "example": {
        "hostname": "mekler.ai",
        "request_id": "tls-inspection-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "hostname",
            "port",
            "observed_at",
            "verified",
            "verification_error_code",
            "not_before",
            "not_after",
            "dns_names",
            "sha256",
            "tls_version",
            "cipher",
            "seconds_until_expiry",
            "time_valid",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "hostname": {
              "type": "string"
            },
            "port": {
              "type": "integer"
            },
            "observed_at": {
              "type": "string"
            },
            "verified": {
              "type": "boolean"
            },
            "verification_error_code": {
              "type": [
                "integer",
                "null"
              ]
            },
            "not_before": {
              "type": "string"
            },
            "not_after": {
              "type": "string"
            },
            "dns_names": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "sha256": {
              "type": "string"
            },
            "tls_version": {
              "type": [
                "string",
                "null"
              ]
            },
            "cipher": {
              "type": [
                "string",
                "null"
              ]
            },
            "seconds_until_expiry": {
              "type": "integer"
            },
            "time_valid": {
              "type": "boolean"
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "hostname": "mekler.ai",
          "port": 443,
          "observed_at": "2026-10-20T00:00:00Z",
          "verified": true,
          "verification_error_code": null,
          "not_before": "2026-10-01T00:00:00+00:00",
          "not_after": "2027-01-01T00:00:00+00:00",
          "dns_names": [
            "mekler.ai"
          ],
          "sha256": "0000000000000000000000000000000000000000000000000000000000000000",
          "tls_version": "TLSv1.3",
          "cipher": "TLS_AES_256_GCM_SHA384",
          "seconds_until_expiry": 6307200,
          "time_valid": true,
          "limitations": [
            "One remote handshake from the deployed service; DNS, certificate and routing can change.",
            "verified uses the runtime CA store and hostname validation. Certificate failure triggers one unverified handshake to collect diagnostics; it does not make the certificate trusted.",
            "No revocation/OCSP, certificate-transparency, exhaustive protocol/cipher scan or overall security guarantee. Only public DNS hosts on port 443; no HTTP request is sent."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.005000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 24000 decoded bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

JSON Repair and Format Conversion: Conservatively repair JSON syntax or convert JSON and safe YAML while recording every repair

POST /v1/data/json/repair-or-convert-document

0.005 USDC per accepted request

Service scope, examples and recovery →

Conservatively repair JSON syntax or convert JSON and safe YAML while recording every repair. Remove only BOM, complete JSON markdown fences and trailing commas outside strings; abstain on ambiguous or unsupported data. Up to 16000 UTF-8 input bytes, depth 24 and 4000 values. No invented values, semantic validation or code execution. Numeric values that cannot be preserved without rounding return explicit abstention.

Input fields

text Required · string
Document text; additionally limited to 16000 UTF-8 bytes. YAML uses safe YAML 1.1 scalar interpretation, timestamps as strings; no anchors, aliases or explicit tags. Numeric precision must round-trip without decimal-value loss; otherwise the completed diagnostic abstains instead of rounding.
input_format Optional · string
See the complete request schema for values and bounds.
output_format Optional · string
See the complete request schema for values and bounds.
request_id Required · string
Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 24000 decoded bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "text": {
            "type": "string",
            "maxLength": 16000,
            "description": "Document text; additionally limited to 16000 UTF-8 bytes. YAML uses safe YAML 1.1 scalar interpretation, timestamps as strings; no anchors, aliases or explicit tags. Numeric precision must round-trip without decimal-value loss; otherwise the completed diagnostic abstains instead of rounding."
          },
          "input_format": {
            "type": "string",
            "enum": [
              "json",
              "yaml"
            ],
            "default": "json"
          },
          "output_format": {
            "type": "string",
            "enum": [
              "json",
              "yaml"
            ],
            "default": "json"
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery."
          }
        },
        "required": [
          "text",
          "request_id"
        ]
      },
      "example": {
        "text": "{\"service\":\"Mekler\",}",
        "input_format": "json",
        "output_format": "yaml",
        "request_id": "json-conversion-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "outcome",
            "input_format",
            "output_format",
            "output",
            "transformations",
            "reason",
            "observed_at",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "outcome": {
              "type": "string"
            },
            "input_format": {
              "type": "string"
            },
            "output_format": {
              "type": "string"
            },
            "output": {
              "type": [
                "string",
                "null"
              ]
            },
            "transformations": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "operation",
                  "offset"
                ],
                "properties": {
                  "operation": {
                    "type": "string"
                  },
                  "offset": {
                    "type": "integer"
                  }
                }
              }
            },
            "reason": {
              "type": [
                "string",
                "null"
              ],
              "description": "Null on success; numeric_precision_unsupported means the source numeric value cannot be round-tripped without loss, so output is null and no repair is proposed."
            },
            "observed_at": {
              "type": "string"
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "outcome": "converted",
          "input_format": "json",
          "output_format": "yaml",
          "output": "service: Mekler\n",
          "transformations": [
            {
              "operation": "remove_trailing_comma",
              "offset": 19
            }
          ],
          "reason": null,
          "observed_at": "2026-10-20T00:00:00Z",
          "limitations": [
            "Only BOM removal, complete JSON markdown fences and trailing commas outside quoted strings are repaired; offsets refer to each transformation stage.",
            "No missing values, keys, closing delimiters or quotes are guessed. Duplicate keys, nonfinite numbers and unsupported syntax produce abstention.",
            "Numeric values must round-trip through their serialized representation without decimal-value loss; unsupported precision produces abstention instead of rounding.",
            "YAML uses safe YAML 1.1 scalar interpretation; timestamps remain strings, aliases/anchors/explicit tags are rejected, and only JSON-compatible string-keyed values are supported.",
            "Formatting and comments are not preserved. A completed conversion or abstention diagnostic is charged; no semantic truth or schema validity claim."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.005000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 24000 decoded bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Package Identity Checks: Check public PyPI or npm package identity and a requested version

POST /v1/data/packages/check-registry-identity

0.005 USDC per accepted request

Service scope, examples and recovery →

Check public PyPI or npm package identity and a requested version. Compare up to five supplied candidate names for normalized-name equality and bounded edit-distance confusion. Return sourced existence and version evidence without downloading code. No malware, vulnerability, publisher-authenticity or installation-safety guarantee.

Input fields

ecosystem Required · string
See the complete request schema for values and bounds.
name Required · string
PyPI project name or lowercase npm name, optionally @scope/name. PyPI names normalize runs of dash, underscore and dot to dash.
version Optional · string or null
Optional exact version; omit or null for current registry latest. A missing exact version does not imply absence of the project.
compare_names Optional · array
Candidate package names to look up and compare. No exhaustive registry search is performed.
request_id Required · string
Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 24000 decoded bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ecosystem": {
            "type": "string",
            "enum": [
              "pypi",
              "npm"
            ]
          },
          "name": {
            "type": "string",
            "maxLength": 128,
            "description": "PyPI project name or lowercase npm name, optionally @scope/name. PyPI names normalize runs of dash, underscore and dot to dash."
          },
          "version": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 80,
            "description": "Optional exact version; omit or null for current registry latest. A missing exact version does not imply absence of the project."
          },
          "compare_names": {
            "type": "array",
            "maxItems": 5,
            "items": {
              "type": "string",
              "maxLength": 128
            },
            "default": [],
            "description": "Candidate package names to look up and compare. No exhaustive registry search is performed."
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery."
          }
        },
        "required": [
          "ecosystem",
          "name",
          "request_id"
        ]
      },
      "example": {
        "ecosystem": "pypi",
        "name": "pip",
        "compare_names": [
          "pip-tools"
        ],
        "request_id": "package-identity-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "ecosystem",
            "identity",
            "comparisons",
            "observed_at",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "ecosystem": {
              "type": "string"
            },
            "identity": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "exists",
                "name",
                "version",
                "source_url",
                "requested_version",
                "package_exists",
                "version_exists"
              ],
              "properties": {
                "exists": {
                  "type": "boolean"
                },
                "name": {
                  "type": "string"
                },
                "version": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "source_url": {
                  "type": "string"
                },
                "requested_version": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "package_exists": {
                  "type": "boolean"
                },
                "version_exists": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                }
              }
            },
            "comparisons": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "exists",
                  "name",
                  "version",
                  "source_url",
                  "requested_version",
                  "package_exists",
                  "version_exists",
                  "edit_distance",
                  "same_normalized_name",
                  "possible_name_confusion"
                ],
                "properties": {
                  "exists": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "string"
                  },
                  "version": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "source_url": {
                    "type": "string"
                  },
                  "requested_version": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "package_exists": {
                    "type": "boolean"
                  },
                  "version_exists": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "edit_distance": {
                    "type": "integer"
                  },
                  "same_normalized_name": {
                    "type": "boolean"
                  },
                  "possible_name_confusion": {
                    "type": "boolean"
                  }
                }
              }
            },
            "observed_at": {
              "type": "string"
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "ecosystem": "pypi",
          "identity": {
            "exists": true,
            "name": "pip",
            "version": "1.0.0",
            "source_url": "https://pypi.org/pypi/pip/json",
            "requested_version": null,
            "package_exists": true,
            "version_exists": null
          },
          "comparisons": [
            {
              "exists": true,
              "name": "pip-tools",
              "version": "1.0.0",
              "source_url": "https://pypi.org/pypi/pip-tools/json",
              "requested_version": null,
              "package_exists": true,
              "version_exists": null,
              "edit_distance": 6,
              "same_normalized_name": false,
              "possible_name_confusion": false
            }
          ],
          "observed_at": "2026-10-20T00:00:00Z",
          "limitations": [
            "Public PyPI and npm registry lookup at observation time; no package is downloaded or executed.",
            "Existence is not authenticity, security, vulnerability clearance or a recommendation to install. A missing requested version does not establish that the package name is absent.",
            "Name-confusion evidence compares only the supplied maximum five candidates using normalized names and Levenshtein distance <= 2; it is not an exhaustive typosquat search.",
            "Registry maintainer identities, emails and package descriptions are excluded. Deleted, transferred or newly published packages may change after this observation."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.005000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 24000 decoded bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Feed Inspection and Normalization: Inspect a public RSS, Atom or JSON feed and return a verified record mapping, normalized preview, ID provenance, duplicate evidence and field coverage

POST /v1/data/feeds/inspect-record-mapping

0.005 USDC per accepted request

Service scope, examples and recovery →

Inspect a public RSS, Atom or JSON feed and return a verified record mapping, normalized preview, ID provenance, duplicate evidence and field coverage. One uncompressed UTF-8 document up to 256 KiB; maximum 100 returned records. No pagination, complete history, JavaScript rendering or safe-link guarantee.

Input fields

url Required · string
Public HTTP(S) URL on standard port 80/443; no credentials/private addresses. Robots restrictions and DNS-pinned public-address checks apply.
records_path Optional · string or null
Optional JSON Pointer to a record array; omit to infer one of items, entries, results or data, or a root array. XML does not accept this field.
max_records Optional · integer
See the complete request schema for values and bounds.
request_id Required · string
Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 24000 decoded bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 2048,
            "description": "Public HTTP(S) URL on standard port 80/443; no credentials/private addresses. Robots restrictions and DNS-pinned public-address checks apply."
          },
          "records_path": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 128,
            "description": "Optional JSON Pointer to a record array; omit to infer one of items, entries, results or data, or a root array. XML does not accept this field."
          },
          "max_records": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery."
          }
        },
        "required": [
          "url",
          "request_id"
        ]
      },
      "example": {
        "url": "https://mekler.ai/check/changes.xml",
        "max_records": 20,
        "request_id": "feed-inspection-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "source_url",
            "format",
            "records_path",
            "mapping",
            "records",
            "observed_at",
            "coverage",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "source_url": {
              "type": "string"
            },
            "format": {
              "type": "string"
            },
            "records_path": {
              "type": "string"
            },
            "mapping": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "id",
                "title",
                "url",
                "published"
              ],
              "properties": {
                "id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "title": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "published": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            },
            "records": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "id",
                  "id_basis",
                  "title",
                  "url",
                  "published"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "id_basis": {
                    "type": "string"
                  },
                  "title": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "url": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "published": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                }
              }
            },
            "observed_at": {
              "type": "string"
            },
            "coverage": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "source_records",
                "returned_records",
                "truncated",
                "duplicate_ids_in_returned",
                "source_id_records",
                "field_counts"
              ],
              "properties": {
                "source_records": {
                  "type": "integer"
                },
                "returned_records": {
                  "type": "integer"
                },
                "truncated": {
                  "type": "boolean"
                },
                "duplicate_ids_in_returned": {
                  "type": "integer"
                },
                "source_id_records": {
                  "type": "integer"
                },
                "field_counts": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "title",
                    "url",
                    "published"
                  ],
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "title": {
                      "type": "integer"
                    },
                    "url": {
                      "type": "integer"
                    },
                    "published": {
                      "type": "integer"
                    }
                  }
                }
              }
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "source_url": "https://mekler.ai/check/changes.xml",
          "format": "rss",
          "records_path": "/rss/channel/item",
          "mapping": {
            "id": "guid",
            "title": "title",
            "url": "link",
            "published": "pubDate"
          },
          "records": [
            {
              "id": "mekler-example-1",
              "id_basis": "source_id",
              "title": "Mekler feed example",
              "url": "https://mekler.ai/",
              "published": "Tue, 20 Oct 2026 00:00:00 GMT"
            }
          ],
          "observed_at": "2026-10-20T00:00:00Z",
          "coverage": {
            "source_records": 1,
            "returned_records": 1,
            "truncated": false,
            "duplicate_ids_in_returned": 0,
            "source_id_records": 1,
            "field_counts": {
              "id": 1,
              "title": 1,
              "url": 1,
              "published": 1
            }
          },
          "limitations": [
            "One uncompressed UTF-8 RSS 2.0, Atom 1.0 or JSON document up to 256 KiB; previews also stop at 40000 serialized UTF-8 bytes. No JavaScript, authentication, pagination or complete-history claim.",
            "JSON mapping chooses the first recognized field in documented precedence; inspect mapping and field_counts. Optional records_path is a JSON Pointer to the record array.",
            "Source IDs are retained; URL hashes are stable while URLs persist; content hashes change when content changes. Duplicates remain visible.",
            "Dates are source strings, not verified event times. Links are normalized but not fetched or proven safe. Descriptions, markup and enclosures are not included."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.005000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 24000 decoded bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Search academic papers with deduplicated identifiers and provenance

POST /v1/research/papers/find-research-papers

0.01 USDC per accepted request

Service scope, examples and recovery →

Academic paper search by topic or seed DOI/OpenAlex ID. Return ranked publication metadata with identifiers, source provenance, conservative duplicate/version grouping and reported retraction flags from OpenAlex and Crossref. Filter by publication year; retrieve up to 20 results. No abstracts, full text, author identities, exhaustive literature review or quality/retraction clearance.

Input fields

query Optional · string
Topic keywords; plaintext, no control characters.
seed Optional · string
DOI, https://doi.org DOI URL, OpenAlex W ID or https://openalex.org/W ID. Resolved only at fixed API hosts.
limit Optional · integer
See the complete request schema for values and bounds.
from_year Optional · integer
See the complete request schema for values and bounds.
to_year Optional · integer
See the complete request schema for values and bounds.
include_retracted Optional · boolean
See the complete request schema for values and bounds.
request_id Required · string
Fresh per new search. Preserve for identical-body/original-proof recovery.

Response status

200
Completed metadata search, including zero results. PAYMENT-RESPONSE confirms settlement; results recover for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 262144 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "request_id"
        ],
        "oneOf": [
          {
            "required": [
              "query"
            ],
            "not": {
              "required": [
                "seed"
              ]
            }
          },
          {
            "required": [
              "seed"
            ],
            "not": {
              "required": [
                "query"
              ]
            }
          }
        ],
        "properties": {
          "query": {
            "type": "string",
            "minLength": 3,
            "maxLength": 240,
            "description": "Topic keywords; plaintext, no control characters."
          },
          "seed": {
            "type": "string",
            "maxLength": 280,
            "description": "DOI, https://doi.org DOI URL, OpenAlex W ID or https://openalex.org/W ID. Resolved only at fixed API hosts."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "default": 10
          },
          "from_year": {
            "type": "integer",
            "minimum": 1600,
            "maximum": 2100
          },
          "to_year": {
            "type": "integer",
            "minimum": 1600,
            "maximum": 2100
          },
          "include_retracted": {
            "type": "boolean",
            "default": false
          },
          "request_id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9_-]{16,64}$",
            "description": "Fresh per new search. Preserve for identical-body/original-proof recovery."
          }
        }
      },
      "example": {
        "query": "graph neural networks",
        "limit": 5,
        "request_id": "paper-search-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed metadata search, including zero results. PAYMENT-RESPONSE confirms settlement; results recover for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "retrieved_at",
            "mode",
            "results",
            "returned",
            "coverage",
            "ranking",
            "cost",
            "warnings"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "retrieved_at": {
              "type": "string"
            },
            "mode": {
              "type": "string"
            },
            "results": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "id",
                  "doi",
                  "openalex_id",
                  "title",
                  "year",
                  "type",
                  "venue",
                  "url",
                  "retraction_status",
                  "is_retraction_notice",
                  "sources",
                  "versions",
                  "source_records"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "doi": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "openalex_id": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "title": {
                    "type": "string"
                  },
                  "year": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": {
                    "type": "string"
                  },
                  "venue": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "url": {
                    "type": "string"
                  },
                  "retraction_status": {
                    "type": "string",
                    "enum": [
                      "reported_retracted",
                      "not_reported",
                      "unknown"
                    ]
                  },
                  "is_retraction_notice": {
                    "type": "boolean"
                  },
                  "sources": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "versions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "relation",
                        "doi",
                        "source"
                      ],
                      "properties": {
                        "relation": {
                          "type": "string",
                          "enum": [
                            "is-preprint-of",
                            "has-preprint",
                            "is-version-of",
                            "has-version"
                          ]
                        },
                        "doi": {
                          "type": "string"
                        },
                        "source": {
                          "const": "crossref"
                        }
                      }
                    }
                  },
                  "source_records": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "source",
                        "id",
                        "rank"
                      ],
                      "properties": {
                        "source": {
                          "type": "string"
                        },
                        "id": {
                          "type": "string"
                        },
                        "rank": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            },
            "returned": {
              "type": "integer"
            },
            "coverage": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "openalex_records",
                "crossref_records",
                "normalized_records",
                "duplicate_or_version_records_merged",
                "retracted_groups_excluded",
                "complete_source_requests"
              ],
              "properties": {
                "openalex_records": {
                  "type": "integer"
                },
                "crossref_records": {
                  "type": "integer"
                },
                "normalized_records": {
                  "type": "integer"
                },
                "duplicate_or_version_records_merged": {
                  "type": "integer"
                },
                "retracted_groups_excluded": {
                  "type": "integer"
                },
                "complete_source_requests": {
                  "type": "boolean"
                }
              }
            },
            "ranking": {
              "type": "string"
            },
            "cost": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "source_attempts",
                "openalex_list_price_usd",
                "charged_supplier_usd",
                "supplier_access",
                "hosting_cost_usd"
              ],
              "properties": {
                "source_attempts": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "source",
                      "operation",
                      "list_price_usd",
                      "state",
                      "elapsed_ms"
                    ],
                    "properties": {
                      "source": {
                        "type": "string"
                      },
                      "operation": {
                        "type": "string"
                      },
                      "list_price_usd": {
                        "type": "number"
                      },
                      "state": {
                        "type": "string"
                      },
                      "elapsed_ms": {
                        "type": "number"
                      }
                    }
                  }
                },
                "openalex_list_price_usd": {
                  "type": "number"
                },
                "charged_supplier_usd": {
                  "type": "integer"
                },
                "supplier_access": {
                  "type": "string"
                },
                "hosting_cost_usd": {
                  "type": [
                    "number",
                    "null"
                  ]
                }
              }
            },
            "warnings": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "retrieved_at": "2026-10-17T00:00:00+00:00",
          "mode": "topic",
          "results": [
            {
              "id": "doi:10.5555/mekler.graph.1",
              "doi": "10.5555/mekler.graph.1",
              "openalex_id": "W9999999901",
              "title": "Graph neural networks for synthetic benchmark data",
              "year": 2024,
              "type": "article",
              "venue": "Synthetic Research Journal",
              "url": "https://doi.org/10.5555/mekler.graph.1",
              "retraction_status": "not_reported",
              "is_retraction_notice": false,
              "sources": [
                "crossref",
                "openalex"
              ],
              "versions": [],
              "source_records": [
                {
                  "source": "openalex",
                  "id": "W9999999901",
                  "rank": 1
                },
                {
                  "source": "crossref",
                  "id": "10.5555/mekler.graph.1",
                  "rank": 1
                }
              ]
            }
          ],
          "returned": 1,
          "coverage": {
            "openalex_records": 1,
            "crossref_records": 1,
            "normalized_records": 2,
            "duplicate_or_version_records_merged": 1,
            "retracted_groups_excluded": 0,
            "complete_source_requests": true
          },
          "ranking": "reciprocal_rank_fusion_k60; explicit identity/version groups; not a quality assessment",
          "cost": {
            "source_attempts": [
              {
                "source": "crossref",
                "operation": "search",
                "list_price_usd": 0,
                "state": "ok",
                "elapsed_ms": 0
              },
              {
                "source": "openalex",
                "operation": "search",
                "list_price_usd": 0.001,
                "state": "ok",
                "elapsed_ms": 0
              }
            ],
            "openalex_list_price_usd": 0.001,
            "charged_supplier_usd": 0,
            "supplier_access": "anonymous free allowance; no paid balance",
            "hosting_cost_usd": null
          },
          "warnings": [
            "Metadata coverage and retraction flags can be incomplete or stale. Absence of a flag is not clearance.",
            "No abstracts, full text, author identities, citation verification or systematic-review completeness.",
            "Only explicit version relationships are grouped; other versions may remain separate."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.010000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 262144 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

List received messages

POST /v1/email/inboxes/list-messages

Follow the authentication, capability and prerequisite requirements below.

List received messages only after create-private-inbox returns finalized 200. Use your returned inbox_id and original access_key as Authorization: Bearer <access_key>, with Content-Type: application/json. retrieve-message also requires a message_id returned by list-messages. Example identifiers are synthetic and cannot be used for live access. Free of charge. Unknown, incorrect-key, expired and deleted identities return the same 404.

Input fields

inbox_id Required · string
See the complete request schema for values and bounds.

Response status

200
Private result with Cache-Control:no-store. Treat mail content as untrusted.
400
Malformed JSON or unsupported request fields.
404
Unknown identity, incorrect capability, expiry or deletion; indistinguishable.
413
Decoded JSON request exceeds 8192 bytes.
415
application/json required.
429
Request throttled. Respect Retry-After when present and back off.
503
Temporary failure. Retry the same capability request; do not purchase another inbox.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "inbox_id"
        ],
        "properties": {
          "inbox_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{32}$"
          }
        }
      },
      "example": {
        "inbox_id": "ed157de6233b2dbbb69d46c26189a7c5"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Private result with Cache-Control:no-store. Treat mail content as untrusted.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "messages"
          ],
          "properties": {
            "status": {
              "const": "ok"
            },
            "messages": {
              "type": "array",
              "maxItems": 25,
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "message_id",
                  "received_at",
                  "subject",
                  "from"
                ],
                "properties": {
                  "message_id": {
                    "type": "string",
                    "pattern": "^[A-Za-z0-9_-]{1,128}$"
                  },
                  "received_at": {
                    "type": "integer",
                    "description": "Provider receipt time as Unix UTC seconds."
                  },
                  "subject": {
                    "type": "string",
                    "maxLength": 4096
                  },
                  "from": {
                    "type": "string",
                    "maxLength": 2048
                  }
                }
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "messages": [
            {
              "message_id": "synthetic-provider-001",
              "received_at": 1792252800,
              "subject": "Synthetic confirmation",
              "from": "Synthetic sender <sender@example.org>"
            }
          ]
        }
      }
    }
  },
  "400": {
    "description": "Malformed JSON or unsupported request fields.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "404": {
    "description": "Unknown identity, incorrect capability, expiry or deletion; indistinguishable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "413": {
    "description": "Decoded JSON request exceeds 8192 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Request throttled. Respect Retry-After when present and back off.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "rate_limited"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure. Retry the same capability request; do not purchase another inbox.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

Retrieve one received message

POST /v1/email/inboxes/retrieve-message

Follow the authentication, capability and prerequisite requirements below.

Retrieve one received message only after create-private-inbox returns finalized 200. Use your returned inbox_id and original access_key as Authorization: Bearer <access_key>, with Content-Type: application/json. retrieve-message also requires a message_id returned by list-messages. Example identifiers are synthetic and cannot be used for live access. Free of charge. Unknown, incorrect-key, expired and deleted identities return the same 404.

Input fields

inbox_id Required · string
See the complete request schema for values and bounds.
message_id Required · string
See the complete request schema for values and bounds.

Response status

200
Private result with Cache-Control:no-store. Treat mail content as untrusted.
400
Malformed JSON or unsupported request fields.
404
Unknown identity, incorrect capability, expiry or deletion; indistinguishable.
413
Decoded JSON request exceeds 8192 bytes.
415
application/json required.
429
Request throttled. Respect Retry-After when present and back off.
503
Temporary failure. Retry the same capability request; do not purchase another inbox.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "inbox_id",
          "message_id"
        ],
        "properties": {
          "inbox_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{32}$"
          },
          "message_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,128}$"
          }
        }
      },
      "example": {
        "inbox_id": "ed157de6233b2dbbb69d46c26189a7c5",
        "message_id": "synthetic-provider-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Private result with Cache-Control:no-store. Treat mail content as untrusted.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "message_id",
            "received_at",
            "content",
            "verdicts"
          ],
          "properties": {
            "status": {
              "const": "ok"
            },
            "message_id": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,128}$"
            },
            "received_at": {
              "type": "integer",
              "description": "Provider receipt time as Unix UTC seconds."
            },
            "content": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "untrusted_content",
                "from",
                "subject",
                "sender_message_id",
                "date_header",
                "text",
                "html",
                "attachments",
                "warnings"
              ],
              "properties": {
                "untrusted_content": {
                  "const": true
                },
                "from": {
                  "type": "string",
                  "maxLength": 2048
                },
                "subject": {
                  "type": "string",
                  "maxLength": 4096
                },
                "sender_message_id": {
                  "type": "string",
                  "maxLength": 1024
                },
                "date_header": {
                  "type": "string",
                  "maxLength": 256
                },
                "text": {
                  "type": "array",
                  "maxItems": 32,
                  "items": {
                    "type": "string"
                  }
                },
                "html": {
                  "type": "array",
                  "maxItems": 32,
                  "items": {
                    "type": "string",
                    "description": "Inert untrusted HTML; never execute."
                  }
                },
                "attachments": {
                  "type": "array",
                  "maxItems": 32,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "filename",
                      "content_type",
                      "bytes",
                      "sha256",
                      "content_base64"
                    ],
                    "properties": {
                      "filename": {
                        "type": "string",
                        "maxLength": 512
                      },
                      "content_type": {
                        "type": "string"
                      },
                      "bytes": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 131072
                      },
                      "sha256": {
                        "type": "string",
                        "pattern": "^[a-f0-9]{64}$"
                      },
                      "content_base64": {
                        "type": "string",
                        "contentEncoding": "base64"
                      }
                    }
                  }
                },
                "warnings": {
                  "type": "array",
                  "maxItems": 32,
                  "items": {
                    "enum": [
                      "unknown_charset_used_utf8"
                    ]
                  }
                }
              }
            },
            "verdicts": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "virus": {
                  "enum": [
                    "PASS",
                    "FAIL",
                    "GRAY",
                    "PROCESSING_FAILED",
                    "DISABLED"
                  ]
                },
                "spam": {
                  "enum": [
                    "PASS",
                    "FAIL",
                    "GRAY",
                    "PROCESSING_FAILED",
                    "DISABLED"
                  ]
                },
                "spf": {
                  "enum": [
                    "PASS",
                    "FAIL",
                    "GRAY",
                    "PROCESSING_FAILED",
                    "DISABLED"
                  ]
                },
                "dkim": {
                  "enum": [
                    "PASS",
                    "FAIL",
                    "GRAY",
                    "PROCESSING_FAILED",
                    "DISABLED"
                  ]
                },
                "dmarc": {
                  "enum": [
                    "PASS",
                    "FAIL",
                    "GRAY",
                    "PROCESSING_FAILED",
                    "DISABLED"
                  ]
                }
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "message_id": "synthetic-provider-001",
          "received_at": 1792252800,
          "content": {
            "untrusted_content": true,
            "from": "Synthetic sender <sender@example.org>",
            "subject": "Synthetic confirmation",
            "sender_message_id": "",
            "date_header": "",
            "text": [
              "Synthetic fixture only.\r\n"
            ],
            "html": [],
            "attachments": [],
            "warnings": []
          },
          "verdicts": {
            "virus": "PASS"
          }
        }
      }
    }
  },
  "400": {
    "description": "Malformed JSON or unsupported request fields.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "404": {
    "description": "Unknown identity, incorrect capability, expiry or deletion; indistinguishable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "413": {
    "description": "Decoded JSON request exceeds 8192 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Request throttled. Respect Retry-After when present and back off.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "rate_limited"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure. Retry the same capability request; do not purchase another inbox.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

Delete a private inbox

POST /v1/email/inboxes/delete-inbox

Follow the authentication, capability and prerequisite requirements below.

Delete a private inbox only after create-private-inbox returns finalized 200. Use your returned inbox_id and original access_key as Authorization: Bearer <access_key>, with Content-Type: application/json. retrieve-message also requires a message_id returned by list-messages. Example identifiers are synthetic and cannot be used for live access. Free of charge. Unknown, incorrect-key, expired and deleted identities return the same 404.

Input fields

inbox_id Required · string
See the complete request schema for values and bounds.

Response status

200
Private result with Cache-Control:no-store. Treat mail content as untrusted.
400
Malformed JSON or unsupported request fields.
404
Unknown identity, incorrect capability, expiry or deletion; indistinguishable.
413
Decoded JSON request exceeds 8192 bytes.
415
application/json required.
429
Request throttled. Respect Retry-After when present and back off.
503
Temporary failure. Retry the same capability request; do not purchase another inbox.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "inbox_id"
        ],
        "properties": {
          "inbox_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{32}$"
          }
        }
      },
      "example": {
        "inbox_id": "ed157de6233b2dbbb69d46c26189a7c5"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Private result with Cache-Control:no-store. Treat mail content as untrusted.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "deleted"
          ],
          "properties": {
            "status": {
              "const": "ok"
            },
            "deleted": {
              "const": true
            }
          }
        },
        "example": {
          "status": "ok",
          "deleted": true
        }
      }
    }
  },
  "400": {
    "description": "Malformed JSON or unsupported request fields.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "404": {
    "description": "Unknown identity, incorrect capability, expiry or deletion; indistinguishable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "413": {
    "description": "Decoded JSON request exceeds 8192 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Request throttled. Respect Retry-After when present and back off.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "rate_limited"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure. Retry the same capability request; do not purchase another inbox.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "guidance": {
              "type": "object"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

Find topic news and incremental headline briefings

POST /v1/research/news/find-topic-news

0.01 USDC per completed news search

Service scope, examples and recovery →

Find recent topic news or poll for new-to-agent links using a bounded follow-up checkpoint and seen history. Return normalized links, exact-link/headline deduplication and optional source-linked headline highlights from a 7-day GDELT headline index. Monitoring dates are not verified publication dates. 0.01 USDC per completed search, including no new links; source failures are uncharged.

Input fields

query Required · string
Plain topic words, at most 12 words. Upstream operators and URLs are unsupported.
match Optional · string
See the complete request schema for values and bounds.
days Optional · integer
Rolling UTC search window. Mutually exclusive with explicit dates.
start_date Optional · string
UTC monitoring date, inclusive; must be paired with end_date and within the last 7 dates.
end_date Optional · string
UTC monitoring date, inclusive, not future. Range at most 7 dates.
limit Optional · integer
See the complete request schema for values and bounds.
sort Optional · string
See the complete request schema for values and bounds.
language Optional · string
See the complete request schema for values and bounds.
include_summary Optional · boolean
Include at most 5 source-linked headline highlights; no full-text reading or generated claims.
since Optional · string
UTC follow-up checkpoint within the last 7 days, never future. Incompatible with explicit dates. Includes a45-minute overlap for delayed indexing; does not assert publication time.
seen Optional · array
Bounded previously returned URL/headline markers. Suppress matching URLs and exact normalized headlines; use monitoring.next_request to continue.

Response status

200
Completed bounded news search, including valid zero matches. PAYMENT-RESPONSE reports settlement. Observe limitations and monitoring timestamps.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid topic, unsupported upstream operator or invalid bounds; uncharged.
402
Input-bound x402 quote. Sign one offer and resend the identical JSON.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 4096 bytes.
415
application/json required.
503
Source throttled, unavailable, malformed or deadline/storage failure. Work failures before settlement are uncharged; preserve the original proof after uncertain payment.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "query": {
            "type": "string",
            "maxLength": 160,
            "minLength": 3,
            "pattern": "^[\\w\\s.,'’\\-]+$",
            "description": "Plain topic words, at most 12 words. Upstream operators and URLs are unsupported."
          },
          "match": {
            "type": "string",
            "maxLength": 6,
            "enum": [
              "all",
              "any",
              "phrase"
            ],
            "default": "all"
          },
          "days": {
            "type": "integer",
            "minimum": 1,
            "maximum": 7,
            "default": 7,
            "description": "Rolling UTC search window. Mutually exclusive with explicit dates."
          },
          "start_date": {
            "type": "string",
            "maxLength": 10,
            "format": "date",
            "description": "UTC monitoring date, inclusive; must be paired with end_date and within the last 7 dates."
          },
          "end_date": {
            "type": "string",
            "maxLength": 10,
            "format": "date",
            "description": "UTC monitoring date, inclusive, not future. Range at most 7 dates."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 30,
            "default": 10
          },
          "sort": {
            "type": "string",
            "maxLength": 9,
            "enum": [
              "newest",
              "relevance"
            ],
            "default": "newest"
          },
          "language": {
            "type": "string",
            "maxLength": 7,
            "enum": [
              "english",
              "any"
            ],
            "default": "english"
          },
          "include_summary": {
            "type": "boolean",
            "default": false,
            "description": "Include at most 5 source-linked headline highlights; no full-text reading or generated claims."
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$",
            "description": "UTC follow-up checkpoint within the last 7 days, never future. Incompatible with explicit dates. Includes a45-minute overlap for delayed indexing; does not assert publication time."
          },
          "seen": {
            "type": "array",
            "maxItems": 32,
            "uniqueItems": true,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "id",
                "headline_id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^article-[0-9a-f]{16}$"
                },
                "headline_id": {
                  "type": "string",
                  "pattern": "^headline-[0-9a-f]{16}$"
                }
              }
            },
            "description": "Bounded previously returned URL/headline markers. Suppress matching URLs and exact normalized headlines; use monitoring.next_request to continue."
          }
        },
        "required": [
          "query"
        ],
        "oneOf": [
          {
            "required": [
              "start_date",
              "end_date"
            ],
            "not": {
              "required": [
                "days"
              ]
            }
          },
          {
            "not": {
              "anyOf": [
                {
                  "required": [
                    "start_date"
                  ]
                },
                {
                  "required": [
                    "end_date"
                  ]
                }
              ]
            }
          }
        ]
      },
      "example": {
        "query": "renewable energy",
        "include_summary": true,
        "limit": 1
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded news search, including valid zero matches. PAYMENT-RESPONSE reports settlement. Observe limitations and monitoring timestamps.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "status": {
              "type": "string",
              "maxLength": 2,
              "enum": [
                "ok"
              ]
            },
            "query": {
              "type": "string",
              "maxLength": 160
            },
            "retrieved_at": {
              "type": "string",
              "maxLength": 20,
              "format": "date-time"
            },
            "window": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "start": {
                  "type": "string",
                  "maxLength": 20,
                  "format": "date-time"
                },
                "end": {
                  "type": "string",
                  "maxLength": 20,
                  "format": "date-time"
                },
                "date_basis": {
                  "type": "string",
                  "maxLength": 17,
                  "enum": [
                    "gdelt_observed_at"
                  ]
                }
              },
              "required": [
                "start",
                "end",
                "date_basis"
              ]
            },
            "articles": {
              "type": "array",
              "maxItems": 30,
              "items": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "type": "string",
                    "maxLength": 24
                  },
                  "title": {
                    "type": "string",
                    "maxLength": 1000
                  },
                  "url": {
                    "type": "string",
                    "maxLength": 2048,
                    "format": "uri"
                  },
                  "source_domain": {
                    "type": "string",
                    "maxLength": 253
                  },
                  "language": {
                    "type": "string",
                    "maxLength": 80
                  },
                  "source_country": {
                    "type": "string",
                    "maxLength": 80
                  },
                  "observed_at": {
                    "type": "string",
                    "maxLength": 20,
                    "format": "date-time"
                  },
                  "published_at": {
                    "type": "string",
                    "nullable": true,
                    "description": "Always null: publisher publication date is not verified."
                  },
                  "duplicate_count": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 150
                  },
                  "headline_id": {
                    "type": "string",
                    "pattern": "^headline-[0-9a-f]{16}$"
                  }
                },
                "required": [
                  "id",
                  "title",
                  "url",
                  "source_domain",
                  "language",
                  "source_country",
                  "observed_at",
                  "published_at",
                  "duplicate_count",
                  "headline_id"
                ]
              }
            },
            "summary": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "basis": {
                  "type": "string",
                  "maxLength": 14,
                  "enum": [
                    "headlines_only"
                  ]
                },
                "highlights": {
                  "type": "array",
                  "maxItems": 5,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "text": {
                        "type": "string",
                        "maxLength": 1000
                      },
                      "article_ids": {
                        "type": "array",
                        "maxItems": 1,
                        "items": {
                          "type": "string",
                          "maxLength": 24
                        }
                      }
                    },
                    "required": [
                      "text",
                      "article_ids"
                    ]
                  }
                }
              },
              "required": [
                "basis",
                "highlights"
              ],
              "nullable": true
            },
            "coverage": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "source": {
                  "type": "string",
                  "maxLength": 20,
                  "enum": [
                    "GDELT headline index"
                  ]
                },
                "source_rows": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 150
                },
                "returned": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 30
                },
                "duplicates_removed": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 150
                },
                "discarded_rows": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 150
                },
                "source_limit": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 150
                },
                "possibly_truncated": {
                  "type": "boolean"
                },
                "result_byte_limited": {
                  "type": "boolean"
                },
                "previously_seen_removed": {
                  "type": "integer",
                  "minimum": 0
                }
              },
              "required": [
                "source",
                "source_rows",
                "returned",
                "duplicates_removed",
                "discarded_rows",
                "source_limit",
                "possibly_truncated",
                "result_byte_limited",
                "previously_seen_removed"
              ]
            },
            "attribution": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "name": {
                  "type": "string",
                  "maxLength": 30
                },
                "url": {
                  "type": "string",
                  "maxLength": 60,
                  "format": "uri"
                }
              },
              "required": [
                "name",
                "url"
              ]
            },
            "limitations": {
              "type": "array",
              "maxItems": 5,
              "items": {
                "type": "string",
                "maxLength": 200
              }
            },
            "monitoring": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "state",
                "overlap_seconds",
                "history_limited",
                "next_request"
              ],
              "properties": {
                "state": {
                  "type": "string",
                  "enum": [
                    "initial",
                    "no_matches",
                    "updates",
                    "no_new_links"
                  ]
                },
                "overlap_seconds": {
                  "type": "integer",
                  "enum": [
                    2700
                  ]
                },
                "history_limited": {
                  "type": "boolean",
                  "description": "The returned follow-up dropped older history to fit its bounded request. Older items may repeat."
                },
                "next_request": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "query": {
                      "type": "string",
                      "maxLength": 160,
                      "minLength": 3,
                      "pattern": "^[\\w\\s.,'’\\-]+$",
                      "description": "Plain topic words, at most 12 words. Upstream operators and URLs are unsupported."
                    },
                    "match": {
                      "type": "string",
                      "maxLength": 6,
                      "enum": [
                        "all",
                        "any",
                        "phrase"
                      ],
                      "default": "all"
                    },
                    "days": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 7,
                      "default": 7,
                      "description": "Rolling UTC search window. Mutually exclusive with explicit dates."
                    },
                    "limit": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 30,
                      "default": 10
                    },
                    "sort": {
                      "type": "string",
                      "maxLength": 9,
                      "enum": [
                        "newest",
                        "relevance"
                      ],
                      "default": "newest"
                    },
                    "language": {
                      "type": "string",
                      "maxLength": 7,
                      "enum": [
                        "english",
                        "any"
                      ],
                      "default": "english"
                    },
                    "include_summary": {
                      "type": "boolean",
                      "default": false,
                      "description": "Include at most 5 source-linked headline highlights; no full-text reading or generated claims."
                    },
                    "since": {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$",
                      "description": "UTC follow-up checkpoint within the last 7 days, never future. Incompatible with explicit dates. Includes a45-minute overlap for delayed indexing; does not assert publication time."
                    },
                    "seen": {
                      "type": "array",
                      "maxItems": 32,
                      "uniqueItems": true,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "headline_id"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^article-[0-9a-f]{16}$"
                          },
                          "headline_id": {
                            "type": "string",
                            "pattern": "^headline-[0-9a-f]{16}$"
                          }
                        }
                      },
                      "description": "Bounded previously returned URL/headline markers. Suppress matching URLs and exact normalized headlines; use monitoring.next_request to continue."
                    }
                  },
                  "required": [
                    "query",
                    "match",
                    "days",
                    "limit",
                    "sort",
                    "language",
                    "include_summary",
                    "since",
                    "seen"
                  ],
                  "nullable": true
                }
              }
            }
          },
          "required": [
            "status",
            "query",
            "retrieved_at",
            "window",
            "articles",
            "summary",
            "coverage",
            "attribution",
            "limitations",
            "monitoring"
          ]
        },
        "example": {
          "status": "ok",
          "query": "renewable energy",
          "retrieved_at": "2026-10-12T12:00:00Z",
          "window": {
            "start": "2026-10-05T12:00:00Z",
            "end": "2026-10-12T12:00:00Z",
            "date_basis": "gdelt_observed_at"
          },
          "articles": [
            {
              "id": "article-10e46334083ac0e3",
              "headline_id": "headline-9d12a0a05f5e0338",
              "title": "Renewable energy storage pilot opens",
              "url": "https://news.example.org/energy",
              "source_domain": "news.example.org",
              "language": "English",
              "source_country": "",
              "observed_at": "2026-10-11T12:00:00Z",
              "published_at": null,
              "duplicate_count": 1
            }
          ],
          "summary": {
            "basis": "headlines_only",
            "highlights": [
              {
                "text": "Renewable energy storage pilot opens",
                "article_ids": [
                  "article-10e46334083ac0e3"
                ]
              }
            ]
          },
          "coverage": {
            "source": "GDELT headline index",
            "source_rows": 3,
            "returned": 1,
            "duplicates_removed": 1,
            "discarded_rows": 0,
            "source_limit": 150,
            "previously_seen_removed": 0,
            "possibly_truncated": false,
            "result_byte_limited": false
          },
          "attribution": {
            "name": "The GDELT Project",
            "url": "https://www.gdeltproject.org/"
          },
          "limitations": [
            "Dates are GDELT monitoring times, not verified publication or first-ever observation times.",
            "Results are a bounded source sample, not exhaustive news coverage or verified facts.",
            "Links remove known tracking fields; publisher canonical URLs and reachability are unverified.",
            "Search matches native-language headlines only. Highlights quote them; articles are not read.",
            "Updates use a45-minute overlap and bounded32-entry history; busy topics can omit coverage or repeat older items."
          ],
          "monitoring": {
            "state": "initial",
            "overlap_seconds": 2700,
            "history_limited": false,
            "next_request": {
              "query": "renewable energy",
              "match": "all",
              "days": 7,
              "limit": 1,
              "sort": "newest",
              "language": "english",
              "include_summary": true,
              "since": "2026-10-12T12:00:00Z",
              "seen": [
                {
                  "id": "article-10e46334083ac0e3",
                  "headline_id": "headline-9d12a0a05f5e0338"
                }
              ]
            }
          }
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid topic, unsupported upstream operator or invalid bounds; uncharged.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "maxLength": 128
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "Input-bound x402 quote. Sign one offer and resend the identical JSON.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "maxLength": 128
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.010000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "maxLength": 128
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 4096 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "maxLength": 128
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "maxLength": 128
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Source throttled, unavailable, malformed or deadline/storage failure. Work failures before settlement are uncharged; preserve the original proof after uncertain payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "maxLength": 128
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Validate CSV before import: get pass/fail and row/column errors for missing values, duplicates, types and bounds.

POST /v1/data/csv/validate-data

0.05 USDC per accepted request

Service scope, examples and recovery →

Validate CSV before import using a fixed JSON column specification. Checks missing/extra columns, required cells, string/integer/decimal/boolean/date types, uniqueness, allowed values and numeric/row-count bounds. Returns pass/fail with row/column error codes. POST JSON with csv and spec.columns; schemas/examples attached. Full contract: /openapi.json. Max 2,000 rows, 50 columns, 256 KiB; first 50 failures. No formulas, cross-column rules, fact checking or data repair.

Input fields

csv Required · string
UTF-8 comma-delimited CSV with header. No trimming. Data record numbers start at 1; quoted newlines are one record.
spec Required · object
See the complete request schema for values and bounds.

Response status

200
Service result. Inspect X-Mekler-Payment-State: finalized includes PAYMENT-RESPONSE; provisional includes a purchase ID without a settlement receipt.
400
Malformed input or unsupported criterion; no acceptance verdict
413
Request exceeds 256 KiB
415
Requires application/json
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
402
Payment required; PAYMENT-REQUIRED header contains the server-authored USDC quote.
202
Settlement outcome pending; retry identical request and signed proof, never create a second payment.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
503
Payment service temporarily unavailable; do not create a second payment after an ambiguous response.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "csv",
          "spec"
        ],
        "properties": {
          "csv": {
            "type": "string",
            "description": "UTF-8 comma-delimited CSV with header. No trimming. Data record numbers start at 1; quoted newlines are one record."
          },
          "spec": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "columns"
            ],
            "properties": {
              "columns": {
                "type": "array",
                "minItems": 1,
                "maxItems": 50,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "name",
                    "type"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "string",
                        "integer",
                        "decimal",
                        "boolean",
                        "date"
                      ],
                      "description": "string: literal text; integer: base-10, no plus sign or leading zeros; decimal: plain decimal, no exponent; boolean: lowercase true/false; date: valid YYYY-MM-DD."
                    },
                    "required": {
                      "type": "boolean",
                      "default": false,
                      "description": "Reject empty cells. Whitespace is not trimmed."
                    },
                    "unique": {
                      "type": "boolean",
                      "default": false,
                      "description": "Reject repeated nonempty values within this column; numeric values compare numerically."
                    },
                    "min": {
                      "oneOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "Inclusive numeric bound; allowed only for integer or decimal columns."
                    },
                    "max": {
                      "oneOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "Inclusive numeric bound; allowed only for integer or decimal columns."
                    },
                    "enum": {
                      "type": "array",
                      "minItems": 1,
                      "maxItems": 100,
                      "items": {
                        "type": "string",
                        "maxLength": 1000
                      },
                      "description": "Exact allowed cell strings, compared without trimming or normalization."
                    }
                  }
                },
                "description": "Fixed built-in checks. Every named column must exist, even when required is false."
              },
              "min_rows": {
                "type": "integer",
                "minimum": 0,
                "maximum": 2000,
                "default": 0
              },
              "max_rows": {
                "type": "integer",
                "minimum": 0,
                "maximum": 2000,
                "default": 2000
              },
              "allow_extra_columns": {
                "type": "boolean",
                "default": false,
                "description": "If false, reject CSV headers not named in columns."
              }
            }
          }
        }
      },
      "example": {
        "csv": "id,amount\na,12.50\na,-2.00\n",
        "spec": {
          "columns": [
            {
              "name": "id",
              "type": "string",
              "required": true,
              "unique": true
            },
            {
              "name": "amount",
              "type": "decimal",
              "required": true,
              "min": "0",
              "max": "100"
            }
          ],
          "min_rows": 1
        }
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Service result. Inspect X-Mekler-Payment-State: finalized includes PAYMENT-RESPONSE; provisional includes a purchase ID without a settlement receipt.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "schema_version": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "verdict": {
              "type": "string",
              "enum": [
                "pass",
                "fail"
              ]
            },
            "rows_checked": {
              "type": "integer",
              "minimum": 0
            },
            "failure_count": {
              "type": "integer",
              "minimum": 0
            },
            "failures": {
              "type": "array",
              "maxItems": 50,
              "items": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string",
                    "enum": [
                      "missing_column",
                      "extra_columns",
                      "row_width",
                      "required",
                      "type",
                      "min",
                      "max",
                      "enum",
                      "unique",
                      "min_rows",
                      "max_rows"
                    ]
                  },
                  "row": {
                    "type": "integer",
                    "nullable": true,
                    "description": "One-based data record, excluding header; null for file/header errors."
                  },
                  "column": {
                    "type": "string",
                    "nullable": true,
                    "description": "Column name, or null when the error applies to the row or file."
                  }
                },
                "required": [
                  "code",
                  "row",
                  "column"
                ]
              }
            },
            "failures_truncated": {
              "type": "boolean"
            },
            "receipt_sha256": {
              "type": "string",
              "pattern": "^[0-9a-f]{64}$"
            },
            "boundary": {
              "type": "string"
            }
          },
          "required": [
            "schema_version",
            "verdict",
            "rows_checked",
            "failure_count",
            "failures",
            "failures_truncated",
            "receipt_sha256",
            "boundary"
          ]
        },
        "example": {
          "schema_version": 1,
          "verdict": "fail",
          "rows_checked": 2,
          "failure_count": 2,
          "failures": [
            {
              "code": "unique",
              "row": 2,
              "column": "id"
            },
            {
              "code": "min",
              "row": 2,
              "column": "amount"
            }
          ],
          "failures_truncated": false,
          "receipt_sha256": "32265ae46050fa0067b9adb0df085a5cf3d9fa3d47d91e9ea2f61135a382d8ac",
          "boundary": "Only supplied explicit criteria checked; no certification of truth or subjective quality."
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "400": {
    "description": "Malformed input or unsupported criterion; no acceptance verdict",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 256 KiB",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "Requires application/json",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application/json required"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  },
  "402": {
    "description": "Payment required; PAYMENT-REQUIRED header contains the server-authored USDC quote.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.050000"
        }
      }
    }
  },
  "202": {
    "description": "Settlement outcome pending; retry identical request and signed proof, never create a second payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "503": {
    "description": "Payment service temporarily unavailable; do not create a second payment after an ambiguous response.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "name": "PAYMENT-SIGNATURE",
    "in": "header",
    "required": false,
    "description": "Buyer-signed x402 v2 exact payment proof matching the server quote. Omit to obtain a 402 quote; send the identical proof on retry.",
    "schema": {
      "type": "string"
    }
  }
]

Check a JSON CSV column specification before use; return the validated rules or reject unsupported settings.

POST /v1/data/csv/validate-column-spec

0.05 USDC per accepted request

Service scope, examples and recovery →

Validate a fixed JSON CSV column specification before assigning extraction or checking deliveries. Send typed column settings in requirements; returns the validated spec for /v1/data/csv/validate-data. Rejects unknown fields and unsupported settings. This checks the specification itself, not CSV data. No custom expressions, cross-column rules or prose-to-rule conversion. Schemas/examples attached; full contract: /openapi.json.

Input fields

requirements Required · object
See the complete request schema for values and bounds.

Response status

200
Service result. Inspect X-Mekler-Payment-State: finalized includes PAYMENT-RESPONSE; provisional includes a purchase ID without a settlement receipt.
400
Malformed input or unsupported criterion; no acceptance verdict
413
Request exceeds 256 KiB
415
Requires application/json
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
402
Payment required; PAYMENT-REQUIRED header contains the server-authored USDC quote.
202
Settlement outcome pending; retry identical request and signed proof, never create a second payment.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
503
Payment service temporarily unavailable; do not create a second payment after an ambiguous response.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "requirements"
        ],
        "properties": {
          "requirements": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "columns"
            ],
            "properties": {
              "columns": {
                "type": "array",
                "minItems": 1,
                "maxItems": 50,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "name",
                    "type"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "string",
                        "integer",
                        "decimal",
                        "boolean",
                        "date"
                      ],
                      "description": "string: literal text; integer: base-10, no plus sign or leading zeros; decimal: plain decimal, no exponent; boolean: lowercase true/false; date: valid YYYY-MM-DD."
                    },
                    "required": {
                      "type": "boolean",
                      "default": false,
                      "description": "Reject empty cells. Whitespace is not trimmed."
                    },
                    "unique": {
                      "type": "boolean",
                      "default": false,
                      "description": "Reject repeated nonempty values within this column; numeric values compare numerically."
                    },
                    "min": {
                      "oneOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "Inclusive numeric bound; allowed only for integer or decimal columns."
                    },
                    "max": {
                      "oneOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "Inclusive numeric bound; allowed only for integer or decimal columns."
                    },
                    "enum": {
                      "type": "array",
                      "minItems": 1,
                      "maxItems": 100,
                      "items": {
                        "type": "string",
                        "maxLength": 1000
                      },
                      "description": "Exact allowed cell strings, compared without trimming or normalization."
                    }
                  }
                },
                "description": "Fixed built-in checks. Every named column must exist, even when required is false."
              },
              "min_rows": {
                "type": "integer",
                "minimum": 0,
                "maximum": 2000,
                "default": 0
              },
              "max_rows": {
                "type": "integer",
                "minimum": 0,
                "maximum": 2000,
                "default": 2000
              },
              "allow_extra_columns": {
                "type": "boolean",
                "default": false,
                "description": "If false, reject CSV headers not named in columns."
              }
            }
          }
        }
      },
      "example": {
        "requirements": {
          "columns": [
            {
              "name": "id",
              "type": "string",
              "required": true,
              "unique": true
            },
            {
              "name": "amount",
              "type": "decimal",
              "required": true,
              "min": "0",
              "max": "100"
            }
          ],
          "min_rows": 1
        }
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Service result. Inspect X-Mekler-Payment-State: finalized includes PAYMENT-RESPONSE; provisional includes a purchase ID without a settlement receipt.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "schema_version": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "spec": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "columns"
              ],
              "properties": {
                "columns": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 50,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "name",
                      "type"
                    ],
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "string",
                          "integer",
                          "decimal",
                          "boolean",
                          "date"
                        ]
                      },
                      "required": {
                        "type": "boolean",
                        "default": false
                      },
                      "unique": {
                        "type": "boolean",
                        "default": false
                      },
                      "min": {
                        "oneOf": [
                          {
                            "type": "number"
                          },
                          {
                            "type": "string"
                          }
                        ]
                      },
                      "max": {
                        "oneOf": [
                          {
                            "type": "number"
                          },
                          {
                            "type": "string"
                          }
                        ]
                      },
                      "enum": {
                        "type": "array",
                        "minItems": 1,
                        "maxItems": 100,
                        "items": {
                          "type": "string",
                          "maxLength": 1000
                        }
                      }
                    }
                  }
                },
                "min_rows": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 2000,
                  "default": 0
                },
                "max_rows": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 2000,
                  "default": 2000
                },
                "allow_extra_columns": {
                  "type": "boolean",
                  "default": false
                }
              }
            },
            "unsupported": {
              "type": "array",
              "maxItems": 0,
              "items": {
                "type": "string"
              }
            },
            "boundary": {
              "type": "string"
            }
          },
          "required": [
            "schema_version",
            "spec",
            "unsupported",
            "boundary"
          ]
        },
        "example": {
          "schema_version": 1,
          "spec": {
            "columns": [
              {
                "name": "id",
                "type": "string",
                "required": true,
                "unique": true
              },
              {
                "name": "amount",
                "type": "decimal",
                "required": true,
                "min": "0",
                "max": "100"
              }
            ],
            "min_rows": 1
          },
          "unsupported": [],
          "boundary": "Typed requirements only; no natural-language interpretation."
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "400": {
    "description": "Malformed input or unsupported criterion; no acceptance verdict",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 256 KiB",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "Requires application/json",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application/json required"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  },
  "402": {
    "description": "Payment required; PAYMENT-REQUIRED header contains the server-authored USDC quote.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.050000"
        }
      }
    }
  },
  "202": {
    "description": "Settlement outcome pending; retry identical request and signed proof, never create a second payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "503": {
    "description": "Payment service temporarily unavailable; do not create a second payment after an ambiguous response.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "name": "PAYMENT-SIGNATURE",
    "in": "header",
    "required": false,
    "description": "Buyer-signed x402 v2 exact payment proof matching the server quote. Omit to obtain a 402 quote; send the identical proof on retry.",
    "schema": {
      "type": "string"
    }
  }
]

Find duplicate citation URLs and shared source links in supplied HTML, with locations to inspect before relying on corroboration.

POST /v1/research/citations/check-source-overlap

0.05 USDC per accepted request

Service scope, examples and recovery →

Check source overlap before counting corroboration. Supply 2-10 URLs, optional article HTML and citation chains. Returns duplicate URLs, shared links and supplied-source groups with locations. No fetching, truth or independence verdict. Schemas: /openapi.json.

Input fields

claim Required · string
Context label only; truth and semantic relevance are not assessed.
citations Required · array
See the complete request schema for values and bounds.

Response status

200
Service result. Inspect X-Mekler-Payment-State: finalized includes PAYMENT-RESPONSE; provisional includes a purchase ID without a settlement receipt.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 262144 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "claim",
          "citations"
        ],
        "properties": {
          "claim": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4000,
            "description": "Context label only; truth and semantic relevance are not assessed."
          },
          "citations": {
            "type": "array",
            "minItems": 2,
            "maxItems": 10,
            "example": [
              {
                "id": "a",
                "url": "https://a.test"
              },
              {
                "id": "b",
                "url": "https://b.test"
              }
            ],
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "id",
                "url"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^[A-Za-z0-9_.-]{1,64}$"
                },
                "url": {
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://",
                  "maxLength": 2048
                },
                "html": {
                  "type": "string",
                  "maxLength": 131072,
                  "description": "Supplied article HTML; limit 131072 UTF-8 bytes. Never executed."
                },
                "derives_from": {
                  "type": "string",
                  "maxLength": 64,
                  "description": "Caller-declared parent citation ID. Requires evidence_locator; cycles rejected."
                },
                "evidence_locator": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256,
                  "description": "Location supporting declared lineage; not independently verified."
                }
              },
              "dependentRequired": {
                "derives_from": [
                  "evidence_locator"
                ],
                "evidence_locator": [
                  "derives_from"
                ]
              }
            }
          }
        }
      },
      "example": {
        "claim": "Reported benefit",
        "citations": [
          {
            "id": "a",
            "url": "https://a.test",
            "html": "<a href=\"https://b.test\">Source</a>"
          },
          {
            "id": "b",
            "url": "https://b.test"
          }
        ]
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Service result. Inspect X-Mekler-Payment-State: finalized includes PAYMENT-RESPONSE; provisional includes a purchase ID without a settlement receipt.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "service": {
              "const": "citation-overlap-checker"
            },
            "schema_version": {
              "const": "1"
            },
            "shared_origin_groups": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "origin_url": {
                    "type": "string"
                  },
                  "citation_ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "basis": {
                    "const": "supplied_lineage_or_identical_url"
                  }
                },
                "required": [
                  "origin_url",
                  "citation_ids",
                  "basis"
                ]
              }
            },
            "supplied_lineage_links": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "from_id": {
                    "type": "string"
                  },
                  "to_id": {
                    "type": "string"
                  },
                  "evidence_locator": {
                    "type": "string"
                  }
                },
                "required": [
                  "from_id",
                  "to_id",
                  "evidence_locator"
                ]
              }
            },
            "shared_link_candidates": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "linked_url": {
                    "type": "string"
                  },
                  "documents": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "locations": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "target_url": {
                                "type": "string"
                              },
                              "line": {
                                "type": "integer"
                              },
                              "column": {
                                "type": "integer"
                              },
                              "anchor_text": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "target_url",
                              "line",
                              "column",
                              "anchor_text"
                            ]
                          }
                        }
                      },
                      "required": [
                        "id",
                        "locations"
                      ]
                    }
                  },
                  "status": {
                    "const": "shared_link_candidate"
                  }
                },
                "required": [
                  "linked_url",
                  "documents",
                  "status"
                ]
              }
            },
            "citation_link_candidates": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "from_id": {
                    "type": "string"
                  },
                  "to_id": {
                    "type": "string"
                  },
                  "locations": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "target_url": {
                          "type": "string"
                        },
                        "line": {
                          "type": "integer"
                        },
                        "column": {
                          "type": "integer"
                        },
                        "anchor_text": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "target_url",
                        "line",
                        "column",
                        "anchor_text"
                      ]
                    }
                  },
                  "status": {
                    "const": "citation_link_candidate"
                  }
                },
                "required": [
                  "from_id",
                  "to_id",
                  "locations",
                  "status"
                ]
              }
            },
            "unresolved_citation_ids": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "independence": {
              "const": "unknown"
            },
            "coverage": {
              "type": "object",
              "properties": {
                "citation_count": {
                  "type": "integer"
                },
                "html_document_count": {
                  "type": "integer"
                }
              },
              "required": [
                "citation_count",
                "html_document_count"
              ]
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "service",
            "schema_version",
            "shared_origin_groups",
            "supplied_lineage_links",
            "shared_link_candidates",
            "citation_link_candidates",
            "unresolved_citation_ids",
            "independence",
            "coverage",
            "limitations"
          ]
        },
        "example": {
          "service": "citation-overlap-checker",
          "schema_version": "1",
          "shared_origin_groups": [],
          "supplied_lineage_links": [],
          "shared_link_candidates": [],
          "citation_link_candidates": [
            {
              "from_id": "a",
              "to_id": "b",
              "locations": [
                {
                  "target_url": "https://b.test/",
                  "line": 1,
                  "column": 0,
                  "anchor_text": "Source"
                }
              ],
              "status": "citation_link_candidate"
            }
          ],
          "unresolved_citation_ids": [
            "a",
            "b"
          ],
          "independence": "unknown",
          "coverage": {
            "citation_count": 2,
            "html_document_count": 1
          },
          "limitations": [
            "Supplied lineage is not independently verified.",
            "Links may be navigation or unrelated to the claim; candidates are not verified dependencies.",
            "No URLs are fetched. Missing links do not establish independence.",
            "Claim truth and semantic relevance are not assessed."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.050000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 262144 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Extract readable text, title and source links from one public static HTML page, with the final URL and fetch time.

POST /v1/web/pages/extract-static-content

0.005 USDC per completed page

Service scope, examples and recovery →

Fetch one public static HTML page after robots and public-address checks, then return bounded readable text, title, final URL and source links. Standard x402: POST the URL, sign the 402 and resend the same body. The 402 also returns an encrypted payment_request that pays for exactly the quoted fetch. No browser, login, summary or full-site crawl.

Input fields

url Required · string
See the complete request schema for values and bounds.
snapshot Optional · string
Opaque encrypted result from payment_request; omit it in the first call and for a standard resend.

Response status

200
Paid result; X-Mekler-Payment-State identifies finalized or provisional recovery.
202
Payment finality pending; retry the same signed body and proof.
400
Invalid JSON, URL or encrypted snapshot.
402
With a valid URL, the fetched page is ready: sign the offer and resend the same body, or send payment_request unchanged. An empty unsigned POST returns a preflight-only 402 price advertisement for directory validation; it has no payment_request and must not be signed. Submit a URL first.
409
Payment proof conflicts with a claimed purchase or changed content.
413
Request or fetched result exceeds the documented bound.
415
Use application/json.
422
URL, robots, fetch or page-content refusal; no payment required.
429
Short per-source rate limit or global gateway throttle. Wait Retry-After when present; preserve an existing signed body and proof.
503
Payment provider temporarily unavailable; retry a signed request unchanged.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "required": [
          "url"
        ],
        "additionalProperties": false,
        "properties": {
          "url": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "format": "uri"
          },
          "snapshot": {
            "type": "string",
            "minLength": 1,
            "maxLength": 65536,
            "description": "Opaque encrypted result from payment_request; omit it in the first call and for a standard resend."
          }
        }
      },
      "example": {
        "url": "https://example.org/"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Paid result; X-Mekler-Payment-State identifies finalized or provisional recovery.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "status",
            "final_url",
            "title",
            "text",
            "source_links",
            "fetched_at",
            "truncated",
            "coverage",
            "bytes_fetched",
            "redirects",
            "elapsed_ms"
          ],
          "additionalProperties": false,
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "ok"
              ]
            },
            "final_url": {
              "type": "string",
              "format": "uri"
            },
            "title": {
              "type": "string",
              "maxLength": 300
            },
            "text": {
              "type": "string",
              "maxLength": 20000
            },
            "source_links": {
              "type": "array",
              "maxItems": 100,
              "items": {
                "type": "string",
                "format": "uri"
              }
            },
            "fetched_at": {
              "type": "string",
              "format": "date-time"
            },
            "truncated": {
              "type": "boolean"
            },
            "coverage": {
              "type": "string",
              "enum": [
                "static_html_only"
              ]
            },
            "bytes_fetched": {
              "type": "integer",
              "minimum": 0
            },
            "redirects": {
              "type": "integer",
              "minimum": 0,
              "maximum": 3
            },
            "elapsed_ms": {
              "type": "number",
              "minimum": 0
            }
          }
        },
        "example": {
          "status": "ok",
          "final_url": "https://example.org/",
          "title": "Example Domain",
          "text": "This domain is for use in documentation examples without needing permission. This is not a service, avoid relying on it for testing and monitoring purposes.\nLearn more",
          "source_links": [
            "https://iana.org/help/example-domains"
          ],
          "fetched_at": "2026-09-29T00:00:00Z",
          "truncated": false,
          "coverage": "static_html_only",
          "bytes_fetched": 274,
          "redirects": 0,
          "elapsed_ms": 12
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64-encoded receipt on finalized payment",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment finality pending; retry the same signed body and proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "status": "pending",
          "retry_after_seconds": 5
        }
      }
    }
  },
  "400": {
    "description": "Invalid JSON, URL or encrypted snapshot.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "With a valid URL, the fetched page is ready: sign the offer and resend the same body, or send payment_request unchanged. An empty unsigned POST returns a preflight-only 402 price advertisement for directory validation; it has no payment_request and must not be signed. Submit a URL first.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "payment_required",
          "payment_request": {
            "url": "https://example.org/",
            "snapshot": "opaque-token"
          }
        }
      }
    },
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64-encoded x402 v2 payment requirements",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "409": {
    "description": "Payment proof conflicts with a claimed purchase or changed content.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "payment_conflict"
        }
      }
    }
  },
  "413": {
    "description": "Request or fetched result exceeds the documented bound.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "Use application/json.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "422": {
    "description": "URL, robots, fetch or page-content refusal; no payment required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "status": "error",
          "error": "robots_disallowed",
          "text": ""
        }
      }
    }
  },
  "429": {
    "description": "Short per-source rate limit or global gateway throttle. Wait Retry-After when present; preserve an existing signed body and proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "pilot_attempt_capacity_exhausted"
        }
      }
    },
    "headers": {
      "Retry-After": {
        "description": "Seconds until this source can retry after an application rate limit.",
        "schema": {
          "type": "integer",
          "minimum": 1
        }
      }
    }
  },
  "503": {
    "description": "Payment provider temporarily unavailable; retry a signed request unchanged.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "name": "PAYMENT-SIGNATURE",
    "in": "header",
    "required": false,
    "description": "Buyer-signed x402 v2 payment proof. First send the URL without this header to obtain a quote; resend the same body (or the returned payment_request) with the proof. Retries reuse that body and proof. No separate API key is required.",
    "schema": {
      "type": "string"
    }
  }
]

Prepare annual financial facts, checked changes and observed revisions

POST /v1/finance/companies/retrieve-annual-facts

0.05 USDC per annual facts bundle

Service scope, examples and recovery →

Annual US-GAAP facts by CIK, SEC sources, same-filing growth checks and observed revisions. Fast quote or coverage preview. Free SEC data; paid selection.

Input fields

cik Required · string
SEC CIK, 1–10 ASCII digits, greater than zero. Leading zeros optional. Tickers are not accepted.
years Optional · integer
Number of most recent original annual 10-K report periods, not calendar years.
snapshot Optional · string
Opaque encrypted result from the unsigned quote. Optional: omit it for a standard x402 resend of the same input; if sent, use the returned payment_request unchanged and never construct it.
include_revisions Optional · boolean
Include observed historical value changes across up to four recent annual filings represented in the SEC feed per period. No prior request needed; not exhaustive revision history or a restatement determination.
quote_mode Optional · string
Optional: fast returns a payable quote before source work and privately retains encrypted successful results for 30-day recovery. Omit for the existing preview/snapshot flow. Cannot be combined with snapshot.

Response status

200
Selected reported facts; inspect coverage and every field status. A provisional payment header is not settlement.
202
Payment pending. Retry the identical body and original proof; do not pay again.
400
Malformed input, unknown fields, invalid CIK/years, snapshot or proof.
402
Payable input-bound fast quote without source work, or the existing default preview/snapshot quote. Empty unsigned input is nonpayable preflight_only and must not be signed.
409
Fast work is already running, its lease was lost, or the proof is bound to another request; retain the original body and proof.
413
Request exceeds 128 KiB.
415
Use application/json.
422
Unsupported company/taxonomy or no supported annual facts; no successful purchase.
429
Per-source or gateway rate limit. Respect Retry-After and keep the original proof.
503
Temporary source, storage or payment dependency failure; retain the original body and proof and retry.
410
The encrypted fast-mode result has reached its 30-day recovery expiry. No new payment or source work is initiated.
504
Work deadline exceeded before successful result storage; unfinished work is uncharged.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "required": [
          "cik"
        ],
        "additionalProperties": false,
        "properties": {
          "cik": {
            "type": "string",
            "pattern": "^[0-9]{1,10}$",
            "description": "SEC CIK, 1–10 ASCII digits, greater than zero. Leading zeros optional. Tickers are not accepted."
          },
          "years": {
            "type": "integer",
            "minimum": 1,
            "maximum": 3,
            "default": 3,
            "description": "Number of most recent original annual 10-K report periods, not calendar years."
          },
          "snapshot": {
            "type": "string",
            "minLength": 1,
            "maxLength": 65536,
            "description": "Opaque encrypted result from the unsigned quote. Optional: omit it for a standard x402 resend of the same input; if sent, use the returned payment_request unchanged and never construct it."
          },
          "include_revisions": {
            "type": "boolean",
            "default": false,
            "description": "Include observed historical value changes across up to four recent annual filings represented in the SEC feed per period. No prior request needed; not exhaustive revision history or a restatement determination."
          },
          "quote_mode": {
            "type": "string",
            "enum": [
              "fast"
            ],
            "description": "Optional: fast returns a payable quote before source work and privately retains encrypted successful results for 30-day recovery. Omit for the existing preview/snapshot flow. Cannot be combined with snapshot."
          }
        },
        "not": {
          "required": [
            "quote_mode",
            "snapshot"
          ]
        }
      },
      "example": {
        "cik": "320193",
        "years": 1,
        "quote_mode": "fast"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Selected reported facts; inspect coverage and every field status. A provisional payment header is not settlement.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "status",
            "cik",
            "selection_policy",
            "retrieved_at",
            "years",
            "coverage",
            "sources",
            "limitations",
            "comparisons"
          ],
          "additionalProperties": false,
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "ok"
              ]
            },
            "cik": {
              "type": "string"
            },
            "selection_policy": {
              "type": "string"
            },
            "retrieved_at": {
              "type": "string"
            },
            "years": {
              "type": "array",
              "minItems": 1,
              "maxItems": 3,
              "items": {
                "type": "object",
                "required": [
                  "fiscal_year",
                  "period_end",
                  "fields"
                ],
                "additionalProperties": false,
                "properties": {
                  "fiscal_year": {
                    "type": "integer",
                    "nullable": true
                  },
                  "period_end": {
                    "type": "string"
                  },
                  "fields": {
                    "type": "object",
                    "required": [
                      "revenue",
                      "net_income",
                      "assets",
                      "liabilities",
                      "cash",
                      "operating_cash_flow"
                    ],
                    "minProperties": 6,
                    "maxProperties": 6,
                    "additionalProperties": {
                      "type": "object",
                      "required": [
                        "status",
                        "value"
                      ],
                      "additionalProperties": false,
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "reported",
                            "missing",
                            "ambiguous",
                            "unsupported"
                          ]
                        },
                        "value": {
                          "type": "number",
                          "nullable": true
                        },
                        "reason": {
                          "type": "string"
                        },
                        "unit": {
                          "type": "string",
                          "enum": [
                            "USD"
                          ]
                        },
                        "period_start": {
                          "type": "string",
                          "nullable": true
                        },
                        "period_end": {
                          "type": "string"
                        },
                        "taxonomy": {
                          "type": "string",
                          "enum": [
                            "us-gaap"
                          ]
                        },
                        "tag": {
                          "type": "string"
                        },
                        "accession": {
                          "type": "string"
                        },
                        "filed": {
                          "type": "string"
                        },
                        "form": {
                          "type": "string",
                          "enum": [
                            "10-K",
                            "10-K/A"
                          ]
                        },
                        "filing_url": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            },
            "coverage": {
              "type": "object",
              "required": [
                "requested_years",
                "returned_years",
                "reported_fields",
                "requested_fields",
                "complete"
              ],
              "additionalProperties": false,
              "properties": {
                "requested_years": {
                  "type": "integer",
                  "minimum": 0
                },
                "returned_years": {
                  "type": "integer",
                  "minimum": 0
                },
                "reported_fields": {
                  "type": "integer",
                  "minimum": 0
                },
                "requested_fields": {
                  "type": "integer",
                  "minimum": 0
                },
                "complete": {
                  "type": "boolean"
                }
              }
            },
            "sources": {
              "type": "object",
              "properties": {
                "companyfacts": {
                  "type": "string"
                },
                "submissions": {
                  "type": "string"
                }
              },
              "required": [
                "companyfacts",
                "submissions"
              ],
              "additionalProperties": false
            },
            "source_retrieved_at": {
              "type": "object",
              "properties": {
                "companyfacts": {
                  "type": "string"
                },
                "submissions": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "comparisons": {
              "type": "array",
              "maxItems": 12,
              "items": {
                "type": "object",
                "required": [
                  "field",
                  "prior_period_end",
                  "period_end",
                  "status",
                  "growth_percent",
                  "prior",
                  "current",
                  "period_days",
                  "warnings"
                ],
                "additionalProperties": false,
                "properties": {
                  "field": {
                    "type": "string"
                  },
                  "prior_period_end": {
                    "type": "string"
                  },
                  "period_end": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "missing",
                      "ambiguous",
                      "unsupported",
                      "no_common_filing",
                      "tag_mismatch",
                      "nonadjacent_periods",
                      "period_length_mismatch",
                      "nonpositive_base",
                      "checks_passed"
                    ]
                  },
                  "growth_percent": {
                    "type": "number",
                    "nullable": true
                  },
                  "prior": {
                    "type": "object",
                    "required": [
                      "status",
                      "value"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "status": {
                        "type": "string",
                        "enum": [
                          "reported",
                          "missing",
                          "ambiguous",
                          "unsupported"
                        ]
                      },
                      "value": {
                        "type": "number",
                        "nullable": true
                      },
                      "reason": {
                        "type": "string"
                      },
                      "unit": {
                        "type": "string",
                        "enum": [
                          "USD"
                        ]
                      },
                      "period_start": {
                        "type": "string",
                        "nullable": true
                      },
                      "period_end": {
                        "type": "string"
                      },
                      "taxonomy": {
                        "type": "string",
                        "enum": [
                          "us-gaap"
                        ]
                      },
                      "tag": {
                        "type": "string"
                      },
                      "accession": {
                        "type": "string"
                      },
                      "filed": {
                        "type": "string"
                      },
                      "form": {
                        "type": "string",
                        "enum": [
                          "10-K",
                          "10-K/A"
                        ]
                      },
                      "filing_url": {
                        "type": "string"
                      }
                    },
                    "nullable": true
                  },
                  "current": {
                    "type": "object",
                    "required": [
                      "status",
                      "value"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "status": {
                        "type": "string",
                        "enum": [
                          "reported",
                          "missing",
                          "ambiguous",
                          "unsupported"
                        ]
                      },
                      "value": {
                        "type": "number",
                        "nullable": true
                      },
                      "reason": {
                        "type": "string"
                      },
                      "unit": {
                        "type": "string",
                        "enum": [
                          "USD"
                        ]
                      },
                      "period_start": {
                        "type": "string",
                        "nullable": true
                      },
                      "period_end": {
                        "type": "string"
                      },
                      "taxonomy": {
                        "type": "string",
                        "enum": [
                          "us-gaap"
                        ]
                      },
                      "tag": {
                        "type": "string"
                      },
                      "accession": {
                        "type": "string"
                      },
                      "filed": {
                        "type": "string"
                      },
                      "form": {
                        "type": "string",
                        "enum": [
                          "10-K",
                          "10-K/A"
                        ]
                      },
                      "filing_url": {
                        "type": "string"
                      }
                    },
                    "nullable": true
                  },
                  "period_days": {
                    "type": "array",
                    "maxItems": 2,
                    "items": {
                      "type": "integer"
                    }
                  },
                  "warnings": {
                    "type": "array",
                    "maxItems": 4,
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "revisions": {
              "type": "object",
              "required": [
                "scope",
                "classification",
                "periods"
              ],
              "additionalProperties": false,
              "properties": {
                "scope": {
                  "type": "string"
                },
                "classification": {
                  "type": "string"
                },
                "periods": {
                  "type": "array",
                  "maxItems": 3,
                  "items": {
                    "type": "object",
                    "required": [
                      "period_end",
                      "available_filing_count",
                      "inspected_filings",
                      "truncated",
                      "fields"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "period_end": {
                        "type": "string"
                      },
                      "available_filing_count": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "inspected_filings": {
                        "type": "array",
                        "maxItems": 4,
                        "items": {
                          "type": "string"
                        }
                      },
                      "truncated": {
                        "type": "boolean"
                      },
                      "fields": {
                        "type": "array",
                        "maxItems": 24,
                        "items": {
                          "type": "object",
                          "required": [
                            "field",
                            "tag",
                            "unit",
                            "period_start",
                            "period_end",
                            "status",
                            "observations",
                            "missing_from_filings"
                          ],
                          "additionalProperties": false,
                          "properties": {
                            "field": {
                              "type": "string"
                            },
                            "tag": {
                              "type": "string",
                              "nullable": true
                            },
                            "unit": {
                              "type": "string",
                              "nullable": true
                            },
                            "period_start": {
                              "type": "string",
                              "nullable": true
                            },
                            "period_end": {
                              "type": "string"
                            },
                            "status": {
                              "type": "string",
                              "enum": [
                                "missing",
                                "unsupported",
                                "ambiguous",
                                "incomplete_history",
                                "reported_value_changed",
                                "unchanged_in_inspected_filings"
                              ]
                            },
                            "observations": {
                              "type": "array",
                              "maxItems": 8,
                              "items": {
                                "type": "object",
                                "required": [
                                  "status",
                                  "value"
                                ],
                                "additionalProperties": false,
                                "properties": {
                                  "status": {
                                    "type": "string",
                                    "enum": [
                                      "reported",
                                      "missing",
                                      "ambiguous",
                                      "unsupported"
                                    ]
                                  },
                                  "value": {
                                    "type": "number",
                                    "nullable": true
                                  },
                                  "reason": {
                                    "type": "string"
                                  },
                                  "unit": {
                                    "type": "string",
                                    "enum": [
                                      "USD"
                                    ]
                                  },
                                  "period_start": {
                                    "type": "string",
                                    "nullable": true
                                  },
                                  "period_end": {
                                    "type": "string"
                                  },
                                  "taxonomy": {
                                    "type": "string",
                                    "enum": [
                                      "us-gaap"
                                    ]
                                  },
                                  "tag": {
                                    "type": "string"
                                  },
                                  "accession": {
                                    "type": "string"
                                  },
                                  "filed": {
                                    "type": "string"
                                  },
                                  "form": {
                                    "type": "string",
                                    "enum": [
                                      "10-K",
                                      "10-K/A"
                                    ]
                                  },
                                  "filing_url": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "missing_from_filings": {
                              "type": "array",
                              "maxItems": 4,
                              "items": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "cik": "0000320193",
          "selection_policy": "latest-annual-filed-per-field-v1",
          "retrieved_at": "2026-10-05T00:00:00Z",
          "years": [
            {
              "fiscal_year": 2025,
              "period_end": "2025-09-27",
              "fields": {
                "revenue": {
                  "status": "reported",
                  "value": 416161000000,
                  "unit": "USD",
                  "period_start": "2024-09-29",
                  "period_end": "2025-09-27",
                  "taxonomy": "us-gaap",
                  "tag": "RevenueFromContractWithCustomerExcludingAssessedTax",
                  "accession": "0000320193-25-000079",
                  "filed": "2025-10-31",
                  "form": "10-K",
                  "filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079-index.html"
                },
                "net_income": {
                  "status": "reported",
                  "value": 112010000000,
                  "unit": "USD",
                  "period_start": "2024-09-29",
                  "period_end": "2025-09-27",
                  "taxonomy": "us-gaap",
                  "tag": "NetIncomeLoss",
                  "accession": "0000320193-25-000079",
                  "filed": "2025-10-31",
                  "form": "10-K",
                  "filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079-index.html"
                },
                "assets": {
                  "status": "reported",
                  "value": 359241000000,
                  "unit": "USD",
                  "period_start": null,
                  "period_end": "2025-09-27",
                  "taxonomy": "us-gaap",
                  "tag": "Assets",
                  "accession": "0000320193-25-000079",
                  "filed": "2025-10-31",
                  "form": "10-K",
                  "filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079-index.html"
                },
                "liabilities": {
                  "status": "reported",
                  "value": 285508000000,
                  "unit": "USD",
                  "period_start": null,
                  "period_end": "2025-09-27",
                  "taxonomy": "us-gaap",
                  "tag": "Liabilities",
                  "accession": "0000320193-25-000079",
                  "filed": "2025-10-31",
                  "form": "10-K",
                  "filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079-index.html"
                },
                "cash": {
                  "status": "reported",
                  "value": 35934000000,
                  "unit": "USD",
                  "period_start": null,
                  "period_end": "2025-09-27",
                  "taxonomy": "us-gaap",
                  "tag": "CashAndCashEquivalentsAtCarryingValue",
                  "accession": "0000320193-25-000079",
                  "filed": "2025-10-31",
                  "form": "10-K",
                  "filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079-index.html"
                },
                "operating_cash_flow": {
                  "status": "reported",
                  "value": 111482000000,
                  "unit": "USD",
                  "period_start": "2024-09-29",
                  "period_end": "2025-09-27",
                  "taxonomy": "us-gaap",
                  "tag": "NetCashProvidedByUsedInOperatingActivities",
                  "accession": "0000320193-25-000079",
                  "filed": "2025-10-31",
                  "form": "10-K",
                  "filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079-index.html"
                }
              }
            }
          ],
          "coverage": {
            "requested_years": 1,
            "returned_years": 1,
            "reported_fields": 6,
            "requested_fields": 6,
            "complete": true
          },
          "sources": {
            "companyfacts": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000320193.json",
            "submissions": "https://data.sec.gov/submissions/CIK0000320193.json"
          },
          "limitations": [
            "US-GAAP standard whole-entity USD facts in annual 10-K/10-K/A only.",
            "Latest annual-filed value is selected per field; different fields may cite different filings.",
            "Missing is not zero and does not establish absence from the original filing.",
            "No custom tags, segments, quarterly derivations, currency conversion or investment advice."
          ],
          "comparisons": []
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "x402 v2 encoded payment envelope",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry the identical body and original proof; do not pay again.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            }
          },
          "additionalProperties": true
        },
        "example": {
          "error": "retry_or_correct_request"
        }
      }
    },
    "headers": {
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "400": {
    "description": "Malformed input, unknown fields, invalid CIK/years, snapshot or proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            }
          },
          "additionalProperties": true
        },
        "example": {
          "error": "retry_or_correct_request"
        }
      }
    }
  },
  "402": {
    "description": "Payable input-bound fast quote without source work, or the existing default preview/snapshot quote. Empty unsigned input is nonpayable preflight_only and must not be signed.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": true,
          "properties": {
            "payment_request": {
              "type": "object",
              "required": [
                "cik"
              ],
              "additionalProperties": false,
              "properties": {
                "cik": {
                  "type": "string",
                  "pattern": "^[0-9]{1,10}$",
                  "description": "SEC CIK, 1–10 ASCII digits, greater than zero. Leading zeros optional. Tickers are not accepted."
                },
                "years": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 3,
                  "default": 3,
                  "description": "Number of most recent original annual 10-K report periods, not calendar years."
                },
                "snapshot": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 65536,
                  "description": "Opaque encrypted result from the unsigned quote. Optional: omit it for a standard x402 resend of the same input; if sent, use the returned payment_request unchanged and never construct it."
                },
                "include_revisions": {
                  "type": "boolean",
                  "default": false,
                  "description": "Include observed historical value changes across up to four recent annual filings represented in the SEC feed per period. No prior request needed; not exhaustive revision history or a restatement determination."
                }
              }
            },
            "coverage": {
              "type": "object",
              "required": [
                "requested_years",
                "returned_years",
                "reported_fields",
                "requested_fields",
                "complete"
              ],
              "additionalProperties": false,
              "properties": {
                "requested_years": {
                  "type": "integer",
                  "minimum": 0
                },
                "returned_years": {
                  "type": "integer",
                  "minimum": 0
                },
                "reported_fields": {
                  "type": "integer",
                  "minimum": 0
                },
                "requested_fields": {
                  "type": "integer",
                  "minimum": 0
                },
                "complete": {
                  "type": "boolean"
                }
              }
            },
            "preflight_only": {
              "type": "boolean"
            },
            "preparation": {
              "type": "object",
              "required": [
                "comparison_count",
                "comparisons_with_growth",
                "revisions_requested",
                "changed_series",
                "incomplete_series",
                "history_truncated"
              ],
              "additionalProperties": false,
              "properties": {
                "comparison_count": {
                  "type": "integer"
                },
                "comparisons_with_growth": {
                  "type": "integer"
                },
                "revisions_requested": {
                  "type": "boolean"
                },
                "changed_series": {
                  "type": "integer"
                },
                "incomplete_series": {
                  "type": "integer"
                },
                "history_truncated": {
                  "type": "boolean"
                }
              }
            },
            "quote_mode": {
              "type": "string",
              "enum": [
                "fast"
              ]
            },
            "recovery": {
              "type": "string"
            }
          }
        },
        "example": {
          "preflight_only": true
        }
      }
    },
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "x402 v2 encoded payment envelope",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "409": {
    "description": "Fast work is already running, its lease was lost, or the proof is bound to another request; retain the original body and proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            }
          },
          "additionalProperties": true
        },
        "example": {
          "error": "retry_or_correct_request"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 128 KiB.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            }
          },
          "additionalProperties": true
        },
        "example": {
          "error": "retry_or_correct_request"
        }
      }
    }
  },
  "415": {
    "description": "Use application/json.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            }
          },
          "additionalProperties": true
        },
        "example": {
          "error": "retry_or_correct_request"
        }
      }
    }
  },
  "422": {
    "description": "Unsupported company/taxonomy or no supported annual facts; no successful purchase.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            }
          },
          "additionalProperties": true
        },
        "example": {
          "error": "retry_or_correct_request"
        }
      }
    }
  },
  "429": {
    "description": "Per-source or gateway rate limit. Respect Retry-After and keep the original proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            }
          },
          "additionalProperties": true
        },
        "example": {
          "error": "retry_or_correct_request"
        }
      }
    }
  },
  "503": {
    "description": "Temporary source, storage or payment dependency failure; retain the original body and proof and retry.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            }
          },
          "additionalProperties": true
        },
        "example": {
          "error": "retry_or_correct_request"
        }
      }
    }
  },
  "410": {
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        }
      }
    },
    "description": "The encrypted fast-mode result has reached its 30-day recovery expiry. No new payment or source work is initiated."
  },
  "504": {
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        }
      }
    },
    "description": "Work deadline exceeded before successful result storage; unfinished work is uncharged."
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "Optional x402 v2 signed proof after reviewing the quote; omit for uncharged retrieval and quote."
  }
]

Render one public JavaScript page in a headless browser and extract readable text, title and source links, with the final URL and render time.

POST /v1/web/pages/extract-rendered-content

0.01 USDC per completed rendered page

Service scope, examples and recovery →

Render one public web page in a headless browser and extract bounded text and source links, for pages whose content appears only after JavaScript runs. Standard x402 resend with an immediate opt-in fast quote and private encrypted recovery, or default render-first preview and optional caller-carried snapshot. 0.01 USDC on Solana or Base mainnet per completed page; failed renders are never charged.

Input fields

url Required · string
See the complete request schema for values and bounds.
snapshot Optional · string
Opaque encrypted result from payment_request; omit it in the first call and for a standard resend.
quote_mode Optional · string
Optional: fast returns a payable quote before source work and privately retains encrypted successful results for 30-day recovery. Omit for the existing preview/snapshot flow. Cannot be combined with snapshot.

Response status

200
Paid result; X-Mekler-Payment-State identifies finalized or provisional recovery.
202
Payment finality pending; retry the same signed body and proof.
400
Invalid JSON, URL or encrypted snapshot.
402
Payable input-bound fast quote without source work, or the existing default preview/snapshot quote. Empty unsigned input is nonpayable preflight_only and must not be signed.
409
Fast work is already running, its lease was lost, or the proof is bound to another request; retain the original body and proof.
413
Request or rendered result exceeds the documented bound.
415
Use application/json.
422
URL, robots, address, bot-protection, HTTP status or empty-page refusal; nothing charged.
429
Short per-source rate limit or global gateway throttle. Wait Retry-After when present; preserve an existing signed body and proof.
502
The page could not be rendered (navigation failure or robots.txt unavailable); nothing charged.
503
Temporary source, storage or payment dependency failure; retain the original body and proof and retry.
504
Work deadline exceeded before successful result storage; unfinished work is uncharged.
410
The encrypted fast-mode result has reached its 30-day recovery expiry. No new payment or source work is initiated.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "required": [
          "url"
        ],
        "additionalProperties": false,
        "properties": {
          "url": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "format": "uri"
          },
          "snapshot": {
            "type": "string",
            "minLength": 1,
            "maxLength": 65536,
            "description": "Opaque encrypted result from payment_request; omit it in the first call and for a standard resend."
          },
          "quote_mode": {
            "type": "string",
            "enum": [
              "fast"
            ],
            "description": "Optional: fast returns a payable quote before source work and privately retains encrypted successful results for 30-day recovery. Omit for the existing preview/snapshot flow. Cannot be combined with snapshot."
          }
        },
        "not": {
          "required": [
            "quote_mode",
            "snapshot"
          ]
        }
      },
      "example": {
        "url": "https://crates.io/crates/serde",
        "quote_mode": "fast"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Paid result; X-Mekler-Payment-State identifies finalized or provisional recovery.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "status",
            "final_url",
            "title",
            "text",
            "source_links",
            "fetched_at",
            "truncated",
            "coverage"
          ],
          "additionalProperties": false,
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "ok"
              ]
            },
            "final_url": {
              "type": "string",
              "format": "uri"
            },
            "title": {
              "type": "string",
              "maxLength": 300
            },
            "text": {
              "type": "string",
              "maxLength": 20000
            },
            "source_links": {
              "type": "array",
              "maxItems": 100,
              "items": {
                "type": "string",
                "format": "uri"
              }
            },
            "fetched_at": {
              "type": "string",
              "format": "date-time"
            },
            "truncated": {
              "type": "boolean"
            },
            "coverage": {
              "type": "string",
              "enum": [
                "rendered_html"
              ]
            }
          }
        },
        "example": {
          "status": "ok",
          "final_url": "https://crates.io/crates/serde",
          "title": "serde - crates.io: Rust Package Registry",
          "text": "Serde is a framework for serializing and deserializing Rust data structures efficiently and generically.\nserde.rs",
          "source_links": [
            "https://serde.rs/"
          ],
          "fetched_at": "2026-10-05T00:00:00Z",
          "truncated": false,
          "coverage": "rendered_html"
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64-encoded receipt on finalized payment",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment finality pending; retry the same signed body and proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "status": "pending",
          "retry_after_seconds": 5
        }
      }
    },
    "headers": {
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "400": {
    "description": "Invalid JSON, URL or encrypted snapshot.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "Payable input-bound fast quote without source work, or the existing default preview/snapshot quote. Empty unsigned input is nonpayable preflight_only and must not be signed.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "payment_required",
          "payment_request": {
            "url": "https://example.org/",
            "snapshot": "opaque-token"
          }
        }
      }
    },
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64-encoded x402 v2 payment requirements",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "409": {
    "description": "Fast work is already running, its lease was lost, or the proof is bound to another request; retain the original body and proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "payment_conflict"
        }
      }
    }
  },
  "413": {
    "description": "Request or rendered result exceeds the documented bound.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "Use application/json.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "422": {
    "description": "URL, robots, address, bot-protection, HTTP status or empty-page refusal; nothing charged.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "status": "error",
          "error": "robots_disallowed",
          "text": "",
          "charged": false
        }
      }
    }
  },
  "429": {
    "description": "Short per-source rate limit or global gateway throttle. Wait Retry-After when present; preserve an existing signed body and proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "pilot_attempt_capacity_exhausted"
        }
      }
    },
    "headers": {
      "Retry-After": {
        "description": "Seconds until this source can retry after an application rate limit.",
        "schema": {
          "type": "integer",
          "minimum": 1
        }
      }
    }
  },
  "502": {
    "description": "The page could not be rendered (navigation failure or robots.txt unavailable); nothing charged.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "status": "error",
          "error": "navigation_failure",
          "text": "",
          "charged": false
        }
      }
    }
  },
  "503": {
    "description": "Temporary source, storage or payment dependency failure; retain the original body and proof and retry.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "504": {
    "description": "Work deadline exceeded before successful result storage; unfinished work is uncharged.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "status": "error",
          "error": "timeout",
          "text": "",
          "charged": false
        }
      }
    }
  },
  "410": {
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        }
      }
    },
    "description": "The encrypted fast-mode result has reached its 30-day recovery expiry. No new payment or source work is initiated."
  }
}
Complete schema: parameters and headers
[
  {
    "name": "PAYMENT-SIGNATURE",
    "in": "header",
    "required": false,
    "description": "Buyer-signed x402 v2 payment proof. First send the URL without this header to obtain a quote; resend the same body (or the returned payment_request) with the proof. Retries reuse that body and proof. No separate API key is required.",
    "schema": {
      "type": "string"
    }
  }
]

Check an email address or domain for syntax and published mail configuration.

POST /v1/email/domains/check-mail-configuration

0.003 USDC per completed check

Service scope, examples and recovery →

Check one email address or domain. Report common address syntax, MX or null MX and A/AAAA fallback, SPF, exact-domain DMARC and optional caller-supplied DKIM selector records, and a small known disposable-domain list. DNS failures remain unknown. Does not verify a mailbox or predict delivery.

Input fields

kind Required · string
See the complete request schema for values and bounds.
value Required · string
One email address when kind=email; one public DNS domain when kind=domain.
selector Optional · string
Optional caller-supplied DKIM selector. No selector discovery; periods separate DNS labels.

Response status

200
Completed check; inspect unknown and not_found_at_queried_name before acting. X-Mekler-Payment-State reports settlement.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 262144 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "kind",
          "value"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "email",
              "domain"
            ]
          },
          "value": {
            "type": "string",
            "minLength": 1,
            "maxLength": 320,
            "description": "One email address when kind=email; one public DNS domain when kind=domain."
          },
          "selector": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "Optional caller-supplied DKIM selector. No selector discovery; periods separate DNS labels."
          }
        }
      },
      "example": {
        "kind": "domain",
        "value": "example.org"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed check; inspect unknown and not_found_at_queried_name before acting. X-Mekler-Payment-State reports settlement.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "service",
            "schema_version",
            "domain",
            "syntax",
            "mail_route",
            "spf",
            "dmarc",
            "dkim",
            "disposable",
            "mailbox_exists"
          ],
          "properties": {
            "service": {
              "type": "string"
            },
            "schema_version": {
              "type": "string"
            },
            "domain": {
              "type": "string"
            },
            "syntax": {
              "type": "string"
            },
            "mail_route": {
              "type": "object"
            },
            "spf": {
              "type": "object"
            },
            "dmarc": {
              "type": "object"
            },
            "disposable": {
              "type": "string"
            },
            "mailbox_exists": {
              "type": "string"
            },
            "dkim": {
              "type": "object"
            }
          }
        },
        "example": {
          "service": "email-domain-checks",
          "schema_version": "1",
          "domain": "example.org",
          "syntax": "not_applicable",
          "mail_route": {
            "status": "mx_configured",
            "mx": {
              "status": "ok",
              "values": [
                [
                  10,
                  "mail.example.org"
                ]
              ],
              "ttl_seconds": 60
            }
          },
          "spf": {
            "status": "record_found",
            "record": "v=spf1 -all",
            "dns": {
              "status": "ok",
              "ttl_seconds": 60
            }
          },
          "dmarc": {
            "status": "record_found",
            "record": "v=DMARC1; p=reject",
            "dns": {
              "status": "ok",
              "ttl_seconds": 60
            }
          },
          "dkim": {
            "status": "selector_required"
          },
          "disposable": "not_on_small_known_list",
          "mailbox_exists": "unknown"
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.003000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 262144 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Read job state with capability, or public report freshness by report_id

GET /v1/services/conformance/retrieve-scan-status

Follow the authentication, capability and prerequisite requirements below.

Read job state with capability, or public report freshness by report_id. Does not create work or payment. Requires identifiers from your own scan; published example IDs are synthetic. Supply either job_id plus X-Mekler-Scan-Capability from an admitted scan, or report_id from a completed paid scan. A quote alone creates no job. These are alternative parameter sets, not an all-optional call.

Response status

200
Read job state with capability, or public report freshness by report_id. Does not create work or payment.
404
Unknown or inaccessible record.
410
Artifact expired; receipt recovery remains available. No automatic repurchase.
Complete schema: request body
{}
Complete schema: responses and errors
{
  "200": {
    "description": "Read job state with capability, or public report freshness by report_id. Does not create work or payment.",
    "content": {
      "application/json": {
        "schema": {
          "oneOf": [
            {
              "type": "object",
              "required": [
                "job_id",
                "state",
                "flow"
              ],
              "properties": {
                "job_id": {
                  "type": "string",
                  "description": "Opaque job identifier. Retain with the recovery capability."
                },
                "state": {
                  "type": "string",
                  "enum": [
                    "queued",
                    "running",
                    "result-ready",
                    "settlement-pending",
                    "complete",
                    "failed-uncharged",
                    "expired-uncharged",
                    "reconciliation-required",
                    "report-expired"
                  ]
                },
                "flow": {
                  "enum": [
                    "compute-then-pay",
                    "quote-first-async"
                  ]
                },
                "retry_after": {
                  "type": "integer"
                },
                "recovery_capability": {
                  "type": "string",
                  "description": "Secret capability, returned at admission only. Send in X-Mekler-Scan-Capability; never in a URL."
                },
                "report_id": {
                  "type": "string",
                  "description": "Opaque report identifier; public access begins only after confirmed settlement."
                },
                "error": {
                  "type": "string",
                  "description": "Stable safe error code."
                },
                "purchase_id": {
                  "type": "string",
                  "description": "Payment recovery reference, visible only with capability."
                },
                "receipt": {
                  "type": "object",
                  "properties": {
                    "network": {
                      "type": "string"
                    },
                    "transaction": {
                      "type": "string"
                    },
                    "finalized": {
                      "const": true
                    }
                  }
                }
              }
            },
            {
              "type": "object",
              "required": [
                "report_id",
                "scanned_at",
                "expires_at",
                "linter",
                "compliance"
              ]
            }
          ]
        }
      }
    }
  },
  "404": {
    "description": "Unknown or inaccessible record.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        }
      }
    }
  },
  "410": {
    "description": "Artifact expired; receipt recovery remains available. No automatic repurchase.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "job_id",
            "state",
            "flow"
          ],
          "properties": {
            "job_id": {
              "type": "string",
              "description": "Opaque job identifier. Retain with the recovery capability."
            },
            "state": {
              "type": "string",
              "enum": [
                "queued",
                "running",
                "result-ready",
                "settlement-pending",
                "complete",
                "failed-uncharged",
                "expired-uncharged",
                "reconciliation-required"
              ]
            },
            "flow": {
              "enum": [
                "compute-then-pay",
                "quote-first-async"
              ]
            },
            "retry_after": {
              "type": "integer"
            },
            "recovery_capability": {
              "type": "string",
              "description": "Secret capability, returned at admission only. Send in X-Mekler-Scan-Capability; never in a URL."
            },
            "report_id": {
              "type": "string",
              "description": "Opaque public report identifier, present after payment confirmation."
            },
            "error": {
              "type": "string",
              "description": "Stable safe error code."
            },
            "purchase_id": {
              "type": "string",
              "description": "Payment recovery reference, visible only with capability."
            }
          }
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "name": "job_id",
    "in": "query",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "Required with X-Mekler-Scan-Capability when looking up a private admitted job; otherwise supply report_id."
  },
  {
    "name": "X-Mekler-Scan-Capability",
    "in": "header",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "Required when using job_id. Private capability returned by the admitted scan; never place it in a URL."
  },
  {
    "name": "report_id",
    "in": "query",
    "required": false,
    "schema": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "description": "64 lowercase hexadecimal characters returned by a completed paid scan. Required for report retrieval; alternative to job_id/capability for status."
  }
]

Read a complete public cached report for 24 hours after scanning; expired reports return 410 without creating work

GET /v1/services/conformance/retrieve-scan-report

Follow the authentication, capability and prerequisite requirements below.

Read a complete public cached report for 24 hours after scanning; expired reports return 410 without creating work. Requires identifiers from your own scan; published example IDs are synthetic. Supply report_id from a completed paid scan. This is not a discovery/health endpoint.

Response status

200
Read a complete public cached report for 24 hours after scanning; expired reports return 410 without creating work.
404
Unknown or inaccessible record.
410
Artifact expired; receipt recovery remains available. No automatic repurchase.
Complete schema: request body
{}
Complete schema: responses and errors
{
  "200": {
    "description": "Read a complete public cached report for 24 hours after scanning; expired reports return 410 without creating work.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "report_id",
            "checks_version",
            "scanned_at",
            "expires_at",
            "linter",
            "compliance",
            "findings"
          ],
          "properties": {
            "report_id": {
              "type": "string",
              "description": "Opaque ID"
            },
            "checks_version": {
              "type": "string",
              "description": "Mekler grading/check version"
            },
            "scanned_at": {
              "type": "integer"
            },
            "expires_at": {
              "type": "integer"
            },
            "linter": {
              "type": "object"
            },
            "compliance": {
              "type": "object"
            },
            "findings": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "status",
                  "severity",
                  "evidence",
                  "fix"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Versioned check ID"
                  },
                  "status": {
                    "type": "string",
                    "description": "pass, warn, fail, skip or unknown"
                  },
                  "severity": {
                    "type": "string",
                    "description": "critical, major or minor"
                  },
                  "evidence": {
                    "type": "string",
                    "description": "Generated safe reason code, never target content"
                  },
                  "fix": {
                    "type": "string",
                    "description": "Fixed corrective advice"
                  }
                }
              }
            },
            "coverage": {
              "type": "object"
            }
          }
        }
      }
    }
  },
  "404": {
    "description": "Unknown or inaccessible record.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        }
      }
    }
  },
  "410": {
    "description": "Artifact expired; receipt recovery remains available. No automatic repurchase.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "job_id",
            "state",
            "flow"
          ],
          "properties": {
            "job_id": {
              "type": "string",
              "description": "Opaque job identifier. Retain with the recovery capability."
            },
            "state": {
              "type": "string",
              "enum": [
                "queued",
                "running",
                "result-ready",
                "settlement-pending",
                "complete",
                "failed-uncharged",
                "expired-uncharged",
                "reconciliation-required"
              ]
            },
            "flow": {
              "enum": [
                "compute-then-pay",
                "quote-first-async"
              ]
            },
            "retry_after": {
              "type": "integer"
            },
            "recovery_capability": {
              "type": "string",
              "description": "Secret capability, returned at admission only. Send in X-Mekler-Scan-Capability; never in a URL."
            },
            "report_id": {
              "type": "string",
              "description": "Opaque public report identifier, present after payment confirmation."
            },
            "error": {
              "type": "string",
              "description": "Stable safe error code."
            },
            "purchase_id": {
              "type": "string",
              "description": "Payment recovery reference, visible only with capability."
            }
          }
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "name": "report_id",
    "in": "query",
    "required": true,
    "schema": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "description": "64 lowercase hexadecimal characters returned by a completed paid scan. Required for report retrieval; alternative to job_id/capability for status."
  },
  {
    "name": "X-Mekler-Scan-Capability",
    "in": "header",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "Required when using job_id. Private capability returned by the admitted scan; never place it in a URL."
  }
]

Read both independent check catalogs, grading rules, versions and evaluation coverage

GET /v1/services/conformance/list-conformance-checks

Follow the authentication, capability and prerequisite requirements below.

Read both independent check catalogs, grading rules, versions and evaluation coverage.

Response status

200
Read both independent check catalogs, grading rules, versions and evaluation coverage.
404
Unknown or inaccessible record.
410
Artifact expired; receipt recovery remains available. No automatic repurchase.
Complete schema: request body
{}
Complete schema: responses and errors
{
  "200": {
    "description": "Read both independent check catalogs, grading rules, versions and evaluation coverage.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        }
      }
    }
  },
  "404": {
    "description": "Unknown or inaccessible record.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        }
      }
    }
  },
  "410": {
    "description": "Artifact expired; receipt recovery remains available. No automatic repurchase.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "job_id",
            "state",
            "flow"
          ],
          "properties": {
            "job_id": {
              "type": "string",
              "description": "Opaque job identifier. Retain with the recovery capability."
            },
            "state": {
              "type": "string",
              "enum": [
                "queued",
                "running",
                "result-ready",
                "settlement-pending",
                "complete",
                "failed-uncharged",
                "expired-uncharged",
                "reconciliation-required"
              ]
            },
            "flow": {
              "enum": [
                "compute-then-pay",
                "quote-first-async"
              ]
            },
            "retry_after": {
              "type": "integer"
            },
            "recovery_capability": {
              "type": "string",
              "description": "Secret capability, returned at admission only. Send in X-Mekler-Scan-Capability; never in a URL."
            },
            "report_id": {
              "type": "string",
              "description": "Opaque public report identifier, present after payment confirmation."
            },
            "error": {
              "type": "string",
              "description": "Stable safe error code."
            },
            "purchase_id": {
              "type": "string",
              "description": "Payment recovery reference, visible only with capability."
            }
          }
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

Scan an x402 service origin for protocol and discovery conformance

POST /v1/services/conformance/scan-origin

0.05 USDC per completed scan

Service scope, examples and recovery →

Diagnose a public x402 origin with 25 linter and 14 compliance checks, plus six separate request-example/schema and challenge consistency diagnostics. Use quote_mode fast for an immediate 402, resend unchanged input with one payment proof, then poll using the returned capability. Successful reports are stored before settlement. Examples are checked offline, never replayed; unsupported schemas stay unknown. No target payment, paid-delivery verification or safety guarantee.

Input fields

origin Required · string
Public HTTP(S) origin only; no path, credentials, query or fragment. Standard port only.
idempotency_key Optional · string
Required in default compute-first mode; optional in fast mode, where the original payment proof itself is the retry identity. If supplied, generate at least 128 random bits and reuse for every retry. One proof per job for at least 90 days; changed input or a second proof returns 409.
paths Optional · array
Optional same-origin paths to probe with unsigned GET/HEAD. No query strings, fragments or credential-bearing input. Otherwise discover paid routes from OpenAPI and the x402 manifest.
quote_mode Optional · string
Optional payable first quote. The unchanged input plus proof admits an asynchronous scan; settlement follows stored successful output.

Response status

200
Confirmed payment; complete report.
202
Durable asynchronous job or payment pending, not completed output. Save job_id and recovery_capability; poll GET status. Keep original body and proof for POST recovery; do not sign another payment.
400
Invalid input or payment.
402
Genuine payable offer for valid fast input, or for a result-ready default job with capability. Empty input remains nonpayable discovery preflight. Quotes expire in 120 seconds; rail authorization may expire sooner.
409
Changed input or another payment already bound to this job; recover the original attempt.
410
Expired job/artifact, no charge or new work.
429
Unpaid admission limit; retry after indicated delay.
503
Unavailable; retry identical request and original proof.
413
Request exceeds 64 KiB.
415
Use application/json.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "origin"
        ],
        "properties": {
          "origin": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Public HTTP(S) origin only; no path, credentials, query or fragment. Standard port only."
          },
          "idempotency_key": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{22,128}$",
            "description": "Required in default compute-first mode; optional in fast mode, where the original payment proof itself is the retry identity. If supplied, generate at least 128 random bits and reuse for every retry. One proof per job for at least 90 days; changed input or a second proof returns 409."
          },
          "paths": {
            "type": "array",
            "maxItems": 50,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^/",
              "maxLength": 1024
            },
            "description": "Optional same-origin paths to probe with unsigned GET/HEAD. No query strings, fragments or credential-bearing input. Otherwise discover paid routes from OpenAPI and the x402 manifest."
          },
          "quote_mode": {
            "type": "string",
            "enum": [
              "fast"
            ],
            "description": "Optional payable first quote. The unchanged input plus proof admits an asynchronous scan; settlement follows stored successful output."
          }
        },
        "anyOf": [
          {
            "required": [
              "quote_mode"
            ]
          },
          {
            "required": [
              "idempotency_key"
            ]
          }
        ]
      },
      "example": {
        "origin": "https://api.mekler.ai",
        "quote_mode": "fast"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Confirmed payment; complete report.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "report_id",
            "checks_version",
            "scanned_at",
            "expires_at",
            "linter",
            "compliance",
            "findings"
          ],
          "properties": {
            "report_id": {
              "type": "string",
              "description": "Opaque ID"
            },
            "checks_version": {
              "type": "string",
              "description": "Mekler grading/check version"
            },
            "scanned_at": {
              "type": "integer"
            },
            "expires_at": {
              "type": "integer"
            },
            "linter": {
              "type": "object"
            },
            "compliance": {
              "type": "object"
            },
            "findings": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "status",
                  "severity",
                  "evidence",
                  "fix"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Versioned check ID"
                  },
                  "status": {
                    "type": "string",
                    "description": "pass, warn, fail, skip or unknown"
                  },
                  "severity": {
                    "type": "string",
                    "description": "critical, major or minor"
                  },
                  "evidence": {
                    "type": "string",
                    "description": "Generated safe reason code, never target content"
                  },
                  "fix": {
                    "type": "string",
                    "description": "Fixed corrective advice"
                  }
                }
              }
            },
            "coverage": {
              "type": "object"
            },
            "diagnostics": {
              "type": "object",
              "description": "Optional on older reports. Versioned E1-E6 offline schema and unsigned challenge diagnostics; separate from grades. Contains version, bounds, summary and findings with generated subjects and fixed text."
            }
          }
        },
        "example": {
          "checks_version": "mekler-2026-10-07.1",
          "linter": {
            "score": 89,
            "grade": "B",
            "categories": {
              "protocol": 100,
              "docs": 68,
              "directory": 100
            },
            "evaluated": 20,
            "total": 25,
            "provisional": true,
            "rules_version": "mekler-2026-10-07.1"
          },
          "compliance": {
            "score": 100,
            "grade": "A",
            "evaluated": 14,
            "total": 14,
            "provisional": false,
            "rules_version": "mekler-2026-10-07.1"
          },
          "findings": [
            {
              "id": "P1",
              "title": "http-reachable",
              "severity": "critical",
              "category": "protocol",
              "status": "pass",
              "evidence": "criterion_satisfied",
              "fix": "Serve a reachable public HTTP endpoint."
            }
          ],
          "coverage": {
            "paid_routes_probed": 1,
            "head_observations": 1,
            "chain_checks": "not_evaluated",
            "delivery_verified": false,
            "raw_content_published": false
          },
          "report_id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
          "scanned_at": 1791331200,
          "expires_at": 1791417600,
          "diagnostics": {
            "version": "mekler-inputs-2026-10-19.1",
            "summary": {
              "pass": 1,
              "fail": 0,
              "warn": 0,
              "unknown": 0,
              "skip": 0
            },
            "findings": [
              {
                "id": "E1",
                "subject": "operation_01",
                "title": "Request example satisfies its schema",
                "status": "pass",
                "evidence": "example_matches_supported_schema",
                "fix": "Publish an application/json example that satisfies the declared request schema, including every required field."
              }
            ],
            "examples_replayed": false,
            "paid_delivery_verified": false
          }
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON payment receipt.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Durable asynchronous job or payment pending, not completed output. Save job_id and recovery_capability; poll GET status. Keep original body and proof for POST recovery; do not sign another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "job_id",
            "state",
            "flow"
          ],
          "properties": {
            "job_id": {
              "type": "string",
              "description": "Opaque job identifier. Retain with the recovery capability."
            },
            "state": {
              "type": "string",
              "enum": [
                "queued",
                "running",
                "result-ready",
                "settlement-pending",
                "complete",
                "failed-uncharged",
                "expired-uncharged",
                "reconciliation-required",
                "report-expired"
              ]
            },
            "flow": {
              "enum": [
                "compute-then-pay",
                "quote-first-async"
              ]
            },
            "retry_after": {
              "type": "integer"
            },
            "recovery_capability": {
              "type": "string",
              "description": "Secret capability, returned at admission only. Send in X-Mekler-Scan-Capability; never in a URL."
            },
            "report_id": {
              "type": "string",
              "description": "Opaque report identifier; public access begins only after confirmed settlement."
            },
            "error": {
              "type": "string",
              "description": "Stable safe error code."
            },
            "purchase_id": {
              "type": "string",
              "description": "Payment recovery reference, visible only with capability."
            },
            "receipt": {
              "type": "object",
              "properties": {
                "network": {
                  "type": "string"
                },
                "transaction": {
                  "type": "string"
                },
                "finalized": {
                  "const": true
                }
              }
            }
          }
        },
        "example": {
          "job_id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
          "state": "queued",
          "flow": "compute-then-pay"
        }
      }
    },
    "headers": {
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "Genuine payable offer for valid fast input, or for a result-ready default job with capability. Empty input remains nonpayable discovery preflight. Quotes expire in 120 seconds; rail authorization may expire sooner.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "payment_required"
        }
      }
    },
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 challenge. Sign only when the stored result is ready.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "409": {
    "description": "Changed input or another payment already bound to this job; recover the original attempt.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "job_id",
            "state",
            "flow"
          ],
          "properties": {
            "job_id": {
              "type": "string",
              "description": "Opaque job identifier. Retain with the recovery capability."
            },
            "state": {
              "type": "string",
              "enum": [
                "queued",
                "running",
                "result-ready",
                "settlement-pending",
                "complete",
                "failed-uncharged",
                "expired-uncharged",
                "reconciliation-required"
              ]
            },
            "flow": {
              "enum": [
                "compute-then-pay",
                "quote-first-async"
              ]
            },
            "retry_after": {
              "type": "integer"
            },
            "recovery_capability": {
              "type": "string",
              "description": "Secret capability, returned at admission only. Send in X-Mekler-Scan-Capability; never in a URL."
            },
            "report_id": {
              "type": "string",
              "description": "Opaque public report identifier, present after payment confirmation."
            },
            "error": {
              "type": "string",
              "description": "Stable safe error code."
            },
            "purchase_id": {
              "type": "string",
              "description": "Payment recovery reference, visible only with capability."
            }
          }
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "410": {
    "description": "Expired job/artifact, no charge or new work.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "job_id",
            "state",
            "flow"
          ],
          "properties": {
            "job_id": {
              "type": "string",
              "description": "Opaque job identifier. Retain with the recovery capability."
            },
            "state": {
              "type": "string",
              "enum": [
                "queued",
                "running",
                "result-ready",
                "settlement-pending",
                "complete",
                "failed-uncharged",
                "expired-uncharged",
                "reconciliation-required"
              ]
            },
            "flow": {
              "enum": [
                "compute-then-pay",
                "quote-first-async"
              ]
            },
            "retry_after": {
              "type": "integer"
            },
            "recovery_capability": {
              "type": "string",
              "description": "Secret capability, returned at admission only. Send in X-Mekler-Scan-Capability; never in a URL."
            },
            "report_id": {
              "type": "string",
              "description": "Opaque public report identifier, present after payment confirmation."
            },
            "error": {
              "type": "string",
              "description": "Stable safe error code."
            },
            "purchase_id": {
              "type": "string",
              "description": "Payment recovery reference, visible only with capability."
            }
          }
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "429": {
    "description": "Unpaid admission limit; retry after indicated delay.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "503": {
    "description": "Unavailable; retry identical request and original proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 64 KiB.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "Use application/json.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "name": "PAYMENT-SIGNATURE",
    "in": "header",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "Buyer-authorized x402 proof; never forwarded to the scanned service."
  },
  {
    "name": "X-Mekler-Scan-Capability",
    "in": "header",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "Recovery secret issued at admission."
  }
]

Search x402 service listings

GET /v1/services/listings/search-listings

Follow the authentication, capability and prerequisite requirements below.

Find x402 services imported from attributed catalogs or scanned by Mekler. Filter by task text, host, category, network, source, tier, grade or owner control. Unknown grades, prices and health remain unknown. Payment-ready means a recent valid unsigned challenge; it does not certify useful paid delivery. Immutable cursors retain ordering while current privacy controls still apply.

Response status

200
Successful response. Examples use synthetic identifiers; retain actual returned values.
400
Invalid input. No charge.
403
Invalid, revoked, stale or expired ownership credential.
404
Listing or proof not found.
409
Conflicting idempotency, revision or proof. Keep the original payment.
410
Expired proof, cursor or stored result. Never replace a pending payment.
413
Body exceeds 65536 bytes.
415
Use application/json.
429
Per-IP request quota; retry after 60 seconds.
503
Temporary failure. Retry the identical input and original proof.
Complete schema: request body
{}
Complete schema: responses and errors
{
  "200": {
    "description": "Successful response. Examples use synthetic identifiers; retain actual returned values.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "listings": {
              "type": "array",
              "maxItems": 100,
              "items": {
                "type": "object",
                "properties": {
                  "listing_id": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "pattern": "^[a-f0-9]{64}$"
                  },
                  "first_seen": {
                    "type": "integer"
                  },
                  "scan_count": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "at": {
                    "type": "integer"
                  },
                  "report_id": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "pattern": "^[a-f0-9]{64}$"
                  },
                  "grade": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "enum": [
                      "A",
                      "B",
                      "C",
                      "D",
                      "F",
                      null
                    ]
                  },
                  "score": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "minimum": 0,
                    "maximum": 100
                  },
                  "owner_verified": {
                    "type": "boolean"
                  },
                  "branding": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "maxLength": 100
                      },
                      "description": {
                        "type": "string",
                        "maxLength": 500
                      },
                      "category": {
                        "type": "string",
                        "enum": [
                          "data",
                          "research",
                          "web",
                          "compute",
                          "finance",
                          "email",
                          "images",
                          "other"
                        ]
                      },
                      "icon_url": {
                        "type": "string",
                        "format": "uri"
                      },
                      "image_url": {
                        "type": "string",
                        "format": "uri"
                      }
                    },
                    "required": [],
                    "additionalProperties": false
                  },
                  "branding_verified": {
                    "const": false
                  },
                  "branding_provenance": {
                    "type": "object",
                    "properties": {
                      "identity_reviewed": {
                        "type": "boolean"
                      },
                      "claims_verified": {
                        "const": false
                      },
                      "source": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "reviewed_at": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      }
                    },
                    "required": [
                      "identity_reviewed",
                      "claims_verified",
                      "source",
                      "reviewed_at"
                    ],
                    "additionalProperties": false
                  },
                  "origin": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "category": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "source": {
                    "enum": [
                      "mekler-conformance",
                      "x402-list"
                    ]
                  },
                  "provenance": {
                    "type": "object",
                    "properties": {
                      "scoring": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "paid_delivery_verified": {
                        "const": false
                      }
                    },
                    "required": [
                      "scoring",
                      "paid_delivery_verified"
                    ],
                    "additionalProperties": false
                  },
                  "featured": {
                    "type": "boolean"
                  },
                  "sources": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "networks": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "tier": {
                    "enum": [
                      "unverified",
                      "payment-ready",
                      "delivery-verified"
                    ]
                  },
                  "health": {
                    "type": "object"
                  },
                  "external_traffic": {
                    "type": "object"
                  },
                  "tasks": {
                    "type": "array",
                    "maxItems": 32,
                    "items": {
                      "type": "string",
                      "maxLength": 40
                    }
                  },
                  "routes": {
                    "type": "array",
                    "maxItems": 50,
                    "items": {
                      "type": "object"
                    }
                  },
                  "route_count": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 50
                  },
                  "monitoring_route_limit": {
                    "const": 50
                  },
                  "monitoring_routes_truncated": {
                    "type": "boolean"
                  },
                  "min_listed_price_usd": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "listing_id",
                  "first_seen",
                  "scan_count",
                  "at",
                  "report_id",
                  "grade",
                  "score",
                  "owner_verified",
                  "branding",
                  "branding_verified",
                  "branding_provenance",
                  "origin",
                  "category",
                  "source",
                  "provenance",
                  "featured"
                ],
                "additionalProperties": false
              }
            },
            "total": {
              "type": "integer"
            },
            "next_cursor": {
              "type": [
                "string",
                "null"
              ]
            },
            "snapshot_at": {
              "type": "integer"
            },
            "featured_policy": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "listings",
            "total",
            "next_cursor",
            "snapshot_at",
            "featured_policy"
          ],
          "additionalProperties": false
        },
        "example": {
          "listings": [],
          "total": 0,
          "next_cursor": null,
          "snapshot_at": 0,
          "featured_policy": "A within 30 days; at least two scans spanning one day; recency ordering; no paid influence"
        }
      }
    }
  },
  "400": {
    "description": "Invalid input. No charge."
  },
  "403": {
    "description": "Invalid, revoked, stale or expired ownership credential."
  },
  "404": {
    "description": "Listing or proof not found."
  },
  "409": {
    "description": "Conflicting idempotency, revision or proof. Keep the original payment."
  },
  "410": {
    "description": "Expired proof, cursor or stored result. Never replace a pending payment."
  },
  "413": {
    "description": "Body exceeds 65536 bytes."
  },
  "415": {
    "description": "Use application/json."
  },
  "429": {
    "description": "Per-IP request quota; retry after 60 seconds."
  },
  "503": {
    "description": "Temporary failure. Retry the identical input and original proof."
  }
}
Complete schema: parameters and headers
[
  {
    "name": "text",
    "in": "query",
    "required": false,
    "schema": {
      "type": "string",
      "maxLength": 100
    }
  },
  {
    "name": "host",
    "in": "query",
    "required": false,
    "schema": {
      "type": "string",
      "maxLength": 100
    }
  },
  {
    "name": "category",
    "in": "query",
    "required": false,
    "schema": {
      "type": "string",
      "enum": [
        "data",
        "research",
        "web",
        "compute",
        "finance",
        "email",
        "images",
        "other"
      ]
    }
  },
  {
    "name": "grade",
    "in": "query",
    "required": false,
    "schema": {
      "type": "string",
      "enum": [
        "A",
        "B",
        "C",
        "D",
        "F"
      ]
    }
  },
  {
    "name": "owner_verified",
    "in": "query",
    "required": false,
    "schema": {
      "type": "boolean"
    }
  },
  {
    "name": "featured",
    "in": "query",
    "required": false,
    "schema": {
      "type": "boolean"
    }
  },
  {
    "name": "sort",
    "in": "query",
    "required": false,
    "schema": {
      "type": "string",
      "enum": [
        "recency",
        "grade",
        "uptime",
        "price"
      ],
      "default": "recency"
    }
  },
  {
    "name": "limit",
    "in": "query",
    "required": false,
    "schema": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    }
  },
  {
    "name": "cursor",
    "in": "query",
    "required": false,
    "schema": {
      "type": "string",
      "maxLength": 2048
    }
  },
  {
    "in": "query",
    "name": "network",
    "required": false,
    "schema": {
      "type": "string",
      "maxLength": 100
    }
  },
  {
    "in": "query",
    "name": "source",
    "required": false,
    "schema": {
      "type": "string",
      "maxLength": 100
    }
  },
  {
    "in": "query",
    "name": "tier",
    "required": false,
    "schema": {
      "type": "string",
      "enum": [
        "unverified",
        "payment-ready",
        "delivery-verified"
      ]
    }
  },
  {
    "in": "query",
    "name": "include_delisted",
    "required": false,
    "schema": {
      "type": "boolean",
      "default": false
    }
  }
]

Retrieve a service listing

GET /v1/services/listings/retrieve-listing

Follow the authentication, capability and prerequisite requirements below.

Read one visible directory listing, attributed source assertions, measured reachability, endpoint offers and available linter grades. Imports start ungraded; identity-reviewed business wording does not verify seller claims or paid delivery.

Response status

200
Successful response. Examples use synthetic identifiers; retain actual returned values.
400
Invalid input. No charge.
403
Invalid, revoked, stale or expired ownership credential.
404
Listing or proof not found.
409
Conflicting idempotency, revision or proof. Keep the original payment.
410
Expired proof, cursor or stored result. Never replace a pending payment.
413
Body exceeds 65536 bytes.
415
Use application/json.
429
Per-IP request quota; retry after 60 seconds.
503
Temporary failure. Retry the identical input and original proof.
Complete schema: request body
{}
Complete schema: responses and errors
{
  "200": {
    "description": "Successful response. Examples use synthetic identifiers; retain actual returned values.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "listing_id": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^[a-f0-9]{64}$"
            },
            "first_seen": {
              "type": "integer"
            },
            "scan_count": {
              "type": "integer",
              "minimum": 0
            },
            "at": {
              "type": "integer"
            },
            "report_id": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^[a-f0-9]{64}$"
            },
            "grade": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                "A",
                "B",
                "C",
                "D",
                "F",
                null
              ]
            },
            "score": {
              "type": [
                "number",
                "null"
              ],
              "minimum": 0,
              "maximum": 100
            },
            "owner_verified": {
              "type": "boolean"
            },
            "branding": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "maxLength": 100
                },
                "description": {
                  "type": "string",
                  "maxLength": 500
                },
                "category": {
                  "type": "string",
                  "enum": [
                    "data",
                    "research",
                    "web",
                    "compute",
                    "finance",
                    "email",
                    "images",
                    "other"
                  ]
                },
                "icon_url": {
                  "type": "string",
                  "format": "uri"
                },
                "image_url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [],
              "additionalProperties": false
            },
            "branding_verified": {
              "const": false
            },
            "branding_provenance": {
              "type": "object",
              "properties": {
                "identity_reviewed": {
                  "type": "boolean"
                },
                "claims_verified": {
                  "const": false
                },
                "source": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "reviewed_at": {
                  "type": [
                    "integer",
                    "null"
                  ]
                }
              },
              "required": [
                "identity_reviewed",
                "claims_verified",
                "source",
                "reviewed_at"
              ],
              "additionalProperties": false
            },
            "origin": {
              "type": [
                "string",
                "null"
              ]
            },
            "category": {
              "type": [
                "string",
                "null"
              ]
            },
            "source": {
              "enum": [
                "mekler-conformance",
                "x402-list"
              ]
            },
            "provenance": {
              "type": "object",
              "properties": {
                "scoring": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "paid_delivery_verified": {
                  "const": false
                }
              },
              "required": [
                "scoring",
                "paid_delivery_verified"
              ],
              "additionalProperties": false
            },
            "featured": {
              "type": "boolean"
            },
            "compliance": {
              "type": "object"
            },
            "grade_history": {
              "type": "array",
              "maxItems": 100,
              "items": {
                "type": "object",
                "properties": {
                  "at": {
                    "type": "integer"
                  },
                  "grade": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "enum": [
                      "A",
                      "B",
                      "C",
                      "D",
                      "F",
                      null
                    ]
                  },
                  "score": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "minimum": 0,
                    "maximum": 100
                  }
                },
                "required": [
                  "at",
                  "grade",
                  "score"
                ],
                "additionalProperties": false
              }
            },
            "history_limit": {
              "const": 100
            },
            "history_truncated": {
              "type": "boolean"
            },
            "sources": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "networks": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "tier": {
              "enum": [
                "unverified",
                "payment-ready",
                "delivery-verified"
              ]
            },
            "health": {
              "type": "object"
            },
            "external_traffic": {
              "type": "object"
            },
            "tasks": {
              "type": "array",
              "maxItems": 32,
              "items": {
                "type": "string",
                "maxLength": 40
              }
            },
            "routes": {
              "type": "array",
              "maxItems": 50,
              "items": {
                "type": "object"
              }
            },
            "route_count": {
              "type": "integer",
              "minimum": 0,
              "maximum": 50
            },
            "monitoring_route_limit": {
              "const": 50
            },
            "monitoring_routes_truncated": {
              "type": "boolean"
            },
            "min_listed_price_usd": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "listing_id",
            "first_seen",
            "scan_count",
            "at",
            "report_id",
            "grade",
            "score",
            "owner_verified",
            "branding",
            "branding_verified",
            "branding_provenance",
            "origin",
            "category",
            "source",
            "provenance",
            "featured",
            "compliance",
            "grade_history",
            "history_limit",
            "history_truncated"
          ],
          "additionalProperties": false
        },
        "example": {
          "listing_id": "0000000000000000000000000000000000000000000000000000000000000000",
          "first_seen": 1800000000,
          "scan_count": 1,
          "at": 1800000000,
          "report_id": "0000000000000000000000000000000000000000000000000000000000000000",
          "grade": "B",
          "score": 80,
          "owner_verified": false,
          "branding": {},
          "branding_verified": false,
          "branding_provenance": {
            "identity_reviewed": false,
            "claims_verified": false,
            "source": null,
            "reviewed_at": null
          },
          "origin": null,
          "category": "other",
          "source": "mekler-conformance",
          "provenance": {
            "scoring": "mekler-linter-v1",
            "paid_delivery_verified": false
          },
          "featured": false,
          "compliance": {
            "score": 100,
            "grade": "A",
            "evaluated": 14,
            "total": 14,
            "provisional": false,
            "rules_version": "mekler-2026-10-07.1"
          },
          "grade_history": [
            {
              "at": 1800000000,
              "grade": "B",
              "score": 80
            }
          ],
          "history_limit": 100,
          "history_truncated": false
        }
      }
    }
  },
  "400": {
    "description": "Invalid input. No charge."
  },
  "403": {
    "description": "Invalid, revoked, stale or expired ownership credential."
  },
  "404": {
    "description": "Listing or proof not found."
  },
  "409": {
    "description": "Conflicting idempotency, revision or proof. Keep the original payment."
  },
  "410": {
    "description": "Expired proof, cursor or stored result. Never replace a pending payment."
  },
  "413": {
    "description": "Body exceeds 65536 bytes."
  },
  "415": {
    "description": "Use application/json."
  },
  "429": {
    "description": "Per-IP request quota; retry after 60 seconds."
  },
  "503": {
    "description": "Temporary failure. Retry the identical input and original proof."
  }
}
Complete schema: parameters and headers
[
  {
    "name": "listing_id",
    "in": "query",
    "required": true,
    "schema": {
      "type": "string",
      "maxLength": 258,
      "description": "Visible listing identity, its unique 16-character public reference, or exact service host including an optional port. Hidden, unknown and ambiguous references return 404."
    }
  }
]

Start a domain ownership proof

POST /v1/services/listings/start-ownership-proof

Follow the authentication, capability and prerequisite requirements below.

Start a one-hour domain challenge bound to your private random 32-byte requester key in lowercase hex. Publish the returned JSON exactly at its HTTPS well-known URL. Keep the requester key private. An imported directory listing or completed scan is required before confirmation. No payment or target credentials are sent. Optionally supply contact_email and email_consent true for transactional verification/recovery/outcome messages. Contact stays private and must be verified by a mailed code after domain confirmation. No message is sent before successful domain proof.

Input fields

origin Required · string
See the complete request schema for values and bounds.
requester_key Required · string or null
See the complete request schema for values and bounds.
contact_email Optional · string
See the complete request schema for values and bounds.
email_consent Optional · boolean
See the complete request schema for values and bounds.

Response status

200
Successful response. Examples use synthetic identifiers; retain actual returned values.
400
Invalid input. No charge.
403
Invalid, revoked, stale or expired ownership credential.
404
Listing or proof not found.
409
Conflicting idempotency, revision or proof. Keep the original payment.
410
Expired proof, cursor or stored result. Never replace a pending payment.
413
Body exceeds 65536 bytes.
415
Use application/json.
429
Per-IP request quota; retry after 60 seconds.
503
Temporary failure. Retry the identical input and original proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "properties": {
          "origin": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          },
          "requester_key": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[a-f0-9]{64}$"
          },
          "contact_email": {
            "type": "string",
            "format": "email",
            "maxLength": 254
          },
          "email_consent": {
            "const": true,
            "type": "boolean"
          }
        },
        "required": [
          "origin",
          "requester_key"
        ],
        "additionalProperties": false,
        "dependentRequired": {
          "contact_email": [
            "email_consent"
          ],
          "email_consent": [
            "contact_email"
          ]
        }
      },
      "example": {
        "origin": "https://api.mekler.ai",
        "requester_key": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Successful response. Examples use synthetic identifiers; retain actual returned values.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "challenge_id": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^[a-f0-9]{64}$"
            },
            "listing_id": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^[a-f0-9]{64}$"
            },
            "expires_at": {
              "type": "integer"
            },
            "url": {
              "type": "string",
              "format": "uri"
            },
            "document": {
              "type": "object",
              "properties": {
                "version": {
                  "const": 1
                },
                "challenge_id": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "^[a-f0-9]{64}$"
                },
                "requester_hash": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "^[a-f0-9]{64}$"
                }
              },
              "required": [
                "version",
                "challenge_id",
                "requester_hash"
              ],
              "additionalProperties": false
            },
            "contact_status": {
              "type": "string",
              "enum": [
                "pending_domain_proof",
                "verification_required",
                "verified"
              ]
            },
            "contact_code_expires_at": {
              "type": [
                "integer",
                "null"
              ]
            }
          },
          "required": [
            "challenge_id",
            "listing_id",
            "expires_at",
            "url",
            "document"
          ],
          "additionalProperties": false
        },
        "example": {
          "challenge_id": "0000000000000000000000000000000000000000000000000000000000000000",
          "listing_id": "0000000000000000000000000000000000000000000000000000000000000000",
          "expires_at": 1800003600,
          "url": "https://api.mekler.ai/.well-known/mekler-conformance-challenge",
          "document": {
            "version": 1,
            "challenge_id": "0000000000000000000000000000000000000000000000000000000000000000",
            "requester_hash": "0000000000000000000000000000000000000000000000000000000000000000"
          }
        }
      }
    }
  },
  "400": {
    "description": "Invalid input. No charge."
  },
  "403": {
    "description": "Invalid, revoked, stale or expired ownership credential."
  },
  "404": {
    "description": "Listing or proof not found."
  },
  "409": {
    "description": "Conflicting idempotency, revision or proof. Keep the original payment."
  },
  "410": {
    "description": "Expired proof, cursor or stored result. Never replace a pending payment."
  },
  "413": {
    "description": "Body exceeds 65536 bytes."
  },
  "415": {
    "description": "Use application/json."
  },
  "429": {
    "description": "Per-IP request quota; retry after 60 seconds."
  },
  "503": {
    "description": "Temporary failure. Retry the identical input and original proof."
  }
}
Complete schema: parameters and headers
[]

Confirm a domain ownership proof

POST /v1/services/listings/confirm-ownership-proof

Follow the authentication, capability and prerequisite requirements below.

Confirm a one-hour domain challenge with the same private requester key. Exact HTTPS origin and path must match. Returns a 90 day listing-control credential; identical retries recover that grant. A new proof revokes prior credentials. Confirmation does not approve branding or change grades. For a pending private contact, retry the original challenge_id/requester_key with contact_code. For a correction, use update_id and its private requester_key; an exact update-bound domain file queues review without publishing the proposed fields.

Input fields

challenge_id Optional · string or null
See the complete request schema for values and bounds.
requester_key Optional · string or null
See the complete request schema for values and bounds.
contact_code Optional · string
See the complete request schema for values and bounds.
update_id Optional · string
See the complete request schema for values and bounds.

Response status

200
Successful response. Examples use synthetic identifiers; retain actual returned values.
400
Invalid input. No charge.
403
Invalid, revoked, stale or expired ownership credential.
404
Listing or proof not found.
409
Conflicting idempotency, revision or proof. Keep the original payment.
410
Expired proof, cursor or stored result. Never replace a pending payment.
413
Body exceeds 65536 bytes.
415
Use application/json.
429
Per-IP request quota; retry after 60 seconds.
503
Temporary failure. Retry the identical input and original proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "properties": {
          "challenge_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[a-f0-9]{64}$"
          },
          "requester_key": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[a-f0-9]{64}$"
          },
          "contact_code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "update_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          }
        },
        "required": [],
        "additionalProperties": false,
        "oneOf": [
          {
            "required": [
              "challenge_id",
              "requester_key"
            ],
            "not": {
              "required": [
                "update_id"
              ]
            }
          },
          {
            "required": [
              "update_id",
              "requester_key"
            ],
            "not": {
              "anyOf": [
                {
                  "required": [
                    "challenge_id"
                  ]
                },
                {
                  "required": [
                    "contact_code"
                  ]
                }
              ]
            }
          }
        ]
      },
      "example": {
        "challenge_id": "0000000000000000000000000000000000000000000000000000000000000000",
        "requester_key": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Successful response. Examples use synthetic identifiers; retain actual returned values.",
    "content": {
      "application/json": {
        "schema": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "listing_id": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "^[a-f0-9]{64}$"
                },
                "control_credential": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "^[a-f0-9]{64}$"
                },
                "expires_at": {
                  "type": "integer"
                },
                "revision": {
                  "type": "integer"
                },
                "contact_status": {
                  "type": "string",
                  "enum": [
                    "pending_domain_proof",
                    "verification_required",
                    "verified"
                  ]
                },
                "contact_code_expires_at": {
                  "type": [
                    "integer",
                    "null"
                  ]
                }
              },
              "required": [
                "listing_id",
                "control_credential",
                "expires_at",
                "revision"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "request_id": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "state": {
                  "type": "string"
                },
                "review_deadline": {
                  "type": "integer"
                }
              },
              "required": [
                "request_id",
                "state",
                "review_deadline"
              ],
              "additionalProperties": false
            }
          ]
        },
        "example": {
          "listing_id": "0000000000000000000000000000000000000000000000000000000000000000",
          "control_credential": "0000000000000000000000000000000000000000000000000000000000000000",
          "expires_at": 1807776000,
          "revision": 1
        }
      }
    }
  },
  "400": {
    "description": "Invalid input. No charge."
  },
  "403": {
    "description": "Invalid, revoked, stale or expired ownership credential."
  },
  "404": {
    "description": "Listing or proof not found."
  },
  "409": {
    "description": "Conflicting idempotency, revision or proof. Keep the original payment."
  },
  "410": {
    "description": "Expired proof, cursor or stored result. Never replace a pending payment."
  },
  "413": {
    "description": "Body exceeds 65536 bytes."
  },
  "415": {
    "description": "Use application/json."
  },
  "429": {
    "description": "Per-IP request quota; retry after 60 seconds."
  },
  "503": {
    "description": "Temporary failure. Retry the identical input and original proof."
  }
}
Complete schema: parameters and headers
[]

Update listing visibility and branding preferences

POST /v1/services/listings/update-listing-preferences

Follow the authentication, capability and prerequisite requirements below.

Use X-Mekler-Listing-Control and the expected revision to hide a listing, suppress branding or revoke access. Domain proof is rechecked after seven days; failed, stale, revoked or expired credentials deny control. Concurrent writes return 409. Suppression affects current reads, new exports/feed pages and old search cursors; previously purchased snapshots remain recoverable.

Input fields

listing_id Required · string or null
See the complete request schema for values and bounds.
revision Required · integer
See the complete request schema for values and bounds.
hidden Optional · boolean
See the complete request schema for values and bounds.
suppress_branding Optional · boolean
See the complete request schema for values and bounds.
revoke Optional · boolean
See the complete request schema for values and bounds.

Response status

200
Successful response. Examples use synthetic identifiers; retain actual returned values.
400
Invalid input. No charge.
403
Invalid, revoked, stale or expired ownership credential.
404
Listing or proof not found.
409
Conflicting idempotency, revision or proof. Keep the original payment.
410
Expired proof, cursor or stored result. Never replace a pending payment.
413
Body exceeds 65536 bytes.
415
Use application/json.
429
Per-IP request quota; retry after 60 seconds.
503
Temporary failure. Retry the identical input and original proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "properties": {
          "listing_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[a-f0-9]{64}$"
          },
          "revision": {
            "type": "integer",
            "minimum": 0
          },
          "hidden": {
            "type": "boolean"
          },
          "suppress_branding": {
            "type": "boolean"
          },
          "revoke": {
            "type": "boolean"
          }
        },
        "required": [
          "listing_id",
          "revision"
        ],
        "additionalProperties": false
      },
      "example": {
        "listing_id": "0000000000000000000000000000000000000000000000000000000000000000",
        "revision": 1,
        "suppress_branding": true
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Successful response. Examples use synthetic identifiers; retain actual returned values.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "listing_id": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^[a-f0-9]{64}$"
            },
            "revision": {
              "type": "integer"
            },
            "hidden": {
              "type": "boolean"
            },
            "suppress_branding": {
              "type": "boolean"
            },
            "credential_revoked": {
              "type": "boolean"
            }
          },
          "required": [
            "listing_id",
            "revision",
            "hidden",
            "suppress_branding",
            "credential_revoked"
          ],
          "additionalProperties": false
        },
        "example": {
          "listing_id": "0000000000000000000000000000000000000000000000000000000000000000",
          "revision": 2,
          "hidden": false,
          "suppress_branding": true,
          "credential_revoked": false
        }
      }
    }
  },
  "400": {
    "description": "Invalid input. No charge."
  },
  "403": {
    "description": "Invalid, revoked, stale or expired ownership credential."
  },
  "404": {
    "description": "Listing or proof not found."
  },
  "409": {
    "description": "Conflicting idempotency, revision or proof. Keep the original payment."
  },
  "410": {
    "description": "Expired proof, cursor or stored result. Never replace a pending payment."
  },
  "413": {
    "description": "Body exceeds 65536 bytes."
  },
  "415": {
    "description": "Use application/json."
  },
  "429": {
    "description": "Per-IP request quota; retry after 60 seconds."
  },
  "503": {
    "description": "Temporary failure. Retry the identical input and original proof."
  }
}
Complete schema: parameters and headers
[
  {
    "name": "X-Mekler-Listing-Control",
    "in": "header",
    "required": true,
    "schema": {
      "type": [
        "string",
        "null"
      ],
      "pattern": "^[a-f0-9]{64}$"
    }
  }
]

Export the service catalog

POST /v1/services/listings/export-listings

0.25 USDC per catalog export

Service scope, examples and recovery →

Export up to 10000 visible x402 directory services with attributed source facts, measured health and grade history, first seen, scan counts, provenance and explicit truncation. Returns gzip+base64 JSON and a digest; large results use a 60 second signed download URL. Costs 0.25 USDC on Base or Solana. Reuse the original body and payment proof for exact 30 day result recovery.

Input fields

idempotency_key Required · string
See the complete request schema for values and bounds.

Response status

200
Successful response. Examples use synthetic identifiers; retain actual returned values.
400
Invalid input. No charge.
403
Invalid, revoked, stale or expired ownership credential.
404
Listing or proof not found.
409
Conflicting idempotency, revision or proof. Keep the original payment.
410
Expired proof, cursor or stored result. Never replace a pending payment.
413
Body exceeds 65536 bytes.
415
Use application/json.
429
Per-IP request quota; retry after 60 seconds.
503
Temporary failure. Retry the identical input and original proof.
202
Settlement pending. Retry the identical body and original proof; no replacement payment.
402
Genuine payable offer for valid fast input, or for a result-ready default job with capability. Empty input remains nonpayable discovery preflight. Quotes expire in 120 seconds; rail authorization may expire sooner.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "properties": {
          "idempotency_key": {
            "type": "string",
            "minLength": 22,
            "maxLength": 128,
            "pattern": "^[A-Za-z0-9_-]{22,128}$"
          }
        },
        "required": [
          "idempotency_key"
        ],
        "additionalProperties": false
      },
      "example": {
        "idempotency_key": "example-export-request-0001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Successful response. Examples use synthetic identifiers; retain actual returned values.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "const": "ok"
            },
            "content_encoding": {
              "const": "gzip+base64"
            },
            "content_type": {
              "const": "application/json"
            },
            "content": {
              "type": "string",
              "maxLength": 4000000
            },
            "delivery": {
              "const": "download"
            },
            "download_url": {
              "type": "string",
              "format": "uri"
            },
            "download_expires_in": {
              "const": 60
            },
            "artifact_sha256": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^[a-f0-9]{64}$"
            },
            "sha256": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^[a-f0-9]{64}$"
            },
            "records": {
              "type": "integer",
              "maximum": 10000
            },
            "total": {
              "type": "integer"
            },
            "cap": {
              "const": 10000
            },
            "truncated": {
              "type": "boolean"
            },
            "snapshot_at": {
              "type": "integer"
            }
          },
          "required": [
            "status",
            "content_encoding",
            "content_type",
            "sha256",
            "records",
            "total",
            "cap",
            "truncated",
            "snapshot_at"
          ],
          "additionalProperties": false,
          "oneOf": [
            {
              "required": [
                "content"
              ]
            },
            {
              "required": [
                "delivery",
                "download_url",
                "download_expires_in",
                "artifact_sha256"
              ]
            }
          ]
        },
        "example": {
          "status": "ok",
          "content_encoding": "gzip+base64",
          "content_type": "application/json",
          "content": "H4sIAAAAAAAA/01QXU7DMAy+ipXnboLXcgQEF0CochNvDcvsKHaGKsTdcTskyEsU+/vL9xUi1jA+PvgZwrlhomnJatLWKUrpV9YwvgWZldqN0oQWfmF+a5RG4X0IxRmZzxvUX7XJjRg5UhjDC10KtUOUa+1GCe5KaFlYnwDrDk4wd81MqpATsWVbwRcfFHccCJfV/Rp13TSfiSrYQpA5lp6cfnf5Lw5/KeBzIYaN7BnhhNE6Ftg/oUd4FZfKLR0qNrdNaKhkA0Rh8yggDeaGnDZuyZFY3VdBe60lUzpuPTBWXcS2dkavUQ2texlBLr41MSz73FrniN5CGE9YlL5/ANbTOd9+AQAA",
          "sha256": "1b14bb641af5ff6e993a76f10685f0364b208aac7a9515e4449468f420de3bd3",
          "records": 0,
          "total": 0,
          "cap": 10000,
          "truncated": false,
          "snapshot_at": 0
        }
      }
    }
  },
  "400": {
    "description": "Invalid input. No charge."
  },
  "403": {
    "description": "Invalid, revoked, stale or expired ownership credential."
  },
  "404": {
    "description": "Listing or proof not found."
  },
  "409": {
    "description": "Conflicting idempotency, revision or proof. Keep the original payment."
  },
  "410": {
    "description": "Expired proof, cursor or stored result. Never replace a pending payment."
  },
  "413": {
    "description": "Body exceeds 65536 bytes."
  },
  "415": {
    "description": "Use application/json."
  },
  "429": {
    "description": "Per-IP request quota; retry after 60 seconds."
  },
  "503": {
    "description": "Temporary failure. Retry the identical input and original proof."
  },
  "202": {
    "description": "Settlement pending. Retry the identical body and original proof; no replacement payment."
  },
  "402": {
    "description": "Genuine payable offer for valid fast input, or for a result-ready default job with capability. Empty input remains nonpayable discovery preflight. Quotes expire in 120 seconds; rail authorization may expire sooner.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.250000"
        }
      }
    },
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 challenge. Sign only when the stored result is ready.",
        "schema": {
          "type": "string"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "name": "PAYMENT-SIGNATURE",
    "in": "header",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "Buyer-authorized x402 proof; never forwarded to the scanned service."
  },
  {
    "name": "X-Mekler-Scan-Capability",
    "in": "header",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "Recovery secret issued at admission."
  }
]

Read x402 service grade changes

POST /v1/services/listings/list-grade-changes

0.01 USDC per grade-change page

Service scope, examples and recovery →

Read ordered new, grade_changed and rescanned events with previous grades and scores. Default 200, maximum 1000; signed watermark cursors. History retains 30 days or 50000 events; expired cursors return 410. Costs 0.01 USDC per page on Base or Solana. Use a fresh idempotency key per page; retain the original body and proof for exact recovery.

Input fields

idempotency_key Required · string
See the complete request schema for values and bounds.
cursor Optional · string
See the complete request schema for values and bounds.
limit Optional · integer
See the complete request schema for values and bounds.

Response status

200
Successful response. Examples use synthetic identifiers; retain actual returned values.
400
Invalid input. No charge.
403
Invalid, revoked, stale or expired ownership credential.
404
Listing or proof not found.
409
Conflicting idempotency, revision or proof. Keep the original payment.
410
Expired proof, cursor or stored result. Never replace a pending payment.
413
Body exceeds 65536 bytes.
415
Use application/json.
429
Per-IP request quota; retry after 60 seconds.
503
Temporary failure. Retry the identical input and original proof.
202
Settlement pending. Retry the identical body and original proof; no replacement payment.
402
Genuine payable offer for valid fast input, or for a result-ready default job with capability. Empty input remains nonpayable discovery preflight. Quotes expire in 120 seconds; rail authorization may expire sooner.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "properties": {
          "idempotency_key": {
            "type": "string",
            "minLength": 22,
            "maxLength": 128,
            "pattern": "^[A-Za-z0-9_-]{22,128}$"
          },
          "cursor": {
            "type": "string",
            "maxLength": 2048
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "default": 200
          }
        },
        "required": [
          "idempotency_key"
        ],
        "additionalProperties": false
      },
      "example": {
        "idempotency_key": "example-grade-request-0001",
        "limit": 200
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Successful response. Examples use synthetic identifiers; retain actual returned values.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "const": "ok"
            },
            "events": {
              "type": "array",
              "maxItems": 1000,
              "items": {
                "type": "object",
                "properties": {
                  "sequence": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "type": {
                    "enum": [
                      "new",
                      "grade_changed",
                      "rescanned"
                    ]
                  },
                  "listing_id": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "pattern": "^[a-f0-9]{64}$"
                  },
                  "at": {
                    "type": "integer"
                  },
                  "published_at": {
                    "type": "integer"
                  },
                  "scan_observed_at": {
                    "type": "integer"
                  },
                  "report_id": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "pattern": "^[a-f0-9]{64}$"
                  },
                  "grade": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "enum": [
                      "A",
                      "B",
                      "C",
                      "D",
                      "F",
                      null
                    ]
                  },
                  "score": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "minimum": 0,
                    "maximum": 100
                  },
                  "previous_grade": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "enum": [
                      "A",
                      "B",
                      "C",
                      "D",
                      "F",
                      null
                    ]
                  },
                  "previous_score": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "minimum": 0,
                    "maximum": 100
                  }
                },
                "required": [
                  "sequence",
                  "type",
                  "listing_id",
                  "at",
                  "published_at",
                  "scan_observed_at",
                  "report_id",
                  "grade",
                  "score",
                  "previous_grade",
                  "previous_score"
                ],
                "additionalProperties": false
              }
            },
            "has_more": {
              "type": "boolean"
            },
            "next_cursor": {
              "type": [
                "string",
                "null"
              ]
            },
            "watermark": {
              "type": "integer"
            },
            "retention_days": {
              "const": 30
            },
            "event_cap": {
              "const": 50000
            },
            "history_floor": {
              "type": "integer"
            }
          },
          "required": [
            "status",
            "events",
            "has_more",
            "next_cursor",
            "watermark",
            "retention_days",
            "event_cap",
            "history_floor"
          ],
          "additionalProperties": false
        },
        "example": {
          "status": "ok",
          "events": [],
          "has_more": false,
          "next_cursor": "synthetic-cursor-replace-with-actual-response",
          "watermark": 0,
          "retention_days": 30,
          "event_cap": 50000,
          "history_floor": 0
        }
      }
    }
  },
  "400": {
    "description": "Invalid input. No charge."
  },
  "403": {
    "description": "Invalid, revoked, stale or expired ownership credential."
  },
  "404": {
    "description": "Listing or proof not found."
  },
  "409": {
    "description": "Conflicting idempotency, revision or proof. Keep the original payment."
  },
  "410": {
    "description": "Expired proof, cursor or stored result. Never replace a pending payment."
  },
  "413": {
    "description": "Body exceeds 65536 bytes."
  },
  "415": {
    "description": "Use application/json."
  },
  "429": {
    "description": "Per-IP request quota; retry after 60 seconds."
  },
  "503": {
    "description": "Temporary failure. Retry the identical input and original proof."
  },
  "202": {
    "description": "Settlement pending. Retry the identical body and original proof; no replacement payment."
  },
  "402": {
    "description": "Genuine payable offer for valid fast input, or for a result-ready default job with capability. Empty input remains nonpayable discovery preflight. Quotes expire in 120 seconds; rail authorization may expire sooner.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object"
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.010000"
        }
      }
    },
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 challenge. Sign only when the stored result is ready.",
        "schema": {
          "type": "string"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "name": "PAYMENT-SIGNATURE",
    "in": "header",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "Buyer-authorized x402 proof; never forwarded to the scanned service."
  },
  {
    "name": "X-Mekler-Scan-Capability",
    "in": "header",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "Recovery secret issued at admission."
  }
]

List directory categories

GET /v1/services/listings/list-categories

Follow the authentication, capability and prerequisite requirements below.

Read categories present in visible identity-reviewed directory listings.

Response status

200
List directory categories
400
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
404
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
405
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
409
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
410
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
429
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
503
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
Complete schema: request body
{}
Complete schema: responses and errors
{
  "200": {
    "description": "List directory categories",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "categories": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "categories"
          ],
          "additionalProperties": false
        },
        "example": {
          "categories": [
            "data"
          ]
        }
      }
    }
  },
  "400": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "404": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "405": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "409": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "410": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "429": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "503": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  }
}
Complete schema: parameters and headers
[]

List directory networks

GET /v1/services/listings/list-networks

Follow the authentication, capability and prerequisite requirements below.

Read canonical network identifiers in visible directory routes. Imported network claims are attributed and unverified until observed.

Response status

200
List directory networks
400
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
404
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
405
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
409
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
410
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
429
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
503
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
Complete schema: request body
{}
Complete schema: responses and errors
{
  "200": {
    "description": "List directory networks",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "networks": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "networks"
          ],
          "additionalProperties": false
        },
        "example": {
          "networks": [
            "eip155:8453"
          ]
        }
      }
    }
  },
  "400": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "404": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "405": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "409": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "410": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "429": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "503": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  }
}
Complete schema: parameters and headers
[]

Follow payment-offer changes

GET /v1/services/listings/list-offer-changes

Follow the authentication, capability and prerequisite requirements below.

Read changes observed in unsigned payment challenges. Before/after fingerprints preserve payout privacy. A drained cursor advances to new observations on later polls; retain it. No paid delivery is inferred.

Response status

200
Follow payment-offer changes
400
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
404
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
405
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
409
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
410
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
429
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
503
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
Complete schema: request body
{}
Complete schema: responses and errors
{
  "200": {
    "description": "Follow payment-offer changes",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "events": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "next_cursor": {
              "type": [
                "string",
                "null"
              ]
            },
            "has_more": {
              "type": "boolean"
            },
            "watermark": {
              "type": "integer"
            },
            "snapshot_at": {
              "type": "integer"
            },
            "retention_days": {
              "type": "integer"
            }
          },
          "required": [
            "events",
            "next_cursor",
            "has_more",
            "watermark",
            "snapshot_at",
            "retention_days"
          ],
          "additionalProperties": false
        },
        "example": {
          "events": [],
          "next_cursor": "prepared-cursor-use-real-response",
          "has_more": false,
          "watermark": 0,
          "snapshot_at": 0,
          "retention_days": 30
        }
      }
    }
  },
  "400": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "404": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "405": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "409": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "410": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "429": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "503": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  }
}
Complete schema: parameters and headers
[
  {
    "in": "query",
    "name": "listing_id",
    "required": false,
    "schema": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  {
    "in": "query",
    "name": "since",
    "required": false,
    "schema": {
      "type": "integer",
      "minimum": 0
    }
  },
  {
    "in": "query",
    "name": "limit",
    "required": false,
    "schema": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 100
    }
  },
  {
    "in": "query",
    "name": "cursor",
    "required": false,
    "schema": {
      "type": "string",
      "maxLength": 2048
    }
  }
]

Read measured service history

GET /v1/services/health/retrieve-listing-history

Follow the authentication, capability and prerequisite requirements below.

Page through Mekler uptime, latency or observed price history for one listing. Raw history retains 30 days; UTC daily aggregates are retained indefinitely. Unknown input/auth/rate-limit observations are excluded from uptime denominators. This is configuration/reachability evidence, not paid-delivery proof.

Response status

200
Read measured service history
400
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
404
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
405
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
409
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
410
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
429
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
503
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
Complete schema: request body
{}
Complete schema: responses and errors
{
  "200": {
    "description": "Read measured service history",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "observations": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "next_cursor": {
              "type": [
                "string",
                "null"
              ]
            },
            "snapshot_at": {
              "type": "integer"
            },
            "raw_retention_days": {
              "type": "integer"
            },
            "coverage": {
              "type": "string"
            }
          },
          "required": [
            "observations",
            "next_cursor",
            "snapshot_at",
            "raw_retention_days",
            "coverage"
          ],
          "additionalProperties": false
        },
        "example": {
          "observations": [],
          "next_cursor": null,
          "snapshot_at": 0,
          "raw_retention_days": 30,
          "coverage": "Mekler observations only; missing evidence is unknown."
        }
      }
    }
  },
  "400": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "404": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "405": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "409": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "410": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "429": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "503": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  }
}
Complete schema: parameters and headers
[
  {
    "in": "query",
    "name": "listing_id",
    "required": true,
    "schema": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  {
    "in": "query",
    "name": "route_id",
    "required": false,
    "schema": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  {
    "in": "query",
    "name": "series",
    "required": false,
    "schema": {
      "enum": [
        "uptime",
        "latency",
        "price"
      ],
      "default": "uptime"
    }
  },
  {
    "in": "query",
    "name": "interval",
    "required": false,
    "schema": {
      "enum": [
        "raw",
        "daily"
      ],
      "default": "raw"
    }
  },
  {
    "in": "query",
    "name": "since",
    "required": false,
    "schema": {
      "type": "integer",
      "minimum": 0
    }
  },
  {
    "in": "query",
    "name": "limit",
    "required": false,
    "schema": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 100
    }
  },
  {
    "in": "query",
    "name": "cursor",
    "required": false,
    "schema": {
      "type": "string",
      "maxLength": 2048
    }
  }
]

Read directory health checks

GET /v1/services/health/retrieve-health-checks

Follow the authentication, capability and prerequisite requirements below.

Page through fixed safe monitoring observations for one listing or the whole visible catalog. Current hiding and attribution controls apply to retained history. No captured target body, contact or payout address is returned.

Response status

200
Read directory health checks
400
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
404
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
405
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
409
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
410
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
429
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
503
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
Complete schema: request body
{}
Complete schema: responses and errors
{
  "200": {
    "description": "Read directory health checks",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "observations": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "next_cursor": {
              "type": [
                "string",
                "null"
              ]
            },
            "snapshot_at": {
              "type": "integer"
            },
            "raw_retention_days": {
              "type": "integer"
            },
            "coverage": {
              "type": "string"
            }
          },
          "required": [
            "observations",
            "next_cursor",
            "snapshot_at",
            "raw_retention_days",
            "coverage"
          ],
          "additionalProperties": false
        },
        "example": {
          "observations": [],
          "next_cursor": null,
          "snapshot_at": 0,
          "raw_retention_days": 30,
          "coverage": "Mekler observations only; missing evidence is unknown."
        }
      }
    }
  },
  "400": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "404": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "405": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "409": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "410": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "429": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "503": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  }
}
Complete schema: parameters and headers
[
  {
    "in": "query",
    "name": "listing_id",
    "required": false,
    "schema": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  {
    "in": "query",
    "name": "route_id",
    "required": false,
    "schema": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  {
    "in": "query",
    "name": "since",
    "required": false,
    "schema": {
      "type": "integer",
      "minimum": 0
    }
  },
  {
    "in": "query",
    "name": "limit",
    "required": false,
    "schema": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 100
    }
  },
  {
    "in": "query",
    "name": "cursor",
    "required": false,
    "schema": {
      "type": "string",
      "maxLength": 2048
    }
  }
]

Read directory status

GET /v1/services/health/summarize-directory-status

Follow the authentication, capability and prerequisite requirements below.

Read measured online, degraded, offline and unknown states, delisted count and latest completed monitoring cycle. Missing checks remain unknown; this does not certify paid delivery.

Response status

200
Read directory status
400
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
404
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
405
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
409
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
410
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
429
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
503
Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required.
Complete schema: request body
{}
Complete schema: responses and errors
{
  "200": {
    "description": "Read directory status",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "listings": {
              "type": "integer"
            },
            "states": {
              "type": "object"
            },
            "delisted": {
              "type": "integer"
            },
            "snapshot_at": {
              "type": "integer"
            },
            "cadence_seconds": {
              "type": "integer"
            },
            "latest_cycle_at": {
              "type": [
                "integer",
                "null"
              ]
            },
            "paid_delivery_verified": {
              "type": "boolean"
            },
            "matrix": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "checks_today": {
              "type": "integer"
            },
            "unknown_checks_today": {
              "type": "integer"
            },
            "imported_origins": {
              "type": "integer"
            },
            "attribution_review_pending": {
              "type": "integer"
            }
          },
          "required": [
            "listings",
            "states",
            "delisted",
            "snapshot_at",
            "cadence_seconds",
            "latest_cycle_at",
            "paid_delivery_verified",
            "matrix",
            "checks_today",
            "unknown_checks_today",
            "imported_origins",
            "attribution_review_pending"
          ],
          "additionalProperties": false
        },
        "example": {
          "listings": 0,
          "states": {
            "online": 0,
            "degraded": 0,
            "offline": 0,
            "unknown": 0
          },
          "delisted": 0,
          "snapshot_at": 0,
          "cadence_seconds": 900,
          "latest_cycle_at": null,
          "paid_delivery_verified": false,
          "matrix": [],
          "checks_today": 0,
          "unknown_checks_today": 0,
          "imported_origins": 0,
          "attribution_review_pending": 0
        }
      }
    }
  },
  "400": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "404": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "405": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "409": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "410": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "429": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  },
  "503": {
    "description": "Validation, missing/private data, method, cursor, quota or temporary availability error; no payment required."
  }
}
Complete schema: parameters and headers
[]

Request or inspect a listing correction

POST /v1/services/listings/request-listing-update

Follow the authentication, capability and prerequisite requirements below.

Request a free reviewed listing correction with X-Mekler-Listing-Control, current revision, a fresh private requester_key and exact changes. Reuse that same requester_key and identical body after an uncertain response; it pins one request, and changed input conflicts. A verified private email is required. Name/description/category, a same-origin website URL and the full replacement active endpoint list (up to 50 GET/POST paths) are supported. Publish the returned change-bound HTTPS verification file and confirm update_id within 72 hours through confirm-ownership-proof. Confirmation queues review; it never publishes raw submitted text. Pending reviews expire after seven days with a private outcome. Removed-route history is retained. action status with listing_id or origin reads private controls; optional request_id reads that correction outcome. Private data never enters public directory projections.

Input fields

action Optional · See complete schema
See the complete request schema for values and bounds.
listing_id Optional · string
See the complete request schema for values and bounds.
origin Optional · string
See the complete request schema for values and bounds.
request_id Optional · string
See the complete request schema for values and bounds.
revision Optional · integer
See the complete request schema for values and bounds.
requester_key Optional · string
See the complete request schema for values and bounds.
changes Optional · object
See the complete request schema for values and bounds.

Response status

200
Private status, confirmation or recoverable result.
202
Uniform recovery-request acknowledgment; does not prove a contact exists or email delivery.
400
Invalid input.
403
Invalid, revoked or expired private capability.
404
Unavailable private request.
409
Revision or ownership conflict.
410
Expired code or proof.
413
Body exceeds 65536 bytes.
415
Use application/json.
429
Request quota exceeded; retry later.
503
Temporary failure; retain the same request and private access details.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "properties": {
          "action": {
            "enum": [
              "status"
            ]
          },
          "listing_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "origin": {
            "type": "string",
            "format": "uri"
          },
          "request_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "revision": {
            "type": "integer",
            "minimum": 0
          },
          "requester_key": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "changes": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 100
              },
              "description": {
                "type": "string",
                "minLength": 1,
                "maxLength": 500
              },
              "category": {
                "enum": [
                  "data",
                  "research",
                  "web",
                  "compute",
                  "finance",
                  "email",
                  "images",
                  "other"
                ]
              },
              "url": {
                "type": "string",
                "format": "uri",
                "maxLength": 2048
              },
              "routes": {
                "type": "array",
                "maxItems": 50,
                "items": {
                  "type": "object",
                  "properties": {
                    "method": {
                      "enum": [
                        "GET",
                        "POST"
                      ]
                    },
                    "path": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1500
                    }
                  },
                  "required": [
                    "method",
                    "path"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [],
            "additionalProperties": false
          }
        },
        "required": [],
        "additionalProperties": false,
        "oneOf": [
          {
            "required": [
              "action"
            ],
            "oneOf": [
              {
                "required": [
                  "listing_id"
                ],
                "not": {
                  "required": [
                    "origin"
                  ]
                }
              },
              {
                "required": [
                  "origin"
                ],
                "not": {
                  "required": [
                    "listing_id"
                  ]
                }
              }
            ]
          },
          {
            "required": [
              "listing_id",
              "revision",
              "requester_key",
              "changes"
            ],
            "not": {
              "anyOf": [
                {
                  "required": [
                    "action"
                  ]
                },
                {
                  "required": [
                    "origin"
                  ]
                },
                {
                  "required": [
                    "request_id"
                  ]
                }
              ]
            }
          }
        ]
      },
      "example": {
        "action": "status",
        "origin": "https://api.mekler.ai"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Private status, confirmation or recoverable result.",
    "content": {
      "application/json": {
        "schema": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "listing_id": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "origin": {
                  "type": "string"
                },
                "revision": {
                  "type": "integer"
                },
                "contact_verified": {
                  "type": "boolean"
                },
                "contact_verification_pending": {
                  "type": "boolean"
                },
                "preferences": {
                  "type": "object"
                },
                "branding": {
                  "type": "object"
                },
                "expires_at": {
                  "type": "integer"
                },
                "website_url": {
                  "type": "string"
                },
                "routes": {
                  "type": "array",
                  "maxItems": 50,
                  "items": {
                    "type": "object"
                  }
                },
                "request": {
                  "type": "object"
                }
              },
              "required": [
                "listing_id",
                "origin",
                "revision",
                "contact_verified",
                "preferences",
                "branding",
                "expires_at",
                "website_url",
                "routes"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "request_id": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "state": {
                  "type": "string"
                },
                "expires_at": {
                  "type": "integer"
                },
                "url": {
                  "type": "string"
                },
                "document": {
                  "type": "object"
                }
              },
              "required": [
                "request_id",
                "state",
                "expires_at",
                "url",
                "document"
              ],
              "additionalProperties": false
            }
          ]
        },
        "example": {
          "listing_id": "0000000000000000000000000000000000000000000000000000000000000000",
          "origin": "https://api.mekler.ai",
          "revision": 1,
          "contact_verified": true,
          "preferences": {
            "hidden": false,
            "suppress_branding": false
          },
          "branding": {},
          "expires_at": 1800000000,
          "website_url": "https://api.mekler.ai",
          "routes": []
        }
      }
    }
  },
  "202": {
    "description": "Uniform recovery-request acknowledgment; does not prove a contact exists or email delivery."
  },
  "400": {
    "description": "Invalid input."
  },
  "403": {
    "description": "Invalid, revoked or expired private capability."
  },
  "404": {
    "description": "Unavailable private request."
  },
  "409": {
    "description": "Revision or ownership conflict."
  },
  "410": {
    "description": "Expired code or proof."
  },
  "413": {
    "description": "Body exceeds 65536 bytes."
  },
  "415": {
    "description": "Use application/json."
  },
  "429": {
    "description": "Request quota exceeded; retry later."
  },
  "503": {
    "description": "Temporary failure; retain the same request and private access details."
  }
}
Complete schema: parameters and headers
[
  {
    "name": "X-Mekler-Listing-Control",
    "in": "header",
    "required": true,
    "schema": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  }
]

Recover listing control by verified email

POST /v1/services/listings/reissue-owner-token

Follow the authentication, capability and prerequisite requirements below.

Request one email-based ownership-credential replacement for an existing verified private contact. POST origin for a uniform 202 response whether eligible or not. POST the same origin and recovery_code to confirm within 15 minutes. Domain control and original ownership scope are checked; success replaces the prior credential without extending the original 90 day expiry. The code is single-use with idempotent recovery of the same replacement. Revoked/expired grants or changed domains need a fresh ownership proof. Never put a recovery code or control credential in a URL.

Input fields

origin Required · string
See the complete request schema for values and bounds.
recovery_code Optional · string
See the complete request schema for values and bounds.

Response status

200
Private status, confirmation or recoverable result.
202
Uniform recovery-request acknowledgment; does not prove a contact exists or email delivery.
400
Invalid input.
403
Invalid, revoked or expired private capability.
404
Unavailable private request.
409
Revision or ownership conflict.
410
Expired code or proof.
413
Body exceeds 65536 bytes.
415
Use application/json.
429
Request quota exceeded; retry later.
503
Temporary failure; retain the same request and private access details.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "properties": {
          "origin": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          },
          "recovery_code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          }
        },
        "required": [
          "origin"
        ],
        "additionalProperties": false
      },
      "example": {
        "origin": "https://api.mekler.ai"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Private status, confirmation or recoverable result.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "listing_id": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "control_credential": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "revision": {
              "type": "integer"
            },
            "expires_at": {
              "type": "integer"
            }
          },
          "required": [
            "listing_id",
            "control_credential",
            "revision",
            "expires_at"
          ],
          "additionalProperties": false
        },
        "example": {
          "listing_id": "0000000000000000000000000000000000000000000000000000000000000000",
          "control_credential": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
          "revision": 2,
          "expires_at": 1800000000
        }
      }
    }
  },
  "202": {
    "description": "Uniform recovery-request acknowledgment; does not prove a contact exists or email delivery.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "const": "received"
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "message"
          ],
          "additionalProperties": false
        },
        "example": {
          "status": "received",
          "message": "If eligible, the verified private contact receives a recovery code."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input."
  },
  "403": {
    "description": "Invalid, revoked or expired private capability."
  },
  "404": {
    "description": "Unavailable private request."
  },
  "409": {
    "description": "Revision or ownership conflict."
  },
  "410": {
    "description": "Expired code or proof."
  },
  "413": {
    "description": "Body exceeds 65536 bytes."
  },
  "415": {
    "description": "Use application/json."
  },
  "429": {
    "description": "Request quota exceeded; retry later."
  },
  "503": {
    "description": "Temporary failure; retain the same request and private access details."
  }
}
Complete schema: parameters and headers
[]

Retrieve a private inference job and completed result

GET /v1/compute/inference/retrieve-result

Follow the authentication, capability and prerequisite requirements below.

Call only after generate-completions returns 202 or 200 with job_id and recovery_token. A 402 quote creates no job. Use exactly job_id in the query and recovery_token in X-Mekler-Recovery; examples are synthetic and cannot retrieve a live job. Pending work must be recovered with its original proof or capability, never a new payment.

Response status

200
All completions stored and delivered; receipt reports payment finality separately.
202
Still pending.
400
Query must contain exactly job_id; use the private recovery header. The response includes corrective guidance.
404
Unknown job or incorrect private capability.
410
Expired or uncharged failure.
Complete schema: request body
{}
Complete schema: responses and errors
{
  "200": {
    "description": "All completions stored and delivered; receipt reports payment finality separately.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "job_id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "state": {
              "enum": [
                "complete",
                "delivered",
                "delivered-payment-failed"
              ]
            },
            "plan": {
              "type": "object",
              "properties": {
                "version": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64
                },
                "models": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 20,
                  "items": {
                    "type": "object",
                    "properties": {
                      "index": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 19
                      },
                      "model": {
                        "enum": [
                          "gpt-6-luna",
                          "gpt-6.1-sol",
                          "ministral-3-3b",
                          "ministral-3-8b",
                          "ministral-3-14b",
                          "nemotron-3-nano",
                          "qwen3-next",
                          "qwen3-coder-next",
                          "gemma-4-e2b"
                        ]
                      },
                      "provider_model": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      },
                      "reason": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 64
                      },
                      "reasoning_effort": {
                        "enum": [
                          "none",
                          "low",
                          "high",
                          null
                        ]
                      },
                      "input_token_allowance": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "max_output_tokens": {
                        "type": "integer",
                        "minimum": 32,
                        "maximum": 4096
                      },
                      "response_format": {
                        "enum": [
                          "text",
                          "json_object"
                        ]
                      },
                      "provider": {
                        "enum": [
                          "openai",
                          "bedrock_mantle"
                        ]
                      },
                      "region": {
                        "const": "us-east-1"
                      },
                      "json_policy": {
                        "const": "strict-object-or-one-outer-fence-v1"
                      },
                      "qualification": {
                        "type": "object",
                        "properties": {
                          "policy": {
                            "const": "qualified-value-v1"
                          },
                          "profile": {
                            "enum": [
                              "extract_fields",
                              "classify"
                            ]
                          },
                          "prompt_version": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 64
                          },
                          "evidence_id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 64,
                            "pattern": "^[0-9a-f]{64}$"
                          },
                          "observed_passed": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "observed_total": {
                            "type": "integer",
                            "minimum": 60
                          },
                          "observed_p95_seconds": {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 30
                          },
                          "qualified_at": {
                            "type": "integer"
                          },
                          "expires_at": {
                            "type": "integer"
                          },
                          "selection_basis": {
                            "enum": [
                              "caller_pin",
                              "highest_observed_lower_bound",
                              "lowest_observed_p95",
                              "lowest_qualified_supplier_allowance"
                            ]
                          },
                          "scope": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "policy",
                          "profile",
                          "prompt_version",
                          "evidence_id",
                          "observed_passed",
                          "observed_total",
                          "observed_p95_seconds",
                          "qualified_at",
                          "expires_at",
                          "selection_basis",
                          "scope"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "index",
                      "model",
                      "provider_model",
                      "reason",
                      "reasoning_effort",
                      "input_token_allowance",
                      "max_output_tokens",
                      "response_format"
                    ],
                    "additionalProperties": false
                  }
                },
                "price_micros": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 1000000
                },
                "processing": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "output_policy": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "delivery_policy": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              },
              "required": [
                "version",
                "models",
                "price_micros",
                "processing",
                "output_policy"
              ],
              "additionalProperties": false
            },
            "recovery_token": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "expires_at": {
              "type": "integer"
            },
            "retry": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "results": {
              "type": "array",
              "minItems": 1,
              "maxItems": 20,
              "items": {
                "type": "object",
                "properties": {
                  "index": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 19
                  },
                  "model": {
                    "enum": [
                      "gpt-6-luna",
                      "gpt-6.1-sol",
                      "ministral-3-3b",
                      "ministral-3-8b",
                      "ministral-3-14b",
                      "nemotron-3-nano",
                      "qwen3-next",
                      "qwen3-coder-next",
                      "gemma-4-e2b"
                    ]
                  },
                  "provider_model": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "reported_model": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "content": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 65536
                  },
                  "finish_reason": {
                    "const": "stop"
                  },
                  "usage": {
                    "type": "object",
                    "properties": {
                      "prompt_tokens": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "completion_tokens": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "total_tokens": {
                        "type": "integer",
                        "minimum": 0
                      }
                    },
                    "required": [
                      "prompt_tokens",
                      "completion_tokens",
                      "total_tokens"
                    ],
                    "additionalProperties": false
                  },
                  "validation": {
                    "type": "object",
                    "properties": {
                      "profile": {
                        "enum": [
                          "extract_fields",
                          "classify"
                        ]
                      },
                      "prompt_version": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 64
                      },
                      "checks_passed": {
                        "type": "array",
                        "items": {
                          "enum": [
                            "json_shape",
                            "allowed_fields_or_labels",
                            "literal_source_evidence"
                          ]
                        }
                      },
                      "semantic_correctness_guaranteed": {
                        "const": false
                      }
                    },
                    "required": [
                      "profile",
                      "prompt_version",
                      "checks_passed",
                      "semantic_correctness_guaranteed"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "index",
                  "model",
                  "provider_model",
                  "reported_model",
                  "content",
                  "finish_reason",
                  "usage"
                ],
                "additionalProperties": false
              }
            },
            "receipt": {
              "type": "object",
              "properties": {
                "network": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "transaction": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "price_micros": {
                  "type": "integer"
                },
                "finalized": {
                  "type": "boolean"
                }
              },
              "required": [
                "network",
                "transaction",
                "price_micros",
                "finalized"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "job_id",
            "state",
            "plan",
            "recovery_token",
            "expires_at",
            "retry",
            "results",
            "receipt"
          ],
          "additionalProperties": false
        },
        "example": {
          "job_id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
          "state": "complete",
          "plan": {
            "version": "inference-v4-purchase",
            "models": [
              {
                "index": 0,
                "model": "gpt-6-luna",
                "provider_model": "gpt-6-luna",
                "reason": "bounded_general_task",
                "reasoning_effort": "none",
                "input_token_allowance": 326,
                "max_output_tokens": 64,
                "response_format": "text"
              }
            ],
            "price_micros": 2796,
            "delivery_policy": "Stored results delivered after independently verified payment inclusion; finality reconciles separately.",
            "processing": "OpenAI direct API; store=false; standard processing",
            "output_policy": "Complete text or JSON object; refusals, truncation and any failed item are uncharged."
          },
          "recovery_token": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
          "expires_at": 1794528000,
          "retry": "Recover with the original proof or private token. Do not pay again.",
          "results": [
            {
              "index": 0,
              "model": "gpt-6-luna",
              "provider_model": "gpt-6-luna",
              "reported_model": "gpt-6-luna",
              "content": "The meeting starts at noon.",
              "finish_reason": "stop",
              "usage": {
                "prompt_tokens": 18,
                "completion_tokens": 7,
                "total_tokens": 25
              }
            }
          ],
          "receipt": {
            "network": "eip155:8453",
            "transaction": "0xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
            "price_micros": 2796,
            "finalized": true
          }
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 x402 finalized payment receipt.",
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 16384
        }
      }
    }
  },
  "202": {
    "description": "Still pending."
  },
  "400": {
    "description": "Query must contain exactly job_id; use the private recovery header. The response includes corrective guidance."
  },
  "404": {
    "description": "Unknown job or incorrect private capability."
  },
  "410": {
    "description": "Expired or uncharged failure."
  }
}
Complete schema: parameters and headers
[
  {
    "in": "query",
    "name": "job_id",
    "required": true,
    "description": "Use job_id returned by your own admitted job; no other query parameters.",
    "schema": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    }
  },
  {
    "in": "header",
    "name": "X-Mekler-Recovery",
    "required": true,
    "description": "Private recovery_token returned with job_id; keep out of URLs and logs.",
    "schema": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    }
  }
]

Monitor paid API listing and buyer-query visibility

POST /v1/services/listings/check-listing-visibility

0.005 USDC per accepted request

Service scope, examples and recovery →

Monitor one paid API operation across x402scan, CDP Bazaar and Agentic Market. Check exact listing presence, one to three buyer queries and optional description drift. Return dated evidence, confirmed change alerts, private history and the next polling request. Partial coverage and timeouts stay unknown; no ranking or indexing guarantee.

Input fields

resource Required · string
Public HTTPS operation URL, no query, fragment, credentials, IP literal or nonstandard port.
method Optional · string
See the complete request schema for values and bounds.
queries Required · array
See the complete request schema for values and bounds.
poll_id Required · string
See the complete request schema for values and bounds.
merchant Optional · string
CDP merchant address for direct feed, not a payment destination.
market_slug Optional · string
See the complete request schema for values and bounds.
expected Optional · object
See the complete request schema for values and bounds.
cursor Optional · string
Private authenticated continuation from the previous result. Must match resource, queries and settings.

Response status

200
Completed check; inspect unknown and not_found_at_queried_name before acting. X-Mekler-Payment-State reports settlement.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 262144 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "resource",
          "queries",
          "poll_id"
        ],
        "properties": {
          "resource": {
            "type": "string",
            "format": "uri",
            "maxLength": 1024,
            "description": "Public HTTPS operation URL, no query, fragment, credentials, IP literal or nonstandard port."
          },
          "method": {
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ],
            "default": "POST"
          },
          "queries": {
            "type": "array",
            "minItems": 1,
            "maxItems": 3,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "minLength": 2,
              "maxLength": 160
            }
          },
          "poll_id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9_-]{16,64}$"
          },
          "merchant": {
            "type": "string",
            "pattern": "^(0x[a-fA-F0-9]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})$",
            "description": "CDP merchant address for direct feed, not a payment destination."
          },
          "market_slug": {
            "type": "string",
            "pattern": "^[a-z0-9][a-z0-9-]{0,127}$"
          },
          "expected": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "description": {
                "type": "string",
                "minLength": 1,
                "maxLength": 500
              }
            }
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "maxLength": 16000,
            "description": "Private authenticated continuation from the previous result. Must match resource, queries and settings."
          }
        }
      },
      "example": {
        "resource": "https://api.mekler.ai/v1/email/domains/check-mail-configuration",
        "queries": [
          "check email address syntax and domain MX records"
        ],
        "merchant": "0xF6c6E2e530bb311c14a49C1a07C720fc232c07c5",
        "market_slug": "api-mekler-ai",
        "poll_id": "listing_monitor_example_01"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed check; inspect unknown and not_found_at_queried_name before acting. X-Mekler-Payment-State reports settlement.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "resource",
            "checked_at",
            "observations",
            "alerts",
            "history",
            "monitoring",
            "cost",
            "limits"
          ],
          "properties": {
            "status": {
              "const": "ok"
            },
            "resource": {
              "type": "string"
            },
            "checked_at": {
              "type": "integer"
            },
            "observations": {
              "type": "array",
              "maxItems": 12,
              "items": {
                "type": "object",
                "required": [
                  "dimension",
                  "state",
                  "attempts"
                ],
                "properties": {
                  "dimension": {
                    "type": "string"
                  },
                  "state": {
                    "enum": [
                      "found",
                      "missing",
                      "unknown"
                    ]
                  },
                  "attempts": {
                    "type": "array",
                    "maxItems": 2,
                    "items": {
                      "type": "object"
                    }
                  }
                }
              }
            },
            "alerts": {
              "type": "array",
              "maxItems": 24,
              "items": {
                "type": "object",
                "required": [
                  "dimension",
                  "kind",
                  "at"
                ],
                "properties": {
                  "dimension": {
                    "type": "string"
                  },
                  "kind": {
                    "enum": [
                      "missing",
                      "drift",
                      "recovered"
                    ]
                  },
                  "at": {
                    "type": "integer"
                  }
                },
                "additionalProperties": false
              }
            },
            "history": {
              "type": "array",
              "maxItems": 20,
              "items": {
                "type": "object"
              }
            },
            "monitoring": {
              "type": "object",
              "required": [
                "mode",
                "next_request",
                "history_limit",
                "history_expires_after_seconds"
              ],
              "properties": {
                "mode": {
                  "const": "agent_polling"
                },
                "next_request": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "resource",
                    "queries",
                    "poll_id"
                  ],
                  "properties": {
                    "resource": {
                      "type": "string",
                      "format": "uri",
                      "maxLength": 1024,
                      "description": "Public HTTPS operation URL, no query, fragment, credentials, IP literal or nonstandard port."
                    },
                    "method": {
                      "type": "string",
                      "enum": [
                        "GET",
                        "POST"
                      ],
                      "default": "POST"
                    },
                    "queries": {
                      "type": "array",
                      "minItems": 1,
                      "maxItems": 3,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 160
                      }
                    },
                    "poll_id": {
                      "type": "string",
                      "pattern": "^[a-zA-Z0-9_-]{16,64}$"
                    },
                    "merchant": {
                      "type": "string",
                      "pattern": "^(0x[a-fA-F0-9]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})$",
                      "description": "CDP merchant address for direct feed, not a payment destination."
                    },
                    "market_slug": {
                      "type": "string",
                      "pattern": "^[a-z0-9][a-z0-9-]{0,127}$"
                    },
                    "expected": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "description": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 500
                        }
                      }
                    },
                    "cursor": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 16000,
                      "description": "Private authenticated continuation from the previous result. Must match resource, queries and settings."
                    }
                  }
                },
                "history_limit": {
                  "const": 20
                },
                "history_expires_after_seconds": {
                  "const": 2592000
                },
                "recommended_interval_seconds": {
                  "const": 3600
                }
              },
              "additionalProperties": false
            },
            "cost": {
              "type": "object",
              "required": [
                "directory_attempts",
                "request_limit",
                "supplier_charge_usd",
                "infrastructure_actual_usd"
              ],
              "properties": {
                "directory_attempts": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 24
                },
                "request_limit": {
                  "const": 24
                },
                "supplier_charge_usd": {
                  "const": "0"
                },
                "infrastructure_actual_usd": {
                  "type": "null"
                }
              },
              "additionalProperties": false
            },
            "limits": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "resource": "https://api.mekler.ai/v1/email/domains/check-mail-configuration",
          "checked_at": 1792155600,
          "observations": [
            {
              "directory": "x402scan",
              "dimension": "x402scan:listing",
              "query": null,
              "source": "https://www.x402scan.com/api/trpc/public.resources.checkRegistered?input=%7B%22json%22%3A%7B%22resources%22%3A%5B%7B%22url%22%3A%22https%3A%2F%2Fapi.mekler.ai%2Fv1%2Femail%2Fdomains%2Fcheck-mail-configuration%22%2C%22method%22%3A%22POST%22%7D%5D%7D%7D",
              "scope": "exact_operation",
              "state": "found",
              "position": null,
              "metadata": "not_exposed",
              "elapsed_ms": 0,
              "confirmation": "not_needed",
              "attempts": [
                {
                  "directory": "x402scan",
                  "dimension": "x402scan:listing",
                  "query": null,
                  "source": "https://www.x402scan.com/api/trpc/public.resources.checkRegistered?input=%7B%22json%22%3A%7B%22resources%22%3A%5B%7B%22url%22%3A%22https%3A%2F%2Fapi.mekler.ai%2Fv1%2Femail%2Fdomains%2Fcheck-mail-configuration%22%2C%22method%22%3A%22POST%22%7D%5D%7D%7D",
                  "scope": "exact_operation",
                  "state": "found",
                  "position": null,
                  "metadata": "not_exposed",
                  "elapsed_ms": 0
                }
              ],
              "requests_started": 1
            },
            {
              "directory": "cdp",
              "dimension": "cdp:listing",
              "query": null,
              "source": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/merchant?payTo=0xF6c6E2e530bb311c14a49C1a07C720fc232c07c5&limit=100",
              "scope": "exact_operation",
              "state": "found",
              "position": null,
              "metadata": "not_requested",
              "metadata_hash": "4ce3794e2105e40f00da1d1dc9ac99600f175ee200f0660c82eeaab49b3cf2d9",
              "elapsed_ms": 0,
              "confirmation": "not_needed",
              "attempts": [
                {
                  "directory": "cdp",
                  "dimension": "cdp:listing",
                  "query": null,
                  "source": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/merchant?payTo=0xF6c6E2e530bb311c14a49C1a07C720fc232c07c5&limit=100",
                  "scope": "exact_operation",
                  "state": "found",
                  "position": null,
                  "metadata": "not_requested",
                  "metadata_hash": "4ce3794e2105e40f00da1d1dc9ac99600f175ee200f0660c82eeaab49b3cf2d9",
                  "elapsed_ms": 0
                }
              ],
              "requests_started": 1
            },
            {
              "directory": "agentic-market",
              "dimension": "agentic-market:listing",
              "query": null,
              "source": "https://api.agentic.market/v1/services/api-mekler-ai",
              "scope": "exact_operation",
              "state": "found",
              "position": null,
              "metadata": "not_requested",
              "metadata_hash": "4ce3794e2105e40f00da1d1dc9ac99600f175ee200f0660c82eeaab49b3cf2d9",
              "elapsed_ms": 0,
              "confirmation": "not_needed",
              "attempts": [
                {
                  "directory": "agentic-market",
                  "dimension": "agentic-market:listing",
                  "query": null,
                  "source": "https://api.agentic.market/v1/services/api-mekler-ai",
                  "scope": "exact_operation",
                  "state": "found",
                  "position": null,
                  "metadata": "not_requested",
                  "metadata_hash": "4ce3794e2105e40f00da1d1dc9ac99600f175ee200f0660c82eeaab49b3cf2d9",
                  "elapsed_ms": 0
                }
              ],
              "requests_started": 1
            },
            {
              "directory": "x402scan",
              "dimension": "x402scan:query:0",
              "query": "check email address syntax and domain MX records",
              "source": "https://www.x402scan.com/api/trpc/public.discover.search?input=%7B%22json%22%3A%7B%22query%22%3A%22check%20email%20address%20syntax%20and%20domain%20MX%20records%22%7D%7D",
              "scope": "first_20_endpoint_results",
              "state": "found",
              "position": 1,
              "metadata": "not_requested",
              "metadata_hash": "4ce3794e2105e40f00da1d1dc9ac99600f175ee200f0660c82eeaab49b3cf2d9",
              "elapsed_ms": 0,
              "confirmation": "not_needed",
              "attempts": [
                {
                  "directory": "x402scan",
                  "dimension": "x402scan:query:0",
                  "query": "check email address syntax and domain MX records",
                  "source": "https://www.x402scan.com/api/trpc/public.discover.search?input=%7B%22json%22%3A%7B%22query%22%3A%22check%20email%20address%20syntax%20and%20domain%20MX%20records%22%7D%7D",
                  "scope": "first_20_endpoint_results",
                  "state": "found",
                  "position": 1,
                  "metadata": "not_requested",
                  "metadata_hash": "4ce3794e2105e40f00da1d1dc9ac99600f175ee200f0660c82eeaab49b3cf2d9",
                  "elapsed_ms": 0
                }
              ],
              "requests_started": 1
            },
            {
              "directory": "cdp",
              "dimension": "cdp:query:0",
              "query": "check email address syntax and domain MX records",
              "source": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/search?query=check+email+address+syntax+and+domain+MX+records&limit=20",
              "scope": "first_20_endpoint_results",
              "state": "found",
              "position": 1,
              "metadata": "not_requested",
              "metadata_hash": "4ce3794e2105e40f00da1d1dc9ac99600f175ee200f0660c82eeaab49b3cf2d9",
              "elapsed_ms": 0,
              "confirmation": "not_needed",
              "attempts": [
                {
                  "directory": "cdp",
                  "dimension": "cdp:query:0",
                  "query": "check email address syntax and domain MX records",
                  "source": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/search?query=check+email+address+syntax+and+domain+MX+records&limit=20",
                  "scope": "first_20_endpoint_results",
                  "state": "found",
                  "position": 1,
                  "metadata": "not_requested",
                  "metadata_hash": "4ce3794e2105e40f00da1d1dc9ac99600f175ee200f0660c82eeaab49b3cf2d9",
                  "elapsed_ms": 0
                }
              ],
              "requests_started": 1
            },
            {
              "directory": "agentic-market",
              "dimension": "agentic-market:query:0",
              "query": "check email address syntax and domain MX records",
              "source": "https://api.agentic.market/v1/search/services?q=check+email+address+syntax+and+domain+MX+records&limit=24&offset=0",
              "scope": "first_20_endpoint_results",
              "state": "found",
              "position": 1,
              "metadata": "not_requested",
              "metadata_hash": "4ce3794e2105e40f00da1d1dc9ac99600f175ee200f0660c82eeaab49b3cf2d9",
              "elapsed_ms": 0,
              "confirmation": "not_needed",
              "attempts": [
                {
                  "directory": "agentic-market",
                  "dimension": "agentic-market:query:0",
                  "query": "check email address syntax and domain MX records",
                  "source": "https://api.agentic.market/v1/search/services?q=check+email+address+syntax+and+domain+MX+records&limit=24&offset=0",
                  "scope": "first_20_endpoint_results",
                  "state": "found",
                  "position": 1,
                  "metadata": "not_requested",
                  "metadata_hash": "4ce3794e2105e40f00da1d1dc9ac99600f175ee200f0660c82eeaab49b3cf2d9",
                  "elapsed_ms": 0
                }
              ],
              "requests_started": 1
            }
          ],
          "alerts": [],
          "history": [
            {
              "at": 1792155600,
              "states": {
                "x402scan:listing": "found",
                "cdp:listing": "found",
                "agentic-market:listing": "found",
                "x402scan:query:0": "found",
                "cdp:query:0": "found",
                "agentic-market:query:0": "found"
              },
              "alerts": []
            }
          ],
          "monitoring": {
            "mode": "agent_polling",
            "recommended_interval_seconds": 3600,
            "history_limit": 20,
            "history_expires_after_seconds": 2592000,
            "next_request": {
              "resource": "https://api.mekler.ai/v1/email/domains/check-mail-configuration",
              "queries": [
                "check email address syntax and domain MX records"
              ],
              "merchant": "0xF6c6E2e530bb311c14a49C1a07C720fc232c07c5",
              "market_slug": "api-mekler-ai",
              "poll_id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
              "method": "POST",
              "expected": {},
              "cursor": "eHh4eHh4eHh4eHh4rn9f6ZudEuRdWGhZGZuOiElKS80Vcac9SuzQAnEPhJS6a1ZeJwy3ZckecVMviXGyySoraKV7Aj5a4DEF4ivYXA2ADwXHppO6fRhdV3kEws7mSu5Bw-5w0jl7x9EbGUUrL-3oKkwuo2MHo1XJ958ZXtKKScePbk-E8ZShSyeMqgqYsZnepAn36na22-8TQWZz8IN1JFnicUqwqKpJ_N4arbdQhRGL3vKouK3rPrePzotYkV2ua55V1XHBGS89gjBmSZj0K1bFJ6Xn6NoPAQiyGNDgqfgAq6ew0t066g-J_zYYa0UUXUmGIq-Pn7qrR9DUunlkmMz7W8I8W5TAqCJd2_LKb9sdvyZQDnGVPASNsKP674nFrrpZiXKRoKyQwUgFjx0yekXBJSXZ01Pf4nVXgHqQpDOCjH3NQRWtOmrYkOtK1tWrVZ17l-kakZALzLZcF1kFCBPrfU6NcLC9WEDcRyOiB-vFnrNZrYZW8Ad_eZ6pnvWOi77q9MfDyAagia72U2YUxjlnA4tZTETZnW0pR6_HjkpE_CmQ1W7iEaRb6YI1-kK5JHSr-V5ewVAG"
            }
          },
          "cost": {
            "directory_attempts": 6,
            "request_limit": 24,
            "supplier_charge_usd": "0",
            "infrastructure_actual_usd": null
          },
          "limits": [
            "API observations, not browser verification.",
            "Search misses concern the checked window, never global delisting.",
            "No directory edits, automatic scheduling, external messages or ranking guarantee."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.005000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 262144 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

SEC Filing Lookup: Find SEC filings by company CIK, form and filing date

POST /v1/finance/filings/find-company-filings

0.005 USDC per accepted request

Service scope, examples and recovery →

Find SEC filings by company CIK, form and filing date. Return accession identifiers, amendment flags and canonical SEC links, newest first. Includes recent submissions and up to five relevant archived partitions with explicit unread-history coverage. Metadata only; no filing contents, ticker resolution or investment advice.

Input fields

cik Required · string
Nonzero SEC central index key; leading zeros optional. Company identifiers only.
forms Optional · array
Exact form names; amendments such as 10-K/A are separate forms. Empty means all forms.
from_date Optional · string
Inclusive filing date lower bound.
to_date Optional · string
Inclusive filing date upper bound.
limit Optional · integer
See the complete request schema for values and bounds.
request_id Required · string
Fresh identifier per new paid operation. Preserve with identical JSON and original proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 262144 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "cik",
          "request_id"
        ],
        "properties": {
          "cik": {
            "type": "string",
            "pattern": "^[0-9]{1,10}$",
            "description": "Nonzero SEC central index key; leading zeros optional. Company identifiers only."
          },
          "forms": {
            "type": "array",
            "maxItems": 5,
            "items": {
              "type": "string",
              "pattern": "^[A-Z0-9][A-Z0-9 /-]{0,19}$"
            },
            "default": [],
            "description": "Exact form names; amendments such as 10-K/A are separate forms. Empty means all forms."
          },
          "from_date": {
            "type": "string",
            "format": "date",
            "description": "Inclusive filing date lower bound."
          },
          "to_date": {
            "type": "string",
            "format": "date",
            "description": "Inclusive filing date upper bound."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier per new paid operation. Preserve with identical JSON and original proof for recovery."
          }
        }
      },
      "example": {
        "cik": "320193",
        "forms": [
          "10-K",
          "10-K/A"
        ],
        "limit": 5,
        "request_id": "sec-filing-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "cik",
            "retrieved_at",
            "filings",
            "returned",
            "coverage",
            "source",
            "selection_policy",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "cik": {
              "type": "string"
            },
            "retrieved_at": {
              "type": "string"
            },
            "filings": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "accession",
                  "form",
                  "filed",
                  "report_date",
                  "is_amendment",
                  "filing_url",
                  "document_url"
                ],
                "properties": {
                  "accession": {
                    "type": "string"
                  },
                  "form": {
                    "type": "string"
                  },
                  "filed": {
                    "type": "string"
                  },
                  "report_date": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "is_amendment": {
                    "type": "boolean"
                  },
                  "filing_url": {
                    "type": "string"
                  },
                  "document_url": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                }
              }
            },
            "returned": {
              "type": "integer"
            },
            "coverage": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "complete_source_history",
                "unread_history_files",
                "history_files_read",
                "matched_in_read_sources",
                "result_limit_reached"
              ],
              "properties": {
                "complete_source_history": {
                  "type": "boolean"
                },
                "unread_history_files": {
                  "type": "integer"
                },
                "history_files_read": {
                  "type": "integer"
                },
                "matched_in_read_sources": {
                  "type": "integer"
                },
                "result_limit_reached": {
                  "type": "boolean"
                }
              }
            },
            "source": {
              "type": "string"
            },
            "selection_policy": {
              "type": "string"
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "cik": "0000320193",
          "retrieved_at": "2026-10-18T00:00:00Z",
          "filings": [
            {
              "accession": "0000000001-26-000001",
              "form": "10-K",
              "filed": "2026-01-31",
              "report_date": "2025-12-31",
              "is_amendment": false,
              "filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000000000126000001/0000000001-26-000001-index.html",
              "document_url": "https://www.sec.gov/Archives/edgar/data/320193/000000000126000001/annual.htm"
            }
          ],
          "returned": 1,
          "coverage": {
            "complete_source_history": true,
            "unread_history_files": 0,
            "history_files_read": 0,
            "matched_in_read_sources": 1,
            "result_limit_reached": false
          },
          "source": "https://data.sec.gov/submissions/CIK0000320193.json",
          "selection_policy": "filing-date-descending-accession-descending-v1",
          "limitations": [
            "Amendments are distinct filings; no inference of the latest legal state.",
            "At most five relevant archive partitions are read; unread history is explicit.",
            "Metadata only; no filing contents or investment advice."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.005000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 262144 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

URL Inspection: Inspect a public URL for HTTP status, redirect chain, content type and reported size before downloading it

POST /v1/web/urls/check-reachability

0.003 USDC per accepted request

Service scope, examples and recovery →

Inspect a public URL for HTTP status, redirect chain, content type and reported size before downloading it. Uses HEAD with bounded GET fallback, DNS-pinned public-address checks and up to five redirects. Reports server-declared sizes separately from observed sample bytes. No full download, content safety verdict or uptime guarantee.

Input fields

url Required · string
Public HTTP(S) URL, standard port 80/443. Credentials/private addresses are rejected; robots restrictions apply.
request_id Required · string
Fresh identifier per new paid operation. Preserve with identical JSON and original proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 262144 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "url",
          "request_id"
        ],
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 2048,
            "description": "Public HTTP(S) URL, standard port 80/443. Credentials/private addresses are rejected; robots restrictions apply."
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier per new paid operation. Preserve with identical JSON and original proof for recovery."
          }
        }
      },
      "example": {
        "url": "https://mekler.ai/",
        "request_id": "url-inspection-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "requested_url",
            "final_url",
            "outcome",
            "http_status",
            "redirects",
            "content_type",
            "reported_size_bytes",
            "size_basis",
            "sample_bytes_observed",
            "sample_truncated",
            "observed_at",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "requested_url": {
              "type": "string"
            },
            "final_url": {
              "type": "string"
            },
            "outcome": {
              "type": "string"
            },
            "http_status": {
              "type": [
                "integer",
                "null"
              ]
            },
            "redirects": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "url",
                  "status",
                  "method"
                ],
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "status": {
                    "type": "integer"
                  },
                  "method": {
                    "type": "string"
                  }
                }
              }
            },
            "content_type": {
              "type": [
                "string",
                "null"
              ]
            },
            "reported_size_bytes": {
              "type": [
                "integer",
                "null"
              ]
            },
            "size_basis": {
              "type": "string"
            },
            "sample_bytes_observed": {
              "type": "integer"
            },
            "sample_truncated": {
              "type": "boolean"
            },
            "observed_at": {
              "type": "string"
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "requested_url": "https://mekler.ai/",
          "final_url": "https://mekler.ai/",
          "outcome": "reachable",
          "http_status": 200,
          "redirects": [
            {
              "url": "https://mekler.ai/",
              "status": 200,
              "method": "HEAD"
            }
          ],
          "content_type": "text/html",
          "reported_size_bytes": 1024,
          "size_basis": "server_header",
          "sample_bytes_observed": 0,
          "sample_truncated": false,
          "observed_at": "2026-10-18T00:00:00Z",
          "limitations": [
            "HEAD metadata and range samples do not verify full content or total download size.",
            "Only public HTTP(S) ports80/443, up tofive redirects; robots restrictions apply.",
            "An observed HTTP error or redirect loop is a completed diagnostic, not guaranteed future availability."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.003000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 262144 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

QR Code Generation: Generate a standards-based QR code from supplied UTF-8 text or a payment URI

POST /v1/images/qr/generate-code

0.003 USDC per accepted request

Service scope, examples and recovery →

Generate a standards-based QR code from supplied UTF-8 text or a payment URI. Return SVG or PNG as base64 with dimensions, SHA-256, QR version and error-correction level. Maximum 1024 UTF-8 bytes, scale 1–8 and fixed four-module quiet zone. Encodes the supplied payload; does not validate a payment destination, execute payment or host an image.

Input fields

text Required · string
Literal payload, at most 1024 UTF-8 bytes. Payment URIs are encoded unchanged and are not payment authorization.
format Optional · string
See the complete request schema for values and bounds.
error_correction Optional · string
See the complete request schema for values and bounds.
scale Optional · integer
See the complete request schema for values and bounds.
request_id Required · string
Fresh identifier per new paid operation. Preserve with identical JSON and original proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 262144 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "text",
          "request_id"
        ],
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024,
            "description": "Literal payload, at most 1024 UTF-8 bytes. Payment URIs are encoded unchanged and are not payment authorization."
          },
          "format": {
            "type": "string",
            "enum": [
              "svg",
              "png"
            ],
            "default": "svg"
          },
          "error_correction": {
            "type": "string",
            "enum": [
              "L",
              "M",
              "Q",
              "H"
            ],
            "default": "M"
          },
          "scale": {
            "type": "integer",
            "minimum": 1,
            "maximum": 8,
            "default": 4
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier per new paid operation. Preserve with identical JSON and original proof for recovery."
          }
        }
      },
      "example": {
        "text": "https://mekler.ai/",
        "format": "png",
        "error_correction": "M",
        "scale": 4,
        "request_id": "qr-generation-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "format",
            "mime_type",
            "encoding",
            "data",
            "sha256",
            "byte_length",
            "width",
            "height",
            "version",
            "error_correction",
            "quiet_zone_modules",
            "payload_bytes"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "format": {
              "type": "string"
            },
            "mime_type": {
              "type": "string"
            },
            "encoding": {
              "type": "string"
            },
            "data": {
              "type": "string"
            },
            "sha256": {
              "type": "string"
            },
            "byte_length": {
              "type": "integer"
            },
            "width": {
              "type": "integer"
            },
            "height": {
              "type": "integer"
            },
            "version": {
              "type": "integer"
            },
            "error_correction": {
              "type": "string"
            },
            "quiet_zone_modules": {
              "type": "integer"
            },
            "payload_bytes": {
              "type": "integer"
            }
          }
        },
        "example": {
          "status": "ok",
          "format": "png",
          "mime_type": "image/png",
          "encoding": "base64",
          "data": "iVBORw0KGgoAAAANSUhEUgAAAIQAAACEAQAAAAB5P74KAAAAw0lEQVR42u1W0QkCUQwLLpD9t8wGtclDQUEQ4+cVOWo/QpumucO8hXBVXisAOCBOohve45vK4jC/zZIUOCAJDZ20OEPNH3CWGNb9jEd6EPU7jteUKPfl4FMSDT/Wj6wfVjikBD/Y8aPoWVl/gaPVII6oS348muGgSj8LpD2M0Nz1s5O5GXZ61rENk9zdlz2D+VPrOb2wvq8Vj3Lw7b3bxgblvo5tnCFbH4t7qPbDpbnWjyU0ee1oWj90VzO1H15fBR8qd5tY9Osict9SAAAAAElFTkSuQmCC",
          "sha256": "c25a99d2a24dbe4f167e747c2af350ec7360c9630002aff31a5979b6cc665780",
          "byte_length": 252,
          "width": 132,
          "height": 132,
          "version": 2,
          "error_correction": "M",
          "quiet_zone_modules": 4,
          "payload_bytes": 18
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.003000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 262144 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Cryptographic Digests: Compute SHA-256, SHA-512, SHA3-256 or BLAKE2b-512 digests from explicit UTF-8, canonical base64 or hex bytes

POST /v1/data/digests/generate-digest

0.003 USDC per accepted request

Service scope, examples and recovery →

Compute SHA-256, SHA-512, SHA3-256 or BLAKE2b-512 digests from explicit UTF-8, canonical base64 or hex bytes. Optional HMAC supports SHA-256/SHA-512 and supplied keys. Return hex or base64 with byte count. Maximum 16 KiB decoded input and 1 KiB HMAC key. No signing, encryption, password hashing or authenticity judgment.

Input fields

data Required · string
Content using encoding; at most 16384 decoded bytes. Empty data is permitted.
encoding Optional · string
See the complete request schema for values and bounds.
algorithm Optional · string
See the complete request schema for values and bounds.
output_encoding Optional · string
See the complete request schema for values and bounds.
key Optional · string
Optional HMAC key,1–1024 decoded bytes. Only SHA256/SHA512; never send wallet or signing private keys.
key_encoding Optional · string
See the complete request schema for values and bounds.
request_id Required · string
Fresh identifier per new paid operation. Preserve with identical JSON and original proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 262144 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "data",
          "request_id"
        ],
        "properties": {
          "data": {
            "type": "string",
            "maxLength": 32768,
            "description": "Content using encoding; at most 16384 decoded bytes. Empty data is permitted."
          },
          "encoding": {
            "type": "string",
            "enum": [
              "utf8",
              "base64",
              "hex"
            ],
            "default": "utf8"
          },
          "algorithm": {
            "type": "string",
            "enum": [
              "sha256",
              "sha512",
              "sha3-256",
              "blake2b-512"
            ],
            "default": "sha256"
          },
          "output_encoding": {
            "type": "string",
            "enum": [
              "hex",
              "base64"
            ],
            "default": "hex"
          },
          "key": {
            "type": "string",
            "maxLength": 2048,
            "description": "Optional HMAC key,1–1024 decoded bytes. Only SHA256/SHA512; never send wallet or signing private keys."
          },
          "key_encoding": {
            "type": "string",
            "enum": [
              "utf8",
              "base64",
              "hex"
            ],
            "default": "utf8"
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier per new paid operation. Preserve with identical JSON and original proof for recovery."
          }
        }
      },
      "example": {
        "data": "abc",
        "encoding": "utf8",
        "algorithm": "sha256",
        "output_encoding": "hex",
        "request_id": "digest-generation-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "algorithm",
            "mode",
            "input_bytes",
            "output_encoding",
            "digest"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "algorithm": {
              "type": "string"
            },
            "mode": {
              "type": "string"
            },
            "input_bytes": {
              "type": "integer"
            },
            "output_encoding": {
              "type": "string"
            },
            "digest": {
              "type": "string"
            }
          }
        },
        "example": {
          "status": "ok",
          "algorithm": "sha256",
          "mode": "digest",
          "input_bytes": 3,
          "output_encoding": "hex",
          "digest": "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad"
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.003000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 262144 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Page Metadata: Extract static page metadata and share previews from one public HTML URL: title, description, canonical candidates, Open Graph/Twitter fields, image and favicon references

POST /v1/web/pages/extract-metadata

0.003 USDC per accepted request

Service scope, examples and recovery →

Extract static page metadata and share previews from one public HTML URL: title, description, canonical candidates, Open Graph/Twitter fields, image and favicon references. Resolve relative links, disclose canonical conflicts and apply explicit precedence. Maximum 1 MiB HTML and five redirects. No JavaScript rendering, asset retrieval or reachability guarantee for linked images.

Input fields

url Required · string
Public HTTP(S) URL, standard port 80/443. Credentials/private addresses are rejected; robots restrictions apply.
request_id Required · string
Fresh identifier per new paid operation. Preserve with identical JSON and original proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 262144 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "url",
          "request_id"
        ],
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 2048,
            "description": "Public HTTP(S) URL, standard port 80/443. Credentials/private addresses are rejected; robots restrictions apply."
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier per new paid operation. Preserve with identical JSON and original proof for recovery."
          }
        }
      },
      "example": {
        "url": "https://mekler.ai/",
        "request_id": "page-metadata-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "url",
            "retrieved_at",
            "title",
            "description",
            "canonical_url",
            "canonical_candidates",
            "canonical_conflict",
            "images",
            "icons",
            "open_graph",
            "twitter",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "url": {
              "type": "string"
            },
            "retrieved_at": {
              "type": "string"
            },
            "title": {
              "type": [
                "string",
                "null"
              ]
            },
            "description": {
              "type": [
                "string",
                "null"
              ]
            },
            "canonical_url": {
              "type": "string"
            },
            "canonical_candidates": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "canonical_conflict": {
              "type": "boolean"
            },
            "images": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "icons": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "open_graph": {
              "type": "object",
              "maxProperties": 4,
              "additionalProperties": {
                "type": "array",
                "maxItems": 5,
                "items": {
                  "type": "string",
                  "maxLength": 4096
                }
              }
            },
            "twitter": {
              "type": "object",
              "maxProperties": 4,
              "additionalProperties": {
                "type": "array",
                "maxItems": 5,
                "items": {
                  "type": "string",
                  "maxLength": 4096
                }
              }
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "url": "https://mekler.ai/",
          "retrieved_at": "2026-10-18T00:00:00Z",
          "title": "Mekler example",
          "description": "Synthetic preview metadata",
          "canonical_url": "https://mekler.ai/",
          "canonical_candidates": [
            "https://mekler.ai/"
          ],
          "canonical_conflict": false,
          "images": [
            "https://mekler.ai/preview.png"
          ],
          "icons": [
            "https://mekler.ai/favicon.ico"
          ],
          "open_graph": {
            "title": [
              "Mekler example"
            ],
            "type": [
              "website"
            ]
          },
          "twitter": {
            "card": [
              "summary"
            ]
          },
          "limitations": [
            "Static HTML only; no JavaScript rendering or asset fetching.",
            "First valid canonical link wins; conflicts are disclosed. Title uses HTML then OpenGraph then Twitter.",
            "Linked images/icons/canonical destinations are references, not verified reachable assets."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.003000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 262144 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Technical SEO Audit: Check one public static HTML page for observed HTTP status, title/description/canonical conflicts, robots directives, headings, language, viewport and missing image alternatives

POST /v1/web/seo/check-page

0.005 USDC per accepted request

Service scope, examples and recovery →

Check one public static HTML page for observed HTTP status, title/description/canonical conflicts, robots directives, headings, language, viewport and missing image alternatives. Return evidence-linked findings and practical corrections. Up to 1 MiB and five redirects; no rendering, ranking prediction, linked-page verification or actual index-coverage claim.

Input fields

url Required · string
Public HTTP(S) URL on standard port 80/443; no credentials/private addresses. Robots restrictions and DNS-pinned public-address checks apply.
request_id Required · string
Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 262144 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 2048,
            "description": "Public HTTP(S) URL on standard port 80/443; no credentials/private addresses. Robots restrictions and DNS-pinned public-address checks apply."
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery."
          }
        },
        "required": [
          "url",
          "request_id"
        ]
      },
      "example": {
        "url": "https://mekler.ai/",
        "request_id": "technical-seo-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "url",
            "observed_at",
            "http_status",
            "title",
            "description",
            "canonical_candidates",
            "directives",
            "headings",
            "images",
            "findings",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "url": {
              "type": "string"
            },
            "observed_at": {
              "type": "string"
            },
            "http_status": {
              "type": "integer"
            },
            "title": {
              "type": [
                "string",
                "null"
              ]
            },
            "description": {
              "type": [
                "string",
                "null"
              ]
            },
            "canonical_candidates": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "directives": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "headings": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "1",
                "2",
                "3",
                "4",
                "5",
                "6"
              ],
              "properties": {
                "1": {
                  "type": "integer"
                },
                "2": {
                  "type": "integer"
                },
                "3": {
                  "type": "integer"
                },
                "4": {
                  "type": "integer"
                },
                "5": {
                  "type": "integer"
                },
                "6": {
                  "type": "integer"
                }
              }
            },
            "images": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "total",
                "missing_alt"
              ],
              "properties": {
                "total": {
                  "type": "integer"
                },
                "missing_alt": {
                  "type": "integer"
                }
              }
            },
            "findings": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "severity": {
                    "type": "string"
                  },
                  "evidence": {
                    "type": "string"
                  },
                  "recommendation": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "severity",
                  "evidence",
                  "recommendation"
                ]
              }
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "url": "https://mekler.ai/",
          "observed_at": "2026-10-20T00:00:00Z",
          "http_status": 200,
          "title": "Mekler example",
          "description": "Synthetic page for documented diagnostics",
          "canonical_candidates": [
            "https://mekler.ai/"
          ],
          "directives": [],
          "headings": {
            "1": 1,
            "2": 0,
            "3": 0,
            "4": 0,
            "5": 0,
            "6": 0
          },
          "images": {
            "total": 0,
            "missing_alt": 0
          },
          "findings": [],
          "limitations": [
            "One static HTML response up to 1 MiB; robots restrictions and five-redirect bound apply. Metadata samples retain at most 20 values and four complete canonical URL candidates.",
            "No JavaScript rendering, site-wide duplicate analysis, keyword strategy, ranking or actual search-index coverage.",
            "Canonical targets and linked assets are references, not fetched or verified. Findings describe observations, not guaranteed search outcomes."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.005000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 262144 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Currency Reference Rates: Convert an amount between two currency codes using dated public reference rates and decimal arithmetic

POST /v1/finance/currencies/convert-reference-amount

0.005 USDC per accepted request

Service scope, examples and recovery →

Convert an amount between two currency codes using dated public reference rates and decimal arithmetic. Return the rate date, age, source and explicit rounding. Optional historical date from 1999-01-04; holidays may use earlier observations. No executable payment quote, intraday market feed or trading execution.

Input fields

base Required · string
Uppercase source currency code supported by Frankfurter.
quote Required · string
Uppercase target currency code supported by Frankfurter.
amount Required · string
Nonnegative decimal string, up to 1 trillion and 8 fractional digits. Never send binary floating-point amounts.
date Optional · string
Optional past/current ISO date from 1999-01-04. Omit for latest available reference rate; actual rate_date can be earlier.
request_id Required · string
Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 262144 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "base": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "description": "Uppercase source currency code supported by Frankfurter."
          },
          "quote": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "description": "Uppercase target currency code supported by Frankfurter."
          },
          "amount": {
            "type": "string",
            "pattern": "^[0-9]{1,13}(?:\\.[0-9]{1,8})?$",
            "description": "Nonnegative decimal string, up to 1 trillion and 8 fractional digits. Never send binary floating-point amounts."
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "Optional past/current ISO date from 1999-01-04. Omit for latest available reference rate; actual rate_date can be earlier."
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery."
          }
        },
        "required": [
          "base",
          "quote",
          "amount",
          "request_id"
        ]
      },
      "example": {
        "base": "USD",
        "quote": "EUR",
        "amount": "100.00",
        "request_id": "currency-reference-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "base",
            "quote",
            "amount",
            "rate",
            "converted_amount",
            "rate_date",
            "requested_date",
            "observed_at",
            "age_days",
            "source",
            "source_url",
            "rate_type",
            "rounding",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "base": {
              "type": "string"
            },
            "quote": {
              "type": "string"
            },
            "amount": {
              "type": "string"
            },
            "rate": {
              "type": "string"
            },
            "converted_amount": {
              "type": "string"
            },
            "rate_date": {
              "type": "string"
            },
            "requested_date": {
              "type": [
                "string",
                "null"
              ]
            },
            "observed_at": {
              "type": "string"
            },
            "age_days": {
              "type": "integer"
            },
            "source": {
              "type": "string"
            },
            "source_url": {
              "type": [
                "string",
                "null"
              ]
            },
            "rate_type": {
              "type": "string"
            },
            "rounding": {
              "type": "string"
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "base": "USD",
          "quote": "EUR",
          "amount": "100.00",
          "rate": "0.9",
          "converted_amount": "90.00000000",
          "rate_date": "2026-10-19",
          "requested_date": null,
          "observed_at": "2026-10-20T00:00:00Z",
          "age_days": 1,
          "source": "Frankfurter daily blended reference rates",
          "source_url": "https://api.frankfurter.dev/v2/rate/usd/eur",
          "rate_type": "reference",
          "rounding": "8 decimal places, ROUND_HALF_EVEN; not currency minor-unit rounding",
          "limitations": [
            "Reference conversion only; not an executable quote, payment or intraday trading price.",
            "Historical requests may use an earlier observation for holidays or missing dates; inspect rate_date and age_days.",
            "Source coverage and rates may change; conversion uses the dated retrieved observation."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.005000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 262144 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Vehicle VIN Decoding: Decode a complete 17-character VIN into source-linked NHTSA manufacturer, model-year and equipment fields

POST /v1/data/vehicles/check-vin

0.005 USDC per accepted request

Service scope, examples and recovery →

Decode a complete 17-character VIN into source-linked NHTSA manufacturer, model-year and equipment fields. Return source errors, missing fields and independent check-digit evidence. Optional model year helps disambiguate the source. Coverage centers on US-market vehicles; no owner, title, accident-history, condition or valid-vehicle certification.

Input fields

vin Required · string
Complete uppercase VIN; excludes I, O and Q. Check-digit mismatch is reported, not silently corrected.
model_year Optional · integer
Optional requested model year for NHTSA disambiguation; output retains source errors.
request_id Required · string
Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 262144 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "vin": {
            "type": "string",
            "pattern": "^[A-HJ-NPR-Z0-9]{17}$",
            "description": "Complete uppercase VIN; excludes I, O and Q. Check-digit mismatch is reported, not silently corrected."
          },
          "model_year": {
            "type": "integer",
            "minimum": 1981,
            "maximum": 2100,
            "description": "Optional requested model year for NHTSA disambiguation; output retains source errors."
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery."
          }
        },
        "required": [
          "vin",
          "request_id"
        ]
      },
      "example": {
        "vin": "5UXWX7C5XBA123456",
        "model_year": 2011,
        "request_id": "vehicle-vin-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "vin",
            "requested_model_year",
            "observed_at",
            "specifications",
            "check_digit",
            "source_error_codes",
            "source_message",
            "decode_complete",
            "source",
            "source_url",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "vin": {
              "type": "string"
            },
            "requested_model_year": {
              "type": [
                "integer",
                "null"
              ]
            },
            "observed_at": {
              "type": "string"
            },
            "specifications": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "make",
                "model",
                "model_year",
                "manufacturer",
                "body_class",
                "vehicle_type",
                "fuel_type",
                "engine_cylinders",
                "engine_liters",
                "drive_type",
                "plant_country",
                "series",
                "trim"
              ],
              "properties": {
                "make": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "model": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "model_year": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "manufacturer": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "body_class": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "vehicle_type": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "fuel_type": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "engine_cylinders": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "engine_liters": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "drive_type": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "plant_country": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "series": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "trim": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            },
            "check_digit": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "observed",
                "expected",
                "matches",
                "north_american_rule_applicable"
              ],
              "properties": {
                "observed": {
                  "type": "string"
                },
                "expected": {
                  "type": "string"
                },
                "matches": {
                  "type": "boolean"
                },
                "north_american_rule_applicable": {
                  "type": "boolean"
                }
              }
            },
            "source_error_codes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "source_message": {
              "type": "string"
            },
            "decode_complete": {
              "type": "boolean"
            },
            "source": {
              "type": "string"
            },
            "source_url": {
              "type": "string"
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "vin": "5UXWX7C5XBA123456",
          "requested_model_year": 2011,
          "observed_at": "2026-10-20T00:00:00Z",
          "specifications": {
            "make": "SYNTHETIC",
            "model": "Example",
            "model_year": "2011",
            "manufacturer": null,
            "body_class": null,
            "vehicle_type": null,
            "fuel_type": null,
            "engine_cylinders": null,
            "engine_liters": null,
            "drive_type": null,
            "plant_country": null,
            "series": null,
            "trim": null
          },
          "check_digit": {
            "observed": "X",
            "expected": "7",
            "matches": false,
            "north_american_rule_applicable": true
          },
          "source_error_codes": [
            "0"
          ],
          "source_message": "Synthetic fixture only",
          "decode_complete": true,
          "source": "NHTSA vPIC",
          "source_url": "https://vpic.nhtsa.dot.gov/api/vehicles/DecodeVinValues/5UXWX7C5XBA123456?format=json&modelyear=2011",
          "limitations": [
            "Manufacturer-submitted specifications for vehicles intended for the US market; other markets can have limited coverage.",
            "A decoded field is not evidence of ownership, title, accident history, condition or installed equipment today.",
            "Inspect source errors and check-digit evidence. A partial or invalid source decode is a completed diagnostic, not a valid-vehicle certification."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.005000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 262144 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

HTTP Security and CORS Inspection: Inspect one public URL for observed security headers and cross-origin configuration

POST /v1/web/headers/check-security-policy

0.005 USDC per accepted request

Service scope, examples and recovery →

Inspect one public URL for observed security headers and cross-origin configuration. Send passive GET and credential-free OPTIONS with a supplied origin, requested method and optional header names; return exact selected headers and evidence-linked findings. No authorization/cookies, exploit attempts, state-changing requests, browser enforcement guarantee or full CSP/TLS analysis.

Input fields

url Required · string
Public HTTP(S) URL on standard port 80/443; no credentials/private addresses. Robots restrictions and DNS-pinned public-address checks apply.
origin Optional · string
HTTP(S) origin only, without path/query/credentials. Sent as Origin, never as an authenticated identity.
requested_method Optional · string
Method named in the OPTIONS preflight; this method is not executed.
request_headers Optional · array
Lowercase header names advertised in the preflight; no values or credentials are sent.
request_id Required · string
Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 262144 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 2048,
            "description": "Public HTTP(S) URL on standard port 80/443; no credentials/private addresses. Robots restrictions and DNS-pinned public-address checks apply."
          },
          "origin": {
            "type": "string",
            "maxLength": 2048,
            "default": "https://mekler.ai",
            "description": "HTTP(S) origin only, without path/query/credentials. Sent as Origin, never as an authenticated identity."
          },
          "requested_method": {
            "type": "string",
            "enum": [
              "GET",
              "HEAD",
              "POST",
              "PUT",
              "PATCH",
              "DELETE"
            ],
            "default": "GET",
            "description": "Method named in the OPTIONS preflight; this method is not executed."
          },
          "request_headers": {
            "type": "array",
            "maxItems": 20,
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9-]{1,64}$"
            },
            "default": [],
            "description": "Lowercase header names advertised in the preflight; no values or credentials are sent."
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery."
          }
        },
        "required": [
          "url",
          "request_id"
        ]
      },
      "example": {
        "url": "https://mekler.ai/",
        "origin": "https://mekler.ai",
        "requested_method": "GET",
        "request_headers": [],
        "request_id": "http-security-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "url",
            "observed_at",
            "http_status",
            "origin",
            "requested_method",
            "request_headers",
            "response_headers",
            "preflight",
            "findings",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "url": {
              "type": "string"
            },
            "observed_at": {
              "type": "string"
            },
            "http_status": {
              "type": "integer"
            },
            "origin": {
              "type": "string"
            },
            "requested_method": {
              "type": "string"
            },
            "request_headers": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "response_headers": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              },
              "maxProperties": 20
            },
            "preflight": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "http_status",
                "url",
                "headers"
              ],
              "properties": {
                "http_status": {
                  "type": "integer"
                },
                "url": {
                  "type": "string"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  },
                  "maxProperties": 20
                }
              }
            },
            "findings": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "severity": {
                    "type": "string"
                  },
                  "evidence": {
                    "type": "string"
                  },
                  "recommendation": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "severity",
                  "evidence",
                  "recommendation"
                ]
              }
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "url": "https://mekler.ai/",
          "observed_at": "2026-10-20T00:00:00Z",
          "http_status": 200,
          "origin": "https://mekler.ai",
          "requested_method": "GET",
          "request_headers": [],
          "response_headers": {
            "x-content-type-options": "nosniff",
            "access-control-allow-origin": "*",
            "access-control-allow-methods": "GET, HEAD"
          },
          "preflight": {
            "http_status": 200,
            "url": "https://mekler.ai/",
            "headers": {
              "x-content-type-options": "nosniff",
              "access-control-allow-origin": "*",
              "access-control-allow-methods": "GET, HEAD"
            }
          },
          "findings": [
            {
              "code": "hsts_absent",
              "severity": "info",
              "evidence": "No HSTS response header.",
              "recommendation": "Consider HSTS after confirming HTTPS coverage for the intended host scope."
            },
            {
              "code": "csp_absent",
              "severity": "info",
              "evidence": "No enforced CSP response header.",
              "recommendation": "Consider a tested CSP appropriate to the application; report-only is not enforcement."
            }
          ],
          "limitations": [
            "Passive GET and credential-free OPTIONS observations only; no cookies, authorization, exploit attempts or state-changing method is sent.",
            "Observed policies may vary by route, origin, browser and authentication. This is not a vulnerability scan or a browser enforcement/safety certification.",
            "CSP syntax/effective-policy analysis and TLS certificate inspection are outside this operation."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.005000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 262144 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Link and Sitemap Inventory: Extract a bounded URL inventory from static HTML anchors or same-origin XML sitemaps

POST /v1/web/links/extract-inventory

0.005 USDC per accepted request

Service scope, examples and recovery →

Extract a bounded URL inventory from static HTML anchors or same-origin XML sitemaps. Return normalized URLs, anchor text, relation flags, source and coverage bounds; deduplicate links while retaining occurrence counts. Up to 200 URLs and five uncompressed 1 MiB sitemap documents. No JavaScript rendering, linked-page crawl, reachability checks or search-index completeness.

Input fields

url Required · string
Public HTTP(S) URL on standard port 80/443; no credentials/private addresses. Robots restrictions and DNS-pinned public-address checks apply.
mode Optional · string
links parses one HTML page; sitemap traverses the supplied uncompressed XML sitemap/index on the same origin.
max_urls Optional · integer
See the complete request schema for values and bounds.
max_sitemaps Optional · integer
Includes the starting XML document; only relevant to sitemap mode.
request_id Required · string
Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 262144 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 2048,
            "description": "Public HTTP(S) URL on standard port 80/443; no credentials/private addresses. Robots restrictions and DNS-pinned public-address checks apply."
          },
          "mode": {
            "type": "string",
            "enum": [
              "links",
              "sitemap"
            ],
            "default": "links",
            "description": "links parses one HTML page; sitemap traverses the supplied uncompressed XML sitemap/index on the same origin."
          },
          "max_urls": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 100
          },
          "max_sitemaps": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "default": 3,
            "description": "Includes the starting XML document; only relevant to sitemap mode."
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$",
            "description": "Fresh identifier for each new purchase. Retain identical JSON and original payment proof for recovery."
          }
        },
        "required": [
          "url",
          "request_id"
        ]
      },
      "example": {
        "url": "https://mekler.ai/",
        "mode": "links",
        "max_urls": 100,
        "max_sitemaps": 3,
        "request_id": "link-inventory-example-001"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "url",
            "mode",
            "observed_at",
            "links",
            "canonical_candidates",
            "sources_visited",
            "pending_sitemaps",
            "truncated",
            "skipped",
            "bounds",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "url": {
              "type": "string"
            },
            "mode": {
              "type": "string"
            },
            "observed_at": {
              "type": "string"
            },
            "links": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "url",
                  "anchor",
                  "rel",
                  "internal",
                  "occurrences",
                  "source"
                ],
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "anchor": {
                    "type": "string"
                  },
                  "rel": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "internal": {
                    "type": "boolean"
                  },
                  "occurrences": {
                    "type": "integer"
                  },
                  "source": {
                    "type": "string"
                  }
                }
              }
            },
            "canonical_candidates": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "sources_visited": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "pending_sitemaps": {
              "type": "integer"
            },
            "truncated": {
              "type": "boolean"
            },
            "skipped": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "source": {
                    "type": "string"
                  },
                  "reason": {
                    "type": "string"
                  }
                },
                "required": [
                  "source",
                  "reason"
                ],
                "additionalProperties": false
              }
            },
            "bounds": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "max_urls",
                "max_sitemaps"
              ],
              "properties": {
                "max_urls": {
                  "type": "integer"
                },
                "max_sitemaps": {
                  "type": "integer"
                }
              }
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "url": "https://mekler.ai/",
          "mode": "links",
          "observed_at": "2026-10-20T00:00:00Z",
          "links": [
            {
              "url": "https://mekler.ai/start/",
              "anchor": "Get started",
              "rel": [
                "help"
              ],
              "internal": true,
              "occurrences": 1,
              "source": "https://mekler.ai/"
            }
          ],
          "canonical_candidates": [
            "https://mekler.ai/"
          ],
          "sources_visited": [
            "https://mekler.ai/"
          ],
          "pending_sitemaps": 0,
          "truncated": false,
          "skipped": [],
          "bounds": {
            "max_urls": 100,
            "max_sitemaps": 3
          },
          "limitations": [
            "Static anchors or uncompressed XML sitemaps only; no JavaScript execution, linked-page crawling, reachability checks or search-index coverage.",
            "Fragments are removed; query strings are retained. Page links are deduplicated by normalized URL with occurrence counts. Link evidence is capped at 24 KiB; truncated marks either byte or count limits.",
            "Sitemap traversal stays on the starting origin, follows at most 5 sitemap documents of 1 MiB each, and returns at most 200 URLs. Bounds/skips describe coverage, not completeness of the site."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.005000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 262144 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Renew a durable mailbox for 30 more days

POST /v1/messaging/mailboxes/renew-mailbox

2 USDC per 30-day receiving term; 1,000 messages and explicitly bounded recovery

Service scope, examples and recovery →

Extend the same private mailbox by a 30-day receiving term for 2 USDC. Early renewal preserves the current allowance until the new term begins. Use a new request_id and the original owner_key. Retained content keeps its original expiry.

Input fields

request_id Required · string
See the complete request schema for values and bounds.
owner_key Required · string
See the complete request schema for values and bounds.
mailbox_id Required · string
See the complete request schema for values and bounds.

Response status

200
Finalized receiving term and original-proof recovery receipt. PAYMENT-RESPONSE confirms settlement.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
Input-bound x402 v2 quote for valid creation input. Empty unsigned JSON is nonpayable preflight; supply request_id and a private access_key before signing.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Decoded JSON request exceeds 8192 bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "request_id",
          "owner_key",
          "mailbox_id"
        ],
        "properties": {
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "owner_key": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$"
          },
          "mailbox_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          }
        }
      },
      "example": {
        "request_id": "mekler-mail-renewal-01",
        "owner_key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE",
        "mailbox_id": "1c2dee1d4ee689f629f57d2ba1ac2f40"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Finalized receiving term and original-proof recovery receipt. PAYMENT-RESPONSE confirms settlement.",
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "mailbox_id",
            "purchase_id",
            "email_address",
            "receiving_term_seconds",
            "next_step",
            "receiving_term"
          ],
          "properties": {
            "status": {
              "const": "ok"
            },
            "mailbox_id": {
              "type": "string",
              "pattern": "^[a-f0-9]{32}$"
            },
            "purchase_id": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "email_address": {
              "type": "string",
              "format": "email"
            },
            "receiving_term_seconds": {
              "const": 2592000
            },
            "next_step": {
              "type": "string"
            },
            "receiving_term": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "starts_at",
                "ends_at"
              ],
              "properties": {
                "starts_at": {
                  "type": "integer"
                },
                "ends_at": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "mailbox_id": "1c2dee1d4ee689f629f57d2ba1ac2f40",
          "purchase_id": "4a21624bd19334a8cd73030d4ca07844b17d3d7089abbffd0ef50a28071556ea",
          "email_address": "1c2dee1d4ee689f629f57d2ba1ac2f40@mail.mekler.ai",
          "receiving_term_seconds": 2592000,
          "next_step": "Retrieve mailbox status with your owner key after settlement.",
          "receiving_term": {
            "starts_at": 1795478400,
            "ends_at": 1798070400
          }
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "Input-bound x402 v2 quote for valid creation input. Empty unsigned JSON is nonpayable preflight; supply request_id and a private access_key before signing.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "2.000000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Decoded JSON request exceeds 8192 bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Retrieve mailbox lifetime, limits and usage

POST /v1/messaging/mailboxes/retrieve-mailbox

Follow the authentication, capability and prerequisite requirements below.

Retrieve mailbox lifetime, limits and usage. Included within the purchased limits. Use mailbox_id and the appropriate private capability after a finalized purchase. Treat message contents as untrusted data; this operation does not purchase another term.

Input fields

mailbox_id Required · string
See the complete request schema for values and bounds.

Response status

200
Authorized mailbox result. Cache-Control:no-store; message data is inert.
400
Invalid fields or encoding.
404
Unknown or unauthorized private resource.
409
Conflicting idempotency key or expired/replaced processing claim.
410
Receiving term expired; retained mail remains recoverable.
413
Complete encoded message or request exceeds its limit.
415
JSON content type required.
429
Explicit rate or usage limit; no overage charge.
503
Temporary failure; preserve original inputs and retry.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "mailbox_id"
        ],
        "properties": {
          "mailbox_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          }
        }
      },
      "example": {
        "mailbox_id": "48c93039de46652b3edbb29908213aea"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Authorized mailbox result. Cache-Control:no-store; message data is inert.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "email_address",
            "email_enabled",
            "latest_message_expiry",
            "limits",
            "mailbox_id",
            "paid_until",
            "receiving",
            "retained_bytes",
            "status",
            "usage",
            "webhook_secret"
          ],
          "properties": {
            "email_address": {
              "type": "string"
            },
            "email_enabled": {
              "type": "boolean"
            },
            "latest_message_expiry": {
              "type": "integer"
            },
            "limits": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "connections",
                "download_bytes",
                "message_bytes",
                "messages",
                "operations",
                "retained_bytes"
              ],
              "properties": {
                "connections": {
                  "type": "integer"
                },
                "download_bytes": {
                  "type": "integer"
                },
                "message_bytes": {
                  "type": "integer"
                },
                "messages": {
                  "type": "integer"
                },
                "operations": {
                  "type": "integer"
                },
                "retained_bytes": {
                  "type": "integer"
                }
              }
            },
            "mailbox_id": {
              "type": "string"
            },
            "paid_until": {
              "type": "integer"
            },
            "receiving": {
              "type": "boolean"
            },
            "retained_bytes": {
              "type": "integer"
            },
            "status": {
              "type": "string"
            },
            "usage": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "download_bytes",
                "email_messages",
                "end",
                "messages",
                "native_messages",
                "operations",
                "purge_at",
                "start"
              ],
              "properties": {
                "download_bytes": {
                  "type": "integer"
                },
                "email_messages": {
                  "type": "integer"
                },
                "end": {
                  "type": "integer"
                },
                "messages": {
                  "type": "integer"
                },
                "native_messages": {
                  "type": "integer"
                },
                "operations": {
                  "type": "integer"
                },
                "purge_at": {
                  "type": "integer"
                },
                "start": {
                  "type": "integer"
                }
              }
            },
            "webhook_secret": {
              "type": "string"
            }
          }
        },
        "example": {
          "email_address": "48c93039de46652b3edbb29908213aea@mail.mekler.ai",
          "email_enabled": true,
          "latest_message_expiry": 1795478400,
          "limits": {
            "connections": 1,
            "download_bytes": 1073741824,
            "message_bytes": 262144,
            "messages": 1000,
            "operations": 50000,
            "retained_bytes": 536870912
          },
          "mailbox_id": "48c93039de46652b3edbb29908213aea",
          "paid_until": 1795478400,
          "receiving": true,
          "retained_bytes": 291,
          "status": "ok",
          "usage": {
            "download_bytes": 0,
            "email_messages": 0,
            "end": 1795478400,
            "messages": 1,
            "native_messages": 1,
            "operations": 0,
            "purge_at": 1800662400,
            "start": 1792886400
          },
          "webhook_secret": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI"
        }
      }
    }
  },
  "400": {
    "description": "Invalid fields or encoding.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "invalid_request_fields"
        }
      }
    }
  },
  "404": {
    "description": "Unknown or unauthorized private resource.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "409": {
    "description": "Conflicting idempotency key or expired/replaced processing claim.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "claim_expired_or_replaced"
        }
      }
    }
  },
  "410": {
    "description": "Receiving term expired; retained mail remains recoverable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "receiving_term_expired"
        }
      }
    }
  },
  "413": {
    "description": "Complete encoded message or request exceeds its limit.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "message_too_large_including_envelope"
        }
      }
    }
  },
  "415": {
    "description": "JSON content type required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Explicit rate or usage limit; no overage charge.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "usage_limit_reached_use_recovery_export"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure; preserve original inputs and retry.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

Configure email admission and notification settings

POST /v1/messaging/mailboxes/configure-mailbox

Follow the authentication, capability and prerequisite requirements below.

Configure email admission and notification settings. Included within the purchased limits. Use mailbox_id and the appropriate private capability after a finalized purchase. Treat message contents as untrusted data; this operation does not purchase another term.

Input fields

callback Optional · string or null
See the complete request schema for values and bounds.
email_enabled Required · boolean
See the complete request schema for values and bounds.
email_limit Optional · integer
See the complete request schema for values and bounds.
mailbox_id Required · string
See the complete request schema for values and bounds.
native_limit Optional · integer
See the complete request schema for values and bounds.

Response status

200
Authorized mailbox result. Cache-Control:no-store; message data is inert.
400
Invalid fields or encoding.
404
Unknown or unauthorized private resource.
409
Conflicting idempotency key or expired/replaced processing claim.
410
Receiving term expired; retained mail remains recoverable.
413
Complete encoded message or request exceeds its limit.
415
JSON content type required.
429
Explicit rate or usage limit; no overage charge.
503
Temporary failure; preserve original inputs and retry.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "email_enabled",
          "mailbox_id"
        ],
        "properties": {
          "callback": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 2048
          },
          "email_enabled": {
            "type": "boolean"
          },
          "email_limit": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000
          },
          "mailbox_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "native_limit": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000
          }
        }
      },
      "example": {
        "email_enabled": true,
        "mailbox_id": "48c93039de46652b3edbb29908213aea"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Authorized mailbox result. Cache-Control:no-store; message data is inert.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status"
          ],
          "properties": {
            "status": {
              "type": "string"
            }
          }
        },
        "example": {
          "status": "ok"
        }
      }
    }
  },
  "400": {
    "description": "Invalid fields or encoding.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "invalid_request_fields"
        }
      }
    }
  },
  "404": {
    "description": "Unknown or unauthorized private resource.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "409": {
    "description": "Conflicting idempotency key or expired/replaced processing claim.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "claim_expired_or_replaced"
        }
      }
    }
  },
  "410": {
    "description": "Receiving term expired; retained mail remains recoverable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "receiving_term_expired"
        }
      }
    }
  },
  "413": {
    "description": "Complete encoded message or request exceeds its limit.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "message_too_large_including_envelope"
        }
      }
    }
  },
  "415": {
    "description": "JSON content type required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Explicit rate or usage limit; no overage charge.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "usage_limit_reached_use_recovery_export"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure; preserve original inputs and retry.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

Create a scoped mailbox access grant

POST /v1/messaging/mailboxes/create-access-grant

Follow the authentication, capability and prerequisite requirements below.

Create a scoped mailbox access grant. Included within the purchased limits. Use mailbox_id and the appropriate private capability after a finalized purchase. Treat message contents as untrusted data; this operation does not purchase another term.

Input fields

allowance Optional · integer
See the complete request schema for values and bounds.
conversation_id Optional · string
See the complete request schema for values and bounds.
expires_at Required · integer
See the complete request schema for values and bounds.
key Required · string
See the complete request schema for values and bounds.
mailbox_id Required · string
See the complete request schema for values and bounds.
message_id Optional · string
See the complete request schema for values and bounds.
scopes Required · array
See the complete request schema for values and bounds.

Response status

200
Authorized mailbox result. Cache-Control:no-store; message data is inert.
400
Invalid fields or encoding.
404
Unknown or unauthorized private resource.
409
Conflicting idempotency key or expired/replaced processing claim.
410
Receiving term expired; retained mail remains recoverable.
413
Complete encoded message or request exceeds its limit.
415
JSON content type required.
429
Explicit rate or usage limit; no overage charge.
503
Temporary failure; preserve original inputs and retry.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "expires_at",
          "key",
          "mailbox_id",
          "scopes"
        ],
        "properties": {
          "allowance": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000
          },
          "conversation_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "expires_at": {
            "type": "integer"
          },
          "key": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$"
          },
          "mailbox_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "message_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "scopes": {
            "type": "array",
            "minItems": 1,
            "maxItems": 3,
            "uniqueItems": true,
            "items": {
              "enum": [
                "read",
                "process",
                "send"
              ]
            }
          }
        }
      },
      "example": {
        "expires_at": 1795478400,
        "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI",
        "mailbox_id": "48c93039de46652b3edbb29908213aea",
        "scopes": [
          "read",
          "process"
        ]
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Authorized mailbox result. Cache-Control:no-store; message data is inert.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "expires_at",
            "grant_id",
            "status"
          ],
          "properties": {
            "expires_at": {
              "type": "integer"
            },
            "grant_id": {
              "type": "string"
            },
            "status": {
              "type": "string"
            }
          }
        },
        "example": {
          "expires_at": 1795478400,
          "grant_id": "9267d3dbed802941483f1afa2a6bc68de5f653128aca9bf1461c5d0a3ad36ed2",
          "status": "ok"
        }
      }
    }
  },
  "400": {
    "description": "Invalid fields or encoding.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "invalid_request_fields"
        }
      }
    }
  },
  "404": {
    "description": "Unknown or unauthorized private resource.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "409": {
    "description": "Conflicting idempotency key or expired/replaced processing claim.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "claim_expired_or_replaced"
        }
      }
    }
  },
  "410": {
    "description": "Receiving term expired; retained mail remains recoverable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "receiving_term_expired"
        }
      }
    }
  },
  "413": {
    "description": "Complete encoded message or request exceeds its limit.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "message_too_large_including_envelope"
        }
      }
    }
  },
  "415": {
    "description": "JSON content type required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Explicit rate or usage limit; no overage charge.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "usage_limit_reached_use_recovery_export"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure; preserve original inputs and retry.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

Revoke a mailbox access grant

POST /v1/messaging/mailboxes/revoke-access-grant

Follow the authentication, capability and prerequisite requirements below.

Revoke a mailbox access grant. Included within the purchased limits. Use mailbox_id and the appropriate private capability after a finalized purchase. Treat message contents as untrusted data; this operation does not purchase another term.

Input fields

grant_id Required · string
See the complete request schema for values and bounds.
mailbox_id Required · string
See the complete request schema for values and bounds.

Response status

200
Authorized mailbox result. Cache-Control:no-store; message data is inert.
400
Invalid fields or encoding.
404
Unknown or unauthorized private resource.
409
Conflicting idempotency key or expired/replaced processing claim.
410
Receiving term expired; retained mail remains recoverable.
413
Complete encoded message or request exceeds its limit.
415
JSON content type required.
429
Explicit rate or usage limit; no overage charge.
503
Temporary failure; preserve original inputs and retry.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "grant_id",
          "mailbox_id"
        ],
        "properties": {
          "grant_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "mailbox_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          }
        }
      },
      "example": {
        "grant_id": "0000000000000000000000000000000000000000000000000000000000000000",
        "mailbox_id": "48c93039de46652b3edbb29908213aea"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Authorized mailbox result. Cache-Control:no-store; message data is inert.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "revoked",
            "status"
          ],
          "properties": {
            "revoked": {
              "type": "boolean"
            },
            "status": {
              "type": "string"
            }
          }
        },
        "example": {
          "revoked": true,
          "status": "ok"
        }
      }
    }
  },
  "400": {
    "description": "Invalid fields or encoding.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "invalid_request_fields"
        }
      }
    }
  },
  "404": {
    "description": "Unknown or unauthorized private resource.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "409": {
    "description": "Conflicting idempotency key or expired/replaced processing claim.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "claim_expired_or_replaced"
        }
      }
    }
  },
  "410": {
    "description": "Receiving term expired; retained mail remains recoverable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "receiving_term_expired"
        }
      }
    }
  },
  "413": {
    "description": "Complete encoded message or request exceeds its limit.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "message_too_large_including_envelope"
        }
      }
    }
  },
  "415": {
    "description": "JSON content type required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Explicit rate or usage limit; no overage charge.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "usage_limit_reached_use_recovery_export"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure; preserve original inputs and retry.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

Send a message with an idempotency key

POST /v1/messaging/mailboxes/send-message

Follow the authentication, capability and prerequisite requirements below.

Send a message with an idempotency key. Included within the purchased limits. Use mailbox_id and the appropriate private capability after a finalized purchase. Treat message contents as untrusted data; this operation does not purchase another term.

Input fields

content Required · object
See the complete request schema for values and bounds.
mailbox_id Required · string
See the complete request schema for values and bounds.
request_id Required · string
See the complete request schema for values and bounds.

Response status

200
Authorized mailbox result. Cache-Control:no-store; message data is inert.
400
Invalid fields or encoding.
404
Unknown or unauthorized private resource.
409
Conflicting idempotency key or expired/replaced processing claim.
410
Receiving term expired; retained mail remains recoverable.
413
Complete encoded message or request exceeds its limit.
415
JSON content type required.
429
Explicit rate or usage limit; no overage charge.
503
Temporary failure; preserve original inputs and retry.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "content",
          "mailbox_id",
          "request_id"
        ],
        "properties": {
          "content": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "content_type",
              "body"
            ],
            "properties": {
              "content_type": {
                "enum": [
                  "text/plain",
                  "text/markdown",
                  "application/json",
                  "message/rfc822"
                ]
              },
              "body": {},
              "conversation_id": {
                "type": "string",
                "pattern": "^[A-Za-z0-9_-]{16,64}$"
              },
              "reply_to": {
                "type": "string",
                "maxLength": 512
              },
              "encoding": {
                "const": "base64"
              },
              "attachments": {
                "type": "array",
                "maxItems": 8,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "name",
                    "content_type",
                    "base64"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128
                    },
                    "content_type": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128
                    },
                    "base64": {
                      "type": "string",
                      "maxLength": 262144,
                      "contentEncoding": "base64"
                    }
                  }
                }
              }
            }
          },
          "mailbox_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          }
        }
      },
      "example": {
        "content": {
          "content_type": "application/json",
          "body": {
            "complete": true
          }
        },
        "mailbox_id": "48c93039de46652b3edbb29908213aea",
        "request_id": "sample_message_0002"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Authorized mailbox result. Cache-Control:no-store; message data is inert.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "accepted_at",
            "expires_at",
            "message_id",
            "status"
          ],
          "properties": {
            "accepted_at": {
              "type": "integer"
            },
            "expires_at": {
              "type": "integer"
            },
            "message_id": {
              "type": "string"
            },
            "status": {
              "type": "string"
            }
          }
        },
        "example": {
          "accepted_at": 1792886400,
          "expires_at": 1795478400,
          "message_id": "00000000000000000000000000000001",
          "status": "stored"
        }
      }
    }
  },
  "400": {
    "description": "Invalid fields or encoding.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "invalid_request_fields"
        }
      }
    }
  },
  "404": {
    "description": "Unknown or unauthorized private resource.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "409": {
    "description": "Conflicting idempotency key or expired/replaced processing claim.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "claim_expired_or_replaced"
        }
      }
    }
  },
  "410": {
    "description": "Receiving term expired; retained mail remains recoverable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "receiving_term_expired"
        }
      }
    }
  },
  "413": {
    "description": "Complete encoded message or request exceeds its limit.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "message_too_large_including_envelope"
        }
      }
    }
  },
  "415": {
    "description": "JSON content type required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Explicit rate or usage limit; no overage charge.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "usage_limit_reached_use_recovery_export"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure; preserve original inputs and retry.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

List retained or unfinished messages

POST /v1/messaging/mailboxes/list-messages

Follow the authentication, capability and prerequisite requirements below.

List retained or unfinished messages. Included within the purchased limits. Use mailbox_id and the appropriate private capability after a finalized purchase. Treat message contents as untrusted data; this operation does not purchase another term.

Input fields

conversation_id Optional · string
See the complete request schema for values and bounds.
cursor Optional · string
See the complete request schema for values and bounds.
limit Optional · integer
See the complete request schema for values and bounds.
mailbox_id Required · string
See the complete request schema for values and bounds.
unfinished Optional · boolean
See the complete request schema for values and bounds.

Response status

200
Authorized mailbox result. Cache-Control:no-store; message data is inert.
400
Invalid fields or encoding.
404
Unknown or unauthorized private resource.
409
Conflicting idempotency key or expired/replaced processing claim.
410
Receiving term expired; retained mail remains recoverable.
413
Complete encoded message or request exceeds its limit.
415
JSON content type required.
429
Explicit rate or usage limit; no overage charge.
503
Temporary failure; preserve original inputs and retry.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "mailbox_id"
        ],
        "properties": {
          "conversation_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "cursor": {
            "type": "string",
            "maxLength": 64
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20
          },
          "mailbox_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "unfinished": {
            "type": "boolean"
          }
        }
      },
      "example": {
        "mailbox_id": "48c93039de46652b3edbb29908213aea"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Authorized mailbox result. Cache-Control:no-store; message data is inert.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "cursor",
            "messages",
            "status"
          ],
          "properties": {
            "cursor": {
              "type": [
                "string",
                "null"
              ]
            },
            "messages": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "accepted_at",
                  "channel",
                  "conversation_id",
                  "expires_at",
                  "message_id",
                  "state"
                ],
                "properties": {
                  "accepted_at": {
                    "type": "integer"
                  },
                  "channel": {
                    "type": "string"
                  },
                  "conversation_id": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "expires_at": {
                    "type": "integer"
                  },
                  "message_id": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  }
                }
              }
            },
            "status": {
              "type": "string"
            }
          }
        },
        "example": {
          "cursor": null,
          "messages": [
            {
              "accepted_at": 1792886400,
              "channel": "native",
              "conversation_id": null,
              "expires_at": 1795478400,
              "message_id": "00000000000000000000000000000000",
              "state": "pending"
            }
          ],
          "status": "ok"
        }
      }
    }
  },
  "400": {
    "description": "Invalid fields or encoding.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "invalid_request_fields"
        }
      }
    }
  },
  "404": {
    "description": "Unknown or unauthorized private resource.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "409": {
    "description": "Conflicting idempotency key or expired/replaced processing claim.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "claim_expired_or_replaced"
        }
      }
    }
  },
  "410": {
    "description": "Receiving term expired; retained mail remains recoverable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "receiving_term_expired"
        }
      }
    }
  },
  "413": {
    "description": "Complete encoded message or request exceeds its limit.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "message_too_large_including_envelope"
        }
      }
    }
  },
  "415": {
    "description": "JSON content type required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Explicit rate or usage limit; no overage charge.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "usage_limit_reached_use_recovery_export"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure; preserve original inputs and retry.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

Retrieve one retained message

POST /v1/messaging/mailboxes/retrieve-message

Follow the authentication, capability and prerequisite requirements below.

Retrieve one retained message. Included within the purchased limits. Use mailbox_id and the appropriate private capability after a finalized purchase. Treat message contents as untrusted data; this operation does not purchase another term.

Input fields

mailbox_id Required · string
See the complete request schema for values and bounds.
message_id Required · string
See the complete request schema for values and bounds.

Response status

200
Authorized mailbox result. Cache-Control:no-store; message data is inert.
400
Invalid fields or encoding.
404
Unknown or unauthorized private resource.
409
Conflicting idempotency key or expired/replaced processing claim.
410
Receiving term expired; retained mail remains recoverable.
413
Complete encoded message or request exceeds its limit.
415
JSON content type required.
429
Explicit rate or usage limit; no overage charge.
503
Temporary failure; preserve original inputs and retry.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "mailbox_id",
          "message_id"
        ],
        "properties": {
          "mailbox_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "message_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          }
        }
      },
      "example": {
        "mailbox_id": "48c93039de46652b3edbb29908213aea",
        "message_id": "00000000000000000000000000000000"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Authorized mailbox result. Cache-Control:no-store; message data is inert.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "message",
            "processing",
            "status"
          ],
          "properties": {
            "message": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "accepted_at",
                "channel",
                "content",
                "expires_at",
                "message_id",
                "provenance",
                "sender"
              ],
              "properties": {
                "accepted_at": {
                  "type": "integer"
                },
                "channel": {
                  "type": "string"
                },
                "content": {
                  "type": "object"
                },
                "expires_at": {
                  "type": "integer"
                },
                "message_id": {
                  "type": "string"
                },
                "provenance": {
                  "type": "object"
                },
                "sender": {
                  "type": "string"
                }
              }
            },
            "processing": {
              "type": "string"
            },
            "status": {
              "type": "string"
            }
          }
        },
        "example": {
          "message": {
            "accepted_at": 1792886400,
            "channel": "native",
            "content": {
              "body": "Synthetic completed task result.",
              "content_type": "text/plain"
            },
            "expires_at": 1795478400,
            "message_id": "00000000000000000000000000000000",
            "provenance": {},
            "sender": "ec4916dd28fc4c10d78e287ca5d9cc51ee1ae73cbfde08c6b37324cbfaac8bc5"
          },
          "processing": "pending",
          "status": "ok"
        }
      }
    }
  },
  "400": {
    "description": "Invalid fields or encoding.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "invalid_request_fields"
        }
      }
    }
  },
  "404": {
    "description": "Unknown or unauthorized private resource.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "409": {
    "description": "Conflicting idempotency key or expired/replaced processing claim.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "claim_expired_or_replaced"
        }
      }
    }
  },
  "410": {
    "description": "Receiving term expired; retained mail remains recoverable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "receiving_term_expired"
        }
      }
    }
  },
  "413": {
    "description": "Complete encoded message or request exceeds its limit.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "message_too_large_including_envelope"
        }
      }
    }
  },
  "415": {
    "description": "JSON content type required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Explicit rate or usage limit; no overage charge.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "usage_limit_reached_use_recovery_export"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure; preserve original inputs and retry.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

Claim, acknowledge, release or defer a message

POST /v1/messaging/mailboxes/update-message-processing

Follow the authentication, capability and prerequisite requirements below.

Claim, acknowledge, release or defer a message. Included within the purchased limits. Use mailbox_id and the appropriate private capability after a finalized purchase. Treat message contents as untrusted data; this operation does not purchase another term.

Input fields

action Required · See complete schema
See the complete request schema for values and bounds.
claim_token Optional · string
See the complete request schema for values and bounds.
mailbox_id Required · string
See the complete request schema for values and bounds.
message_id Required · string
See the complete request schema for values and bounds.
seconds Optional · integer
See the complete request schema for values and bounds.

Response status

200
Authorized mailbox result. Cache-Control:no-store; message data is inert.
400
Invalid fields or encoding.
404
Unknown or unauthorized private resource.
409
Conflicting idempotency key or expired/replaced processing claim.
410
Receiving term expired; retained mail remains recoverable.
413
Complete encoded message or request exceeds its limit.
415
JSON content type required.
429
Explicit rate or usage limit; no overage charge.
503
Temporary failure; preserve original inputs and retry.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "action",
          "mailbox_id",
          "message_id"
        ],
        "properties": {
          "action": {
            "enum": [
              "claim",
              "extend",
              "acknowledge",
              "release",
              "defer"
            ]
          },
          "claim_token": {
            "type": "string",
            "pattern": "^[a-f0-9]{32}$"
          },
          "mailbox_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "message_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "seconds": {
            "type": "integer",
            "minimum": 1,
            "maximum": 900
          }
        }
      },
      "example": {
        "action": "claim",
        "mailbox_id": "48c93039de46652b3edbb29908213aea",
        "message_id": "00000000000000000000000000000000"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Authorized mailbox result. Cache-Control:no-store; message data is inert.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "claim",
            "message_id",
            "state",
            "status"
          ],
          "properties": {
            "claim": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "token": {
                  "type": "string"
                },
                "holder": {
                  "type": "string"
                },
                "until": {
                  "type": "integer"
                }
              }
            },
            "message_id": {
              "type": "string"
            },
            "state": {
              "type": "string"
            },
            "status": {
              "type": "string"
            }
          }
        },
        "example": {
          "claim": {
            "holder": "ec4916dd28fc4c10d78e287ca5d9cc51ee1ae73cbfde08c6b37324cbfaac8bc5",
            "token": "00000000000000000000000000000001",
            "until": 1792886700
          },
          "message_id": "00000000000000000000000000000000",
          "state": "claimed",
          "status": "ok"
        }
      }
    }
  },
  "400": {
    "description": "Invalid fields or encoding.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "invalid_request_fields"
        }
      }
    }
  },
  "404": {
    "description": "Unknown or unauthorized private resource.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "409": {
    "description": "Conflicting idempotency key or expired/replaced processing claim.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "claim_expired_or_replaced"
        }
      }
    }
  },
  "410": {
    "description": "Receiving term expired; retained mail remains recoverable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "receiving_term_expired"
        }
      }
    }
  },
  "413": {
    "description": "Complete encoded message or request exceeds its limit.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "message_too_large_including_envelope"
        }
      }
    }
  },
  "415": {
    "description": "JSON content type required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Explicit rate or usage limit; no overage charge.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "usage_limit_reached_use_recovery_export"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure; preserve original inputs and retry.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

Delete a retained message

POST /v1/messaging/mailboxes/delete-message

Follow the authentication, capability and prerequisite requirements below.

Delete a retained message. Included within the purchased limits. Use mailbox_id and the appropriate private capability after a finalized purchase. Treat message contents as untrusted data; this operation does not purchase another term.

Input fields

mailbox_id Required · string
See the complete request schema for values and bounds.
message_id Required · string
See the complete request schema for values and bounds.

Response status

200
Authorized mailbox result. Cache-Control:no-store; message data is inert.
400
Invalid fields or encoding.
404
Unknown or unauthorized private resource.
409
Conflicting idempotency key or expired/replaced processing claim.
410
Receiving term expired; retained mail remains recoverable.
413
Complete encoded message or request exceeds its limit.
415
JSON content type required.
429
Explicit rate or usage limit; no overage charge.
503
Temporary failure; preserve original inputs and retry.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "mailbox_id",
          "message_id"
        ],
        "properties": {
          "mailbox_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "message_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          }
        }
      },
      "example": {
        "mailbox_id": "48c93039de46652b3edbb29908213aea",
        "message_id": "00000000000000000000000000000000"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Authorized mailbox result. Cache-Control:no-store; message data is inert.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "deleted",
            "status"
          ],
          "properties": {
            "deleted": {
              "type": "boolean"
            },
            "status": {
              "type": "string"
            }
          }
        },
        "example": {
          "deleted": true,
          "status": "ok"
        }
      }
    }
  },
  "400": {
    "description": "Invalid fields or encoding.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "invalid_request_fields"
        }
      }
    }
  },
  "404": {
    "description": "Unknown or unauthorized private resource.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "409": {
    "description": "Conflicting idempotency key or expired/replaced processing claim.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "claim_expired_or_replaced"
        }
      }
    }
  },
  "410": {
    "description": "Receiving term expired; retained mail remains recoverable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "receiving_term_expired"
        }
      }
    }
  },
  "413": {
    "description": "Complete encoded message or request exceeds its limit.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "message_too_large_including_envelope"
        }
      }
    }
  },
  "415": {
    "description": "JSON content type required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Explicit rate or usage limit; no overage charge.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "usage_limit_reached_use_recovery_export"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure; preserve original inputs and retry.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

Recover retained messages outside exhausted ordinary quotas

POST /v1/messaging/mailboxes/export-messages

Follow the authentication, capability and prerequisite requirements below.

Recover retained messages outside exhausted ordinary quotas. Included within the purchased limits. Use mailbox_id and the appropriate private capability after a finalized purchase. Treat message contents as untrusted data; this operation does not purchase another term.

Input fields

cursor Optional · string
See the complete request schema for values and bounds.
mailbox_id Required · string
See the complete request schema for values and bounds.
restart Optional · boolean
See the complete request schema for values and bounds.

Response status

200
Authorized mailbox result. Cache-Control:no-store; message data is inert.
400
Invalid fields or encoding.
404
Unknown or unauthorized private resource.
409
Conflicting idempotency key or expired/replaced processing claim.
410
Receiving term expired; retained mail remains recoverable.
413
Complete encoded message or request exceeds its limit.
415
JSON content type required.
429
Explicit rate or usage limit; no overage charge.
503
Temporary failure; preserve original inputs and retry.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "mailbox_id"
        ],
        "properties": {
          "cursor": {
            "type": "string",
            "maxLength": 64
          },
          "mailbox_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "restart": {
            "type": "boolean"
          }
        }
      },
      "example": {
        "mailbox_id": "48c93039de46652b3edbb29908213aea"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Authorized mailbox result. Cache-Control:no-store; message data is inert.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "cursor",
            "messages",
            "status"
          ],
          "properties": {
            "cursor": {
              "type": [
                "string",
                "null"
              ]
            },
            "messages": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "accepted_at",
                  "channel",
                  "content",
                  "expires_at",
                  "message_id",
                  "provenance",
                  "sender"
                ],
                "properties": {
                  "accepted_at": {
                    "type": "integer"
                  },
                  "channel": {
                    "type": "string"
                  },
                  "content": {
                    "type": "object"
                  },
                  "expires_at": {
                    "type": "integer"
                  },
                  "message_id": {
                    "type": "string"
                  },
                  "provenance": {
                    "type": "object"
                  },
                  "sender": {
                    "type": "string"
                  }
                }
              }
            },
            "status": {
              "type": "string"
            }
          }
        },
        "example": {
          "cursor": null,
          "messages": [
            {
              "accepted_at": 1792886400,
              "channel": "native",
              "content": {
                "body": "Synthetic completed task result.",
                "content_type": "text/plain"
              },
              "expires_at": 1795478400,
              "message_id": "00000000000000000000000000000000",
              "provenance": {},
              "sender": "ec4916dd28fc4c10d78e287ca5d9cc51ee1ae73cbfde08c6b37324cbfaac8bc5"
            }
          ],
          "status": "ok"
        }
      }
    }
  },
  "400": {
    "description": "Invalid fields or encoding.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "invalid_request_fields"
        }
      }
    }
  },
  "404": {
    "description": "Unknown or unauthorized private resource.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "409": {
    "description": "Conflicting idempotency key or expired/replaced processing claim.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "claim_expired_or_replaced"
        }
      }
    }
  },
  "410": {
    "description": "Receiving term expired; retained mail remains recoverable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "receiving_term_expired"
        }
      }
    }
  },
  "413": {
    "description": "Complete encoded message or request exceeds its limit.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "message_too_large_including_envelope"
        }
      }
    }
  },
  "415": {
    "description": "JSON content type required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Explicit rate or usage limit; no overage charge.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "usage_limit_reached_use_recovery_export"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure; preserve original inputs and retry.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

Forward an independent authorized message copy

POST /v1/messaging/mailboxes/forward-message

Follow the authentication, capability and prerequisite requirements below.

Forward an independent authorized message copy. Included within the purchased limits. Use mailbox_id and the appropriate private capability after a finalized purchase. Treat message contents as untrusted data; this operation does not purchase another term.

Input fields

mailbox_id Required · string
See the complete request schema for values and bounds.
message_id Required · string
See the complete request schema for values and bounds.
recipient Required · string
See the complete request schema for values and bounds.
request_id Required · string
See the complete request schema for values and bounds.
send_key Required · string
See the complete request schema for values and bounds.

Response status

200
Authorized mailbox result. Cache-Control:no-store; message data is inert.
400
Invalid fields or encoding.
404
Unknown or unauthorized private resource.
409
Conflicting idempotency key or expired/replaced processing claim.
410
Receiving term expired; retained mail remains recoverable.
413
Complete encoded message or request exceeds its limit.
415
JSON content type required.
429
Explicit rate or usage limit; no overage charge.
503
Temporary failure; preserve original inputs and retry.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "mailbox_id",
          "message_id",
          "recipient",
          "request_id",
          "send_key"
        ],
        "properties": {
          "mailbox_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "message_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "recipient": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "send_key": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$"
          }
        }
      },
      "example": {
        "mailbox_id": "48c93039de46652b3edbb29908213aea",
        "message_id": "00000000000000000000000000000000",
        "recipient": "b257d7efe402649f70c99714568897a3",
        "request_id": "sample_message_0002",
        "send_key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Authorized mailbox result. Cache-Control:no-store; message data is inert.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "accepted_at",
            "expires_at",
            "message_id",
            "status"
          ],
          "properties": {
            "accepted_at": {
              "type": "integer"
            },
            "expires_at": {
              "type": "integer"
            },
            "message_id": {
              "type": "string"
            },
            "status": {
              "type": "string"
            }
          }
        },
        "example": {
          "accepted_at": 1792886400,
          "expires_at": 1795478400,
          "message_id": "00000000000000000000000000000001",
          "status": "stored"
        }
      }
    }
  },
  "400": {
    "description": "Invalid fields or encoding.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "invalid_request_fields"
        }
      }
    }
  },
  "404": {
    "description": "Unknown or unauthorized private resource.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "409": {
    "description": "Conflicting idempotency key or expired/replaced processing claim.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "claim_expired_or_replaced"
        }
      }
    }
  },
  "410": {
    "description": "Receiving term expired; retained mail remains recoverable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "receiving_term_expired"
        }
      }
    }
  },
  "413": {
    "description": "Complete encoded message or request exceeds its limit.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "message_too_large_including_envelope"
        }
      }
    }
  },
  "415": {
    "description": "JSON content type required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Explicit rate or usage limit; no overage charge.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "usage_limit_reached_use_recovery_export"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure; preserve original inputs and retry.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

Create a short-lived outbound connection ticket

POST /v1/messaging/mailboxes/create-connection-ticket

Follow the authentication, capability and prerequisite requirements below.

Create a short-lived outbound connection ticket. Included within the purchased limits. Use mailbox_id and the appropriate private capability after a finalized purchase. Treat message contents as untrusted data; this operation does not purchase another term.

Input fields

mailbox_id Required · string
See the complete request schema for values and bounds.

Response status

200
Authorized mailbox result. Cache-Control:no-store; message data is inert.
400
Invalid fields or encoding.
404
Unknown or unauthorized private resource.
409
Conflicting idempotency key or expired/replaced processing claim.
410
Receiving term expired; retained mail remains recoverable.
413
Complete encoded message or request exceeds its limit.
415
JSON content type required.
429
Explicit rate or usage limit; no overage charge.
503
Temporary failure; preserve original inputs and retry.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "mailbox_id"
        ],
        "properties": {
          "mailbox_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          }
        }
      },
      "example": {
        "mailbox_id": "48c93039de46652b3edbb29908213aea"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Authorized mailbox result. Cache-Control:no-store; message data is inert.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "endpoint",
            "expires_at",
            "heartbeat_seconds",
            "mailbox_id",
            "status",
            "ticket"
          ],
          "properties": {
            "endpoint": {
              "type": "string"
            },
            "expires_at": {
              "type": "integer"
            },
            "heartbeat_seconds": {
              "type": "integer"
            },
            "mailbox_id": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "ticket": {
              "type": "string"
            }
          }
        },
        "example": {
          "endpoint": "wss://notifications.example.test/live",
          "expires_at": 1792886460,
          "heartbeat_seconds": 300,
          "mailbox_id": "48c93039de46652b3edbb29908213aea",
          "status": "ok",
          "ticket": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI"
        }
      }
    }
  },
  "400": {
    "description": "Invalid fields or encoding.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "invalid_request_fields"
        }
      }
    }
  },
  "404": {
    "description": "Unknown or unauthorized private resource.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "409": {
    "description": "Conflicting idempotency key or expired/replaced processing claim.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "claim_expired_or_replaced"
        }
      }
    }
  },
  "410": {
    "description": "Receiving term expired; retained mail remains recoverable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "receiving_term_expired"
        }
      }
    }
  },
  "413": {
    "description": "Complete encoded message or request exceeds its limit.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "message_too_large_including_envelope"
        }
      }
    }
  },
  "415": {
    "description": "JSON content type required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Explicit rate or usage limit; no overage charge.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "usage_limit_reached_use_recovery_export"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure; preserve original inputs and retry.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[]

Receive a JSON callback using a send-only grant

POST /v1/messaging/mailboxes/receive-callback

Follow the authentication, capability and prerequisite requirements below.

Receive a JSON callback using a send-only grant. Included within the purchased limits. Use mailbox_id and the appropriate private capability after a finalized purchase. Treat message contents as untrusted data; this operation does not purchase another term.

Response status

200
Authorized mailbox result. Cache-Control:no-store; message data is inert.
400
Invalid fields or encoding.
404
Unknown or unauthorized private resource.
409
Conflicting idempotency key or expired/replaced processing claim.
410
Receiving term expired; retained mail remains recoverable.
413
Complete encoded message or request exceeds its limit.
415
JSON content type required.
429
Explicit rate or usage limit; no overage charge.
503
Temporary failure; preserve original inputs and retry.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object"
      },
      "example": {
        "event": "synthetic callback"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Authorized mailbox result. Cache-Control:no-store; message data is inert.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "accepted_at",
            "expires_at",
            "message_id",
            "status"
          ],
          "properties": {
            "accepted_at": {
              "type": "integer"
            },
            "expires_at": {
              "type": "integer"
            },
            "message_id": {
              "type": "string"
            },
            "status": {
              "type": "string"
            }
          }
        },
        "example": {
          "accepted_at": 1792886400,
          "expires_at": 1795478400,
          "message_id": "00000000000000000000000000000001",
          "status": "stored"
        }
      }
    }
  },
  "400": {
    "description": "Invalid fields or encoding.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "invalid_request_fields"
        }
      }
    }
  },
  "404": {
    "description": "Unknown or unauthorized private resource.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "not_found"
        }
      }
    }
  },
  "409": {
    "description": "Conflicting idempotency key or expired/replaced processing claim.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "claim_expired_or_replaced"
        }
      }
    }
  },
  "410": {
    "description": "Receiving term expired; retained mail remains recoverable.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "receiving_term_expired"
        }
      }
    }
  },
  "413": {
    "description": "Complete encoded message or request exceeds its limit.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "message_too_large_including_envelope"
        }
      }
    }
  },
  "415": {
    "description": "JSON content type required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "429": {
    "description": "Explicit rate or usage limit; no overage charge.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "usage_limit_reached_use_recovery_export"
        }
      }
    }
  },
  "503": {
    "description": "Temporary failure; preserve original inputs and retry.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "string"
            }
          }
        },
        "example": {
          "error": "temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "name": "X-Mekler-Mailbox",
    "in": "header",
    "required": true,
    "schema": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{16,64}$"
    }
  },
  {
    "name": "Idempotency-Key",
    "in": "header",
    "required": true,
    "schema": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{16,64}$"
    }
  }
]

Create a seven-day public API schema monitor

POST /v1/services/schema-monitors/create-monitor

0.5 USDC per seven-day hourly monitoring term

Service scope, examples and recovery →

Monitor one public HTTPS JSON API against your explicit schema for seven days. Includes an initial observation and up to 167 hourly checks, confirmed contract fault/recovery alerts and private history. Source failures remain unknown. 0.50 USDC per term; retrieve and delete with your private capability.

Input fields

request_id Required · string
Fresh purchase identity; preserve with the original payment proof.
owner_key Required · string
Generate 32 random bytes privately. Keep unchanged for this purchase and private retrieval/deletion. Never use the public example key.
url Required · string
Canonical public HTTPS URL on port 443; no query, fragment, credentials or redirects. Buyer must authorize monitoring.
schema Required · object
Explicit bounded Draft 2020-12 subset listed in the service guide. Required, optional and nullable values retain normal JSON Schema semantics.

Response status

200
Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 24000 decoded bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "request_id",
          "owner_key",
          "url",
          "schema"
        ],
        "properties": {
          "request_id": {
            "type": "string",
            "minLength": 16,
            "maxLength": 64,
            "pattern": "^[A-Za-z0-9_-]+$",
            "description": "Fresh purchase identity; preserve with the original payment proof."
          },
          "owner_key": {
            "type": "string",
            "minLength": 64,
            "maxLength": 64,
            "pattern": "^[a-f0-9]{64}$",
            "description": "Generate 32 random bytes privately. Keep unchanged for this purchase and private retrieval/deletion. Never use the public example key."
          },
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 1024,
            "description": "Canonical public HTTPS URL on port 443; no query, fragment, credentials or redirects. Buyer must authorize monitoring."
          },
          "schema": {
            "type": "object",
            "minProperties": 1,
            "maxProperties": 24,
            "description": "Explicit bounded Draft 2020-12 subset listed in the service guide. Required, optional and nullable values retain normal JSON Schema semantics."
          }
        }
      },
      "example": {
        "request_id": "schema-monitor-example-01",
        "owner_key": "1111111111111111111111111111111111111111111111111111111111111111",
        "url": "https://api.mekler.ai/health",
        "schema": {
          "type": "object",
          "required": [
            "status"
          ],
          "properties": {
            "status": {
              "type": "string",
              "const": "ok"
            }
          }
        }
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Completed bounded operation. PAYMENT-RESPONSE confirms finalized settlement; provisional results are explicitly labeled. Original proof recovers the exact result for 30 days.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "monitor_id",
            "term_seconds",
            "interval_seconds",
            "maximum_observations",
            "initial_observation",
            "limitations",
            "next_step"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "monitor_id": {
              "type": "string"
            },
            "term_seconds": {
              "type": "integer"
            },
            "interval_seconds": {
              "type": "integer"
            },
            "maximum_observations": {
              "type": "integer"
            },
            "initial_observation": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "state",
                "at",
                "errors",
                "error_limit_reached",
                "sample_bytes",
                "coverage",
                "signature",
                "attempts"
              ],
              "properties": {
                "state": {
                  "type": "string",
                  "enum": [
                    "healthy",
                    "violation"
                  ]
                },
                "at": {
                  "type": "integer"
                },
                "errors": {
                  "type": "array",
                  "maxItems": 10,
                  "items": {
                    "type": "object",
                    "required": [
                      "pointer",
                      "keyword"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "pointer": {
                        "type": "string"
                      },
                      "keyword": {
                        "type": "string"
                      }
                    }
                  }
                },
                "error_limit_reached": {
                  "type": "boolean"
                },
                "sample_bytes": {
                  "type": "integer"
                },
                "coverage": {
                  "type": "string"
                },
                "signature": {
                  "type": "string"
                },
                "attempts": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "state",
                      "at",
                      "errors",
                      "error_limit_reached",
                      "sample_bytes",
                      "coverage",
                      "signature"
                    ],
                    "properties": {
                      "state": {
                        "type": "string",
                        "enum": [
                          "healthy",
                          "violation"
                        ]
                      },
                      "at": {
                        "type": "integer"
                      },
                      "errors": {
                        "type": "array",
                        "maxItems": 10,
                        "items": {
                          "type": "object",
                          "required": [
                            "pointer",
                            "keyword"
                          ],
                          "additionalProperties": false,
                          "properties": {
                            "pointer": {
                              "type": "string"
                            },
                            "keyword": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "error_limit_reached": {
                        "type": "boolean"
                      },
                      "sample_bytes": {
                        "type": "integer"
                      },
                      "coverage": {
                        "type": "string"
                      },
                      "signature": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "next_step": {
              "type": "string"
            }
          }
        },
        "example": {
          "status": "ok",
          "monitor_id": "7ba23e2c5cc7c11246d33660534b28f6a250ef749ec15ba3",
          "term_seconds": 604800,
          "interval_seconds": 3600,
          "maximum_observations": 168,
          "initial_observation": {
            "state": "healthy",
            "at": 1000,
            "errors": [],
            "error_limit_reached": false,
            "sample_bytes": 15,
            "coverage": "one_response_no_pagination",
            "signature": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
            "attempts": [
              {
                "state": "healthy",
                "at": 1000,
                "errors": [],
                "error_limit_reached": false,
                "sample_bytes": 15,
                "coverage": "one_response_no_pagination",
                "signature": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945"
              }
            ]
          },
          "limitations": [
            "Checks the supplied JSON Schema requirements against one fetched response only; no automatic semantic or universal compatibility claim.",
            "Only public unauthenticated HTTPS GET without redirects, custom headers or cookies. Source authorization remains the buyer responsibility.",
            "Pagination is not followed. Empty arrays validate unless minItems is specified. Optional fields may be absent.",
            "Hourly scheduling is best effort. Missed slots, source errors and incomplete samples remain visible and cannot establish a healthy contract.",
            "Alerts are private data returned by retrieve-monitor; no email, webhook or push delivery is included."
          ],
          "next_step": "Retrieve the monitor privately with monitor_id and your original owner_key. Scheduling starts only after finalized settlement."
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "x402 v2 payment quote for valid input. An empty unsigned POST receives a preflight-only 402 for directory validation; submit a valid bundle before signing. Expired/invalid proofs may also return 402.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.500000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 24000 decoded bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Retrieve current monitor evidence and alerts

POST /v1/services/schema-monitors/retrieve-monitor

Follow the authentication, capability and prerequisite requirements below.

Retrieve current monitor evidence and alerts. Free private capability operation. Send the original owner_key as Authorization Bearer; no x402 payment is required.

Input fields

monitor_id Required · string
Purchased monitor identity.

Response status

200
Private monitor result or deletion confirmation
404
Missing monitor or invalid capability
413
Request exceeds 2048 encoded bytes
415
application/json required
503
Temporary storage failure; retry the same request
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "required": [
          "monitor_id"
        ],
        "additionalProperties": false,
        "properties": {
          "monitor_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{48}$",
            "description": "Purchased monitor identity."
          }
        }
      },
      "example": {
        "monitor_id": "7ba23e2c5cc7c11246d33660534b28f6a250ef749ec15ba3"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Private monitor result or deletion confirmation",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "monitor_id",
            "monitor_state",
            "starts_at",
            "ends_at",
            "observations_completed",
            "missed_slots",
            "next_check_at",
            "state",
            "history",
            "alerts",
            "history_limit",
            "alerts_limit",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string",
              "const": "ok"
            },
            "monitor_id": {
              "type": "string",
              "pattern": "^[a-f0-9]{48}$"
            },
            "monitor_state": {
              "type": "string",
              "enum": [
                "prepared",
                "active",
                "expired",
                "deleted"
              ]
            },
            "starts_at": {
              "type": [
                "integer",
                "null"
              ]
            },
            "ends_at": {
              "type": [
                "integer",
                "null"
              ]
            },
            "observations_completed": {
              "type": "integer",
              "minimum": 1,
              "maximum": 168
            },
            "missed_slots": {
              "type": "integer",
              "minimum": 0,
              "maximum": 167
            },
            "next_check_at": {
              "type": [
                "integer",
                "null"
              ]
            },
            "state": {
              "type": "object",
              "description": "Last observed/confirmed state, source-gap flag and timestamps; unknown observations preserve confirmed_state and signature. Empty after deletion.",
              "additionalProperties": false,
              "properties": {
                "confirmed_state": {
                  "type": "string",
                  "enum": [
                    "healthy",
                    "violation"
                  ]
                },
                "observed_state": {
                  "type": "string",
                  "enum": [
                    "healthy",
                    "violation",
                    "unknown"
                  ]
                },
                "source_gap": {
                  "type": "boolean"
                },
                "signature": {
                  "type": "string"
                },
                "last_assessed_at": {
                  "type": "integer"
                },
                "last_checked_at": {
                  "type": "integer"
                }
              }
            },
            "history": {
              "type": "array",
              "maxItems": 24,
              "description": "Oldest to newest observations, further bounded by encrypted-record bytes. No raw source values are retained.",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "state",
                  "at",
                  "source_attempts"
                ],
                "properties": {
                  "state": {
                    "type": "string",
                    "enum": [
                      "healthy",
                      "violation",
                      "unknown"
                    ]
                  },
                  "at": {
                    "type": "integer"
                  },
                  "source_attempts": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 2
                  },
                  "reason": {
                    "type": "string"
                  },
                  "http_status": {
                    "type": "integer"
                  },
                  "sample_bytes": {
                    "type": "integer"
                  },
                  "coverage": {
                    "type": "string"
                  },
                  "signature": {
                    "type": "string"
                  },
                  "error_limit_reached": {
                    "type": "boolean"
                  },
                  "errors": {
                    "type": "array",
                    "maxItems": 10,
                    "items": {
                      "type": "object",
                      "required": [
                        "pointer",
                        "keyword"
                      ],
                      "properties": {
                        "pointer": {
                          "type": "string"
                        },
                        "keyword": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                }
              }
            },
            "alerts": {
              "type": "array",
              "maxItems": 100,
              "description": "Oldest to newest retained fault, recovery and source-gap events. Repeated identical faults are suppressed. Further bounded by encrypted-record bytes.",
              "items": {
                "type": "object",
                "required": [
                  "kind",
                  "at"
                ],
                "additionalProperties": false,
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "contract_violation",
                      "contract_recovered",
                      "source_unavailable",
                      "source_recovered"
                    ]
                  },
                  "at": {
                    "type": "integer"
                  },
                  "errors": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "pointer",
                        "keyword"
                      ],
                      "properties": {
                        "pointer": {
                          "type": "string"
                        },
                        "keyword": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                }
              }
            },
            "history_limit": {
              "type": "integer",
              "const": 24
            },
            "alerts_limit": {
              "type": "integer",
              "const": 100
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "monitor_id": "7ba23e2c5cc7c11246d33660534b28f6a250ef749ec15ba3",
          "monitor_state": "active",
          "starts_at": 1000,
          "ends_at": 605800,
          "observations_completed": 1,
          "missed_slots": 0,
          "next_check_at": 4600,
          "state": {
            "source_gap": false,
            "confirmed_state": "healthy",
            "signature": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
            "last_assessed_at": 1000,
            "observed_state": "healthy",
            "last_checked_at": 1000
          },
          "history": [
            {
              "state": "healthy",
              "at": 1000,
              "errors": [],
              "error_limit_reached": false,
              "sample_bytes": 15,
              "coverage": "one_response_no_pagination",
              "signature": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
              "source_attempts": 1
            }
          ],
          "alerts": [],
          "history_limit": 24,
          "alerts_limit": 100,
          "limitations": [
            "Checks the supplied JSON Schema requirements against one fetched response only; no automatic semantic or universal compatibility claim.",
            "Only public unauthenticated HTTPS GET without redirects, custom headers or cookies. Source authorization remains the buyer responsibility.",
            "Pagination is not followed. Empty arrays validate unless minItems is specified. Optional fields may be absent.",
            "Hourly scheduling is best effort. Missed slots, source errors and incomplete samples remain visible and cannot establish a healthy contract.",
            "Alerts are private data returned by retrieve-monitor; no email, webhook or push delivery is included."
          ]
        }
      }
    }
  },
  "404": {
    "description": "Missing monitor or invalid capability",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": true
        },
        "example": {
          "error": "monitor_not_found"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 2048 encoded bytes",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": true
        },
        "example": {
          "error": "request_unavailable"
        }
      }
    }
  },
  "415": {
    "description": "application/json required",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": true
        },
        "example": {
          "error": "request_unavailable"
        }
      }
    }
  },
  "503": {
    "description": "Temporary storage failure; retry the same request",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": true
        },
        "example": {
          "error": "request_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "Authorization",
    "required": true,
    "description": "Bearer followed by the privately generated owner_key from the original purchase. Never put it in a URL.",
    "schema": {
      "type": "string",
      "maxLength": 71
    }
  }
]

Delete a monitor and cancel future observations

POST /v1/services/schema-monitors/delete-monitor

Follow the authentication, capability and prerequisite requirements below.

Delete a monitor and cancel future observations. Free private capability operation. Send the original owner_key as Authorization Bearer; no x402 payment is required.

Input fields

monitor_id Required · string
Purchased monitor identity.

Response status

200
Private monitor result or deletion confirmation
404
Missing monitor or invalid capability
413
Request exceeds 2048 encoded bytes
415
application/json required
503
Temporary storage failure; retry the same request
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "required": [
          "monitor_id"
        ],
        "additionalProperties": false,
        "properties": {
          "monitor_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{48}$",
            "description": "Purchased monitor identity."
          }
        }
      },
      "example": {
        "monitor_id": "7ba23e2c5cc7c11246d33660534b28f6a250ef749ec15ba3"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Private monitor result or deletion confirmation",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "monitor_state"
          ],
          "properties": {
            "status": {
              "type": "string",
              "const": "ok"
            },
            "monitor_state": {
              "type": "string",
              "const": "deleted"
            }
          }
        },
        "example": {
          "status": "ok",
          "monitor_state": "deleted"
        }
      }
    }
  },
  "404": {
    "description": "Missing monitor or invalid capability",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": true
        },
        "example": {
          "error": "monitor_not_found"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 2048 encoded bytes",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": true
        },
        "example": {
          "error": "request_unavailable"
        }
      }
    }
  },
  "415": {
    "description": "application/json required",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": true
        },
        "example": {
          "error": "request_unavailable"
        }
      }
    }
  },
  "503": {
    "description": "Temporary storage failure; retry the same request",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": true
        },
        "example": {
          "error": "request_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "Authorization",
    "required": true,
    "description": "Bearer followed by the privately generated owner_key from the original purchase. Never put it in a URL.",
    "schema": {
      "type": "string",
      "maxLength": 71
    }
  }
]

Capture a website screenshot

POST /v1/web/pages/capture-screenshot

0.01 USDC per successful screenshot

Service scope, examples and recovery →

Capture a public HTTPS webpage as PNG or JPEG at a chosen desktop/mobile viewport, optionally its bounded full height. Return image bytes, dimensions, final URL, capture time and SHA-256. 0.01 USDC per successful capture; blocked, incomplete or oversized captures are uncharged. No login, CAPTCHA bypass or arbitrary scripting. Private original-proof recovery lasts 30 days.

Input fields

request_id Required · string
See the complete request schema for values and bounds.
url Required · string
See the complete request schema for values and bounds.
width Optional · integer
See the complete request schema for values and bounds.
height Optional · integer
See the complete request schema for values and bounds.
full_page Optional · boolean
See the complete request schema for values and bounds.
format Optional · string
See the complete request schema for values and bounds.

Response status

200
Successful capture. Decode image_base64 to an image file; the timestamp identifies this capture. PAYMENT-RESPONSE confirms payment finality.
202
Payment pending. Retry identical input and proof; never create another payment.
400
Invalid input or payment; validate against this contract.
402
Input-bound quote with no browser work. Empty body yields a nonpayable discovery preflight. Sign only an offer for the intended capture.
409
The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.
413
Request exceeds 24000 decoded bytes.
415
application/json required.
503
Temporarily unavailable. Retry identical proof only.
429
API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.
410
Original result recovery expired.
422
Capture could not produce a useful supported image; uncharged.
504
Bounded work deadline exceeded. Retry original input and proof.
Complete schema: request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "request_id",
          "url"
        ],
        "properties": {
          "request_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{16,64}$"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "pattern": "^https://"
          },
          "width": {
            "type": "integer",
            "minimum": 320,
            "maximum": 1920,
            "default": 1280
          },
          "height": {
            "type": "integer",
            "minimum": 240,
            "maximum": 2160,
            "default": 900
          },
          "full_page": {
            "type": "boolean",
            "default": false
          },
          "format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ],
            "default": "png"
          }
        }
      },
      "example": {
        "request_id": "screenshot_example_0001",
        "url": "https://mekler.ai/",
        "width": 1280,
        "height": 900,
        "full_page": false,
        "format": "png"
      }
    }
  }
}
Complete schema: responses and errors
{
  "200": {
    "description": "Successful capture. Decode image_base64 to an image file; the timestamp identifies this capture. PAYMENT-RESPONSE confirms payment finality.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "final_url",
            "title",
            "captured_at",
            "viewport",
            "width",
            "height",
            "full_page",
            "mime_type",
            "image_base64",
            "image_sha256",
            "image_bytes",
            "limitations"
          ],
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "ok"
              ]
            },
            "final_url": {
              "type": "string"
            },
            "title": {
              "type": "string"
            },
            "captured_at": {
              "type": "string"
            },
            "viewport": {
              "type": "object",
              "required": [
                "width",
                "height"
              ],
              "additionalProperties": false,
              "properties": {
                "width": {
                  "type": "integer"
                },
                "height": {
                  "type": "integer"
                }
              }
            },
            "width": {
              "type": "integer"
            },
            "height": {
              "type": "integer"
            },
            "full_page": {
              "type": "boolean"
            },
            "mime_type": {
              "type": "string",
              "enum": [
                "image/png",
                "image/jpeg"
              ]
            },
            "image_base64": {
              "type": "string",
              "description": "Base64-encoded complete image. Decode and save as PNG/JPEG; no public image URL."
            },
            "image_sha256": {
              "type": "string",
              "pattern": "^[0-9a-f]{64}$"
            },
            "image_bytes": {
              "type": "integer"
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "status": "ok",
          "final_url": "https://mekler.ai/",
          "title": "Mekler AI",
          "captured_at": "2026-10-28T00:00:00+00:00",
          "viewport": {
            "width": 1280,
            "height": 900
          },
          "width": 1280,
          "height": 900,
          "full_page": false,
          "mime_type": "image/png",
          "image_base64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+jZ3sAAAAASUVORK5CYII=",
          "image_sha256": "f0dd5aec26d234e99022c4a7b66538ec4650779a5ad278c8bb31c31bab09fc71",
          "image_bytes": 68,
          "limitations": [
            "Prepared synthetic response; image bytes are a one-pixel placeholder. Actual captures contain the requested page dimensions."
          ]
        }
      }
    },
    "headers": {
      "PAYMENT-RESPONSE": {
        "description": "Base64 JSON settlement receipt: success, transaction, network, payer. Present only after finality.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Payment-State": {
        "description": "finalized or provisional",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Purchase-Id": {
        "description": "Purchase ID on provisional results.",
        "schema": {
          "type": "string"
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "202": {
    "description": "Payment pending. Retry identical input and proof; never create another payment.",
    "headers": {
      "Retry-After": {
        "description": "Seconds before retrying identical body and proof.",
        "schema": {
          "type": "string",
          "enum": [
            "5"
          ]
        }
      },
      "X-Mekler-Referral-Receipt": {
        "description": "Optional base64 JSON attribution and locked-offer metadata. Does not alter the business result.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "payment_pending"
              ]
            },
            "purchase_id": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            }
          },
          "required": [
            "status",
            "purchase_id",
            "retry"
          ]
        },
        "example": {
          "status": "payment_pending",
          "purchase_id": "example-purchase-id",
          "retry": "Resend the identical request and PAYMENT-SIGNATURE. Do not pay again."
        }
      }
    }
  },
  "400": {
    "description": "Invalid input or payment; validate against this contract.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "invalid_request"
        }
      }
    }
  },
  "402": {
    "description": "Input-bound quote with no browser work. Empty body yields a nonpayable discovery preflight. Sign only an offer for the intended capture.",
    "headers": {
      "PAYMENT-REQUIRED": {
        "description": "Base64 JSON x402 v2 quote for valid unsigned input. Expired/invalid-proof errors may omit this header.",
        "schema": {
          "type": "string"
        }
      }
    },
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            },
            "preflight_only": {
              "type": "boolean",
              "description": "True only for an unsigned empty-body directory preflight; this offer must not be signed."
            },
            "next_step": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_required",
          "price_usdc": "0.010000"
        }
      }
    }
  },
  "409": {
    "description": "The proof is already bound to another request, or its transaction failed. Inspect error and purchase_id; do not automatically create another payment.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_already_bound"
        }
      }
    }
  },
  "413": {
    "description": "Request exceeds 24000 decoded bytes.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "body_too_large"
        }
      }
    }
  },
  "415": {
    "description": "application/json required.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "application_json_required"
        }
      }
    }
  },
  "503": {
    "description": "Temporarily unavailable. Retry identical proof only.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "429": {
    "description": "API gateway throttling. Respect Retry-After when supplied; otherwise back off. Preserve any existing payment proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          },
          "required": [
            "message"
          ]
        },
        "example": {
          "message": "Too Many Requests"
        }
      }
    }
  },
  "410": {
    "description": "Original result recovery expired.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "422": {
    "description": "Capture could not produce a useful supported image; uncharged.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  },
  "504": {
    "description": "Bounded work deadline exceeded. Retry original input and proof.",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            },
            "retry": {
              "type": "string"
            },
            "purchase_id": {
              "type": "string"
            },
            "price_usdc": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "example": {
          "error": "payment_temporarily_unavailable"
        }
      }
    }
  }
}
Complete schema: parameters and headers
[
  {
    "in": "header",
    "name": "PAYMENT-SIGNATURE",
    "required": false,
    "schema": {
      "type": "string"
    },
    "description": "x402 v2 signed payment. Resend the identical request and proof after a lost response."
  }
]

Shared schema definitions

OpenAPI components
{
  "securitySchemes": {
    "x402": {
      "type": "http",
      "scheme": "x402",
      "description": "x402 v2 payment, not an account credential. An unsigned POST returns 402 with PAYMENT-REQUIRED; sign one accepts[] offer and resend the same request with PAYMENT-SIGNATURE. No API key or signup."
    },
    "inboxCapability": {
      "type": "http",
      "scheme": "bearer",
      "description": "Caller-generated private access_key for this inbox; no account/API key registration. Free read/delete operations only."
    },
    "listingControl": {
      "type": "apiKey",
      "in": "header",
      "name": "X-Mekler-Listing-Control",
      "description": "Private domain-control capability, unrelated to payment."
    },
    "mailCapability": {
      "type": "http",
      "scheme": "bearer",
      "description": "Owner or scoped mailbox capability; generate privately and never use an example key."
    },
    "monitorCapability": {
      "type": "http",
      "scheme": "bearer",
      "description": "Private caller-generated owner_key for this monitor. No account or API-key registration. Free retrieve/delete only."
    }
  }
}