3.6 KiB
3.6 KiB
JotForm Routing Reference
App name: jotform
Base URL proxied: api.jotform.com
API Path Pattern
/jotform/{endpoint}
Common Endpoints
User
Get User Info
GET /jotform/user
Get User Forms
GET /jotform/user/forms?limit=20&offset=0
Get User Submissions
GET /jotform/user/submissions?limit=20&offset=0
Get User Usage
GET /jotform/user/usage
Get User History
GET /jotform/user/history?limit=20
Forms
Get Form
GET /jotform/form/{formId}
Get Form Questions
GET /jotform/form/{formId}/questions
Get Form Properties
GET /jotform/form/{formId}/properties
Get Form Submissions
GET /jotform/form/{formId}/submissions?limit=20&offset=0
With filter:
GET /jotform/form/{formId}/submissions?filter={"created_at:gt":"2024-01-01"}
Get Form Files
GET /jotform/form/{formId}/files
Create Form
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
DELETE /jotform/form/{formId}
Submissions
Get Submission
GET /jotform/submission/{submissionId}
Update Submission
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
DELETE /jotform/submission/{submissionId}
Reports
Get Form Reports
GET /jotform/form/{formId}/reports
Webhooks
Get Form Webhooks
GET /jotform/form/{formId}/webhooks
Create Webhook
POST /jotform/form/{formId}/webhooks
Content-Type: application/x-www-form-urlencoded
webhookURL=https://example.com/webhook
Delete Webhook
DELETE /jotform/form/{formId}/webhooks/{webhookIndex}
Question Types
control_textbox- Single line textcontrol_textarea- Multi-line textcontrol_email- Emailcontrol_phone- Phone numbercontrol_dropdown- Dropdowncontrol_radio- Radio buttonscontrol_checkbox- Checkboxescontrol_datetime- Date/time pickercontrol_fileupload- File uploadcontrol_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
APIKEYheader - Form IDs are numeric
- Submissions include all answers as key-value pairs
- Use
orderbyparameter to sort results (e.g.,orderby=created_at) - Pagination uses
limitandoffsetparameters