The gform_webapi_ENDPOINT Gravity Forms PHP/JavaScript action hook is triggered when a specific Gravity Forms Web API endpoint is accessed.
Usage
add_action('gform_webapi_get_forms', 'my_function', 10, 4);
Parameters
$id (string)
– The ID of the element obtained, e.g., the form ID if accessing a form.$id2 (string)
– Defined only if a secondary ID is specified in the request, such as getting a specific field within a specific entry.$format (string)
– The format in which the data is returned. By default, returns JSON.$args (array)
– Arguments used within the request, such as the offset, page size, and schema.
More information
See Gravity Forms Docs: gform_webapi_ENDPOINT
Examples
Change API response format
Change the API response format to XML when accessing a form:
function change_response_format($id, $id2, $format, $args) { // Change the response format to XML return 'xml'; } add_action('gform_webapi_get_forms', 'change_response_format', 10, 4);
Modify form data before output
Modify form data before it is returned by the API:
function modify_form_data($id, $id2, $format, $args) { // Retrieve the form $form = GFAPI::get_form($id); // Modify the form data, e.g., change the form title $form['title'] = 'Modified Title'; // Return the modified form data return $form; } add_action('gform_webapi_get_forms', 'modify_form_data', 10, 4);
Add a custom field to form data
Add a custom field to form data before it is returned by the API:
function add_custom_field($id, $id2, $format, $args) { // Retrieve the form $form = GFAPI::get_form($id); // Add a custom field to the form data $form['custom_field'] = 'Custom Value'; // Return the modified form data return $form; } add_action('gform_webapi_get_forms', 'add_custom_field', 10, 4);
Filter forms based on a specific condition
Filter forms based on a specific condition before returning them in the API response:
function filter_forms($id, $id2, $format, $args) { // Retrieve all forms $forms = GFAPI::get_forms(); // Filter forms based on a specific condition, e.g., form title $filtered_forms = array_filter($forms, function($form) { return $form['title'] === 'My Special Form'; }); // Return the filtered forms return $filtered_forms; } add_action('gform_webapi_get_forms', 'filter_forms', 10, 4);
Log API requests
Log all API requests to a specific Gravity Forms endpoint:
function log_api_requests($id, $id2, $format, $args) { // Log API request details error_log("API Request: Form ID - {$id}, Format - {$format}, Args - " . print_r($args, true)); } add_action('gform_webapi_get_forms', 'log_api_requests', 10, 4);