> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rogeriq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Build a Form

Configure form fields, success behavior, rate limits, origins, and visual options.

# Build a Form

Create forms from the Integrations page or the authenticated project API.

## Basic Form Shape

```json
{
  "name": "Contact support",
  "slug": "contact",
  "fields": [
    {
      "id": "email",
      "type": "email",
      "label": "Email",
      "name": "email",
      "required": true
    },
    {
      "id": "message",
      "type": "long_text",
      "label": "How can we help?",
      "name": "message",
      "required": true
    }
  ],
  "success_action": "inline",
  "success_message": "Thanks. We received your message.",
  "allowed_origins": ["https://example.com"],
  "rate_limit_per_ip": 5,
  "rate_limit_window_seconds": 600
}
```

## Field Types

| Type | Use |
| --- | --- |
| `short_text` | Short free text. |
| `long_text` | Message body or longer explanation. |
| `email` | Email address validation. |
| `number` | Numeric values. |
| `phone` | Phone number text. |
| `checkbox` | Single boolean-like field. |
| `radio` | One option from a visible list. |
| `single_select` | One option from a select. |
| `multi_select` | Multiple selected options. |
| `date` | Date input. |
| `file` | File upload. |

## Submit Button

Forms support:

- `submit_button_label`
- `submit_button_align`: `left`, `center`, `right`, or `full`
- `submit_button_color`: hex color or null for brand default

## Archive and Unarchive

Archived forms stop accepting submissions and return `410 Gone` from public endpoints. Unarchive when the form should accept submissions again.