P
ProFormsDocs

Theme Presets

Save and reuse theme configurations across forms. Theme presets store colors, fonts, spacing, and other visual settings.

GET/v1/theme-presets
forms.view

List all theme presets for your organization, sorted by name.

curl
curl "https://proforms.io/api/v1/theme-presets" \
  -H "Authorization: Bearer pf_your_api_key"
200 OK
{
  "success": true,
  "data": {
    "presets": [
      {
        "id": 1,
        "uuid": "tp_abc123",
        "name": "Dark Professional",
        "slug": "dark-professional",
        "theme": {
          "backgroundColor": "#1a1a2e",
          "textColor": "#ffffff",
          "primaryColor": "#0f3460",
          "borderRadius": "8px"
        },
        "createdAt": "2026-01-15T09:00:00.000Z",
        "updatedAt": "2026-02-10T14:00:00.000Z"
      }
    ]
  }
}
POST/v1/theme-presets
forms.create

Create a new theme preset. A URL-friendly slug is auto-generated from the name.

name*string

Preset name

theme*object

Theme configuration object (colors, fonts, spacing, etc.)

curl
curl -X POST "https://proforms.io/api/v1/theme-presets" \
  -H "Authorization: Bearer pf_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Brand Blue",
    "theme": {
      "primaryColor": "#10B981",
      "backgroundColor": "#ffffff",
      "textColor": "#1e293b",
      "borderRadius": "12px",
      "fontFamily": "Inter, sans-serif"
    }
  }'
PUT/v1/theme-presets/:id
forms.edit

Update a theme preset. The :id is the numeric ID (not uuid).

namestring

Updated preset name

themeobject

Updated theme configuration (fully replaced, not merged)

curl
curl -X PUT "https://proforms.io/api/v1/theme-presets/1" \
  -H "Authorization: Bearer pf_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "theme": {
      "primaryColor": "#16a34a",
      "backgroundColor": "#f0fdf4"
    }
  }'
DELETE/v1/theme-presets/:id
forms.delete

Permanently delete a theme preset. This does not affect forms already using the theme — they retain their current theme values.

curl
curl -X DELETE "https://proforms.io/api/v1/theme-presets/1" \
  -H "Authorization: Bearer pf_your_api_key"
200 OK
{
  "success": true,
  "data": {
    "message": "Theme preset deleted"
  }
}
💡
Theme presets are organization-wide. Apply a preset to a form by copying its theme object into the form's theme field via Update Form.