24
HTTP API

Management, Responses, and GDPR

Form admin endpoints, categories, exports, and privacy operations.

Form management

  • GET /forms
  • POST /forms
  • PATCH /forms/{key}
  • POST /forms/{key}/publish
  • POST /forms/{key}/unpublish
  • DELETE /forms/{key}
  • GET /forms/{key}/revisions
  • GET /forms/{key}/diff/{fromVersion}/{toVersion}

Auto-publish on create and patch

Management create and patch support an optional boolean query parameter:

  • auto_publish
  • alias: autoPublish

Supported endpoints:

  • POST /api/formforge/v1/forms
  • PATCH /api/formforge/v1/forms/{key}

Behavior:

  • if auto_publish=true, FormForge publishes immediately after create or patch
  • the HTTP response returns the published revision

Create example:

{
  "title": "Contact",
  "fields": [
    { "type": "text", "name": "full_name", "required": true },
    { "type": "email", "name": "email", "required": true }
  ]
}

Request:

  • POST /api/formforge/v1/forms?auto_publish=true

Patch example:

{
  "title": "Contact v2",
  "conditions": []
}

Request:

  • PATCH /api/formforge/v1/forms/{key}?auto_publish=true

Without this parameter (or with false), behavior remains unchanged and returns a draft/non-published revision.

Categories

  • GET /categories
  • GET /category-routes/{routeKey}
  • GET /categories/{categoryKey}
  • POST /categories
  • PATCH /categories/{categoryKey}
  • DELETE /categories/{categoryKey}

Query routes

  • GET /form-routes/{routeKey}
  • GET /category-routes/{routeKey}

Responses

  • GET /forms/{key}/responses
  • GET /forms/{key}/responses/export
  • GET /forms/{key}/responses/{submissionUuid}
  • DELETE /forms/{key}/responses/{submissionUuid}

GDPR

  • PUT /forms/{key}/gdpr-policy
  • POST /forms/{key}/responses/{submissionUuid}/gdpr/anonymize
  • POST /forms/{key}/responses/{submissionUuid}/gdpr/delete
  • POST /gdpr/run