{
  "generated": "2026-07-19T00:36:12.223Z",
  "product": {
    "id": "gravityexport",
    "label": "GravityExport",
    "repo": "GravityKit/GravityExport",
    "version": "1.13.0",
    "actions": [
      "gk/gravityexport/save/chunk/written",
      "gk/gravityexport/save/connection/failed",
      "gk/gravityexport/save/connection/restored",
      "gk/gravityexport/save/exported/entry",
      "gk/gravityexport/save/exported/manual",
      "gk/gravityexport/save/feed/before-handle"
    ],
    "filters": [
      "gfexcel_renderer_title",
      "gk/gravityexport/feature/remove-empty-columns",
      "gk/gravityexport/feature/show-html",
      "gk/gravityexport/field/flow/status-label",
      "gk/gravityexport/field/flow/timestamp-format",
      "gk/gravityexport/field/flow/timestamp-type",
      "gk/gravityexport/field/flow/translate-role",
      "gk/gravityexport/field/flow/user-property",
      "gk/gravityexport/pdf/font-family",
      "gk/gravityexport/pdf/footer",
      "gk/gravityexport/pdf/header-image/enabled",
      "gk/gravityexport/pdf/header/title",
      "gk/gravityexport/pdf/header",
      "gk/gravityexport/pdf/inline-images",
      "gk/gravityexport/pdf/page-number-alignment",
      "gk/gravityexport/pdf/settings/defaults",
      "gk/gravityexport/permalinks/reserved-terms",
      "gk/gravityexport/router/default_endpoint",
      "gk/gravityexport/router/endpoints",
      "gk/gravityexport/save/chunk-size",
      "gk/gravityexport/save/chunked-threshold",
      "gk/gravityexport/save/cloud-storage/settings",
      "gk/gravityexport/save/connection/check-interval",
      "gk/gravityexport/save/filename",
      "gk/gravityexport/save/preflight-memory-check",
      "gk/gravityexport/save/settings/copy-files",
      "gk/gravityexport/save/settings/filename-formats",
      "gk/gravityexport/save/settings/ftp",
      "gk/gravityexport/save/settings",
      "gk/gravityexport/save/should-chunk",
      "gk/multiple_rows/settings/defaults"
    ]
  },
  "hooks": [
    {
      "id": "gk-gravityexport-save-chunk-written",
      "name": "gk/gravityexport/save/chunk/written",
      "type": "action",
      "product": "gravityexport",
      "description": "Fires after a chunk of entries has been written to the temp file.",
      "parameters": [
        {
          "name": "offset",
          "type": "int",
          "description": "Current offset after this chunk."
        },
        {
          "name": "row_count",
          "type": "int",
          "description": "Total rows written so far."
        },
        {
          "name": "feed_id",
          "type": "int",
          "description": "The feed ID."
        },
        {
          "name": "form_id",
          "type": "int",
          "description": "The form ID."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_action( 'gk/gravityexport/save/chunk/written', function($offset, $row_count, $feed_id, $form_id) {\n    // Your code here\n}, 10, 4 );",
      "since": "1.8.0",
      "source": {
        "file": "add-ons/save/src/Feature/ChunkedExportProcessor.php",
        "line": 471
      },
      "url": "/docs/gravityexport/actions/gk-gravityexport-save-chunk-written/",
      "related": []
    },
    {
      "id": "gk-gravityexport-save-connection-failed",
      "name": "gk/gravityexport/save/connection/failed",
      "type": "action",
      "product": "gravityexport",
      "description": "Fires when a monitored cloud storage connection is detected offline.",
      "parameters": [
        {
          "name": "provider",
          "type": "\\OAuthStorageType",
          "description": "The offline provider."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_action( 'gk/gravityexport/save/connection/failed', function($provider) {\n    // Your code here\n}, 10, 1 );",
      "since": "1.12.0",
      "source": {
        "file": "add-ons/save/src/Feature/ConnectionMonitor.php",
        "line": 478
      },
      "url": "/docs/gravityexport/actions/gk-gravityexport-save-connection-failed/",
      "related": [
        "gk/gravityexport/save/connection/restored",
        "gk/gravityexport/save/connection/check-interval"
      ]
    },
    {
      "id": "gk-gravityexport-save-connection-restored",
      "name": "gk/gravityexport/save/connection/restored",
      "type": "action",
      "product": "gravityexport",
      "description": "Fires when a cloud storage connection recovers (offline → healthy), e.g. after a successful reconnect. Lets the monitor clear its dashboard notice immediately.",
      "parameters": [
        {
          "name": "provider",
          "type": "\\OAuthStorageType",
          "description": "The provider whose connection was restored."
        }
      ],
      "categories": [
        "export",
        "api"
      ],
      "example": "add_action( 'gk/gravityexport/save/connection/restored', function($provider) {\n    // Your code here\n}, 10, 1 );",
      "since": "1.12.0",
      "source": {
        "file": "add-ons/save/src/StorageType/OAuthStorageType.php",
        "line": 709
      },
      "url": "/docs/gravityexport/actions/gk-gravityexport-save-connection-restored/",
      "related": [
        "gk/gravityexport/save/connection/failed",
        "gk/gravityexport/save/connection/check-interval"
      ]
    },
    {
      "id": "gk-gravityexport-save-exported-entry",
      "name": "gk/gravityexport/save/exported/entry",
      "type": "action",
      "product": "gravityexport",
      "description": "Event dispatched when the export was triggered by an entry.",
      "parameters": [
        {
          "name": "entry",
          "type": "array",
          "description": "The entry object."
        },
        {
          "name": "form",
          "type": "array",
          "description": "The form object."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed configuration."
        },
        {
          "name": "storageType",
          "type": "\\StorageTypeInterface",
          "description": "The storage type instance."
        }
      ],
      "categories": [
        "entries",
        "export"
      ],
      "example": "add_action( 'gk/gravityexport/save/exported/entry', function($entry, $form, $feed, $storageType) {\n    // Your code here\n}, 10, 4 );",
      "since": "1.1.6",
      "source": {
        "file": "add-ons/save/src/Addon/SaveAddon.php",
        "line": 1020
      },
      "url": "/docs/gravityexport/actions/gk-gravityexport-save-exported-entry/",
      "related": [
        "gk/gravityexport/save/exported/manual"
      ]
    },
    {
      "id": "gk-gravityexport-save-exported-manual",
      "name": "gk/gravityexport/save/exported/manual",
      "type": "action",
      "product": "gravityexport",
      "description": "Fires during exported manual processing.",
      "parameters": [],
      "categories": [
        "export"
      ],
      "example": "add_action( 'gk/gravityexport/save/exported/manual', function() {\n    // Your code here\n} );",
      "since": "1.6.0",
      "source": {
        "file": "add-ons/save/src/Addon/SaveAddon.php",
        "line": 1128
      },
      "url": "/docs/gravityexport/actions/gk-gravityexport-save-exported-manual/",
      "related": [
        "gk/gravityexport/save/exported/entry"
      ]
    },
    {
      "id": "gk-gravityexport-save-feed-before-handle",
      "name": "gk/gravityexport/save/feed/before-handle",
      "type": "action",
      "product": "gravityexport",
      "description": "Fires before a Save feed is processed by `handleFeed()` or `process_feed()`.",
      "parameters": [
        {
          "name": "feed",
          "type": "array",
          "description": "The Save feed about to be processed."
        }
      ],
      "categories": [
        "export",
        "before"
      ],
      "example": "add_action( 'gk/gravityexport/save/feed/before-handle', function($feed) {\n    // Your code here\n}, 10, 1 );",
      "since": "1.11.0",
      "source": {
        "file": "add-ons/save/src/Addon/SaveAddon.php",
        "line": 1169
      },
      "url": "/docs/gravityexport/actions/gk-gravityexport-save-feed-before-handle/",
      "related": []
    },
    {
      "id": "gfexcel_renderer_title",
      "name": "gfexcel_renderer_title",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "title",
          "type": "string",
          "description": "The page title text."
        },
        {
          "name": "form",
          "type": "array",
          "description": "The form object."
        }
      ],
      "categories": [
        "rendering"
      ],
      "example": "add_filter( 'gfexcel_renderer_title', function($title, $form) {\n    // Modify $title as needed\n    return $title;\n}, 10, 2 );",
      "since": "1.3.0",
      "source": {
        "file": "add-ons/pdf-renderer/src/Plugin.php",
        "line": 597
      },
      "url": "/docs/gravityexport/filters/gfexcel_renderer_title/",
      "related": []
    },
    {
      "id": "gk-gravityexport-feature-remove-empty-columns",
      "name": "gk/gravityexport/feature/remove-empty-columns",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "should_remove",
          "type": "bool",
          "description": "Whether to remove empty columns."
        },
        {
          "name": "form_id",
          "type": "int",
          "description": "The form ID."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/feature/remove-empty-columns', function($should_remove, $form_id) {\n    // Modify $should_remove as needed\n    return $should_remove;\n}, 10, 2 );",
      "since": "1.4.0",
      "source": {
        "file": "src/Exporting/RemoveEmptyColumns.php",
        "line": 108
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-feature-remove-empty-columns/",
      "related": [
        "gk/gravityexport/feature/show-html"
      ]
    },
    {
      "id": "gk-gravityexport-feature-show-html",
      "name": "gk/gravityexport/feature/show-html",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "should_show_html",
          "type": "bool",
          "description": "Whether to shown HTML in the export. Default: false."
        },
        {
          "name": "form_id",
          "type": "int",
          "description": "The form id."
        },
        {
          "name": "field_id",
          "type": "string",
          "description": "The field id."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/feature/show-html', function($should_show_html, $form_id, $field_id) {\n    // Modify $should_show_html as needed\n    return $should_show_html;\n}, 10, 3 );",
      "since": "1.6.0",
      "source": {
        "file": "src/Exporting/ExportAsHtml.php",
        "line": 76
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-feature-show-html/",
      "related": [
        "gk/gravityexport/feature/remove-empty-columns"
      ]
    },
    {
      "id": "gk-gravityexport-field-flow-status-label",
      "name": "gk/gravityexport/field/flow/status-label",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "label",
          "type": "string",
          "description": "The translated status label."
        },
        {
          "name": "status",
          "type": "string",
          "description": "The raw status value."
        },
        {
          "name": "field",
          "type": "[\\GF_Field](https://docs.gravityforms.com/gf_field/)",
          "description": "The current field object."
        }
      ],
      "categories": [
        "fields",
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/field/flow/status-label', function($label, $status, $field) {\n    // Modify $label as needed\n    return $label;\n}, 10, 3 );",
      "since": "1.9.0",
      "source": {
        "file": "src/Field/FlowField.php",
        "line": 428
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-field-flow-status-label/",
      "related": [
        "gk/gravityexport/field/flow/timestamp-format",
        "gk/gravityexport/field/flow/timestamp-type",
        "gk/gravityexport/field/flow/translate-role",
        "gk/gravityexport/field/flow/user-property"
      ]
    },
    {
      "id": "gk-gravityexport-field-flow-timestamp-format",
      "name": "gk/gravityexport/field/flow/timestamp-format",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "format",
          "type": "string",
          "description": "The date format. Default <code>Y-m-d H:i:s</code>."
        },
        {
          "name": "field",
          "type": "[\\GF_Field](https://docs.gravityforms.com/gf_field/)",
          "description": "The current field object."
        }
      ],
      "categories": [
        "fields",
        "forms",
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/field/flow/timestamp-format', function($format, $field) {\n    // Modify $format as needed\n    return $format;\n}, 10, 2 );",
      "since": "1.9.0",
      "source": {
        "file": "src/Field/FlowField.php",
        "line": 533
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-field-flow-timestamp-format/",
      "related": [
        "gk/gravityexport/field/flow/status-label",
        "gk/gravityexport/field/flow/timestamp-type",
        "gk/gravityexport/field/flow/translate-role",
        "gk/gravityexport/field/flow/user-property"
      ]
    },
    {
      "id": "gk-gravityexport-field-flow-timestamp-type",
      "name": "gk/gravityexport/field/flow/timestamp-type",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "type",
          "type": "string",
          "description": "The display type. Default <code>local</code>."
        },
        {
          "name": "field",
          "type": "[\\GF_Field](https://docs.gravityforms.com/gf_field/)",
          "description": "The current field object."
        }
      ],
      "categories": [
        "fields",
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/field/flow/timestamp-type', function($type, $field) {\n    // Modify $type as needed\n    return $type;\n}, 10, 2 );",
      "since": "1.9.0",
      "source": {
        "file": "src/Field/FlowField.php",
        "line": 497
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-field-flow-timestamp-type/",
      "related": [
        "gk/gravityexport/field/flow/status-label",
        "gk/gravityexport/field/flow/timestamp-format",
        "gk/gravityexport/field/flow/translate-role",
        "gk/gravityexport/field/flow/user-property"
      ]
    },
    {
      "id": "gk-gravityexport-field-flow-translate-role",
      "name": "gk/gravityexport/field/flow/translate-role",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "translate",
          "type": "bool",
          "description": "Whether to translate the role. Default <code>true</code>."
        },
        {
          "name": "field",
          "type": "[\\GF_Field](https://docs.gravityforms.com/gf_field/)",
          "description": "The current field object."
        }
      ],
      "categories": [
        "fields",
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/field/flow/translate-role', function($translate, $field) {\n    // Modify $translate as needed\n    return $translate;\n}, 10, 2 );",
      "since": "1.9.0",
      "source": {
        "file": "src/Field/FlowField.php",
        "line": 318
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-field-flow-translate-role/",
      "related": [
        "gk/gravityexport/field/flow/status-label",
        "gk/gravityexport/field/flow/timestamp-format",
        "gk/gravityexport/field/flow/timestamp-type",
        "gk/gravityexport/field/flow/user-property"
      ]
    },
    {
      "id": "gk-gravityexport-field-flow-user-property",
      "name": "gk/gravityexport/field/flow/user-property",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "property",
          "type": "string",
          "description": "The user property name. Default <code>user_id</code>."
        },
        {
          "name": "field",
          "type": "[\\GF_Field](https://docs.gravityforms.com/gf_field/)",
          "description": "The current field object."
        }
      ],
      "categories": [
        "fields",
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/field/flow/user-property', function($property, $field) {\n    // Modify $property as needed\n    return $property;\n}, 10, 2 );",
      "since": "1.9.0",
      "source": {
        "file": "src/Field/FlowField.php",
        "line": 358
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-field-flow-user-property/",
      "related": [
        "gk/gravityexport/field/flow/status-label",
        "gk/gravityexport/field/flow/timestamp-format",
        "gk/gravityexport/field/flow/timestamp-type",
        "gk/gravityexport/field/flow/translate-role"
      ]
    },
    {
      "id": "gk-gravityexport-pdf-font-family",
      "name": "gk/gravityexport/pdf/font-family",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "font_family",
          "type": "string",
          "description": "The font family name, formatted as a CSS font family. Default: 'sans-serif'."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/pdf/font-family', function($font_family) {\n    // Modify $font_family as needed\n    return $font_family;\n}, 10, 1 );",
      "since": "1.4.0",
      "source": {
        "file": "add-ons/pdf-renderer/src/Plugin.php",
        "line": 569
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-pdf-font-family/",
      "related": [
        "gk/gravityexport/pdf/footer",
        "gk/gravityexport/pdf/header",
        "gk/gravityexport/pdf/inline-images",
        "gk/gravityexport/pdf/page-number-alignment"
      ]
    },
    {
      "id": "gk-gravityexport-pdf-footer",
      "name": "gk/gravityexport/pdf/footer",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "footer",
          "type": "string[]",
          "description": "The footer HTML array with 'even' and 'odd' keys."
        },
        {
          "name": "mpdf_variables",
          "type": "string[]",
          "description": "Mapping of available PDF variables."
        },
        {
          "name": "form",
          "type": "array",
          "description": "The form object."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/pdf/footer', function($footer, $mpdf_variables, $form) {\n    // Modify $footer as needed\n    return $footer;\n}, 10, 3 );",
      "since": "1.3.0",
      "source": {
        "file": "add-ons/pdf-renderer/src/Plugin.php",
        "line": 489
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-pdf-footer/",
      "related": [
        "gk/gravityexport/pdf/font-family",
        "gk/gravityexport/pdf/header",
        "gk/gravityexport/pdf/inline-images",
        "gk/gravityexport/pdf/page-number-alignment"
      ]
    },
    {
      "id": "gk-gravityexport-pdf-header-image-enabled",
      "name": "gk/gravityexport/pdf/header-image/enabled",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "enabled",
          "type": "bool",
          "description": "Whether the header image is enabled."
        },
        {
          "name": "form_id",
          "type": "int",
          "description": "The form ID."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/pdf/header-image/enabled', function($enabled, $form_id) {\n    // Modify $enabled as needed\n    return $enabled;\n}, 10, 2 );",
      "since": "1.4.0",
      "source": {
        "file": "add-ons/pdf-renderer/src/Rendering/HeaderImage.php",
        "line": 156
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-pdf-header-image-enabled/",
      "related": []
    },
    {
      "id": "gk-gravityexport-pdf-header-title",
      "name": "gk/gravityexport/pdf/header/title",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "html",
          "type": "string",
          "description": "The title HTML."
        },
        {
          "name": "title",
          "type": "string",
          "description": "The page title text."
        },
        {
          "name": "form",
          "type": "array",
          "description": "The form object."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/pdf/header/title', function($html, $title, $form) {\n    // Modify $html as needed\n    return $html;\n}, 10, 3 );",
      "since": "1.4.0",
      "source": {
        "file": "add-ons/pdf-renderer/src/Plugin.php",
        "line": 609
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-pdf-header-title/",
      "related": []
    },
    {
      "id": "gk-gravityexport-pdf-header",
      "name": "gk/gravityexport/pdf/header",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "header",
          "type": "string[]",
          "description": "The header HTML array with 'even' and 'odd' keys."
        },
        {
          "name": "form",
          "type": "array",
          "description": "The form object."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/pdf/header', function($header, $form) {\n    // Modify $header as needed\n    return $header;\n}, 10, 2 );",
      "since": "1.3.0",
      "source": {
        "file": "add-ons/pdf-renderer/src/Plugin.php",
        "line": 513
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-pdf-header/",
      "related": [
        "gk/gravityexport/pdf/font-family",
        "gk/gravityexport/pdf/footer",
        "gk/gravityexport/pdf/inline-images",
        "gk/gravityexport/pdf/page-number-alignment"
      ]
    },
    {
      "id": "gk-gravityexport-pdf-inline-images",
      "name": "gk/gravityexport/pdf/inline-images",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "should_inline",
          "type": "bool",
          "description": "Whether to inline the image."
        },
        {
          "name": "form_id",
          "type": "int",
          "description": "The form ID."
        },
        {
          "name": "field_id",
          "type": "int",
          "description": "The field ID."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/pdf/inline-images', function($should_inline, $form_id, $field_id) {\n    // Modify $should_inline as needed\n    return $should_inline;\n}, 10, 3 );",
      "since": "1.4.0",
      "source": {
        "file": "add-ons/pdf-renderer/src/Rendering/InlineImages.php",
        "line": 126
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-pdf-inline-images/",
      "related": [
        "gk/gravityexport/pdf/font-family",
        "gk/gravityexport/pdf/footer",
        "gk/gravityexport/pdf/header",
        "gk/gravityexport/pdf/page-number-alignment"
      ]
    },
    {
      "id": "gk-gravityexport-pdf-page-number-alignment",
      "name": "gk/gravityexport/pdf/page-number-alignment",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "alignment",
          "type": "string",
          "description": "The page number alignment (left, center, or right). Default: 'center'."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/pdf/page-number-alignment', function($alignment) {\n    // Modify $alignment as needed\n    return $alignment;\n}, 10, 1 );",
      "since": "1.4.0",
      "source": {
        "file": "add-ons/pdf-renderer/src/Plugin.php",
        "line": 472
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-pdf-page-number-alignment/",
      "related": [
        "gk/gravityexport/pdf/font-family",
        "gk/gravityexport/pdf/footer",
        "gk/gravityexport/pdf/header",
        "gk/gravityexport/pdf/inline-images"
      ]
    },
    {
      "id": "gk-gravityexport-pdf-settings-defaults",
      "name": "gk/gravityexport/pdf/settings/defaults",
      "type": "filter",
      "product": "gravityexport",
      "description": "Modify the default PDF settings.",
      "parameters": [
        {
          "name": "defaults",
          "type": "array",
          "description": "Default PDF settings."
        },
        {
          "name": "font_family",
          "type": "string",
          "description": "The font family name, formatted as a CSS font family. Default: 'arial'."
        },
        {
          "name": "pdf_page_no_align",
          "type": "string",
          "description": "The page number alignment (left, center, or right). Default: 'center'."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/pdf/settings/defaults', function($defaults, $font_family, $pdf_page_no_align) {\n    // Modify $defaults as needed\n    return $defaults;\n}, 10, 3 );",
      "since": "1.4.0",
      "source": {
        "file": "add-ons/pdf-renderer/src/Plugin.php",
        "line": 744
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-pdf-settings-defaults/",
      "related": []
    },
    {
      "id": "gk-gravityexport-permalinks-reserved-terms",
      "name": "gk/gravityexport/permalinks/reserved-terms",
      "type": "filter",
      "product": "gravityexport",
      "description": "Modifies the list of reserved terms that are excluded from permalinks.",
      "parameters": [
        {
          "name": "extra_reserved_terms",
          "type": "string[]",
          "description": "List of extra reserved terms."
        },
        {
          "name": "reserved_terms",
          "type": "string[]",
          "description": "The list of reserved WordPress terms."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/permalinks/reserved-terms', function($extra_reserved_terms, $reserved_terms) {\n    // Modify $extra_reserved_terms as needed\n    return $extra_reserved_terms;\n}, 10, 2 );",
      "since": "1.5.0",
      "source": {
        "file": "src/Exporting/CustomExportEndpoint.php",
        "line": 309
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-permalinks-reserved-terms/",
      "related": []
    },
    {
      "id": "gk-gravityexport-router-default_endpoint",
      "name": "gk/gravityexport/router/default_endpoint",
      "type": "filter",
      "product": "gravityexport",
      "description": "Modify the default action slug.",
      "parameters": [
        {
          "name": "default_endpoint",
          "type": "string",
          "description": "The default endpoint for URLs. Default: 'gravityexport'."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/router/default_endpoint', function($default_endpoint) {\n    // Modify $default_endpoint as needed\n    return $default_endpoint;\n}, 10, 1 );",
      "since": "1.5.0",
      "source": {
        "file": "src/Routing/GravityExportRouter.php",
        "line": 145
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-router-default_endpoint/",
      "related": [
        "gk/gravityexport/router/endpoints"
      ]
    },
    {
      "id": "gk-gravityexport-router-endpoints",
      "name": "gk/gravityexport/router/endpoints",
      "type": "filter",
      "product": "gravityexport",
      "description": "Modify the list of download endpoints.",
      "parameters": [
        {
          "name": "endpoints",
          "type": "array",
          "description": "The list of endpoints."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/router/endpoints', function($endpoints) {\n    // Modify $endpoints as needed\n    return $endpoints;\n}, 10, 1 );",
      "since": "1.5.0",
      "source": {
        "file": "src/Routing/GravityExportRouter.php",
        "line": 82
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-router-endpoints/",
      "related": [
        "gk/gravityexport/router/default_endpoint"
      ]
    },
    {
      "id": "gk-gravityexport-save-chunk-size",
      "name": "gk/gravityexport/save/chunk-size",
      "type": "filter",
      "product": "gravityexport",
      "description": "Filters the number of entries fetched per chunk during chunked exports.",
      "parameters": [
        {
          "name": "chunk_size",
          "type": "int",
          "description": "The chunk size. Default: 100."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/save/chunk-size', function($chunk_size) {\n    // Modify $chunk_size as needed\n    return $chunk_size;\n}, 10, 1 );",
      "since": "1.8.0",
      "source": {
        "file": "add-ons/save/src/Feature/ChunkedExportProcessor.php",
        "line": 158
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-save-chunk-size/",
      "related": [
        "gk/gravityexport/save/chunked-threshold",
        "gk/gravityexport/save/filename",
        "gk/gravityexport/save/preflight-memory-check",
        "gk/gravityexport/save/settings",
        "gk/gravityexport/save/should-chunk"
      ]
    },
    {
      "id": "gk-gravityexport-save-chunked-threshold",
      "name": "gk/gravityexport/save/chunked-threshold",
      "type": "filter",
      "product": "gravityexport",
      "description": "Filters the entry count threshold for activating chunked exports.",
      "parameters": [
        {
          "name": "threshold",
          "type": "int",
          "description": "The threshold. Default: 500."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/save/chunked-threshold', function($threshold) {\n    // Modify $threshold as needed\n    return $threshold;\n}, 10, 1 );",
      "since": "1.8.0",
      "source": {
        "file": "add-ons/save/src/Feature/ChunkedExportProcessor.php",
        "line": 87
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-save-chunked-threshold/",
      "related": [
        "gk/gravityexport/save/chunk-size",
        "gk/gravityexport/save/filename",
        "gk/gravityexport/save/preflight-memory-check",
        "gk/gravityexport/save/settings",
        "gk/gravityexport/save/should-chunk"
      ]
    },
    {
      "id": "gk-gravityexport-save-cloud-storage-settings",
      "name": "gk/gravityexport/save/cloud-storage/settings",
      "type": "filter",
      "product": "gravityexport",
      "description": "Filters the settings shown in the Cloud Storage section.",
      "parameters": [
        {
          "name": "settings",
          "type": "array",
          "description": "The Cloud Storage section's settings entries."
        },
        {
          "name": "provider",
          "type": "\\OAuthStorageType",
          "description": "The provider currently building the section."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/save/cloud-storage/settings', function($settings, $provider) {\n    // Modify $settings as needed\n    return $settings;\n}, 10, 2 );",
      "since": "1.12.0",
      "source": {
        "file": "add-ons/save/src/StorageType/OAuthStorageType.php",
        "line": 372
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-save-cloud-storage-settings/",
      "related": []
    },
    {
      "id": "gk-gravityexport-save-connection-check-interval",
      "name": "gk/gravityexport/save/connection/check-interval",
      "type": "filter",
      "product": "gravityexport",
      "description": "Filters how often (in seconds) cloud storage connections are checked.",
      "parameters": [
        {
          "name": "interval",
          "type": "int",
          "description": "The interval in seconds. Default: 12 hours."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/save/connection/check-interval', function($interval) {\n    // Modify $interval as needed\n    return $interval;\n}, 10, 1 );",
      "since": "1.12.0",
      "source": {
        "file": "add-ons/save/src/Feature/ConnectionMonitor.php",
        "line": 778
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-save-connection-check-interval/",
      "related": [
        "gk/gravityexport/save/connection/failed",
        "gk/gravityexport/save/connection/restored"
      ]
    },
    {
      "id": "gk-gravityexport-save-filename",
      "name": "gk/gravityexport/save/filename",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "target_filename",
          "type": "string",
          "description": "The target filename."
        },
        {
          "name": "storageType",
          "type": "\\FlySystemStorageType",
          "description": "The storage type instance."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/save/filename', function($target_filename, $storageType) {\n    // Modify $target_filename as needed\n    return $target_filename;\n}, 10, 2 );",
      "since": "1.0",
      "source": {
        "file": "add-ons/save/src/StorageType/FlySystemStorageType.php",
        "line": 228
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-save-filename/",
      "related": [
        "gk/gravityexport/save/chunk-size",
        "gk/gravityexport/save/chunked-threshold",
        "gk/gravityexport/save/preflight-memory-check",
        "gk/gravityexport/save/settings",
        "gk/gravityexport/save/should-chunk"
      ]
    },
    {
      "id": "gk-gravityexport-save-preflight-memory-check",
      "name": "gk/gravityexport/save/preflight-memory-check",
      "type": "filter",
      "product": "gravityexport",
      "description": "Filters the pre-flight memory check for full-dataset exports.",
      "parameters": [
        {
          "name": "will_exceed",
          "type": "bool",
          "description": "Whether the export is estimated to exceed memory."
        },
        {
          "name": "feed_id",
          "type": "int",
          "description": "The feed ID."
        },
        {
          "name": "entry_count",
          "type": "int",
          "description": "Total entries to export."
        },
        {
          "name": "mem",
          "type": "array",
          "description": "Memory estimate with 'estimated_mb' and 'available_mb'."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/save/preflight-memory-check', function($will_exceed, $feed_id, $entry_count, $mem) {\n    // Modify $will_exceed as needed\n    return $will_exceed;\n}, 10, 4 );",
      "since": "1.8.0",
      "source": {
        "file": "add-ons/save/src/Feature/ScheduledExportHandler.php",
        "line": 444
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-save-preflight-memory-check/",
      "related": [
        "gk/gravityexport/save/chunk-size",
        "gk/gravityexport/save/chunked-threshold",
        "gk/gravityexport/save/filename",
        "gk/gravityexport/save/settings",
        "gk/gravityexport/save/should-chunk"
      ]
    },
    {
      "id": "gk-gravityexport-save-settings-copy-files",
      "name": "gk/gravityexport/save/settings/copy-files",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "should_copy",
          "type": "bool",
          "description": "Whether to copy file uploads."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/save/settings/copy-files', function($should_copy) {\n    // Modify $should_copy as needed\n    return $should_copy;\n}, 10, 1 );",
      "since": "1.3.0",
      "source": {
        "file": "add-ons/save/src/Feature/CopyFileUploads.php",
        "line": 116
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-save-settings-copy-files/",
      "related": [
        "gk/gravityexport/save/settings/filename-formats",
        "gk/gravityexport/save/settings/ftp"
      ]
    },
    {
      "id": "gk-gravityexport-save-settings-filename-formats",
      "name": "gk/gravityexport/save/settings/filename-formats",
      "type": "filter",
      "product": "gravityexport",
      "description": "Modify the filename formats list in Save.",
      "parameters": [
        {
          "name": "formats",
          "type": "array[]",
          "description": "Associative array with <code>value</code>, <code>label</code>, and <code>format</code> keys."
        }
      ],
      "categories": [
        "forms",
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/save/settings/filename-formats', function($formats) {\n    // Modify $formats as needed\n    return $formats;\n}, 10, 1 );",
      "since": "1.0",
      "source": {
        "file": "add-ons/save/src/Addon/SaveAddon.php",
        "line": 316
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-save-settings-filename-formats/",
      "related": [
        "gk/gravityexport/save/settings/copy-files",
        "gk/gravityexport/save/settings/ftp"
      ]
    },
    {
      "id": "gk-gravityexport-save-settings-ftp",
      "name": "gk/gravityexport/save/settings/ftp",
      "type": "filter",
      "product": "gravityexport",
      "description": "Modify FTP connection options.",
      "parameters": [
        {
          "name": "options",
          "type": "array",
          "description": "Array of FTP connection options."
        },
        {
          "name": "host",
          "type": "string",
          "description": "The FTP host."
        },
        {
          "name": "username",
          "type": "string",
          "description": "The FTP username."
        },
        {
          "name": "password",
          "type": "string",
          "description": "The FTP password."
        },
        {
          "name": "port",
          "type": "int",
          "description": "The FTP port. Default is 21."
        },
        {
          "name": "passive",
          "type": "bool",
          "description": "Whether to use passive mode."
        },
        {
          "name": "ssl",
          "type": "bool",
          "description": "Whether to use SSL."
        },
        {
          "name": "root",
          "type": "string",
          "description": "The FTP root path."
        },
        {
          "name": "timeout",
          "type": "int",
          "description": "The FTP connection timeout."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/save/settings/ftp', function($options, $host, $username, $password, $port, $passive, $ssl, $root, $timeout) {\n    // Modify $options as needed\n    return $options;\n}, 10, 9 );",
      "since": "1.0.8",
      "source": {
        "file": "add-ons/save/src/Service/ConnectionManagerService.php",
        "line": 108
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-save-settings-ftp/",
      "related": [
        "gk/gravityexport/save/settings/copy-files",
        "gk/gravityexport/save/settings/filename-formats"
      ]
    },
    {
      "id": "gk-gravityexport-save-settings",
      "name": "gk/gravityexport/save/settings",
      "type": "filter",
      "product": "gravityexport",
      "description": ":::info[Dynamic Hook Name]",
      "parameters": [
        {
          "name": "meta",
          "type": "array",
          "description": "The feed metadata."
        },
        {
          "name": "storageType",
          "type": "\\FlySystemStorageType",
          "description": "The storage type instance."
        },
        {
          "name": "feed",
          "type": "array\\",
          "description": "null`"
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/save/settings', function($meta, $storageType, $feed) {\n    // Modify $meta as needed\n    return $meta;\n}, 10, 3 );",
      "since": "1.0",
      "source": {
        "file": "add-ons/save/src/StorageType/FlySystemStorageType.php",
        "line": 165
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-save-settings/",
      "related": [
        "gk/gravityexport/save/chunk-size",
        "gk/gravityexport/save/chunked-threshold",
        "gk/gravityexport/save/filename",
        "gk/gravityexport/save/preflight-memory-check",
        "gk/gravityexport/save/should-chunk"
      ]
    },
    {
      "id": "gk-gravityexport-save-should-chunk",
      "name": "gk/gravityexport/save/should-chunk",
      "type": "filter",
      "product": "gravityexport",
      "description": "Filters whether a scheduled export should use chunked processing.",
      "parameters": [
        {
          "name": "should_chunk",
          "type": "bool",
          "description": "Whether chunking should be used."
        },
        {
          "name": "entry_count",
          "type": "int",
          "description": "Total entries matching the export criteria."
        },
        {
          "name": "threshold",
          "type": "int",
          "description": "The active threshold."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The Gravity Forms feed array."
        }
      ],
      "categories": [
        "export"
      ],
      "example": "add_filter( 'gk/gravityexport/save/should-chunk', function($should_chunk, $entry_count, $threshold, $feed) {\n    // Modify $should_chunk as needed\n    return $should_chunk;\n}, 10, 4 );",
      "since": "1.8.0",
      "source": {
        "file": "add-ons/save/src/Feature/ChunkedExportProcessor.php",
        "line": 67
      },
      "url": "/docs/gravityexport/filters/gk-gravityexport-save-should-chunk/",
      "related": [
        "gk/gravityexport/save/chunk-size",
        "gk/gravityexport/save/chunked-threshold",
        "gk/gravityexport/save/filename",
        "gk/gravityexport/save/preflight-memory-check",
        "gk/gravityexport/save/settings"
      ]
    },
    {
      "id": "gk-multiple_rows-settings-defaults",
      "name": "gk/multiple_rows/settings/defaults",
      "type": "filter",
      "product": "gravityexport",
      "description": "Filter default global settings.",
      "parameters": [
        {
          "name": "defaults",
          "type": "array",
          "description": "The default settings array."
        }
      ],
      "categories": [
        "general"
      ],
      "example": "add_filter( 'gk/multiple_rows/settings/defaults', function($defaults) {\n    // Modify $defaults as needed\n    return $defaults;\n}, 10, 1 );",
      "since": "1.1.3",
      "source": {
        "file": "add-ons/multi-row/src/Plugin.php",
        "line": 292
      },
      "url": "/docs/gravityexport/filters/gk-multiple_rows-settings-defaults/",
      "related": []
    }
  ],
  "stats": {
    "total": 37,
    "actions": 6,
    "filters": 31
  }
}