Skip to content

Submission Endpoints

Submit forms and retrieve submission data.

Submit form

POST /submit/:deployId

Public endpoint -- no authentication required. This is the endpoint that deployed forms submit to.

Path parameters

ParameterDescription
deployIdThe deployment ID

Request body

Any form fields as key-value pairs. The endpoint accepts three content types:

  • application/json
  • application/x-www-form-urlencoded
  • multipart/form-data

Honeypot field

If a field named _hp is present and non-empty, the submission is silently rejected (returns 200 but is not stored). Use this as bot protection by including a hidden field in your form:

html
<input type="text" name="_hp" style="display:none" tabindex="-1" autocomplete="off">

Rate limiting

Submissions are rate limited to 10 per minute per deployment. Exceeding this returns a 429 status.

Example request (JSON)

bash
curl -X POST https://api.invoker.page/submit/d_abc123 \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Jane Doe",
    "email": "jane@example.com",
    "message": "Hello from the form"
  }'

Example request (form-urlencoded)

bash
curl -X POST https://api.invoker.page/submit/d_abc123 \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "name=Jane+Doe&email=jane%40example.com&message=Hello"

Example response

json
{
  "message": "Submission received",
  "id": "sub_xyz789"
}

Errors

StatusReason
404Deployment not found
429Rate limit exceeded (10/min per deployment)

CORS

This endpoint has CORS enabled for all origins, allowing forms on any domain to submit to it.


List submissions

GET /submissions/:deployId

Retrieve paginated submissions for a deployment. Requires authentication.

Path parameters

ParameterDescription
deployIdThe deployment ID

Query parameters

ParameterTypeDefaultDescription
pageinteger1Page number
limitinteger50Results per page

Example request

bash
curl "https://api.invoker.page/submissions/d_abc123?page=1&limit=10" \
  -H "Authorization: Bearer inv_your_api_key"

Example response

json
{
  "submissions": [
    {
      "id": "sub_xyz789",
      "data": {
        "name": "Jane Doe",
        "email": "jane@example.com",
        "message": "Hello from the form"
      },
      "ip_address": "203.0.113.42",
      "created_at": "2025-01-15T14:30:00Z"
    },
    {
      "id": "sub_xyz790",
      "data": {
        "name": "John Smith",
        "email": "john@example.com",
        "message": "Another submission"
      },
      "ip_address": "198.51.100.7",
      "created_at": "2025-01-15T14:25:00Z"
    }
  ],
  "total": 42,
  "page": 1,
  "limit": 10
}

Errors

StatusReason
401Missing or invalid API key
404Deployment not found or not owned by authenticated user

Deploy forms and sites from AI conversations.