Forms

Create form

post
https://api.typeform.com/forms

Here's the general structure for requests to create a form:

  • title: Title to use for the form.
  • type: Type of form.
  • settings: Object that specifies form settings and metadata, including the language to use for the form, whether the form is publicly available, the basis for the progress bar, and search engine indexing settings.
  • theme: Theme to use for the form.
  • workspace: Workspace that contains the form.
  • hidden: Array of Hidden Fields to use in the form.
  • variables: Object that keeps track of total score, price and enrichment variables containing third-party data, if you use them in the form. Read Data enrichment with Typeform for more information about enrichment variables.
  • welcome_screens: Array of objects that specify settings and properties for the form's welcome screen.
  • thankyou_screens: Array of objects that specify settings and properties for the form's thank you screen.
  • fields: Array of objects that specify the fields to use in the form and their properties, validations, and attachments.
  • logic: Array of Logic Jump objects to use in the form.

Expand the schema below for details about each of these elements. For optional elements, if you don't send a value and the element doesn't have a default value, no attribute will be returned.

Any images you want to use in your form must already exist in your Typeform account. If you try to create a form that includes an image that isn't already in your Typeform account, the response will include an "IMAGE_NOT_FOUND" error. Use the POST https://api.typeform.com/images endpoint to add images to your account.

NOTE: It is not possible to inject third-party content into a typeform using the Create API.

Request

Request Body

fields Path 3
array of object
ref
string

Readable name you can use to reference the field.

title
string, required

Unique name you assign to the field on this form.

type
string, required
Valid values:calendlycontact_infodatedropdownemailfile_uploadgrouplegallong_textmatrixmultiple_choicenpsnumberopinion_scalepaymentphone_numberpicture_choicerankingratingshort_textstatementwebsiteyes_no

The type of field.

properties Path 3
object
description
string

Question or instruction to display for the field.

choices Path 3
array of object

Answer choices. Available for ranking, dropdown, multiple_choice, and picture_choice types.

ref
string

Readable name you can use to reference the answer choice. Available for ranking, multiple_choice and picture_choice types. Not available for dropdown types.

label
string

Text for the answer choice. Maximum 255 characters.

attachment Path 3
object

Identifies the image to use for the answer choice. Available only for picture_choice types.

type
string
Valid values:image

Type of attachment.

href
string

URL for the image to use for the answer choice. Images must already exist in your account---use the image's Typeform URL.

properties Path 3
object
description
string

Optional description of the attachment. This is used as an alt text that describes your image for people with visual impairments. Available only for picture_choice types.

fields
array of array

Contains the fields that belong in a question group. Only payment and group blocks are not allowed inside a question group. Available for the group, matrix type.

allow_multiple_selection
boolean

true to allow respondents to select more than one answer choice. false to allow respondents to select only one answer choice. Available for ranking, multiple_choice and picture_choice types.

randomize
boolean

true if answer choices should be presented in a new random order for each respondent. false if answer choices should be presented in the same order for each respondent. Available for ranking, multiple_choice, picture_choice and dropdown types.

allow_other_choice
boolean

true to include an "Other" option so respondents can enter a different answer choice from those listed. false to limit answer choices to those listed. Available for ranking, multiple_choice and picture_choice types.

vertical_alignment
boolean

true to list answer choices vertically. false to list answer choices horizontally. Available for ranking, multiple_choice types.

supersized
boolean

true if you want to use larger-sized images for answer choices. Otherwise, false. Available for picture_choice types.

show_labels
boolean
Default:true

true to show text labels and images as answer choices. false to show only images as answer choices. Available for picture_choice types.

alphabetical_order
boolean

true if question should list dropdown answer choices in alphabetical order. false if question should list dropdown answer choices in the order they're listed in the "choices" array. Available for dropdown types.

hide_marks
boolean

true if you want to display quotation marks around the statement on the form. Otherwise, false. Available for statement types.

button_text
string
Default:Continue

Text to display in the button associated with the object. Available for group, payment, and statement types.

steps
number

Number of steps in the scale's range. Minimum is 5 and maximum is 11. Available for opinion_scale and rating types.

shape
string
Valid values:catcirclecloudcrowndogdropletflagheartlightbulbpencilskullstarthunderboltticktrophyupuser
Default:star

Shape to display on the scale's steps. Available for opinion_scale and rating types.

labels Path 3
object

Label to help respondents understand the scale's range. Available for opinion_scale and rating types.

left
string

Text of the left-aligned label for the scale.

right
string

Text of the right-aligned label for the scale.

center
string

Text of the center-aligned label for the scale.

start_at_one
boolean

true if range numbering should start at 1. false if range numbering should start at 0. Available for opinion_scale types.

structure
string
Valid values:MMDDYYYYDDMMYYYYYYYYMMDD
Default:DDMMYYYY

Format for month, date, and year in answer. Available for date types.

separator
string
Valid values:/-.
Default:/

Character to use between month, day, and year in answer. Available for date types.

currency
string
Valid values:AUDBRLCADCHFDKKEURGBPMXNNOKSEKUSD
Default:EUR

Currency of the payment. Available for payment types.

price Path 3
object

Price of the item. Available for payment fields.

type
string
Valid values:variable
value
string
Valid values:price
show_button
boolean

true to display a button. Otherwise, false. Available for group and payment types.

default_country_code
string
Default:us

Default 2-letter ISO 3166-1 country code value. Available for phone_number type.

validations Path 3
object
required
boolean

true if respondents must provide an answer. Otherwise, false. Available for matrix, ranking, date, dropdown, email, file_upload, legal, long_text, multiple_choice, number, opinion_scale, payment, picture_choice, rating, short_text, website, phone_number, and yes_no types.

max_length
integer

Maximum number of characters allowed in the answer. Available for long_text and short_text types.

min_value
integer

Minimum value allowed in the answer, must be a positive integer. Available for number types.

max_value
integer

Maximum value allowed in the answer, must be a positive integer. Available for number types.

min_selection
integer

Minimum selections allowed in the answer, must be a positive integer. Available for ranking, multiple_choice and picture_choice types.

max_selection
integer

Maximum selections allowed in the answer, must be a positive integer. Available for ranking, multiple_choice and picture_choice types.

attachment Path 3
object

Allows you to display images and videos. Available for welcome and thank you screens, as well as all fields.

type
string
Valid values:imagevideo

Type of attachment.

href
string

URL for the image or video you want to display. Images must already exist in your account---use the image's Typeform URL, such as "https://images.typeform.com/images/kbn8tc98AHb". For videos, use the URL of the supported platforms, Vimeo, YouTube or Pexels.

scale
number
Valid values:0.40.60.81

Optional parameter for responsively scaling videos. Available only for "video" type. Default value is 0.6.

properties Path 3
object
description
string

Optional description of the attachment. In the case of images this is used as an alt text that describes your image for people with visual impairments.

layout Path 3
object

Allows you to position attachment. Available in all fields, Welcome and Thank you screens.

type
string
Valid values:splitwallpaperfloatstack

Type of layout.

placement
string
Valid values:leftright

Position of media for split and float layouts

attachment Path 3
object

Allows you to display images and videos. Available for welcome and thank you screens, as well as all fields.

type
string
Valid values:imagevideo

Type of attachment.

href
string

URL for the image or video you want to display. Images must already exist in your account---use the image's Typeform URL, such as "https://images.typeform.com/images/kbn8tc98AHb". For videos, use the URL of the supported platforms, Vimeo, YouTube or Pexels.

scale
number
Valid values:0.40.60.81

Optional parameter for responsively scaling videos. Available only for "video" type. Default value is 0.6.

properties Path 3
object
description
string

Optional description of the attachment. In the case of images this is used as an alt text that describes your image for people with visual impairments.

viewport_overrides Path 3
object

Allows you to add layout-specific overrides per viewport (small / large). Available in all fields, Welcome and Thank you screens.

small Path 3
object

Allows you to add layout-specific overrides for small viewports.

type
string
Valid values:splitwallpaperfloatstack

Type of layout.

placement
string
Valid values:leftright

Position of media for split and float layouts.

large Path 3
object

Allows you to add layout-specific overrides for large viewports.

type
string
Valid values:splitwallpaperfloatstack

Type of layout.

placement
string
Valid values:leftright

Position of media for split and float layouts.

hidden
array of string

Array of Hidden Fields to use in the form.

logic Path 3
array of object
type
string, required
Valid values:fieldhidden

Specifies whether the Logic Jump is based on a question field or Hidden Field.

ref
string

Reference to the field that triggers the the Logic Jump.

actions Path 3
array of object, required

Array of objects that define the Logic Jump's behavior.

action
string, required
Valid values:jumpaddsubtractmultiplydivideset

Behavior the Logic Jump will take.

details Path 3
object, required

Properties that further specify how the Logic Jump will behave.

to Path 3
object

Specifies where the Logic Jump leads---to another field ("field"), a thank you screen ("thankyou") or an outcome ("outcome").

type
string, required
Valid values:fieldthankyououtcome

Logic Jump "to" option you are using.

value
string, required

The "ref" value for the field, Hidden Field, or thank you screen the Logic Jump leads to.

target Path 3
object

Keeps a running total for variables.

type
string, required
Valid values:variable

Specifies that the value is a variable.

value
string, required

Variable name to use in the calculation.

value Path 3
object

Specifies the value to use in the calculation for the variables.

type
string, required
Valid values:constantvariableevaluation

Specifies which type of value is used.---It can be a numeric value, a variable name or an evaluation to determine an outcome.

value
, required

Value used in the variable calculation.

condition Path 3
object, required

Conditions for executing the Logic Jump. Conditions answer the question, "Under what circumstances?" The condition object is the IF statement in your Logic Jump.

op
string, required
Valid values:begins_withends_withcontainsnot_containslower_thanlower_equal_thangreater_thangreater_equal_thanisis_notequalnot_equalalwaysonnot_onearlier_thanearlier_than_or_onlater_thanlater_than_or_on

Operator for the condition.

vars Path 3
array of object, required

Object that defines the field type and value to evaluate with the operator.

type
string, required
Valid values:fieldhiddenvariableconstantchoice

Type of value the condition object refers to.

value
object, required

Value to check for in the "type" field to evaluate with the operator.

settings Path 3
object
language
string
Valid values:enescafrderuitdaptchzhnlnoukjakohrfisvplelhutrcsetdi
is_public
boolean
Default:true

true if your form is public. Otherwise, false (your form is private).

autosave_progress
boolean
Default:true

true to enable saving partial form responses on the client side. Otherwise, false.

progress_bar
string
Valid values:percentageproportion
Default:proportion

Basis for the progress bar displayed on the screen. Choose "proportion" to show the number of questions answered so far. Choose "percentage" to show the percentage of questions answered so far.

show_progress_bar
boolean
Default:true

true to display progress bar on the typeform. Otherwise, false.

show_typeform_branding
boolean
Default:true

true to display Typeform brand on the typeform. false to hide Typeform branding on the typeform. Hiding Typeform branding is available for Premium accounts.

show_time_to_complete
boolean
Default:true

true to display estimated time to complete a typeform on Welcome screens, false to hide it. Mutually exclusive with show_number_of_submissions

show_number_of_submissions
boolean

true to display number of submissions on Welcome screens, false to hide it. Mutually exclusive with show_time_to_complete

show_cookie_consent
boolean

true to request cookie consent to respondents through a banner, false to do not request it.

show_question_number
boolean
Default:true

true to display the question number on each block, false to hide it.

show_key_hint_on_choices
boolean
Default:true

true to display the key hint letters on Multiple Choice, Picture Choice, Legal and Yes/No blocks, false to hide them.

hide_navigation
boolean

false to display the navigation arrows in the bottom-right corner of the form, true to hide them

meta Path 3
object
title
string

Title that represents how the typeform is named in the workspace.

allow_indexing
boolean
Default:true

true to allow search engines to index your typeform. Otherwise, false.

description
string

Description for search engines to display for your typeform.

image Path 3
object
href
string

URL of image for search engines to display for your typeform.

redirect_after_submit_url
string

URL where the typeform should redirect upon submission.

google_analytics
string

Google Analytics tracking ID to use for the form.

facebook_pixel
string

Facebook Pixel tracking ID to use for the form.

google_tag_manager
string

Google Tag Manager ID to use for the form.

milestones Path 3
array of object

An array with block references, indicating where each partial submit point is located. Currently, only one partial submit point per form is allowed. If more than one item is sent within the array, the form definition will be rejected. If the status is inactive, there's also a reason.

field_ref
string

Block reference after which "submit and continue" would be shown in the renderer.

status
string
Valid values:activeinactive

Informative, can't be set through API.

reason
string
Valid values:wrong_positionincompatible_feature

Informative, can't be set through API.

enrichment_in_renderer Path 3
object
toggle
boolean

Set to true to enable enrichment in the renderer, false to disable it. Read Data enrichment with Typeform.

active
boolean

Informative, can't be set through API. If false, enrichment in renderer is disabled.

captcha
boolean

true to enable captcha on the typeform, false to disable it. Read Secure your forms with Google reCAPTCHA protection.

duplicate_prevention Path 3
object

Enable and setup duplicate response prevention. Read Prevent duplicate responses.

type
string
Valid values:cookiecookie_ip

For "cookie" type duplicate responses may be submitted if a respondent clears their cookies or switches devices. For "cookie_ip" prevent duplicate responses from the same respondent by using cookies and IP addresses.

responses_limit
number

Number of responses per respondent in given period.

period
string
Valid values:dayweekmonthyear

Specify if you want to limit the responses_limit to specific time period.

thankyou_screens Path 3
array of object
ref
string

Readable name you can use to reference the thank you screen.

title
string, required

Title for the thank you screen.

type
string
Valid values:thankyou_screenurl_redirect

The type of thank you screen.

properties Path 3
object
show_button
boolean

true to display a button on the thank you screen. Otherwise, false.

button_text
string

Text to display on the button on the thank you screen.

button_mode
string
Valid values:reloaddefault_redirectredirect

Specify whether the form should show the default redirect or redirect to custom URL when respondents click the button. Premium feature.

redirect_url
string

URL where the typeform should redirect after submission, if you specified redirect for button_mode or are using the url_redirect type.

share_icons
boolean

true to display social media sharing icons on the thank you screen so respondents can post your typeform's link on Facebook, Twitter, LinkedIn, and Google+. Otherwise, false.

attachment Path 3
object

Allows you to display images and videos. Available for welcome and thank you screens, as well as all fields.

type
string
Valid values:imagevideo

Type of attachment.

href
string

URL for the image or video you want to display. Images must already exist in your account---use the image's Typeform URL, such as "https://images.typeform.com/images/kbn8tc98AHb". For videos, use the URL of the supported platforms, Vimeo, YouTube or Pexels.

scale
number
Valid values:0.40.60.81

Optional parameter for responsively scaling videos. Available only for "video" type. Default value is 0.6.

properties Path 3
object
description
string

Optional description of the attachment. In the case of images this is used as an alt text that describes your image for people with visual impairments.

layout Path 3
object

Allows you to position attachment. Available in all fields, Welcome and Thank you screens.

type
string
Valid values:splitwallpaperfloatstack

Type of layout.

placement
string
Valid values:leftright

Position of media for split and float layouts

attachment Path 3
object

Allows you to display images and videos. Available for welcome and thank you screens, as well as all fields.

type
string
Valid values:imagevideo

Type of attachment.

href
string

URL for the image or video you want to display. Images must already exist in your account---use the image's Typeform URL, such as "https://images.typeform.com/images/kbn8tc98AHb". For videos, use the URL of the supported platforms, Vimeo, YouTube or Pexels.

scale
number
Valid values:0.40.60.81

Optional parameter for responsively scaling videos. Available only for "video" type. Default value is 0.6.

properties Path 3
object
description
string

Optional description of the attachment. In the case of images this is used as an alt text that describes your image for people with visual impairments.

viewport_overrides Path 3
object

Allows you to add layout-specific overrides per viewport (small / large). Available in all fields, Welcome and Thank you screens.

small Path 3
object

Allows you to add layout-specific overrides for small viewports.

type
string
Valid values:splitwallpaperfloatstack

Type of layout.

placement
string
Valid values:leftright

Position of media for split and float layouts.

large Path 3
object

Allows you to add layout-specific overrides for large viewports.

type
string
Valid values:splitwallpaperfloatstack

Type of layout.

placement
string
Valid values:leftright

Position of media for split and float layouts.

theme Path 3
object

URL of the theme to use for the typeform. If you don't specify a URL for the theme, Typeform applies a new copy of the default theme to the form.

href
string
title
string

Title to use for the typeform.

type
string
Valid values:quizclassificationscorebranchingclassification_branchingscore_branching
Default:quiz

Form type for the typeform.

variables Path 3
object
price
number

Recall Information for tracking the total price of all items users select (for example, for shopping carts, donation campaigns, and payment collections).

score
integer

Recall Information for keeping score as users answer each question (for example, for quizzes).

welcome_screens Path 3
array of object
ref
string

Readable name you can use to reference the welcome screen.

title
string, required

Title for the welcome screen.

properties Path 3
object
description
string

Description of the welcome screen.

show_button
boolean

true to display a 'Start' button on the welcome screen. Otherwise, false.

button_text
string

Text to display on the 'Start' button on the welcome screen.

attachment Path 3
object

Allows you to display images and videos. Available for welcome and thank you screens, as well as all fields.

type
string
Valid values:imagevideo

Type of attachment.

href
string

URL for the image or video you want to display. Images must already exist in your account---use the image's Typeform URL, such as "https://images.typeform.com/images/kbn8tc98AHb". For videos, use the URL of the supported platforms, Vimeo, YouTube or Pexels.

scale
number
Valid values:0.40.60.81

Optional parameter for responsively scaling videos. Available only for "video" type. Default value is 0.6.

properties Path 3
object
description
string

Optional description of the attachment. In the case of images this is used as an alt text that describes your image for people with visual impairments.

layout Path 3
object

Allows you to position attachment. Available in all fields, Welcome and Thank you screens.

type
string
Valid values:splitwallpaperfloatstack

Type of layout.

placement
string
Valid values:leftright

Position of media for split and float layouts

attachment Path 3
object

Allows you to display images and videos. Available for welcome and thank you screens, as well as all fields.

type
string
Valid values:imagevideo

Type of attachment.

href
string

URL for the image or video you want to display. Images must already exist in your account---use the image's Typeform URL, such as "https://images.typeform.com/images/kbn8tc98AHb". For videos, use the URL of the supported platforms, Vimeo, YouTube or Pexels.

scale
number
Valid values:0.40.60.81

Optional parameter for responsively scaling videos. Available only for "video" type. Default value is 0.6.

properties Path 3
object
description
string

Optional description of the attachment. In the case of images this is used as an alt text that describes your image for people with visual impairments.

viewport_overrides Path 3
object

Allows you to add layout-specific overrides per viewport (small / large). Available in all fields, Welcome and Thank you screens.

small Path 3
object

Allows you to add layout-specific overrides for small viewports.

type
string
Valid values:splitwallpaperfloatstack

Type of layout.

placement
string
Valid values:leftright

Position of media for split and float layouts.

large Path 3
object

Allows you to add layout-specific overrides for large viewports.

type
string
Valid values:splitwallpaperfloatstack

Type of layout.

placement
string
Valid values:leftright

Position of media for split and float layouts.

workspace Path 3
object

URL of the workspace to use for the typeform. If you don't specify a URL for the workspace, Typeform saves the form in the default workspace.

href
string

Example

{
  "fields": [
    {
      "attachment": {
        "href": "https://www.youtube.com/watch?v=Uui3oT-XBxs",
        "properties": {
          "description": "Typeform Home documentary"
        },
        "scale": 0.8,
        "type": "video"
      },
      "properties": {
        "description": "Cool description for the date",
        "separator": "-",
        "structure": "DDMMYYYY"
      },
      "ref": "nice_readable_date_reference",
      "title": "Date Title",
      "type": "date",
      "validations": {
        "required": false
      }
    },
    {
      "layout": {
        "attachment": {
          "href": "https://images.typeform.com/images/4BKUhw8A9cSM",
          "type": "image"
        },
        "placement": "right",
        "type": "float"
      },
      "properties": {
        "alphabetical_order": false,
        "choices": [
          {
            "label": "Foo"
          },
          {
            "label": "Bar"
          }
        ],
        "description": "Cool description for the dropdown",
        "randomize": false
      },
      "ref": "nice_readable_dropdown_reference",
      "title": "Dropdown Title",
      "type": "dropdown",
      "validations": {
        "required": false
      }
    },
    {
      "attachment": {
        "href": "https://www.youtube.com/watch?v=Uui3oT-XBxs",
        "scale": 0.8,
        "type": "video"
      },
      "properties": {
        "description": "Cool description for the email"
      },
      "ref": "nice_readable_email_reference",
      "title": "Email Title",
      "type": "email",
      "validations": {
        "required": false
      }
    },
    {
      "properties": {
        "description": "Cool description for the file upload"
      },
      "ref": "nice_readable_file_upload_reference",
      "title": "File Upload Title",
      "type": "file_upload",
      "validations": {
        "required": false
      }
    },
    {
      "properties": {
        "description": "Cool description for the legal"
      },
      "ref": "nice_readable_legal_reference",
      "title": "Legal Title",
      "type": "legal",
      "validations": {
        "required": false
      }
    },
    {
      "layout": {
        "attachment": {
          "href": "https://images.typeform.com/images/4BKUhw8A9cSM",
          "type": "image"
        },
        "type": "wallpaper",
        "viewport_overrides": {
          "large": {
            "placement": "left",
            "type": "float"
          }
        }
      },
      "properties": {
        "description": "Cool description for the long text"
      },
      "ref": "nice_readable_long_text_reference",
      "title": "Long Text Title",
      "type": "long_text",
      "validations": {
        "max_length": 20,
        "required": false
      }
    },
    {
      "attachment": {
        "href": "https://www.youtube.com/watch?v=Uui3oT-XBxs",
        "scale": 0.8,
        "type": "video"
      },
      "properties": {
        "allow_multiple_selection": false,
        "allow_other_choice": true,
        "choices": [
          {
            "label": "Foo",
            "ref": "foo_choice_ref"
          },
          {
            "label": "Bar",
            "ref": "bar_choice_ref"
          }
        ],
        "description": "Cool description for the multiple choice",
        "randomize": true,
        "vertical_alignment": false
      },
      "ref": "nice_readable_multiple_choice_reference",
      "title": "Multiple Choice Title",
      "type": "multiple_choice",
      "validations": {
        "required": false
      }
    },
    {
      "properties": {
        "allow_multiple_selection": false,
        "choices": [
          {
            "label": "Foo",
            "ref": "foo_choice_ref"
          },
          {
            "label": "Bar",
            "ref": "bar_choice_ref"
          }
        ],
        "description": "Description for the ranking",
        "randomize": true
      },
      "ref": "nice_readable_ranking_reference",
      "title": "Ranking Title",
      "type": "ranking",
      "validations": {
        "required": false
      }
    },
    {
      "attachment": {
        "href": "https://images.typeform.com/images/4BKUhw8A9cSM",
        "properties": {
          "decorative": false,
          "description": "A beautiful sunset"
        },
        "type": "image"
      },
      "properties": {
        "description": "Cool description for the number"
      },
      "ref": "nice_readable_number_reference",
      "title": "Number Title",
      "type": "number",
      "validations": {
        "max_value": 50,
        "min_value": 20,
        "required": false
      }
    },
    {
      "attachment": {
        "href": "https://www.youtube.com/watch?v=Uui3oT-XBxs",
        "scale": 0.8,
        "type": "video"
      },
      "properties": {
        "description": "Cool description for the opinion scale field",
        "labels": {
          "center": "center label",
          "left": "left label",
          "right": "right label"
        },
        "start_at_one": true,
        "steps": 9
      },
      "ref": "nice_readable_opinion_scale_reference",
      "title": "Opinion Scale Title",
      "type": "opinion_scale",
      "validations": {
        "required": false
      }
    },
    {
      "properties": {
        "allow_multiple_selection": false,
        "allow_other_choice": true,
        "choices": [
          {
            "attachment": {
              "href": "https://images.typeform.com/images/4BKUhw8A9cSM",
              "properties": {
                "description": "A sports car"
              },
              "type": "image"
            },
            "label": "Foo 1",
            "ref": "foo_choice_ref1"
          },
          {
            "attachment": {
              "href": "https://images.typeform.com/images/4BKUhw8A9cSM",
              "properties": {
                "description": "A pickup truck"
              },
              "type": "image"
            },
            "label": "Foo 2",
            "ref": "foo_choice_ref2"
          }
        ],
        "description": "Cool description for the picture choice",
        "randomize": true,
        "show_labels": false,
        "supersized": false
      },
      "ref": "nice_readable_picture_choice_reference",
      "title": "Picture Choice Title",
      "type": "picture_choice",
      "validations": {
        "required": false
      }
    },
    {
      "attachment": {
        "href": "https://www.youtube.com/watch?v=Uui3oT-XBxs",
        "scale": 0.8,
        "type": "video"
      },
      "properties": {
        "description": "Cool description for the rating",
        "shape": "star",
        "steps": 10
      },
      "ref": "nice_readable_rating_reference",
      "title": "Rating Title",
      "type": "rating",
      "validations": {
        "required": false
      }
    },
    {
      "attachment": {
        "href": "https://images.typeform.com/images/4BKUhw8A9cSM",
        "properties": {
          "decorative": false,
          "description": "A beautiful sunset"
        },
        "type": "image"
      },
      "properties": {
        "description": "Cool description for the short text"
      },
      "ref": "nice_readable_short_text_reference",
      "title": "Short Text Title",
      "type": "short_text",
      "validations": {
        "max_length": 20,
        "required": false
      }
    },
    {
      "attachment": {
        "href": "https://www.youtube.com/watch?v=Uui3oT-XBxs",
        "scale": 0.8,
        "type": "video"
      },
      "properties": {
        "button_text": "Statement button text",
        "description": "Cool description for the statement",
        "hide_marks": true
      },
      "ref": "nice_readable_statement_reference",
      "title": "Statement Title",
      "type": "statement"
    },
    {
      "properties": {
        "description": "Cool description for the website"
      },
      "ref": "nice_readable_website_reference",
      "title": "Website Title",
      "type": "website",
      "validations": {
        "required": false
      }
    },
    {
      "attachment": {
        "href": "https://images.typeform.com/images/4BKUhw8A9cSM",
        "properties": {
          "decorative": false
        },
        "type": "image"
      },
      "properties": {
        "description": "Cool description for the Yes/No question"
      },
      "ref": "nice_readable_yes_no_reference",
      "title": "yes or no",
      "type": "yes_no",
      "validations": {
        "required": false
      }
    },
    {
      "attachment": {
        "href": "https://images.typeform.com/images/4BKUhw8A9cSM",
        "type": "image"
      },
      "properties": {
        "button_text": "next",
        "currency": "EUR",
        "description": "Cool description for the payment group",
        "price": {
          "type": "variable",
          "value": "price"
        },
        "show_button": true
      },
      "ref": "nice_readable_payment_reference",
      "title": "payment",
      "type": "payment",
      "validations": {
        "required": false
      }
    },
    {
      "attachment": {
        "href": "https://images.typeform.com/images/4BKUhw8A9cSM",
        "type": "image"
      },
      "properties": {
        "button_text": "Some text",
        "description": "Question group description",
        "fields": [
          {
            "properties": {
              "description": "Cool description for the website"
            },
            "ref": "another_nice_readable_website_reference",
            "title": "website",
            "type": "website"
          }
        ],
        "show_button": true
      },
      "ref": "a_group_field_ref",
      "title": "group field",
      "type": "group"
    },
    {
      "properties": {
        "description": "Matrix description",
        "fields": [
          {
            "properties": {
              "allow_multiple_selection": true,
              "allow_other_choice": false,
              "choices": [
                {
                  "label": "matrix choice 1"
                },
                {
                  "label": "matrix choice 2"
                }
              ],
              "description": "Cool description for the multiple choice in the matrix",
              "vertical_alignment": false
            },
            "ref": "nice_readable_multiple_choice_reference_inside_matrix",
            "title": "multiple choice",
            "type": "multiple_choice"
          }
        ]
      },
      "ref": "a_matrix_field_ref",
      "title": "matrix field",
      "type": "matrix"
    },
    {
      "properties": {
        "fields": [
          {
            "properties": {},
            "ref": "nice_readable_short_text_first_name_ref",
            "subfield_key": "first_name",
            "title": "First name",
            "type": "short_text",
            "validations": {
              "required": false
            }
          },
          {
            "properties": {},
            "ref": "nice_readable_short_text_last_name_ref",
            "subfield_key": "last_name",
            "title": "Last name",
            "type": "short_text",
            "validations": {
              "required": false
            }
          },
          {
            "properties": {
              "default_country_code": "US"
            },
            "ref": "nice_readable_phone_number_ref",
            "subfield_key": "phone_number",
            "title": "Phone number",
            "type": "phone_number",
            "validations": {
              "required": false
            }
          },
          {
            "properties": {},
            "ref": "nice_readable_email_ref",
            "subfield_key": "email",
            "title": "Email",
            "type": "email",
            "validations": {
              "required": false
            }
          },
          {
            "properties": {},
            "ref": "nice_readable_short_text_company_ref",
            "subfield_key": "company",
            "title": "Company",
            "type": "short_text",
            "validations": {
              "required": false
            }
          }
        ]
      },
      "ref": "a_contact_info_field_ref",
      "title": "Contact info",
      "type": "contact_info",
      "validations": {
        "required": false
      }
    }
  ],
  "hidden": [
    "var1",
    "var2",
    "var3"
  ],
  "logic": [
    {
      "actions": [
        {
          "action": "jump",
          "condition": {
            "op": "equal",
            "vars": [
              {
                "type": "field",
                "value": "nice_readable_number_reference"
              },
              {
                "type": "constant",
                "value": 5
              }
            ]
          },
          "details": {
            "to": {
              "type": "field",
              "value": "nice_readable_rating_reference"
            }
          }
        },
        {
          "action": "add",
          "condition": {
            "op": "is",
            "vars": [
              {
                "type": "field",
                "value": "nice_readable_yes_no_reference"
              },
              {
                "type": "constant",
                "value": true
              }
            ]
          },
          "details": {
            "target": {
              "type": "variable",
              "value": "score"
            },
            "value": {
              "type": "constant",
              "value": 5
            }
          }
        }
      ],
      "ref": "nice_readable_yes_no_reference",
      "type": "field"
    }
  ],
  "settings": {
    "autosave_progress": true,
    "facebook_pixel": "4347295725729872",
    "free_form_navigation": false,
    "google_analytics": "UA-1111-22",
    "google_tag_manager": "GTM-43959999",
    "hide_navigation": false,
    "is_public": false,
    "language": "en",
    "meta": {
      "allow_indexing": true,
      "canva_design_id": "DAElrx6aq-A",
      "description": "Cool meta description",
      "image": {
        "href": "https://images.typeform.com/images/4BKUhw8A9cSM"
      },
      "title": "Meta title"
    },
    "progress_bar": "percentage",
    "redirect_after_submit_url": "https://www.redirecttohere.com",
    "show_cookie_consent": false,
    "show_key_hint_on_choices": true,
    "show_number_of_submissions": false,
    "show_progress_bar": true,
    "show_question_number": true,
    "show_time_to_complete": true,
    "show_typeform_branding": false
  },
  "thankyou_screens": [
    {
      "attachment": {
        "href": "https://images.typeform.com/images/4BKUhw8A9cSM",
        "type": "image"
      },
      "properties": {
        "button_mode": "redirect",
        "button_text": "start",
        "redirect_url": "https://www.typeform.com",
        "share_icons": false,
        "show_button": true
      },
      "ref": "nice-readable-thank-you-ref",
      "title": "Thank you Title"
    }
  ],
  "theme": {
    "href": "https://api.typeform.com/themes/qHWOQ7"
  },
  "title": "This is an example form",
  "type": "form",
  "variables": {
    "age": 28,
    "name": "typeform",
    "price": 10.59,
    "score": 0
  },
  "welcome_screens": [
    {
      "layout": {
        "attachment": {
          "href": "https://images.typeform.com/images/4BKUhw8A9cSM",
          "properties": {
            "decorative": true
          },
          "type": "image"
        },
        "placement": "left",
        "type": "split",
        "viewport_overrides": {
          "small": {
            "type": "wallpaper"
          }
        }
      },
      "properties": {
        "button_text": "start",
        "description": "Cool description for the welcome",
        "show_button": true
      },
      "ref": "nice-readable-welcome-ref",
      "title": "Welcome Title"
    }
  ],
  "workspace": {
    "href": "https://api.typeform.com/workspaces/Aw33bz"
  }
}

Response

Status

201 Created

Headers

LocationURL where the newly created form is available.