Form ID

Quickstart

Point any HTML form at Ikiform and receive your first submission in two minutes.

Ikiform is the backend for every form. You keep your own markup, framework and styles. Point the form at an Ikiform endpoint and Ikiform validates each post, filters spam, stores it in your workspace, emails you and delivers it to your systems by signed webhook.

Enter your form ID in the Form ID field at the top of any page and every code sample in these docs uses it. It is saved in this browser only.

Pick how you send

Every form gets one public endpoint, https://ikiform.com/f/<formId>. Anything that can send an HTTP POST can use it.

You send fromUseGuide
A plain HTML page or a site builder<form action>HTML forms
React, Next.js, Vue, Svelte, Astrofetch or submit from the SDKGuides
A backend, script or integrationJSON over HTTPS with a secret keyFrom a server
A shadcn/ui projectThe registry componentshadcn/ui component

Quickstart

  1. Create a form

    Sign in to the dashboard, create a workspace and add a form. Its overview shows the endpoint URL and ready-made snippets for HTML, JavaScript and React.

  2. Point your form at the endpoint

    Set the form's action to the endpoint and method to post. Every input with a name becomes a field of the submission.

    contact.html
    <form action="https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx" method="post">
      <input name="name" required />
      <input name="email" type="email" required />
      <textarea name="message"></textarea>
      <input name="_gotcha" type="text" tabindex="-1" autocomplete="off" hidden />
      <button>Send</button>
    </form>

    The hidden _gotcha input is a honeypot. People never see it; bots that fill it in are stored as spam. See Spam protection.

  3. Submit it

    Open the page and send the form. The browser lands on Ikiform's thank-you page, or on your own page if you set a redirect. You can also post JSON from a terminal:

    Terminal
    curl https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx \
      -H "Content-Type: application/json" \
      -d '{"name":"Ada","email":"ada@example.com","message":"Hello"}'

    A JSON request gets a JSON answer with status 201:

    201 Created
    { "ok": true, "id": "sub_01k7v2c9t3e8m5q4x6z0a1b2c3" }
  4. See it arrive

    The submission shows up in the dashboard right away. From there, add a webhook to send each one to your app, or read them with the REST API.

Try it

Form ID
Fields
Body
Idempotency key
curl https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx \
  -H "Content-Type: application/json" \
  -d '{"name":"Ada Lovelace","email":"ada@example.com","message":"Hello from the Ikiform docs."}'

Enter your own form ID to send this as a real request.

Next steps