API Reference

Programmatic access to FormDrop features.

Authentication

FormDrop uses API keys for authentication to the Management API. You can find your API keys in the dashboard settings.

Important: Keep your Private API Key secret. It allows full access to your forms and submissions. Never expose this in client-side code.

Authenticate your requests by including your API key in the Authorization header:

http
Authorization: Bearer YOUR_PRIVATE_KEY
POST

Submit Form

Send a new form submission. This endpoint is public and should be used from your frontend code.

Endpoint

https://api.formdrop.co/f/:formSlug

Request Body

A JSON object containing your form fields.

javascript
// Example using fetch
fetch('https://api.formdrop.co/f/my-form-slug', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    email: "user@example.com",
    message: "Hello world"
  })
})
GET

List Forms

Retrieve a list of all your forms. Requires a private API key.

bash
curl https://api.formdrop.co/forms \
  -H "Authorization: Bearer YOUR_PRIVATE_KEY"
GET

Get Submissions

Retrieve submissions for a specific form. Requires a private API key.

bash
curl https://api.formdrop.co/:formSlug/submissions \
  -H "Authorization: Bearer YOUR_PRIVATE_KEY"
DELETE

Delete Form

Soft-delete a form and hide it from the dashboard and API. Use the form's id (not slug). Requires your API key.

bash
curl -X DELETE https://api.formdrop.co/forms/:formId \
  -H "Authorization: Bearer YOUR_PRIVATE_KEY"
DELETE

Delete Submission

Soft-delete a submission by id. It will no longer appear in list endpoints. Requires your API key.

bash
curl -X DELETE https://api.formdrop.co/:formId/submissions/:submissionId \
  -H "Authorization: Bearer YOUR_PRIVATE_KEY"
DELETE

Delete Submissions (bulk)

Soft-delete multiple submissions. Request body must be JSON with submissionIds (array of ids). All ids must belong to the form.

bash
curl -X DELETE https://api.formdrop.co/:formId/submissions \
  -H "Authorization: Bearer YOUR_PRIVATE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"submissionIds":["uuid-one","uuid-two"]}'