Submission Endpoints
Submit forms and retrieve submission data.
Submit form
POST /submit/:deployIdPublic endpoint -- no authentication required. This is the endpoint that deployed forms submit to.
Path parameters
| Parameter | Description |
|---|---|
deployId | The deployment ID |
Request body
Any form fields as key-value pairs. The endpoint accepts three content types:
application/jsonapplication/x-www-form-urlencodedmultipart/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
| Status | Reason |
|---|---|
| 404 | Deployment not found |
| 429 | Rate 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/:deployIdRetrieve paginated submissions for a deployment. Requires authentication.
Path parameters
| Parameter | Description |
|---|---|
deployId | The deployment ID |
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number |
limit | integer | 50 | Results 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
| Status | Reason |
|---|---|
| 401 | Missing or invalid API key |
| 404 | Deployment not found or not owned by authenticated user |