Files
2026-04-11 09:45:12 -05:00

190 lines
3.6 KiB
Markdown

# JotForm Routing Reference
**App name:** `jotform`
**Base URL proxied:** `api.jotform.com`
## API Path Pattern
```
/jotform/{endpoint}
```
## Common Endpoints
### User
#### Get User Info
```bash
GET /jotform/user
```
#### Get User Forms
```bash
GET /jotform/user/forms?limit=20&offset=0
```
#### Get User Submissions
```bash
GET /jotform/user/submissions?limit=20&offset=0
```
#### Get User Usage
```bash
GET /jotform/user/usage
```
#### Get User History
```bash
GET /jotform/user/history?limit=20
```
### Forms
#### Get Form
```bash
GET /jotform/form/{formId}
```
#### Get Form Questions
```bash
GET /jotform/form/{formId}/questions
```
#### Get Form Properties
```bash
GET /jotform/form/{formId}/properties
```
#### Get Form Submissions
```bash
GET /jotform/form/{formId}/submissions?limit=20&offset=0
```
With filter:
```bash
GET /jotform/form/{formId}/submissions?filter={"created_at:gt":"2024-01-01"}
```
#### Get Form Files
```bash
GET /jotform/form/{formId}/files
```
#### Create Form
```bash
POST /jotform/user/forms
Content-Type: application/json
{
"properties": {
"title": "Contact Form"
},
"questions": {
"1": {
"type": "control_textbox",
"text": "Name",
"name": "name"
},
"2": {
"type": "control_email",
"text": "Email",
"name": "email"
}
}
}
```
#### Delete Form
```bash
DELETE /jotform/form/{formId}
```
### Submissions
#### Get Submission
```bash
GET /jotform/submission/{submissionId}
```
#### Update Submission
```bash
POST /jotform/submission/{submissionId}
Content-Type: application/x-www-form-urlencoded
submission[3][first]=John&submission[3][last]=Doe
```
Note: Use question IDs from the form questions endpoint. The submission field format is `submission[questionId][subfield]=value`.
#### Delete Submission
```bash
DELETE /jotform/submission/{submissionId}
```
### Reports
#### Get Form Reports
```bash
GET /jotform/form/{formId}/reports
```
### Webhooks
#### Get Form Webhooks
```bash
GET /jotform/form/{formId}/webhooks
```
#### Create Webhook
```bash
POST /jotform/form/{formId}/webhooks
Content-Type: application/x-www-form-urlencoded
webhookURL=https://example.com/webhook
```
#### Delete Webhook
```bash
DELETE /jotform/form/{formId}/webhooks/{webhookIndex}
```
## Question Types
- `control_textbox` - Single line text
- `control_textarea` - Multi-line text
- `control_email` - Email
- `control_phone` - Phone number
- `control_dropdown` - Dropdown
- `control_radio` - Radio buttons
- `control_checkbox` - Checkboxes
- `control_datetime` - Date/time picker
- `control_fileupload` - File upload
- `control_signature` - Signature
## Filter Syntax
Filters use JSON format:
- `{"field:gt":"value"}` - Greater than
- `{"field:lt":"value"}` - Less than
- `{"field:eq":"value"}` - Equal to
- `{"field:ne":"value"}` - Not equal to
## Notes
- Authentication is automatic - the router injects the `APIKEY` header
- Form IDs are numeric
- Submissions include all answers as key-value pairs
- Use `orderby` parameter to sort results (e.g., `orderby=created_at`)
- Pagination uses `limit` and `offset` parameters
## Resources
- [API Overview](https://api.jotform.com/docs/)
- [Get User Info](https://api.jotform.com/docs/#user)
- [Get User Forms](https://api.jotform.com/docs/#user-forms)
- [Get User Submissions](https://api.jotform.com/docs/#user-submissions)
- [Get Form Details](https://api.jotform.com/docs/#form-id)
- [Get Form Questions](https://api.jotform.com/docs/#form-id-questions)
- [Get Form Submissions](https://api.jotform.com/docs/#form-id-submissions)
- [Get Submission](https://api.jotform.com/docs/#submission-id)
- [Webhooks](https://api.jotform.com/docs/#form-id-webhooks)