# Jotform

> Manage Jotform forms, questions, submissions, reports, folders and webhooks via API key.

Lets an agent read and manage your Jotform account - forms and their questions,
submissions, reports, folders and webhooks - using a Jotform API key.

## What it can do

| Method | What it does |
| --- | --- |
| `jotform_get_user` | Get the authenticated account (username, email, plan). |
| `jotform_get_usage` | Get account usage and limits for the period. |
| `jotform_get_settings` | Get account settings. |
| `jotform_update_settings` | Update account settings (name, website, timezone). |
| `jotform_get_history` | Get the account activity log, with date/action filters. |
| `jotform_get_subusers` | List sub-users that share the account. |
| `jotform_list_forms` | List the account's forms; offset, limit, filter, orderby. |
| `jotform_get_form` | Get one form by id. |
| `jotform_create_form` | Create a new form with properties and questions. |
| `jotform_clone_form` | Clone an existing form. |
| `jotform_delete_form` | Delete a form. |
| `jotform_get_form_properties` | Get all properties of a form. |
| `jotform_get_form_property` | Get one form property (e.g. title, thankurl). |
| `jotform_set_form_properties` | Set form properties. |
| `jotform_list_form_questions` | List a form's questions. |
| `jotform_get_form_question` | Get one question by id. |
| `jotform_add_form_question` | Add a question to a form. |
| `jotform_edit_form_question` | Edit an existing question. |
| `jotform_delete_form_question` | Delete a question. |
| `jotform_list_submissions` | List submissions across all forms. |
| `jotform_list_form_submissions` | List a single form's submissions. |
| `jotform_get_submission` | Get one submission by id. |
| `jotform_create_submission` | Add a submission to a form. |
| `jotform_edit_submission` | Edit a submission's answers. |
| `jotform_delete_submission` | Delete a submission. |
| `jotform_list_form_files` | List files uploaded through a form. |
| `jotform_list_reports` | List all reports for the account. |
| `jotform_list_form_reports` | List a form's reports. |
| `jotform_get_report` | Get one report by id. |
| `jotform_create_report` | Create a report (csv/excel/grid/table/rss) for a form. |
| `jotform_delete_report` | Delete a report. |
| `jotform_list_folders` | List the account's folders. |
| `jotform_get_folder` | Get one folder and its forms. |
| `jotform_create_folder` | Create a folder. |
| `jotform_delete_folder` | Delete a folder. |
| `jotform_list_form_webhooks` | List a form's webhooks. |
| `jotform_create_form_webhook` | Add a webhook that POSTs each submission to a URL. |
| `jotform_delete_form_webhook` | Delete a form webhook. |

## How to get credentials

1. Open [jotform.com/myaccount/api](https://www.jotform.com/myaccount/api).
2. Under **API Keys**, click **Create New Key**.
3. Give the key a name (e.g. *FlyMyAI Agent*) and choose its access level -
   *Full Access* if the agent should create and edit, or *Read Only* for
   reporting tasks.
4. Copy the generated key.

If your account lives on the EU or HIPAA data region, the base URL differs;
this connector uses the standard `https://api.jotform.com` endpoint.

## Fields to fill in FlyMyAI

| FlyMyAI field | Where it comes from |
| --- | --- |
| `JOTFORM_API_KEY` | My Account -> API -> Create New Key |

## Troubleshooting

- **`401` / authorization error** - the key is wrong or was revoked. Create a
  new key and re-paste it.
- **Write actions return `403`** - the key is *Read Only*. Create a new key
  with *Full Access*.
- **Empty results** - check the form id, and the offset/limit/filter you
  passed to a list action.

## Links

- [Create an API key](https://www.jotform.com/myaccount/api)
- [API reference](https://api.jotform.com/docs/)
