Skip to main content
Every typeform.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
New to Corsair? See API access, authentication, and error handling.

Forms

create

forms.create Create a new form Risk: write
await corsair.typeform.api.forms.create({});
Input
NameTypeRequiredDescription
titlestringYes
typestringNo
fieldsobject[]No
logicobject[]No
themeobjectNo
settingsobjectNo
workspaceobjectNo
welcome_screensobject[]No
thankyou_screensobject[]No
{
  id?: string,
  ref?: string,
  type?: string,
  title?: string,
  attachment?: {
    href?: string,
    type?: string,
    scale?: number,
    properties?: {
    }
  },
  properties?: {
    fields?: any[],
    choices?: any[],
    randomize?: boolean,
    hide_marks?: boolean,
    button_text?: string,
    description?: string,
    allow_other_choice?: boolean,
    alphabetical_order?: boolean,
    vertical_alignment?: boolean,
    allow_multiple_selection?: boolean
  },
  validations?: {
    required?: boolean,
    max_value?: number,
    min_value?: number,
    max_length?: number,
    min_length?: number
  }
}[]
{
  ref?: string,
  type?: string,
  actions?: any[]
}[]
{
  href: string
}
{
  is_trial?: boolean,
  language?: string,
  is_public?: boolean,
  progress_bar?: string,
  facebook_pixel?: string,
  hide_navigation?: boolean,
  google_analytics?: string,
  autosave_progress?: boolean,
  show_progress_bar?: boolean,
  are_uploads_public?: boolean,
  google_tag_manager?: string,
  show_cookie_consent?: boolean,
  free_form_navigation?: boolean,
  show_question_number?: boolean,
  pro_subdomain_enabled?: boolean,
  show_time_to_complete?: boolean,
  show_typeform_branding?: boolean,
  show_key_hint_on_choices?: boolean,
  redirect_after_submit_url?: string,
  show_number_of_submissions?: boolean,
  capabilities?: {
  },
  notifications?: {
  }
}
{
  href: string
}
{
  ref?: string,
  title?: string,
  attachment?: {
    href?: string,
    type?: string,
    scale?: number,
    properties?: {
    }
  },
  properties?: {
    button_text?: string,
    show_button?: boolean,
    description?: string
  }
}[]
{
  ref?: string,
  title?: string,
  attachment?: {
    href?: string,
    type?: string,
    scale?: number,
    properties?: {
    }
  },
  properties?: {
    button_text?: string,
    button_mode?: string,
    redirect_url?: string,
    show_button?: boolean,
    description?: string,
    share_icons?: boolean
  }
}[]
Output
NameTypeRequiredDescription
idstringNo
titlestringNo
typestringNo
created_atstringNo
last_updated_atstringNo
fieldsobject[]No
logicobject[]No
themeobjectNo
hiddenstring[]No
settingsobjectNo
variablesobjectNo
workspaceobjectNo
welcome_screensobject[]No
thankyou_screensobject[]No
_linksobjectNo
cui_settingsobjectNo
captchaobjectNo
metaobjectNo
linksobjectNo
languagestringNo
duplicate_preventionbooleanNo
{
  id?: string,
  ref?: string,
  type?: string,
  title?: string,
  attachment?: {
    href?: string,
    type?: string,
    scale?: number,
    properties?: {
    }
  },
  properties?: {
    fields?: any[],
    choices?: any[],
    randomize?: boolean,
    hide_marks?: boolean,
    button_text?: string,
    description?: string,
    allow_other_choice?: boolean,
    alphabetical_order?: boolean,
    vertical_alignment?: boolean,
    allow_multiple_selection?: boolean
  },
  validations?: {
    required?: boolean,
    max_value?: number,
    min_value?: number,
    max_length?: number,
    min_length?: number
  }
}[]
{
  ref?: string,
  type?: string,
  actions?: any[]
}[]
{
  href?: string
}
{
  is_trial?: boolean,
  language?: string,
  is_public?: boolean,
  progress_bar?: string,
  facebook_pixel?: string,
  hide_navigation?: boolean,
  google_analytics?: string,
  autosave_progress?: boolean,
  show_progress_bar?: boolean,
  are_uploads_public?: boolean,
  google_tag_manager?: string,
  show_cookie_consent?: boolean,
  free_form_navigation?: boolean,
  show_question_number?: boolean,
  pro_subdomain_enabled?: boolean,
  show_time_to_complete?: boolean,
  show_typeform_branding?: boolean,
  show_key_hint_on_choices?: boolean,
  redirect_after_submit_url?: string,
  show_number_of_submissions?: boolean,
  capabilities?: {
  },
  notifications?: {
  }
}
{
}
{
  href?: string
}
{
  ref?: string,
  title?: string,
  attachment?: {
    href?: string,
    type?: string,
    scale?: number,
    properties?: {
    }
  },
  properties?: {
    button_text?: string,
    show_button?: boolean,
    description?: string
  }
}[]
{
  ref?: string,
  title?: string,
  attachment?: {
    href?: string,
    type?: string,
    scale?: number,
    properties?: {
    }
  },
  properties?: {
    button_text?: string,
    button_mode?: string,
    redirect_url?: string,
    show_button?: boolean,
    description?: string,
    share_icons?: boolean
  }
}[]
{
}
{
}
{
}

delete

forms.delete Permanently delete a form [DESTRUCTIVE] Risk: destructive
await corsair.typeform.api.forms.delete({});
Input
NameTypeRequiredDescription
form_idstringYes
Output: any

get

forms.get Get a form by ID Risk: read
await corsair.typeform.api.forms.get({});
Input
NameTypeRequiredDescription
form_idstringYes
Output
NameTypeRequiredDescription
idstringNo
titlestringNo
typestringNo
created_atstringNo
last_updated_atstringNo
fieldsobject[]No
logicobject[]No
themeobjectNo
hiddenstring[]No
settingsobjectNo
variablesobjectNo
workspaceobjectNo
welcome_screensobject[]No
thankyou_screensobject[]No
_linksobjectNo
cui_settingsobjectNo
captchaobjectNo
metaobjectNo
linksobjectNo
languagestringNo
duplicate_preventionbooleanNo
{
  id?: string,
  ref?: string,
  type?: string,
  title?: string,
  attachment?: {
    href?: string,
    type?: string,
    scale?: number,
    properties?: {
    }
  },
  properties?: {
    fields?: any[],
    choices?: any[],
    randomize?: boolean,
    hide_marks?: boolean,
    button_text?: string,
    description?: string,
    allow_other_choice?: boolean,
    alphabetical_order?: boolean,
    vertical_alignment?: boolean,
    allow_multiple_selection?: boolean
  },
  validations?: {
    required?: boolean,
    max_value?: number,
    min_value?: number,
    max_length?: number,
    min_length?: number
  }
}[]
{
  ref?: string,
  type?: string,
  actions?: any[]
}[]
{
  href?: string
}
{
  is_trial?: boolean,
  language?: string,
  is_public?: boolean,
  progress_bar?: string,
  facebook_pixel?: string,
  hide_navigation?: boolean,
  google_analytics?: string,
  autosave_progress?: boolean,
  show_progress_bar?: boolean,
  are_uploads_public?: boolean,
  google_tag_manager?: string,
  show_cookie_consent?: boolean,
  free_form_navigation?: boolean,
  show_question_number?: boolean,
  pro_subdomain_enabled?: boolean,
  show_time_to_complete?: boolean,
  show_typeform_branding?: boolean,
  show_key_hint_on_choices?: boolean,
  redirect_after_submit_url?: string,
  show_number_of_submissions?: boolean,
  capabilities?: {
  },
  notifications?: {
  }
}
{
}
{
  href?: string
}
{
  ref?: string,
  title?: string,
  attachment?: {
    href?: string,
    type?: string,
    scale?: number,
    properties?: {
    }
  },
  properties?: {
    button_text?: string,
    show_button?: boolean,
    description?: string
  }
}[]
{
  ref?: string,
  title?: string,
  attachment?: {
    href?: string,
    type?: string,
    scale?: number,
    properties?: {
    }
  },
  properties?: {
    button_text?: string,
    button_mode?: string,
    redirect_url?: string,
    show_button?: boolean,
    description?: string,
    share_icons?: boolean
  }
}[]
{
}
{
}
{
}

getMessages

forms.getMessages Get custom messages for a form Risk: read
await corsair.typeform.api.forms.getMessages({});
Input
NameTypeRequiredDescription
form_idstringYes
Output
NameTypeRequiredDescription
blockstringNo
labelstringNo

list

forms.list List all forms in the account Risk: read
await corsair.typeform.api.forms.list({});
Input
NameTypeRequiredDescription
pagenumberNo
searchstringNo
sort_bycreated_at | last_updated_atNo
order_byasc | descNo
page_sizenumberNo
workspace_idstringNo
Output
NameTypeRequiredDescription
itemsobject[]No
page_countnumberNo
total_itemsnumberNo
{
  id?: string,
  title?: string,
  created_at?: string,
  last_updated_at?: string,
  settings?: {
    is_public?: boolean
  },
  theme?: {
    href?: string
  },
  _links?: {
  }
}[]

patch

forms.patch Partially update a form using JSON Patch operations Risk: write
await corsair.typeform.api.forms.patch({});
Input
NameTypeRequiredDescription
form_idstringYes
operationsobject[]Yes
{
  op: add | remove | replace | move | copy | test,
  path: string,
  value?: any,
  from?: string
}[]
Output: any

update

forms.update Replace a form with a new version (PUT) Risk: write
await corsair.typeform.api.forms.update({});
Input
NameTypeRequiredDescription
form_idstringYes
titlestringNo
typestringNo
fieldsobject[]No
logicobject[]No
themeobjectNo
hiddenstring[]No
settingsobjectNo
variablesobjectNo
workspaceobjectNo
welcome_screensobject[]No
thankyou_screensobject[]No
{
  id?: string,
  ref?: string,
  type?: string,
  title?: string,
  attachment?: {
    href?: string,
    type?: string,
    scale?: number,
    properties?: {
    }
  },
  properties?: {
    fields?: any[],
    choices?: any[],
    randomize?: boolean,
    hide_marks?: boolean,
    button_text?: string,
    description?: string,
    allow_other_choice?: boolean,
    alphabetical_order?: boolean,
    vertical_alignment?: boolean,
    allow_multiple_selection?: boolean
  },
  validations?: {
    required?: boolean,
    max_value?: number,
    min_value?: number,
    max_length?: number,
    min_length?: number
  }
}[]
{
  ref?: string,
  type?: string,
  actions?: any[]
}[]
{
  href: string
}
{
  is_trial?: boolean,
  language?: string,
  is_public?: boolean,
  progress_bar?: string,
  facebook_pixel?: string,
  hide_navigation?: boolean,
  google_analytics?: string,
  autosave_progress?: boolean,
  show_progress_bar?: boolean,
  are_uploads_public?: boolean,
  google_tag_manager?: string,
  show_cookie_consent?: boolean,
  free_form_navigation?: boolean,
  show_question_number?: boolean,
  pro_subdomain_enabled?: boolean,
  show_time_to_complete?: boolean,
  show_typeform_branding?: boolean,
  show_key_hint_on_choices?: boolean,
  redirect_after_submit_url?: string,
  show_number_of_submissions?: boolean,
  capabilities?: {
  },
  notifications?: {
  }
}
{
}
{
  href: string
}
{
  ref?: string,
  title?: string,
  attachment?: {
    href?: string,
    type?: string,
    scale?: number,
    properties?: {
    }
  },
  properties?: {
    button_text?: string,
    show_button?: boolean,
    description?: string
  }
}[]
{
  ref?: string,
  title?: string,
  attachment?: {
    href?: string,
    type?: string,
    scale?: number,
    properties?: {
    }
  },
  properties?: {
    button_text?: string,
    button_mode?: string,
    redirect_url?: string,
    show_button?: boolean,
    description?: string,
    share_icons?: boolean
  }
}[]
Output
NameTypeRequiredDescription
idstringNo
titlestringNo
typestringNo
created_atstringNo
last_updated_atstringNo
fieldsobject[]No
logicobject[]No
themeobjectNo
hiddenstring[]No
settingsobjectNo
variablesobjectNo
workspaceobjectNo
welcome_screensobject[]No
thankyou_screensobject[]No
_linksobjectNo
cui_settingsobjectNo
captchaobjectNo
metaobjectNo
linksobjectNo
languagestringNo
duplicate_preventionbooleanNo
{
  id?: string,
  ref?: string,
  type?: string,
  title?: string,
  attachment?: {
    href?: string,
    type?: string,
    scale?: number,
    properties?: {
    }
  },
  properties?: {
    fields?: any[],
    choices?: any[],
    randomize?: boolean,
    hide_marks?: boolean,
    button_text?: string,
    description?: string,
    allow_other_choice?: boolean,
    alphabetical_order?: boolean,
    vertical_alignment?: boolean,
    allow_multiple_selection?: boolean
  },
  validations?: {
    required?: boolean,
    max_value?: number,
    min_value?: number,
    max_length?: number,
    min_length?: number
  }
}[]
{
  ref?: string,
  type?: string,
  actions?: any[]
}[]
{
  href?: string
}
{
  is_trial?: boolean,
  language?: string,
  is_public?: boolean,
  progress_bar?: string,
  facebook_pixel?: string,
  hide_navigation?: boolean,
  google_analytics?: string,
  autosave_progress?: boolean,
  show_progress_bar?: boolean,
  are_uploads_public?: boolean,
  google_tag_manager?: string,
  show_cookie_consent?: boolean,
  free_form_navigation?: boolean,
  show_question_number?: boolean,
  pro_subdomain_enabled?: boolean,
  show_time_to_complete?: boolean,
  show_typeform_branding?: boolean,
  show_key_hint_on_choices?: boolean,
  redirect_after_submit_url?: string,
  show_number_of_submissions?: boolean,
  capabilities?: {
  },
  notifications?: {
  }
}
{
}
{
  href?: string
}
{
  ref?: string,
  title?: string,
  attachment?: {
    href?: string,
    type?: string,
    scale?: number,
    properties?: {
    }
  },
  properties?: {
    button_text?: string,
    show_button?: boolean,
    description?: string
  }
}[]
{
  ref?: string,
  title?: string,
  attachment?: {
    href?: string,
    type?: string,
    scale?: number,
    properties?: {
    }
  },
  properties?: {
    button_text?: string,
    button_mode?: string,
    redirect_url?: string,
    show_button?: boolean,
    description?: string,
    share_icons?: boolean
  }
}[]
{
}
{
}
{
}

updateMessages

forms.updateMessages Update custom messages for a form Risk: write
await corsair.typeform.api.forms.updateMessages({});
Input
NameTypeRequiredDescription
form_idstringYes
label_button_submitstringNo
label_error_requiredstringNo
label_buttonHint_defaultstringNo
block_shortText_placeholderstringNo
label_buttonNoAnswer_defaultstringNo
Output
NameTypeRequiredDescription
messagestringNo
successbooleanNo

Images

create

images.create Upload a new image Risk: write
await corsair.typeform.api.images.create({});
Input
NameTypeRequiredDescription
file_namestringYes
urlstringNo
imagestringNo
Output
NameTypeRequiredDescription
idstringNo
srcstringNo
widthnumberNo
heightnumberNo
avg_colorstringNo
file_namestringNo
has_alphabooleanNo
media_typestringNo

delete

images.delete Permanently delete an image [DESTRUCTIVE] Risk: destructive
await corsair.typeform.api.images.delete({});
Input
NameTypeRequiredDescription
image_idstringYes
Output: any

getBackgroundBySize

images.getBackgroundBySize Get a background image at a specific size Risk: read
await corsair.typeform.api.images.getBackgroundBySize({});
Input
NameTypeRequiredDescription
image_idstringYes
sizestringYes
Output
NameTypeRequiredDescription
idstringNo
srcstringNo
widthnumberNo
heightnumberNo
avg_colorstringNo
file_namestringNo
has_alphabooleanNo
media_typestringNo

getBySize

images.getBySize Get an image at a specific size Risk: read
await corsair.typeform.api.images.getBySize({});
Input
NameTypeRequiredDescription
image_idstringYes
sizestringYes
Output
NameTypeRequiredDescription
idstringNo
srcstringNo
widthnumberNo
heightnumberNo
avg_colorstringNo
file_namestringNo
has_alphabooleanNo
media_typestringNo

getChoiceImageBySize

images.getChoiceImageBySize Get a choice image at a specific size Risk: read
await corsair.typeform.api.images.getChoiceImageBySize({});
Input
NameTypeRequiredDescription
image_idstringYes
sizestringYes
Output
NameTypeRequiredDescription
idstringNo
srcstringNo
widthnumberNo
heightnumberNo
avg_colorstringNo
file_namestringNo
has_alphabooleanNo
media_typestringNo

list

images.list List all images in the account Risk: read
await corsair.typeform.api.images.list({});
Input: empty object Output: object[]
{
  id?: string,
  src?: string,
  width?: number,
  height?: number,
  avg_color?: string,
  file_name?: string,
  has_alpha?: boolean,
  media_type?: string
}[]

Me

get

me.get Get information about the authenticated Typeform account Risk: read
await corsair.typeform.api.me.get({});
Input: empty object Output
NameTypeRequiredDescription
owner_infoobjectNo
{
}

Responses

delete

responses.delete Delete specific responses from a form [DESTRUCTIVE] Risk: destructive
await corsair.typeform.api.responses.delete({});
Input
NameTypeRequiredDescription
form_idstringYes
included_response_idsstringYes
Output
NameTypeRequiredDescription
statusstringNo
descriptionstringNo

getAllFiles

responses.getAllFiles Get a ZIP archive of all files uploaded in responses Risk: read
await corsair.typeform.api.responses.getAllFiles({});
Input
NameTypeRequiredDescription
form_idstringYes
Output: any

list

responses.list List responses submitted to a form Risk: read
await corsair.typeform.api.responses.list({});
Input
NameTypeRequiredDescription
form_idstringYes
sortstringNo
afterstringNo
querystringNo
sincestringNo
untilstringNo
beforestringNo
fieldsstring[]No
page_sizenumberNo
response_typestring[]No
answered_fieldsstring[]No
excluded_response_idsstringNo
included_response_idsstringNo
Output
NameTypeRequiredDescription
itemsobject[]No
page_countnumberNo
total_itemsnumberNo
{
  token?: string,
  response_id?: string,
  submitted_at?: string,
  landed_at?: string,
  answers?: {
    type?: string,
    text?: string,
    email?: string,
    url?: string,
    date?: string,
    number?: number,
    boolean?: boolean,
    phone_number?: string,
    file_url?: string,
    choice?: {
      id?: string,
      ref?: string,
      label?: string,
      other?: string
    },
    choices?: {
      ids?: string[],
      refs?: string[],
      labels?: string[],
      other?: string
    },
    field?: {
      id?: string,
      ref?: string,
      type?: string
    },
    payment?: {
    },
    multi_format?: {
    }
  }[],
  calculated?: {
    score?: number
  },
  metadata?: {
    browser?: string,
    referer?: string,
    platform?: string,
    network_id?: string,
    user_agent?: string
  },
  hidden?: {
  },
  variables?: {
    key?: string,
    type?: string,
    text?: string,
    number?: number
  }[]
}[]

Themes

create

themes.create Create a new theme Risk: write
await corsair.typeform.api.themes.create({});
Input
NameTypeRequiredDescription
fontstringYes
colorsobjectYes
fieldsobjectYes
namestringNo
backgroundobjectNo
rounded_cornersstringNo
has_transparent_buttonbooleanNo
{
  answer?: string,
  button?: string,
  question?: string,
  background?: string
}
{
  alignment?: left | center,
  font_size?: small | medium | large
}
{
  href?: string,
  layout?: fullscreen | repeat | no-repeat,
  brightness?: number
}
Output
NameTypeRequiredDescription
idstringNo
namestringNo
fontstringNo
visibilitystringNo
rounded_cornersstringNo
has_transparent_buttonbooleanNo
colorsobjectNo
backgroundobjectNo
fieldsobjectNo
screensobjectNo
{
  answer?: string,
  button?: string,
  question?: string,
  background?: string
}
{
  href?: string,
  layout?: fullscreen | repeat | no-repeat,
  brightness?: number
}
{
  alignment?: left | center,
  font_size?: small | medium | large
}
{
}

delete

themes.delete Permanently delete a theme [DESTRUCTIVE] Risk: destructive
await corsair.typeform.api.themes.delete({});
Input
NameTypeRequiredDescription
theme_idstringYes
Output: any

get

themes.get Get a theme by ID Risk: read
await corsair.typeform.api.themes.get({});
Input
NameTypeRequiredDescription
theme_idstringYes
Output
NameTypeRequiredDescription
idstringNo
namestringNo
fontstringNo
visibilitystringNo
rounded_cornersstringNo
has_transparent_buttonbooleanNo
colorsobjectNo
backgroundobjectNo
fieldsobjectNo
screensobjectNo
{
  answer?: string,
  button?: string,
  question?: string,
  background?: string
}
{
  href?: string,
  layout?: fullscreen | repeat | no-repeat,
  brightness?: number
}
{
  alignment?: left | center,
  font_size?: small | medium | large
}
{
}

list

themes.list List all themes Risk: read
await corsair.typeform.api.themes.list({});
Input
NameTypeRequiredDescription
pagenumberNo
page_sizenumberNo
Output
NameTypeRequiredDescription
itemsobject[]No
page_countnumberNo
total_itemsnumberNo
{
  id?: string,
  name?: string,
  font?: string,
  visibility?: string,
  rounded_corners?: string,
  has_transparent_button?: boolean,
  colors?: {
    answer?: string,
    button?: string,
    question?: string,
    background?: string
  },
  background?: {
    href?: string,
    layout?: fullscreen | repeat | no-repeat,
    brightness?: number
  },
  fields?: {
    alignment?: left | center,
    font_size?: small | medium | large
  },
  screens?: {
  }
}[]

patch

themes.patch Partially update a theme Risk: write
await corsair.typeform.api.themes.patch({});
Input
NameTypeRequiredDescription
theme_idstringYes
fontstringNo
namestringNo
colorsobjectNo
fieldsobjectNo
screensobjectNo
backgroundobjectNo
rounded_cornersstringNo
has_transparent_buttonbooleanNo
{
  answer?: string,
  button?: string,
  question?: string,
  background?: string
}
{
  alignment?: left | center,
  font_size?: small | medium | large
}
{
  font_size?: string,
  alignment?: string
}
{
  href?: string,
  layout?: fullscreen | repeat | no-repeat,
  brightness?: number
}
Output
NameTypeRequiredDescription
idstringNo
namestringNo
fontstringNo
visibilitystringNo
rounded_cornersstringNo
has_transparent_buttonbooleanNo
colorsobjectNo
backgroundobjectNo
fieldsobjectNo
screensobjectNo
{
  answer?: string,
  button?: string,
  question?: string,
  background?: string
}
{
  href?: string,
  layout?: fullscreen | repeat | no-repeat,
  brightness?: number
}
{
  alignment?: left | center,
  font_size?: small | medium | large
}
{
}

update

themes.update Replace a theme with a new version (PUT) Risk: write
await corsair.typeform.api.themes.update({});
Input
NameTypeRequiredDescription
theme_idstringYes
fontstringYes
namestringYes
colorsobjectYes
fieldsobjectNo
screensobjectNo
backgroundobjectNo
rounded_cornersstringNo
has_transparent_buttonbooleanNo
{
  answer?: string,
  button?: string,
  question?: string,
  background?: string
}
{
  alignment?: left | center,
  font_size?: small | medium | large
}
{
  font_size?: string,
  alignment?: string
}
{
  href?: string,
  layout?: fullscreen | repeat | no-repeat,
  brightness?: number
}
Output
NameTypeRequiredDescription
idstringNo
namestringNo
fontstringNo
visibilitystringNo
rounded_cornersstringNo
has_transparent_buttonbooleanNo
colorsobjectNo
backgroundobjectNo
fieldsobjectNo
screensobjectNo
{
  answer?: string,
  button?: string,
  question?: string,
  background?: string
}
{
  href?: string,
  layout?: fullscreen | repeat | no-repeat,
  brightness?: number
}
{
  alignment?: left | center,
  font_size?: small | medium | large
}
{
}

Videos

upload

videos.upload Get a signed URL to upload a video for a form field Risk: write
await corsair.typeform.api.videos.upload({});
Input
NameTypeRequiredDescription
form_idstringYes
field_idstringYes
languagestringYes
Output
NameTypeRequiredDescription
idstringNo
upload_urlstringNo
transcode_statusstringNo

Webhooks Config

createOrUpdate

webhooksConfig.createOrUpdate Create or update a webhook configuration Risk: write
await corsair.typeform.api.webhooksConfig.createOrUpdate({});
Input
NameTypeRequiredDescription
form_idstringYes
tagstringYes
urlstringYes
enabledbooleanNo
secretstringNo
verify_sslbooleanNo
event_typesstring[]No
Output
NameTypeRequiredDescription
idstringNo
tagstringNo
urlstringNo
secretstringNo
enabledbooleanNo
form_idstringNo
created_atstringNo
updated_atstringNo
verify_sslbooleanNo
event_typesstring[]No

delete

webhooksConfig.delete Delete a webhook configuration [DESTRUCTIVE] Risk: destructive
await corsair.typeform.api.webhooksConfig.delete({});
Input
NameTypeRequiredDescription
form_idstringYes
tagstringYes
Output
NameTypeRequiredDescription
successbooleanNo

get

webhooksConfig.get Get a webhook configuration by tag Risk: read
await corsair.typeform.api.webhooksConfig.get({});
Input
NameTypeRequiredDescription
form_idstringYes
tagstringYes
Output
NameTypeRequiredDescription
idstringNo
tagstringNo
urlstringNo
secretstringNo
enabledbooleanNo
form_idstringNo
created_atstringNo
updated_atstringNo
verify_sslbooleanNo
event_typesstring[]No

list

webhooksConfig.list List all webhook configurations for a form Risk: read
await corsair.typeform.api.webhooksConfig.list({});
Input
NameTypeRequiredDescription
form_idstringYes
Output
NameTypeRequiredDescription
webhooksobject[]No
{
  id?: string,
  tag?: string,
  url?: string,
  secret?: string,
  enabled?: boolean,
  form_id?: string,
  created_at?: string,
  updated_at?: string,
  verify_ssl?: boolean,
  event_types?: string[]
}[]

Workspaces

create

workspaces.create Create a new workspace Risk: write
await corsair.typeform.api.workspaces.create({});
Input
NameTypeRequiredDescription
namestringYes
Output
NameTypeRequiredDescription
idstringNo
namestringNo
selfobjectNo
formsobjectNo
sharedbooleanNo
defaultbooleanNo
membersobject[]No
account_idstringNo
{
  href?: string
}
{
  href?: string,
  count?: number
}
{
  name?: string,
  role?: string,
  email?: string
}[]

createForAccount

workspaces.createForAccount Create a new workspace within a specific account Risk: write
await corsair.typeform.api.workspaces.createForAccount({});
Input
NameTypeRequiredDescription
namestringYes
account_idstringYes
Output
NameTypeRequiredDescription
idstringNo
namestringNo
selfobjectNo
formsobjectNo
sharedbooleanNo
defaultbooleanNo
membersobject[]No
account_idstringNo
{
  href?: string
}
{
  href?: string,
  count?: number
}
{
  name?: string,
  role?: string,
  email?: string
}[]

delete

workspaces.delete Permanently delete a workspace [DESTRUCTIVE] Risk: destructive
await corsair.typeform.api.workspaces.delete({});
Input
NameTypeRequiredDescription
workspace_idstringYes
Output: any

get

workspaces.get Get a workspace by ID Risk: read
await corsair.typeform.api.workspaces.get({});
Input
NameTypeRequiredDescription
workspace_idstringYes
Output
NameTypeRequiredDescription
idstringNo
hrefstringNo
namestringNo
formsobjectNo
membersobject[]No
sharedbooleanNo
defaultbooleanNo
account_idstringNo
{
  href?: string,
  count?: number
}
{
  name?: string,
  role?: string,
  email?: string
}[]

list

workspaces.list List all workspaces Risk: read
await corsair.typeform.api.workspaces.list({});
Input
NameTypeRequiredDescription
pagenumberNo
searchstringNo
page_sizenumberNo
Output
NameTypeRequiredDescription
workspacesobject[]No
{
  id?: string,
  href?: string,
  name?: string,
  forms?: {
    href?: string,
    count?: number
  },
  members?: {
    name?: string,
    role?: string,
    email?: string
  }[],
  shared?: boolean,
  default?: boolean,
  account_id?: string
}[]

update

workspaces.update Update a workspace using JSON Patch operations Risk: write
await corsair.typeform.api.workspaces.update({});
Input
NameTypeRequiredDescription
workspace_idstringYes
operationsobject[]Yes
{
  op: add | remove | replace | move | copy | test,
  path: string,
  value?: any,
  from?: string
}[]
Output: any