Deploy Endpoints
Create, read, update, and delete deployments. All endpoints require authentication.
Create deployment
POST /deployDeploy HTML to a live URL. Returns the deployment ID and public URL.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
html | string | Yes | The full HTML content to deploy |
slug | string | No | Custom URL slug (lowercase, hyphens only). Auto-generated if omitted. |
Example request
bash
curl -X POST https://api.invoker.page/deploy \
-H "Authorization: Bearer inv_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"html": "<!DOCTYPE html><html><body><h1>Hello World</h1></body></html>",
"slug": "my-page"
}'Example response
json
{
"id": "d_abc123",
"url": "https://my-page.invoker.page",
"slug": "my-page"
}Errors
| Status | Reason |
|---|---|
| 400 | Missing html field or invalid slug format |
| 401 | Missing or invalid API key |
| 403 | Plan deployment limit reached |
Using
If your HTML contains forms, use as the form action. It is replaced with the real submission endpoint at deploy time. See Form Capture for details.
Get deployment status
GET /deploy/:idRetrieve metadata and status for a deployment.
Path parameters
| Parameter | Description |
|---|---|
id | The deployment ID |
Example request
bash
curl https://api.invoker.page/deploy/d_abc123 \
-H "Authorization: Bearer inv_your_api_key"Example response
json
{
"id": "d_abc123",
"slug": "my-page",
"status": "active",
"url": "https://my-page.invoker.page",
"submission_count": 42,
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-15T14:22:00Z"
}Errors
| Status | Reason |
|---|---|
| 401 | Missing or invalid API key |
| 404 | Deployment not found or not owned by authenticated user |
Update deployment HTML
PUT /deploy/:idReplace the HTML content of an existing deployment. The URL and slug remain unchanged.
Path parameters
| Parameter | Description |
|---|---|
id | The deployment ID |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
html | string | Yes | The new HTML content |
Example request
bash
curl -X PUT https://api.invoker.page/deploy/d_abc123 \
-H "Authorization: Bearer inv_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"html": "<!DOCTYPE html><html><body><h1>Updated Page</h1></body></html>"
}'Example response
json
{
"id": "d_abc123",
"url": "https://my-page.invoker.page",
"slug": "my-page"
}Errors
| Status | Reason |
|---|---|
| 400 | Missing html field |
| 401 | Missing or invalid API key |
| 404 | Deployment not found or not owned by authenticated user |
Update deployment settings
PATCH /deploy/:idUpdate deployment configuration without changing the HTML content.
Path parameters
| Parameter | Description |
|---|---|
id | The deployment ID |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
email_notifications | boolean | No | Enable or disable email notifications on new submissions |
Example request
bash
curl -X PATCH https://api.invoker.page/deploy/d_abc123 \
-H "Authorization: Bearer inv_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"email_notifications": true
}'Example response
json
{
"success": true,
"id": "d_abc123"
}Errors
| Status | Reason |
|---|---|
| 400 | Invalid field type |
| 401 | Missing or invalid API key |
| 404 | Deployment not found or not owned by authenticated user |
Delete deployment
DELETE /deploy/:idSoft-delete a deployment. The page is taken offline and the slug is freed, but submission data is retained.
Path parameters
| Parameter | Description |
|---|---|
id | The deployment ID |
Example request
bash
curl -X DELETE https://api.invoker.page/deploy/d_abc123 \
-H "Authorization: Bearer inv_your_api_key"Example response
json
{
"message": "Deployment deleted",
"id": "d_abc123"
}Errors
| Status | Reason |
|---|---|
| 401 | Missing or invalid API key |
| 404 | Deployment not found or not owned by authenticated user |
Freeing up deployment slots
Deleting a deployment frees up a slot against your plan limit. See Plans & Limits for details.