create_proof
Stamp content with a permanent provenance record. Pass the sha256 hash of the content (hash it locally; the content itself is never uploaded). Returns an instant signed receipt: attach its verifyUrl, byline, badgeEmbed, and qrUrl to the published artifact. The receipt's publisher field carries the account's verified identity (domain/handle) or null. If you have no key, call create_account, store its one-time secret, and retry this same call with Authorization: Bearer <secret> (its freeStamp says whether a free stamp comes with it). If the response is payment_required or quota_exhausted, call buy_stamps and give a person the returned checkout link (prepaid packs never expire: 5 for $1.00, 10 for $1.50, 50 for $5.00, 100 for $8.00, 500 for $35.00, 1,000 for $65.00, 2,000 for $120.00), poll get_balance until the stamps arrive, then retry. To pay per stamp instead, sign one advertised x402 requirement and send it as a PAYMENT-SIGNATURE HTTP header: tool arguments can't carry it, so either configure your MCP client to send that header or POST the same JSON to https://makemark.io/proof directly. An invalid_api_key error means the key is mistyped or revoked: create a new one. The optional disclosure fields (aiDisclosure, usageNote, location) only show on visibility: public stamps and are unsigned metadata, not part of the cryptographic proof. The stamp asserts provenance from a signer at a time, not authorship truth.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Optional human-readable title | |
| location | No | Optional, creator-opt-in only: where this was made | |
| usageNote | No | Optional usage/license line, e.g. "Free to share, with credit" | |
| visibility | No | Default private | |
| contentHash | Yes | sha256 hex of the exact content bytes (64 chars) | |
| contentType | No | MIME type, e.g. text/markdown | |
| aiDisclosure | No | Optional, honest disclosure of AI involvement. Shown on the public record card. | |
| canonicalSlug | No | Optional stable slug for a canonical latest-version pointer | |
| previousProofId | No | For a new version of already-stamped content: the prior proof id |