Developers
API reference
Deploy and manage sites programmatically.
The Droply API lets you create sites and push deployments from your own scripts and from
integrations (the ChatGPT GPT Action, Zapier, n8n, VS Code, and the Chrome extension all use it).
The machine-readable spec is published at
/api/v1/openapi.json (OpenAPI 3.1).
Base URL
https://droply.host/api/v1
Authentication
Create a personal access token in your dashboard under API tokens, then send it as a bearer token on every request. API access requires a paid plan.
Authorization: Bearer YOUR_TOKEN
Verify a token at any time:
curl https://droply.host/api/v1/user \ -H "Authorization: Bearer YOUR_TOKEN"
Create a site
Reserves a subdomain, served at <subdomain>.droply.id.
curl -X POST https://droply.host/api/v1/sites \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"subdomain":"my-portfolio","name":"My Portfolio"}'
Deploy
Upload a file -an HTML file, a ZIP of a static site, a PDF, or an image -or send raw HTML.
Processing is asynchronous; the call returns 202 with a deployment you can poll.
# Upload a ZIP of a static site curl -X POST https://droply.host/api/v1/sites/123/deployments \ -H "Authorization: Bearer YOUR_TOKEN" \ -F "[email protected]" # …or publish raw HTML curl -X POST https://droply.host/api/v1/sites/123/deployments \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{"html":"<!doctype html><h1>Hello</h1>"}'
Check deployment status
Poll until status is live (the live_url is then included) or
failed (see error_message).
curl https://droply.host/api/v1/deployments/456 \ -H "Authorization: Bearer YOUR_TOKEN"
Endpoints
GET /user-the authenticated account & planGET /sites-list your sitesPOST /sites-create a siteGET /sites/{site}-get a siteDELETE /sites/{site}-delete a sitePOST /sites/{site}/deployments-deploy (file or html)GET /sites/{site}/deployments-list a site's deploymentsGET /deployments/{deployment}-deployment status
Errors & limits
401-missing or invalid token.403-your plan does not include API access.404-the resource doesn't exist or isn't yours.422-validation failed (anerrorsobject lists the fields).429-rate limit exceeded. Requests are throttled per token.