Create a form
POST
/api/v1/projects/{id}/forms
const url = 'https://api.deploybase.eu/api/v1/api/v1/projects/example/forms';const options = { method: 'POST', headers: {Authorization: '<Authorization>', 'Content-Type': 'application/json'}, body: '{"allowed_origins":["example"],"honeypot_field":"example","name":"example","notify_emails":["example"],"redirect_url":"example","retention_days":1,"store_ip":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.deploybase.eu/api/v1/api/v1/projects/example/forms \ --header 'Authorization: <Authorization>' \ --header 'Content-Type: application/json' \ --data '{ "allowed_origins": [ "example" ], "honeypot_field": "example", "name": "example", "notify_emails": [ "example" ], "redirect_url": "example", "retention_days": 1, "store_ip": "example" }'Creates a form endpoint for a project. The returned public_id is permanent and forms the public ingestion URL.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ” id
required
string
Project ID
Request Body
Section titled “ Request Body ”Form settings
Media type application/json
object
allowed_origins
Array<string>
honeypot_field
string
name
required
string
notify_emails
Array<string>
redirect_url
string
retention_days
integer
store_ip
string
Example generated
{ "allowed_origins": [ "example" ], "honeypot_field": "example", "name": "example", "notify_emails": [ "example" ], "redirect_url": "example", "retention_days": 1, "store_ip": "example"}Responses
Section titled “ Responses ”Created
Media type application/json
object
data
meta
object
request_id
string
timestamp
string
trace_id
string
data
object
allowed_origins
Array<string>
created_at
string
deleted_at
string
enabled
boolean
endpoint_url
string
honeypot_field
string
id
string
name
Name is the dashboard identity, unique per project among live rows only — a soft-deleted form releases its name (uq_forms_project_name_active).
string
notify_emails
Array<string>
project_id
ProjectID is immutable after creation. This is enforced structurally rather than by a check: UpdateFormInput has no project_id field, so no code path can reassign it.
string
public_id
PublicID is immutable after creation: it is baked into the customer’s deployed HTML, so regenerating it would silently break every live form pointing at it.
string
redirect_url
string
retention_days
integer
source
string
store_ip
string
team_id
string
updated_at
string
Example
{ "data": { "source": "manual", "store_ip": "none" }}Bad Request
Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Unauthorized
Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Forbidden
Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Project not found
Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}A form with this name already exists in this project
Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}