February 2025 Update

Version 1.5.0
February 28, 2025

What’s New

Validation API

The new validation API provides three endpoints for validating form data:

Standalone Validation

  • Validates data against provided rules without requiring an existing form
POST /api/v1/validate

{
	"rules": {
		"email": "required|email",
		"name": "required|min:3"
	},
	"email": "user@example.com",
	"name": "John"
}

Form Validation

  • Validates data against an existing form’s configured validation rules
  • Requires a valid form key in the URL
  • Validates all fields at once
  • Example: POST /validate/my-form-key
  • Prerequisites:
    • Form must exist and have validation rules set up
    • Rules can be set via HTML attributes (e.g., rules="required|email") or the rules API endpoint
POST /api/v1/validate/{form}

{
  "email": "user@example.com",
  "name": "John",
  "message": "Hello world"
}

Single Field Validation

  • Validates a single field against its rules
  • Requires a valid form key in the URL
  • Useful for real-time validation as users type
  • Example: POST /validate-field/my-form-key
  • Prerequisites:
    • Form must exist and have validation rules set up
    • Rules can be set via HTML attributes (e.g., rules="required|email") or the rules API endpoint
POST /api/v1/validate-field/{form}

{
	"email": "user@example.com",
	"email___rules": "required|email"
}

Setting Up Validation Rules

You can set up validation rules in two ways:

HTML Attributes: Add rules directly to your form fields:

<input type="email" name="email" rules="required|email" />

Rules API: Set rules programmatically using the rules endpoint:

POST /api/v1/forms/{form}/rules
{
  "fields": [
    {
      "name": "email",
      "type": "email",
      "rules": ["required", "email"]
    }
  ]
}

All endpoints return the same response format:

Success (200):

{
	"valid": true,
	"message": "All fields passed validation."
}

Error (422):

{
	"valid": false,
	"errors": {
		"field": ["Error message"]
	}
}

Choose the endpoint that best fits your use case:

  • Use /validate for standalone validation without a form
  • Use /validate/{form} for validating against an existing form’s rules
  • Use /validate-field/{form} for real-time single field validation

Timezone Preferences

Users can now set their preferred timezone in profile settings:

  • Affects all displayed times in the application & within email notifications
  • Defaults to UTC if no preference is set

To update your timezone, set it on your profile page.

Changelog Site

We’ve launched this site to keep you informed about new releases and previous updates.

Fixes

  • Improved customer invite acceptance flow for better clarity and long-term management