forms

Create a form

Creates a form and returns it with its endpoint URL.

Send name (required) and any of the configuration blocks. Excluded configuration blocks return defaults in the response. If you try to configure something your plan does not include, the request is refused and no form gets created.

post/v1/forms

Request

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

Request body

activeboolean

Inactive forms reject submissions.

folder_idstring nullable

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

team_idstring

Team that owns the new form. Required when the credential covers several teams (OAuth connections).

namestring required

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"
      }
    ]
  },
  "team_id": "64b000000000000000000001",
  "name": "Contact form"
}

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.