Skip to content
Browse documentation

API reference

Forms

Read public form metadata and submit freeform JSON payloads to a named form slug. Field keys are owned by your storefront and can change over time; the dashboard renders a dynamic submissions table.

Feature requirement: the project must have the forms feature enabled, or these endpoints return 404.

  • POST body requires a non-empty data object; optional source_url is stored for context.
  • Publishable keys need the storefront.forms scope when the project requires a key.
  • When notifications are enabled, owners/admins and configured receivers get in-app and email alerts with a deep link to the submission.
GET/api/v1/storefront/projects/{project_slug}/forms/{form_slug}

Get Public Form

Parameters
NameTypeInDescription
project_slugstringpathRequired.
form_slugstringpathRequired.
Response 200 · PublicFormRead
FieldTypeDescription
idstringrequired—
namestringrequired—
slugstringrequired—
descriptionstring (nullable)optional—
Example request
curl "https://api.webtools.ng/api/v1/storefront/projects/your-project/forms/{form_slug}" \
  -H "X-Project-Key: wt_pk_your_key"
POST/api/v1/storefront/projects/{project_slug}/forms/{form_slug}/submissions

Submit Form

Parameters
NameTypeInDescription
project_slugstringpathRequired.
form_slugstringpathRequired.
Request body · FormSubmissionCreate
FieldTypeDescription
dataobjectrequired—
source_urlstring (nullable)optional—
Response 201 · FormSubmissionSubmitted
FieldTypeDescription
idstringrequired—
messagestringrequired—
Example request
curl -X POST "https://api.webtools.ng/api/v1/storefront/projects/your-project/forms/{form_slug}/submissions" \
  -H "X-Project-Key: wt_pk_your_key" \
  -H "Content-Type: application/json" \
  -d '{ "data": {} }'

← All resource groups