Skip to content

Deploy Endpoints

Create, read, update, and delete deployments. All endpoints require authentication.

Create deployment

POST /deploy

Deploy HTML to a live URL. Returns the deployment ID and public URL.

Request body

FieldTypeRequiredDescription
htmlstringYesThe full HTML content to deploy
slugstringNoCustom 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

StatusReason
400Missing html field or invalid slug format
401Missing or invalid API key
403Plan 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/:id

Retrieve metadata and status for a deployment.

Path parameters

ParameterDescription
idThe 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

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

Update deployment HTML

PUT /deploy/:id

Replace the HTML content of an existing deployment. The URL and slug remain unchanged.

Path parameters

ParameterDescription
idThe deployment ID

Request body

FieldTypeRequiredDescription
htmlstringYesThe 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

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

Update deployment settings

PATCH /deploy/:id

Update deployment configuration without changing the HTML content.

Path parameters

ParameterDescription
idThe deployment ID

Request body

FieldTypeRequiredDescription
email_notificationsbooleanNoEnable 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

StatusReason
400Invalid field type
401Missing or invalid API key
404Deployment not found or not owned by authenticated user

Delete deployment

DELETE /deploy/:id

Soft-delete a deployment. The page is taken offline and the slug is freed, but submission data is retained.

Path parameters

ParameterDescription
idThe 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

StatusReason
401Missing or invalid API key
404Deployment 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.

Deploy forms and sites from AI conversations.