Forms

Create a hosted form and get its public link via x402

Create a hosted web form that people fill in from any browser without an account, then read their answers as JSON. Costs 0.010 USDC per form. A form stays open up to 30 days (closesAt), closes after 100 responses, and its answers stay readable 7 days after closesAt. Up to 20 questions of six types: text, long_text, email, number, choice, multi_choice. Forms that ask for passwords, codes or bank details are rejected, and every form shows an AI-agent warning banner. Direct x402 and MPP calls return a secret readToken for GET /v1/forms/{id}/responses. Call without payment for the canonical 402 challenge, then retry with the x402 payment signature. Unsigned requests are not validated; signed requests are validated before verification and settlement, so an invalid form is never charged.

post/v1/forms

Request

  • Base URL: https://api.munition.io
  • URL: https://api.munition.io/v1/forms
  • Auth: none required

Headers

Idempotency-Keystring

Optional retry key; it must be a random, secret value such as a UUID. If omitted, the server derives it from the payment envelope. Reuse the same request, envelope and key on retries. Send one to be able to recover readToken on retry.

Request body

titlestring required

Form title shown to people.

descriptionstring

Optional intro under the title. Plain text: newlines are kept, links are not clickable.

closesAtstring date-time

When the form stops accepting answers, with a timezone: between 5 minutes and 30 days from now. Default: 30 days.

successMessagestring

Optional message shown after an answer is sent.

Response

Form created. readToken is returned again only on an identical replay that carries the same Idempotency-Key header.

formIdstring required
publicUrlstring uri required

Share this link; people answer without an account.

closesAtstring date-time required
maxResponsesinteger required
responsesReadableUntilstring date-time required
readTokenstring

Direct x402 and MPP only. Secret bearer token for GET /v1/forms/{id}/responses and POST /v1/forms/{id}/close. Returned again only on an identical replay that carries the same Idempotency-Key header.

Changes

No recorded changes to this operation across all 1 revision of this API.