SoftSolzSoftSolz
HomeAPI GuideAPI ReferenceWidget Tester
forms

Create a form.

Create a form.

POSThttps://staging.softsolz.uk/api/v1/services/forms/forms

Recent Requests

Log in to see full request history
TimeStatusUser Agent
Make a request to see history.

Headers

Authorizationstringrequired

Bearer token: `Bearer sk_live_...` (or `sk_test_...` for sandbox). A login token will not work here.

Idempotency-Keystring

Optional idempotency key for safe retries.

Body Params

namestring

Form name (required, trimmed).

slugstring

Optional slug; normalised to lowercase letters/digits/hyphens. Defaults to a slugified name. Unique per tenant.

descriptionstring

Optional description (truncated to 1000 chars).

statusstring

Publish status; defaults to draft. Only published forms accept submissions.

field_schemaarray of objects

Field definitions. Each item: { id, type, label, required?, width?, options?, accept?, max_size_mb? }. type is one of text, email, tel, url, number, textarea, select, radio, checkbox, checkbox_group, date, file.

settingsobject

Form settings; only known keys are persisted (success_message, redirect_url, submit_button_label, notify_in_app, honeypot_enabled, max_submissions_per_day, etc.).

appearanceobject

Appearance tokens (accent_color, theme, font_family, button_style, etc.).

Response

Response Body

idintegerForm id.
slugstringURL-safe form slug, unique per tenant.
namestringForm display name.
descriptionstring | nullOptional form description.
field_schemaarray of objectsOrdered field definitions. Each item: { id, type, label, required, width, ...type-specific keys }.
settingsobjectForm settings (success_message, notify_in_app, honeypot_enabled, etc.).
appearanceobjectAppearance tokens (colors, theme, font).
statusstringPublish status.
created_atstringCreation timestamp.
updated_atstringLast update timestamp. Round-trip as expected_updated_at to guard against stale writes.
submissions_countintegerTotal submissions for this form.
unread_countintegerUnread submissions.

Request

import { SoftSolz } from '@softsolz/sdk';
const client = new SoftSolz({ apiKey: process.env.SOFTSOLZ_API_KEY });
const result = await client.forms.createForm({});
console.log(result);

Credentials

Sent as a Bearer token. Stored only in your browser.

Response · 201

{
"data": {
"id": 0,
"slug": "string",
"name": "string",
"description": "string",
"field_schema": [],
"settings": {},
"appearance": {},
"status": "string",
"created_at": "string",
"updated_at": "string",
"submissions_count": 0,
"unread_count": 0
}
}