Using Gravity Forms ‘gform_rest_api_capability_get_forms’ PHP filter

The gform_rest_api_capability_get_forms filter modifies the capability required to get form details via the REST API v2.

Usage

add_filter('gform_rest_api_capability_get_forms', 'your_function_name', 10, 2);

Parameters

  • $capability (string): The capability required. Defaults to ‘gravityforms_edit_forms’.
  • $request (WP_REST_Request): Full data about the request.

More information

See Gravity Forms Docs: gform_rest_api_capability_get_forms

Examples

Change capability to a custom one

This example changes the required capability to ‘my_custom_capability’.

add_filter('gform_rest_api_capability_get_forms', 'get_get_forms_capability', 10, 2);

function get_get_forms_capability($capability, $request) {
    return 'my_custom_capability';
}

Allow only administrators to access form details

This example restricts access to form details via the REST API to administrators only.

add_filter('gform_rest_api_capability_get_forms', 'limit_to_admin', 10, 2);

function limit_to_admin($capability, $request) {
    return 'manage_options';
}

Allow a custom role to access form details

This example allows a custom role named ‘form_manager’ to access form details via the REST API.

add_filter('gform_rest_api_capability_get_forms', 'allow_custom_role', 10, 2);

function allow_custom_role($capability, $request) {
    return 'gravityforms_form_manager';
}

Dynamically set capability based on request

This example dynamically sets the capability based on the request data.

add_filter('gform_rest_api_capability_get_forms', 'dynamic_capability', 10, 2);

function dynamic_capability($capability, $request) {
    if ($request->get_param('some_param') === 'some_value') {
        return 'my_custom_capability';
    }
    return $capability;
}

Remove capability requirement

This example removes the capability requirement, allowing anyone to access form details via the REST API.

add_filter('gform_rest_api_capability_get_forms', 'no_capability_required', 10, 2);

function no_capability_required($capability, $request) {
    return '';
}