Formcrafts API V1

The Formcrafts API v1 has being deprecated. We recommend using the Formcrafts API v2.

Authentication

Formcrafts uses API keys to authenticate users. You can create API keys under Organization → Settings → API Keys.

You can make 10,000 requests per hour. Rate limits are applied to each organization.

Authentication is done via HTTP basic auth. Your API key is the username, and password field should be left empty. A simply ping would return your account email. Use this link in the browser, and use your API key as username and leave the password blank

You can also open this in a browser .

curl https://api.formcrafts.com/v1 -u MYAPIKEY:
{
  "organization_name": "My Organization"
}

Pagination

All list endpoints support pagination. You can use the page query parameters to paginate through the results.

curl https://api.formcrafts.com/v1/forms?page=2 -u MYAPIKEY:

Get forms

curl https://api.formcrafts.com/v1/forms -u MYAPIKEY:
{
  "type": "forms",
  "total": 50,
  "page": 1,
  "hasMore": true,
  "data": [
    {
      "id": "abcd1234",
      "created": "2024-02-27T16:45:25+00:00",
      "updated": "2024-02-28T10:22:28+00:00",
      "name": "Contact us",
      "counter": 21,
      "formLink": "https://api.formcrafts.com/v1/form/abcd1234",
      "responsesLink": "https://api.formcrafts.com/v1/form/abcd1234/responses"
    }
  ]
}

Get form details

curl https://api.formcrafts.com/v1/form/[id] -u MYAPIKEY:
{
  "id": "abcd1234",
  "created": "2024-02-27T16:45:25+00:00",
  "updated": "2024-02-28T11:55:49+00:00",
  "name": "Contact us",
  "counter": 21,
  "responsesLink": "https://api.formcrafts.com/v1/form/abcd1234/responses",
  "fields": [
    {
      "page_title": "New page",
      "page_fields": [
        {
          "type": "one-line-text",
          "label": "Name",
          "id": "field1"
        },
        {
          "type": "checkbox",
          "label": "Choose",
          "id": "field2",
          "options": [
            {
              "label": "Option 1",
              "value": "Option 1"
            },
            {
              "label": "Option 2",
              "value": "Option 2"
            }
          ]
        }
      ]
    }
  ]
}

Get form responses

curl https://api.formcrafts.com/v1/form/[id]/responses -u MYAPIKEY:
{
  "type": "responses",
  "total": 1,
  "page": 1,
  "hasMore": false,
  "form_name": "Contact us",
  "data": [
    {
      "id": 1,
      "created": "2024-01-15 18:42:35",
      "updated": "2024-01-15 18:42:35",
      "visitor": {
        "city": "Toronto",
        "division": "Ontario",
        "country": "Canada"
      },
      "metadata": null,
      "content": [
        {
          "id": "field1",
          "label": "Name",
          "answer": "Jane Doe"
        },
        {
          "id": "field2",
          "label": "Choose",
          "answer": [
            "Option 1"
          ],
          "answer.value": [
            "Option 1"
          ]
        }
      ]
    }
  ]
}

Certain fields have a value associated with the answer. Example, a checkbox field showing donut types would have the price of each donut as the value. In the above example this value is the answer.value object.

For file upload fields the answer.value object would contain a link to download the files.