Update a signup form
PATCH/v1/forms/{id}
Change any setting. Set active to false to stop accepting signups without deleting the form. Send null to clear the title, confirmation subject or a redirect.
Required scope: contacts:manage
Parameters
| Name | In | Description |
|---|---|---|
idrequired | path | The form id. |
Request body
| Field | Type |
|---|---|
nameoptional | string |
titleoptional | any |
double_opt_inoptional | boolean |
fromoptional | stringnull |
confirm_subjectoptional | any |
success_urloptional | any |
confirmed_urloptional | any |
topic_idsoptional | string[] |
collect_nameoptional | boolean |
activeoptional | boolean |
Unknown fields are rejected, so a typo never silently does nothing.
Example
curl -X PATCH 'https://api.sendsend.email/v1/forms/ID' \
-H "Authorization: Bearer $SENDSEND_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"collect_name": true
}'Response 200
{
"id": "frm_Bn6…",
"object": "form",
"audience_id": "aud_7Qe2…",
"name": "Footer signup",
"title": "Join the newsletter",
"double_opt_in": true,
"from": "Acme <news@mail.acme.com>",
"confirm_subject": null,
"success_url": null,
"confirmed_url": "https://acme.com/welcome",
"topic_ids": [],
"collect_name": true,
"active": true,
"url": "https://api.sendsend.email/f/frm_Bn6…",
"created_at": "2026-10-06T15:00:00.000Z",
"updated_at": "2026-10-06T15:00:00.000Z"
}Errors
| Status | Code | When |
|---|---|---|
| 400 | validation_error | The request body or parameters are invalid. The message says which field. |
| 404 | not_found | No such resource in this project. |
| 401 | unauthorized | The API key is missing, invalid or revoked. |
| 403 | forbidden | The key does not have the scope this endpoint needs. |
Every error has the same shape. See Errors.