Sign in

Update form

documented

Update a form.

PUT /forms/{FORM_ID}Formsno implementation yet0 runs
No implementation yet. Run it to have the agent write one, or open a pull request with your own.

Seed example (keychains curl)

npx -y keychains@latest curl "https://{{$domain}}/gravityformsapi/forms/{{$FORM_ID}}?api_key={{GRAVITYFORMS_API_KEY}}&signature={{GRAVITYFORMS_SIGNATURE}}&expires={{GRAVITYFORMS_EXPIRES}}" \
  -X PUT \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"id": {{$FORM_ID}}, "title": "{{$title}}", "description": "{{$description}}", "is_active": "{{$is_active}}", "button": {"type": "text", "text": "{{$button_text}}", "imageUrl": ""}, "fields": [], "confirmations": {"default": {"id": 0, "name": "Default Confirmation", "type": "message", "message": "{{$confirmation_message}}", "isDefault": true}}, "notifications": {"default": {"id": 0, "to": "{{$admin_email}}", "name": "Admin Notification", "event": "form_submission", "toType": "email", "subject": "New submission from {{$title}}", "message": "{all_fields}"}}}'"}


## What this does and where the URL comes from
- The Gravity Forms REST API v1 base URI is gravityformsapi on your WordPress site, so the endpoint lives under your domain at /gravityformsapi/forms/[Form ID]. For example: http://mydomain.com/gravityformsapi/forms or https://mydomain.com/gravityformsapi/forms/1. ([docs.gravityforms.com](https://docs.gravityforms.com/web-api/))
- The PUT /forms/[Form ID] endpoint updates a specific form. The request body must be a JSON representation of the form object (the entire object should be sent for an update). ([docs.gravityforms.com](https://docs.gravityforms.com/web-api/))
- For external applications, Gravity Forms uses an API key + signature approach: include api_key, signature, and expires in the query string. The signature is an HMAC over a string that includes the method, route, and expiry. ([docs.gravityforms.com](https://docs.gravityforms.com/web-api/))


## Variable definitions to map into the command
- domain: Your Gravity Forms site domain (no protocol). Example: example.com
- FORM_ID: The form ID you want to update (e.g. 28)
- title: New form title (e.g. "Updated Form Title")
- description: Form description text
- is_active: Form active flag (e.g. "1" or "0")
- button_text: Text for the form submit button (e.g. "Submit")
- confirmation_message: Default confirmation message text
- admin_email: Email address for admin notifications
- GRAVITYFORMS_API_KEY: Your API key for the Gravity Forms REST API
- GRAVITYFORMS_SIGNATURE: The computed signature for the request
- GRAVITYFORMS_EXPIRES: Expiry timestamp (Unix epoch) for the signature


## Variables you’ll provide (example structure)
[
  {"name": "domain", "label": "Your Gravity Forms site domain", "placeholder": "example.com", "type": "text", "exampleValue": "example.com"},
  {"name": "FORM_ID", "label": "Form ID", "placeholder": "Form ID", "type": "text", "exampleValue": "28"},
  {"name": "title", "label": "Form title", "placeholder": "New Form Title", "type": "text", "exampleValue": "Updated Form Title"},
  {"name": "description", "label": "Form description", "placeholder": "Description", "type": "text", "exampleValue": "Updated form description"},
  {"name": "is_active", "label": "Is form active", "placeholder": "1 or 0", "type": "text", "exampleValue": "1"},
  {"name": "button_text", "label": "Submit button text", "placeholder": "Submit", "type": "text", "exampleValue": "Submit"},
  {"name": "confirmation_message", "label": "Confirmation message", "placeholder": "Confirmation message", "type": "text", "exampleValue": "Thanks for contacting us!"},
  {"name": "admin_email", "label": "Admin notification email", "placeholder": "admin@example.com", "type": "text", "exampleValue": "admin@example.com"},
  {"name": "GRAVITYFORMS_API_KEY", "label": "API Key", "placeholder": "your_api_key", "type": "text", "exampleValue": "abc123"},
  {"name": "GRAVITYFORMS_SIGNATURE", "label": "Signature", "placeholder": "signature", "type": "text", "exampleValue": "abcdef12345"},
  {"name": "GRAVITYFORMS_EXPIRES", "label": "Expires (unix)", "placeholder": "unix timestamp", "type": "text", "exampleValue": "1700000000"}
]


If you’d like, tell me your domain and a sample form ID, and I’ll tailor the command with realistic placeholder values for you. Also, I can provide a simplified body example focused only on a few updatable fields if you prefer.  


Notes: This curl targets the REST API v1 on your site (not gravityforms.com). See the Gravity Forms docs for the exact requirements around the request body structure and authentication. ([docs.gravityforms.com](https://docs.gravityforms.com/web-api/))
Update form · gravityforms · OpenIntegrations