forms

Update a form

Changes only what you send.

Nested objects are merged, so {"after_submit": {"page": {"headline": "Thanks!"}}} changes the headline and nothing else. Lists (recipients, rules) are replaced as a whole. Every rule that applies when you save a form in the dashboard applies here too.

patch/v1/forms/{form_id}

Request

  • Base URL: https://api.formcarry.com
  • URL: https://api.formcarry.com/v1/forms/{form_id}
  • Auth: HTTP bearer

Path parameters

form_idstring required

The form's id, as shown in the dashboard and in the form's endpoint URL

Request body

namestring
activeboolean

Inactive forms reject submissions.

folder_idstring nullable

The folder the form is filed in. null for no folder.

Example request

{
  "self_email_notification": {
    "recipients": [
      "me@company.com"
    ],
    "logo_url": "https://example.com/logo.png"
  },
  "auto_response": {
    "logo_url": "https://example.com/logo.png"
  },
  "after_submit": {
    "page": {
      "headline": "Thank you!",
      "message": "We have received your submission",
      "logo_url": "https://example.com/thanks",
      "logo_dark_url": "https://example.com/thanks",
      "primary_color": "#0f766e",
      "secondary_color": "#f0fdfa",
      "return_button": {
        "url": "https://example.com/thanks"
      },
      "download_button": {
        "url": "https://example.com/thanks"
      }
    },
    "redirect": {
      "success_url": "https://example.com/thanks",
      "fail_url": "https://example.com/thanks"
    }
  },
  "validation": {
    "rules": [
      {
        "field": "email"
      }
    ]
  }
}

Response

idstring required
team_idstring required
namestring required
endpointstring required

Where your HTML form posts.

activeboolean required

Inactive forms reject submissions.

avatarstring required
folder_idstring nullable required

The folder the form is filed in, or null for none.

created_atstring required
last_submission_atstring nullable required

When the newest submission arrived, or null before the first.

Example response

{
  "id": "AbC123xyz",
  "name": "Contact form",
  "endpoint": "https://formcarry.com/s/AbC123xyz",
  "avatar": "🚀",
  "created_at": "2026-01-15T10:00:00.000Z",
  "self_email_notification": {
    "recipients": [
      "me@company.com"
    ],
    "logo_url": "https://example.com/logo.png"
  },
  "auto_response": {
    "logo_url": "https://example.com/logo.png"
  },
  "after_submit": {
    "page": {
      "headline": "Thank you!",
      "message": "We have received your submission",
      "logo_url": "https://example.com/thanks",
      "logo_dark_url": "https://example.com/thanks",
      "primary_color": "#0f766e",
      "secondary_color": "#f0fdfa",
      "return_button": {
        "url": "https://example.com/thanks"
      },
      "download_button": {
        "url": "https://example.com/thanks"
      }
    },
    "redirect": {
      "success_url": "https://example.com/thanks",
      "fail_url": "https://example.com/thanks"
    }
  },
  "webhooks": [
    {
      "id": "whk_3f9Kq2bLm8xZpQ1rT7vWc0",
      "url": "https://example.com/hooks/formcarry",
      "description": "CRM sync",
      "events": [
        "submission.created"
      ],
      "signing": {
        "algorithm": "hmac-sha256",
        "header": "X-Formcarry-Signature"
      },
      "last_delivery": {
        "at": "2026-09-13T12:00:00.000Z",
        "response_status": 200,
        "attempt": 1
      },
      "created_at": "2026-09-13T12:00:00.000Z"
    }
  ],
  "validation": {
    "rules": [
      {
        "field": "email"
      }
    ]
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.