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

# Submit A Form Response

> Send a response to a Plato form from a trusted external page or backend.

Use this endpoint to submit answers to a Plato form.

```text theme={null}
POST /api/public/forms/[slug]
```

This endpoint currently expects the API key in the query string.

## Example

```bash theme={null}
curl "https://api.plato.ae/api/public/forms/contact-us?apiKey=$PLATO_API_KEY" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Jane Customer",
    "email": "jane@example.com",
    "message": "I would like to learn more."
  }'
```

## Body

Send a JSON object where each key matches a form field `ref`.

```json theme={null}
{
  "email": "jane@example.com",
  "message": "I would like to learn more."
}
```

## Response

```json theme={null}
{
  "message": "Submited form successfully."
}
```

## What Happens After Submit

Plato:

1. Finds the form by slug in the API key workspace.
2. Stores the response.
3. Creates a workspace notification.
4. Sends configured form response email notifications.

## Not Found

If the form is disabled or the slug does not belong to the workspace, Plato returns:

```json theme={null}
{
  "message": "Form not found."
}
```

with status `404`.

## Security

Submit form responses from a backend when possible.

If a public website must submit directly, use a short-lived or tightly scoped key and monitor usage.
