{
  "generated": "2026-06-10T18:28:04.460Z",
  "product": {
    "id": "gravityboard",
    "label": "GravityBoard",
    "repo": "GravityKit/GravityBoard",
    "version": "1.4.2",
    "actions": [
      "gk/gravityboard/ajax/register-routes",
      "gk/gravityboard/assignees/added",
      "gk/gravityboard/assignees/removed",
      "gk/gravityboard/assignees/updated",
      "gk/gravityboard/attachments/added",
      "gk/gravityboard/attachments/removed",
      "gk/gravityboard/attachments/updated",
      "gk/gravityboard/card/added",
      "gk/gravityboard/card/changed-lane",
      "gk/gravityboard/card/deleted",
      "gk/gravityboard/card/edited",
      "gk/gravityboard/card/sorted",
      "gk/gravityboard/checklists/item/added",
      "gk/gravityboard/checklists/item/deleted",
      "gk/gravityboard/checklists/item/updated",
      "gk/gravityboard/checklists/templates-applied",
      "gk/gravityboard/checklists/updated",
      "gk/gravityboard/lane/added",
      "gk/gravityboard/lane/deleted",
      "gk/gravityboard/lane/edited",
      "gk/gravityboard/lane/moved",
      "gk/gravityboard/voting/vote- . $action",
      "gravityview_clear_form_cache"
    ],
    "filters": [
      "gk/gravityboard/board-settings",
      "gk/gravityboard/card/data",
      "gk/gravityboard/card/update-card",
      "gk/gravityboard/checklists/export-value",
      "gk/gravityboard/data/lanes",
      "gk/gravityboard/lane/sorted-cards",
      "gk/gravityboard/merge-tags/assignee-user-id",
      "gk/gravityboard/notes/filter-by-board",
      "gk/gravityboard/permissions/admin-has-full-access",
      "gk/gravityboard/renderer/css-variable-overrides",
      "gk/gravityboard/translation-overrides",
      "gk/gravityboard/voting/budget-total",
      "gk/gravityboard/voting/can-spend-vote"
    ]
  },
  "hooks": [
    {
      "id": "gk-gravityboard-ajax-register-routes",
      "name": "gk/gravityboard/ajax/register-routes",
      "type": "action",
      "product": "gravityboard",
      "description": "Allow other plugins to register routes.",
      "parameters": [
        {
          "name": "this",
          "type": "\\Ajax",
          "description": "The Ajax instance."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/ajax/register-routes', function($this) {\n    // Your code here\n}, 10, 1 );",
      "since": "[1.0.0](../../since/1-0-0/)",
      "source": {
        "file": "src/Ajax.php",
        "line": 193
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-ajax-register-routes/",
      "related": []
    },
    {
      "id": "gk-gravityboard-assignees-added",
      "name": "gk/gravityboard/assignees/added",
      "type": "action",
      "product": "gravityboard",
      "description": "Fired when a user is assigned to an entry via the GravityBoard interface.",
      "parameters": [
        {
          "name": "user_id",
          "type": "int",
          "description": "The ID of the user who was assigned."
        },
        {
          "name": "entry_id",
          "type": "int",
          "description": "The ID of the entry that was updated."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed associated with the board."
        },
        {
          "name": "form",
          "type": "array",
          "description": "The form associated with the entry."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/assignees/added', function($user_id, $entry_id, $feed, $form) {\n    // Your code here\n}, 10, 4 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Assignees/Assignees.php",
        "line": 466
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-assignees-added/",
      "related": [
        "gk/gravityboard/assignees/removed",
        "gk/gravityboard/assignees/updated"
      ]
    },
    {
      "id": "gk-gravityboard-assignees-removed",
      "name": "gk/gravityboard/assignees/removed",
      "type": "action",
      "product": "gravityboard",
      "description": "Fired when a user is unassigned from an entry via the GravityBoard interface.",
      "parameters": [
        {
          "name": "user_id",
          "type": "int",
          "description": "The ID of the user who was unassigned."
        },
        {
          "name": "entry_id",
          "type": "int",
          "description": "The ID of the entry that was updated."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed associated with the board."
        },
        {
          "name": "form",
          "type": "array",
          "description": "The form associated with the entry."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/assignees/removed', function($user_id, $entry_id, $feed, $form) {\n    // Your code here\n}, 10, 4 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Assignees/Assignees.php",
        "line": 480
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-assignees-removed/",
      "related": [
        "gk/gravityboard/assignees/added",
        "gk/gravityboard/assignees/updated"
      ]
    },
    {
      "id": "gk-gravityboard-assignees-updated",
      "name": "gk/gravityboard/assignees/updated",
      "type": "action",
      "product": "gravityboard",
      "description": "Fired after entry assignees are successfully updated.",
      "parameters": [
        {
          "name": "entry_id",
          "type": "int",
          "description": "The ID of the entry that was updated."
        },
        {
          "name": "assignees",
          "type": "array",
          "description": "The assignees for the entry."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed associated with the board."
        },
        {
          "name": "form",
          "type": "array",
          "description": "The form associated with the entry."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/assignees/updated', function($entry_id, $assignees, $feed, $form) {\n    // Your code here\n}, 10, 4 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Assignees/Assignees.php",
        "line": 493
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-assignees-updated/",
      "related": [
        "gk/gravityboard/assignees/added",
        "gk/gravityboard/assignees/removed"
      ]
    },
    {
      "id": "gk-gravityboard-attachments-added",
      "name": "gk/gravityboard/attachments/added",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when attachments have been added, before the notification is triggered.",
      "parameters": [
        {
          "name": "attachments",
          "type": "array",
          "description": "The attachments array."
        },
        {
          "name": "entry",
          "type": "array",
          "description": "The entry array."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed array."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/attachments/added', function($attachments, $entry, $feed) {\n    // Your code here\n}, 10, 3 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Attachments/Attachments.php",
        "line": 604
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-attachments-added/",
      "related": [
        "gk/gravityboard/attachments/removed",
        "gk/gravityboard/attachments/updated"
      ]
    },
    {
      "id": "gk-gravityboard-attachments-removed",
      "name": "gk/gravityboard/attachments/removed",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when attachments have been removed, before the notification is triggered.",
      "parameters": [
        {
          "name": "updated_attachments",
          "type": "array",
          "description": "The updated attachments array."
        },
        {
          "name": "entry",
          "type": "array",
          "description": "The entry array."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed array."
        },
        {
          "name": "attachment_id_to_delete",
          "type": "string",
          "description": "The ID of the attachment that was deleted."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/attachments/removed', function($updated_attachments, $entry, $feed, $attachment_id_to_delete) {\n    // Your code here\n}, 10, 4 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Attachments/Attachments.php",
        "line": 712
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-attachments-removed/",
      "related": [
        "gk/gravityboard/attachments/added",
        "gk/gravityboard/attachments/updated"
      ]
    },
    {
      "id": "gk-gravityboard-attachments-updated",
      "name": "gk/gravityboard/attachments/updated",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when attachments have been updated, before the notification is triggered.",
      "parameters": [
        {
          "name": "sanitized_attachments",
          "type": "array",
          "description": "The sanitized attachments array."
        },
        {
          "name": "entry",
          "type": "array",
          "description": "The entry array."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed array."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/attachments/updated', function($sanitized_attachments, $entry, $feed) {\n    // Your code here\n}, 10, 3 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Attachments/Attachments.php",
        "line": 513
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-attachments-updated/",
      "related": [
        "gk/gravityboard/attachments/added",
        "gk/gravityboard/attachments/removed"
      ]
    },
    {
      "id": "gk-gravityboard-card-added",
      "name": "gk/gravityboard/card/added",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when a card (entry) has been created, before the notification is triggered.",
      "parameters": [
        {
          "name": "created_entry",
          "type": "array",
          "description": "The created entry data."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        },
        {
          "name": "request",
          "type": "[\\WP_REST_Request](https://developer.wordpress.org/reference/classes/wp_rest_request/)",
          "description": "The REST request object."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/card/added', function($created_entry, $feed, $request) {\n    // Your code here\n}, 10, 3 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Ajax.php",
        "line": 415
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-card-added/",
      "related": [
        "gk/gravityboard/card/changed-lane",
        "gk/gravityboard/card/deleted",
        "gk/gravityboard/card/edited",
        "gk/gravityboard/card/sorted",
        "gk/gravityboard/card/data"
      ]
    },
    {
      "id": "gk-gravityboard-card-changed-lane",
      "name": "gk/gravityboard/card/changed-lane",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when a card (entry) has been moved to a new lane, before the notification is triggered.",
      "parameters": [
        {
          "name": "updated_entry",
          "type": "array",
          "description": "The updated entry data."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        },
        {
          "name": "source_lane_id",
          "type": "int",
          "description": "The ID of the source lane."
        },
        {
          "name": "target_lane_id",
          "type": "int",
          "description": "The ID of the target lane."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/card/changed-lane', function($updated_entry, $feed, $source_lane_id, $target_lane_id) {\n    // Your code here\n}, 10, 4 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Ajax.php",
        "line": 584
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-card-changed-lane/",
      "related": [
        "gk/gravityboard/card/added",
        "gk/gravityboard/card/deleted",
        "gk/gravityboard/card/edited",
        "gk/gravityboard/card/sorted",
        "gk/gravityboard/card/data"
      ]
    },
    {
      "id": "gk-gravityboard-card-deleted",
      "name": "gk/gravityboard/card/deleted",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when a card (entry) has been trashed or deleted, before the notification is triggered.",
      "parameters": [
        {
          "name": "entry",
          "type": "array",
          "description": "The entry data."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        },
        {
          "name": "deletion_mode",
          "type": "string",
          "description": "The deletion mode (\"trash\" or \"delete\")."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/card/deleted', function($entry, $feed, $deletion_mode) {\n    // Your code here\n}, 10, 3 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Ajax.php",
        "line": 665
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-card-deleted/",
      "related": [
        "gk/gravityboard/card/added",
        "gk/gravityboard/card/changed-lane",
        "gk/gravityboard/card/edited",
        "gk/gravityboard/card/sorted",
        "gk/gravityboard/card/data"
      ]
    },
    {
      "id": "gk-gravityboard-card-edited",
      "name": "gk/gravityboard/card/edited",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when a card (entry) has been updated, before the notification is triggered.",
      "parameters": [
        {
          "name": "updated_entry",
          "type": "array",
          "description": "The updated entry data."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        },
        {
          "name": "changes",
          "type": "array",
          "description": "The changes to the card, each element is a string of the field or meta key that was updated."
        }
      ],
      "categories": [
        "editing",
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/card/edited', function($updated_entry, $feed, $changes) {\n    // Your code here\n}, 10, 3 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Ajax.php",
        "line": 499
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-card-edited/",
      "related": [
        "gk/gravityboard/card/added",
        "gk/gravityboard/card/changed-lane",
        "gk/gravityboard/card/deleted",
        "gk/gravityboard/card/sorted",
        "gk/gravityboard/card/data"
      ]
    },
    {
      "id": "gk-gravityboard-card-sorted",
      "name": "gk/gravityboard/card/sorted",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when a card (entry) has been sorted, before the notification is triggered.",
      "parameters": [
        {
          "name": "updated_entry",
          "type": "array",
          "description": "The updated entry data."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        },
        {
          "name": "source_lane_id",
          "type": "int",
          "description": "The ID of the lane with cards that were sorted."
        },
        {
          "name": "ordered_ids",
          "type": "array",
          "description": "The ordered card IDs."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/card/sorted', function($updated_entry, $feed, $source_lane_id, $ordered_ids) {\n    // Your code here\n}, 10, 4 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Ajax.php",
        "line": 603
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-card-sorted/",
      "related": [
        "gk/gravityboard/card/added",
        "gk/gravityboard/card/changed-lane",
        "gk/gravityboard/card/deleted",
        "gk/gravityboard/card/edited",
        "gk/gravityboard/card/data"
      ]
    },
    {
      "id": "gk-gravityboard-checklists-item-added",
      "name": "gk/gravityboard/checklists/item/added",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when a checklist item has been added.",
      "parameters": [
        {
          "name": "entry",
          "type": "array\\",
          "description": "\\WP_Error`"
        },
        {
          "name": "new_item",
          "type": "\\ChecklistItem",
          "description": "The new checklist item."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/checklists/item/added', function($entry, $new_item, $feed) {\n    // Your code here\n}, 10, 3 );",
      "since": "[1.1](../../since/1-1/)",
      "source": {
        "file": "src/Checklists/Checklists.php",
        "line": 773
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-checklists-item-added/",
      "related": [
        "gk/gravityboard/checklists/item/deleted",
        "gk/gravityboard/checklists/item/updated"
      ]
    },
    {
      "id": "gk-gravityboard-checklists-item-deleted",
      "name": "gk/gravityboard/checklists/item/deleted",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when a checklist item has been deleted.",
      "parameters": [
        {
          "name": "entry",
          "type": "array\\",
          "description": "\\WP_Error`"
        },
        {
          "name": "item",
          "type": "\\ChecklistItem",
          "description": "The deleted checklist item."
        },
        {
          "name": "checklists",
          "type": "\\ChecklistCollection",
          "description": "The updated checklists data."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/checklists/item/deleted', function($entry, $item, $checklists, $feed) {\n    // Your code here\n}, 10, 4 );",
      "since": "[1.1](../../since/1-1/)",
      "source": {
        "file": "src/Checklists/Checklists.php",
        "line": 899
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-checklists-item-deleted/",
      "related": [
        "gk/gravityboard/checklists/item/added",
        "gk/gravityboard/checklists/item/updated"
      ]
    },
    {
      "id": "gk-gravityboard-checklists-item-updated",
      "name": "gk/gravityboard/checklists/item/updated",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when a checklist item has been updated.",
      "parameters": [
        {
          "name": "entry",
          "type": "array\\",
          "description": "\\WP_Error`"
        },
        {
          "name": "item",
          "type": "\\ChecklistItem",
          "description": "The checklist item."
        },
        {
          "name": "collection",
          "type": "\\ChecklistCollection",
          "description": "The updated checklists collection."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/checklists/item/updated', function($entry, $item, $collection, $feed) {\n    // Your code here\n}, 10, 4 );",
      "since": "[1.1](../../since/1-1/)",
      "source": {
        "file": "src/Checklists/Checklists.php",
        "line": 838
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-checklists-item-updated/",
      "related": [
        "gk/gravityboard/checklists/item/added",
        "gk/gravityboard/checklists/item/deleted"
      ]
    },
    {
      "id": "gk-gravityboard-checklists-templates-applied",
      "name": "gk/gravityboard/checklists/templates-applied",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when checklist templates have been applied to an entry.",
      "parameters": [
        {
          "name": "merged_collection",
          "type": "\\ChecklistCollection",
          "description": "The merged template collection that was applied."
        },
        {
          "name": "entry",
          "type": "array",
          "description": "The created entry data."
        },
        {
          "name": "applied_feed_ids",
          "type": "array",
          "description": "Array of feed IDs that were applied."
        },
        {
          "name": "form",
          "type": "array",
          "description": "The form data."
        },
        {
          "name": "items_added",
          "type": "int",
          "description": "Number of items added from templates."
        }
      ],
      "categories": [
        "rendering",
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/checklists/templates-applied', function($merged_collection, $entry, $applied_feed_ids, $form, $items_added) {\n    // Your code here\n}, 10, 5 );",
      "since": "TODO: TODO",
      "source": {
        "file": "src/Checklists/Checklists.php",
        "line": 1238
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-checklists-templates-applied/",
      "related": [
        "gk/gravityboard/checklists/updated",
        "gk/gravityboard/checklists/export-value"
      ]
    },
    {
      "id": "gk-gravityboard-checklists-updated",
      "name": "gk/gravityboard/checklists/updated",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when checklists have been updated.",
      "parameters": [
        {
          "name": "checklists",
          "type": "\\ChecklistCollection",
          "description": "The checklist collection."
        },
        {
          "name": "entry",
          "type": "array",
          "description": "The entry array."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed array."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/checklists/updated', function($checklists, $entry, $feed) {\n    // Your code here\n}, 10, 3 );",
      "since": "[1.1](../../since/1-1/)",
      "source": {
        "file": "src/Checklists/Checklists.php",
        "line": 709
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-checklists-updated/",
      "related": [
        "gk/gravityboard/checklists/templates-applied",
        "gk/gravityboard/checklists/export-value"
      ]
    },
    {
      "id": "gk-gravityboard-lane-added",
      "name": "gk/gravityboard/lane/added",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when a lane has been added.",
      "parameters": [
        {
          "name": "new_lane_id",
          "type": "int",
          "description": "The ID of the new lane."
        },
        {
          "name": "new_lane_choice",
          "type": "array",
          "description": "The new lane choice."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/lane/added', function($new_lane_id, $new_lane_choice, $feed) {\n    // Your code here\n}, 10, 3 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Lane.php",
        "line": 441
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-lane-added/",
      "related": [
        "gk/gravityboard/lane/deleted",
        "gk/gravityboard/lane/edited",
        "gk/gravityboard/lane/moved",
        "gk/gravityboard/lane/sorted-cards"
      ]
    },
    {
      "id": "gk-gravityboard-lane-deleted",
      "name": "gk/gravityboard/lane/deleted",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when a lane has been deleted.",
      "parameters": [
        {
          "name": "form",
          "type": "array",
          "description": "The form data."
        },
        {
          "name": "lane_field_id",
          "type": "int",
          "description": "The ID of the lane field."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        },
        {
          "name": "lane_id",
          "type": "int",
          "description": "The ID of the lane that was deleted."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/lane/deleted', function($form, $lane_field_id, $feed, $lane_id) {\n    // Your code here\n}, 10, 4 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Lane.php",
        "line": 556
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-lane-deleted/",
      "related": [
        "gk/gravityboard/lane/added",
        "gk/gravityboard/lane/edited",
        "gk/gravityboard/lane/moved",
        "gk/gravityboard/lane/sorted-cards"
      ]
    },
    {
      "id": "gk-gravityboard-lane-edited",
      "name": "gk/gravityboard/lane/edited",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when a lane has been edited.",
      "parameters": [
        {
          "name": "form",
          "type": "array",
          "description": "The form data."
        },
        {
          "name": "lane_field_id",
          "type": "int",
          "description": "The ID of the lane field."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        }
      ],
      "categories": [
        "editing",
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/lane/edited', function($form, $lane_field_id, $feed) {\n    // Your code here\n}, 10, 3 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Lane.php",
        "line": 499
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-lane-edited/",
      "related": [
        "gk/gravityboard/lane/added",
        "gk/gravityboard/lane/deleted",
        "gk/gravityboard/lane/moved",
        "gk/gravityboard/lane/sorted-cards"
      ]
    },
    {
      "id": "gk-gravityboard-lane-moved",
      "name": "gk/gravityboard/lane/moved",
      "type": "action",
      "product": "gravityboard",
      "description": "Runs when a lane has been moved.",
      "parameters": [
        {
          "name": "form",
          "type": "array",
          "description": "The form data."
        },
        {
          "name": "lane_field_id",
          "type": "int",
          "description": "The ID of the lane field."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        },
        {
          "name": "new_position",
          "type": "int",
          "description": "The new position of the lane."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/lane/moved', function($form, $lane_field_id, $feed, $new_position) {\n    // Your code here\n}, 10, 4 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Lane.php",
        "line": 599
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-lane-moved/",
      "related": [
        "gk/gravityboard/lane/added",
        "gk/gravityboard/lane/deleted",
        "gk/gravityboard/lane/edited",
        "gk/gravityboard/lane/sorted-cards"
      ]
    },
    {
      "id": "gk-gravityboard-voting-vote-.action",
      "name": "gk/gravityboard/voting/vote- . $action",
      "type": "action",
      "product": "gravityboard",
      "description": "This action is documented below.",
      "parameters": [],
      "categories": [
        "kanban"
      ],
      "example": "add_action( 'gk/gravityboard/voting/vote- . $action', function() {\n    // Your code here\n} );",
      "since": null,
      "source": {
        "file": "src/Voting/VoteRepository.php",
        "line": 88
      },
      "url": "/docs/gravityboard/actions/gk-gravityboard-voting-vote-.action/",
      "related": [
        "gk/gravityboard/voting/budget-total",
        "gk/gravityboard/voting/can-spend-vote"
      ]
    },
    {
      "id": "gravityview_clear_form_cache",
      "name": "gravityview_clear_form_cache",
      "type": "action",
      "product": "gravityboard",
      "description": "Fires the GravityView cache blocklist action for this form so any active View caches are invalidated before the next page load.",
      "parameters": [],
      "categories": [
        "views",
        "forms",
        "caching"
      ],
      "example": "add_action( 'gravityview_clear_form_cache', function() {\n    // Your code here\n} );",
      "since": null,
      "source": {
        "file": "src/Voting/Voting.php",
        "line": 296
      },
      "url": "/docs/gravityboard/actions/gravityview_clear_form_cache/",
      "related": []
    },
    {
      "id": "gk-gravityboard-board-settings",
      "name": "gk/gravityboard/board-settings",
      "type": "filter",
      "product": "gravityboard",
      "description": "Filter the board settings.",
      "parameters": [
        {
          "name": "board_settings",
          "type": "array",
          "description": "The board settings."
        },
        {
          "name": "feed_id",
          "type": "int",
          "description": "The ID of the feed."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_filter( 'gk/gravityboard/board-settings', function($board_settings, $feed_id) {\n    // Modify $board_settings as needed\n    return $board_settings;\n}, 10, 2 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Feed.php",
        "line": 1671
      },
      "url": "/docs/gravityboard/filters/gk-gravityboard-board-settings/",
      "related": [
        "gk/gravityboard/translation-overrides"
      ]
    },
    {
      "id": "gk-gravityboard-card-data",
      "name": "gk/gravityboard/card/data",
      "type": "filter",
      "product": "gravityboard",
      "description": "Filter the card data returned from the entry.",
      "parameters": [
        {
          "name": "card",
          "type": "array",
          "description": "The card data."
        },
        {
          "name": "entry",
          "type": "array",
          "description": "The entry data."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_filter( 'gk/gravityboard/card/data', function($card, $entry, $feed) {\n    // Modify $card as needed\n    return $card;\n}, 10, 3 );",
      "since": "[1.1](../../since/1-1/)",
      "source": {
        "file": "src/Card.php",
        "line": 500
      },
      "url": "/docs/gravityboard/filters/gk-gravityboard-card-data/",
      "related": [
        "gk/gravityboard/card/added",
        "gk/gravityboard/card/changed-lane",
        "gk/gravityboard/card/deleted",
        "gk/gravityboard/card/edited",
        "gk/gravityboard/card/sorted"
      ]
    },
    {
      "id": "gk-gravityboard-card-update-card",
      "name": "gk/gravityboard/card/update-card",
      "type": "filter",
      "product": "gravityboard",
      "description": "Allow plugins to add additional changes to the card.",
      "parameters": [
        {
          "name": "changes",
          "type": "array",
          "description": "The changes to the card, each element is a string of the field or meta key that was updated."
        },
        {
          "name": "request",
          "type": "[\\WP_REST_Request](https://developer.wordpress.org/reference/classes/wp_rest_request/)",
          "description": "The REST request object."
        },
        {
          "name": "entry",
          "type": "array",
          "description": "The entry data."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_filter( 'gk/gravityboard/card/update-card', function($changes, $request, $entry, $feed) {\n    // Modify $changes as needed\n    return $changes;\n}, 10, 4 );",
      "since": null,
      "source": {
        "file": "src/Ajax.php",
        "line": 468
      },
      "url": "/docs/gravityboard/filters/gk-gravityboard-card-update-card/",
      "related": [
        "gk/gravityboard/card/added",
        "gk/gravityboard/card/changed-lane",
        "gk/gravityboard/card/deleted",
        "gk/gravityboard/card/edited",
        "gk/gravityboard/card/sorted"
      ]
    },
    {
      "id": "gk-gravityboard-checklists-export-value",
      "name": "gk/gravityboard/checklists/export-value",
      "type": "filter",
      "product": "gravityboard",
      "description": "Filters the export text for checklists.",
      "parameters": [
        {
          "name": "export_text",
          "type": "string",
          "description": "The export text, which is a string of checklist items and their statuses."
        },
        {
          "name": "checklists",
          "type": "\\ChecklistCollection",
          "description": "The checklists collection."
        }
      ],
      "categories": [
        "export",
        "kanban"
      ],
      "example": "add_filter( 'gk/gravityboard/checklists/export-value', function($export_text, $checklists) {\n    // Modify $export_text as needed\n    return $export_text;\n}, 10, 2 );",
      "since": "[1.1](../../since/1-1/)",
      "source": {
        "file": "src/Checklists/Checklists.php",
        "line": 267
      },
      "url": "/docs/gravityboard/filters/gk-gravityboard-checklists-export-value/",
      "related": [
        "gk/gravityboard/checklists/templates-applied",
        "gk/gravityboard/checklists/updated"
      ]
    },
    {
      "id": "gk-gravityboard-data-lanes",
      "name": "gk/gravityboard/data/lanes",
      "type": "filter",
      "product": "gravityboard",
      "description": "Filter lanes data before returning.",
      "parameters": [
        {
          "name": "lanes",
          "type": "array",
          "description": "The lanes data."
        },
        {
          "name": "entries",
          "type": "array",
          "description": "The entries data."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_filter( 'gk/gravityboard/data/lanes', function($lanes, $entries, $feed) {\n    // Modify $lanes as needed\n    return $lanes;\n}, 10, 3 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Ajax.php",
        "line": 373
      },
      "url": "/docs/gravityboard/filters/gk-gravityboard-data-lanes/",
      "related": []
    },
    {
      "id": "gk-gravityboard-lane-sorted-cards",
      "name": "gk/gravityboard/lane/sorted-cards",
      "type": "filter",
      "product": "gravityboard",
      "description": "Filter the sorted cards within a lane.",
      "parameters": [
        {
          "name": "cards",
          "type": "array",
          "description": "The sorted cards."
        },
        {
          "name": "lane",
          "type": "array",
          "description": "The lane data."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed data."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_filter( 'gk/gravityboard/lane/sorted-cards', function($cards, $lane, $feed) {\n    // Modify $cards as needed\n    return $cards;\n}, 10, 3 );",
      "since": "[1.4.0](../../since/1-4-0/)",
      "source": {
        "file": "src/Ajax.php",
        "line": 356
      },
      "url": "/docs/gravityboard/filters/gk-gravityboard-lane-sorted-cards/",
      "related": [
        "gk/gravityboard/lane/added",
        "gk/gravityboard/lane/deleted",
        "gk/gravityboard/lane/edited",
        "gk/gravityboard/lane/moved"
      ]
    },
    {
      "id": "gk-gravityboard-merge-tags-assignee-user-id",
      "name": "gk/gravityboard/merge-tags/assignee-user-id",
      "type": "filter",
      "product": "gravityboard",
      "description": "Filter the assignee user.",
      "parameters": [
        {
          "name": "assignee_user_id",
          "type": "int\\",
          "description": "null`"
        },
        {
          "name": "entry",
          "type": "array",
          "description": "The entry object."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_filter( 'gk/gravityboard/merge-tags/assignee-user-id', function($assignee_user_id, $entry) {\n    // Modify $assignee_user_id as needed\n    return $assignee_user_id;\n}, 10, 2 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Assignees/MergeTags.php",
        "line": 155
      },
      "url": "/docs/gravityboard/filters/gk-gravityboard-merge-tags-assignee-user-id/",
      "related": []
    },
    {
      "id": "gk-gravityboard-notes-filter-by-board",
      "name": "gk/gravityboard/notes/filter-by-board",
      "type": "filter",
      "product": "gravityboard",
      "description": "Filter whether to filter notes by feed.",
      "parameters": [
        {
          "name": "filter_notes_by_feed",
          "type": "bool",
          "description": "Whether to filter notes by feed."
        },
        {
          "name": "feed_id",
          "type": "int",
          "description": "The feed ID."
        }
      ],
      "categories": [
        "search",
        "kanban"
      ],
      "example": "add_filter( 'gk/gravityboard/notes/filter-by-board', function($filter_notes_by_feed, $feed_id) {\n    // Modify $filter_notes_by_feed as needed\n    return $filter_notes_by_feed;\n}, 10, 2 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Notes/Notes.php",
        "line": 553
      },
      "url": "/docs/gravityboard/filters/gk-gravityboard-notes-filter-by-board/",
      "related": []
    },
    {
      "id": "gk-gravityboard-permissions-admin-has-full-access",
      "name": "gk/gravityboard/permissions/admin-has-full-access",
      "type": "filter",
      "product": "gravityboard",
      "description": "Filters whether an admin user bypasses all board permission checks.",
      "parameters": [
        {
          "name": "has_full_access",
          "type": "bool",
          "description": "Whether the user has full access. Default: true for admins."
        },
        {
          "name": "user_id",
          "type": "int",
          "description": "The user ID being checked."
        }
      ],
      "categories": [
        "kanban",
        "permissions",
        "admin"
      ],
      "example": "add_filter( 'gk/gravityboard/permissions/admin-has-full-access', function($has_full_access, $user_id) {\n    // Modify $has_full_access as needed\n    return $has_full_access;\n}, 10, 2 );",
      "since": "[1.4.0](../../since/1-4-0/)",
      "source": {
        "file": "src/Helpers.php",
        "line": 146
      },
      "url": "/docs/gravityboard/filters/gk-gravityboard-permissions-admin-has-full-access/",
      "related": []
    },
    {
      "id": "gk-gravityboard-renderer-css-variable-overrides",
      "name": "gk/gravityboard/renderer/css-variable-overrides",
      "type": "filter",
      "product": "gravityboard",
      "description": "Filters the global overrides for the GravityBoard.",
      "parameters": [
        {
          "name": "css_overrides",
          "type": "array",
          "description": "The global overrides, with the key as the full CSS variable name and the value as the CSS value."
        },
        {
          "name": "feed",
          "type": "array",
          "description": "The feed."
        }
      ],
      "categories": [
        "rendering",
        "kanban",
        "assets"
      ],
      "example": "add_filter( 'gk/gravityboard/renderer/css-variable-overrides', function($css_overrides, $feed) {\n    // Modify $css_overrides as needed\n    return $css_overrides;\n}, 10, 2 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Renderer.php",
        "line": 323
      },
      "url": "/docs/gravityboard/filters/gk-gravityboard-renderer-css-variable-overrides/",
      "related": []
    },
    {
      "id": "gk-gravityboard-translation-overrides",
      "name": "gk/gravityboard/translation-overrides",
      "type": "filter",
      "product": "gravityboard",
      "description": "Filters the translation overrides for the GravityBoard.",
      "parameters": [
        {
          "name": "translation_overrides",
          "type": "array",
          "description": "The translation overrides."
        },
        {
          "name": "feed_id",
          "type": "int",
          "description": "The ID of the feed."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_filter( 'gk/gravityboard/translation-overrides', function($translation_overrides, $feed_id) {\n    // Modify $translation_overrides as needed\n    return $translation_overrides;\n}, 10, 2 );",
      "since": "[1.0](../../since/1-0/)",
      "source": {
        "file": "src/Renderer.php",
        "line": 234
      },
      "url": "/docs/gravityboard/filters/gk-gravityboard-translation-overrides/",
      "related": [
        "gk/gravityboard/board-settings"
      ]
    },
    {
      "id": "gk-gravityboard-voting-budget-total",
      "name": "gk/gravityboard/voting/budget-total",
      "type": "filter",
      "product": "gravityboard",
      "description": "Filters the total vote budget for a user.",
      "parameters": [
        {
          "name": "total",
          "type": "int",
          "description": "The total budget (0 = unlimited)."
        },
        {
          "name": "feed_id",
          "type": "int",
          "description": "The feed ID."
        },
        {
          "name": "user_id",
          "type": "int",
          "description": "The user ID."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_filter( 'gk/gravityboard/voting/budget-total', function($total, $feed_id, $user_id) {\n    // Modify $total as needed\n    return $total;\n}, 10, 3 );",
      "since": "[1.4.0](../../since/1-4-0/)",
      "source": {
        "file": "src/Voting/VoteBudget.php",
        "line": 247
      },
      "url": "/docs/gravityboard/filters/gk-gravityboard-voting-budget-total/",
      "related": [
        "gk/gravityboard/voting/vote- . $action",
        "gk/gravityboard/voting/can-spend-vote"
      ]
    },
    {
      "id": "gk-gravityboard-voting-can-spend-vote",
      "name": "gk/gravityboard/voting/can-spend-vote",
      "type": "filter",
      "product": "gravityboard",
      "description": "Filters whether a user can spend a vote.",
      "parameters": [
        {
          "name": "allowed",
          "type": "true",
          "description": "Whether the vote is allowed."
        },
        {
          "name": "feed_id",
          "type": "int",
          "description": "The feed ID."
        },
        {
          "name": "user_id",
          "type": "int",
          "description": "The user ID."
        },
        {
          "name": "entry_id",
          "type": "int",
          "description": "The entry (card) ID."
        },
        {
          "name": "budget",
          "type": "array",
          "description": "Budget info from get_budget()."
        }
      ],
      "categories": [
        "kanban"
      ],
      "example": "add_filter( 'gk/gravityboard/voting/can-spend-vote', function($allowed, $feed_id, $user_id, $entry_id, $budget) {\n    // Modify $allowed as needed\n    return $allowed;\n}, 10, 5 );",
      "since": "[1.4.0](../../since/1-4-0/)",
      "source": {
        "file": "src/Voting/VoteBudget.php",
        "line": 146
      },
      "url": "/docs/gravityboard/filters/gk-gravityboard-voting-can-spend-vote/",
      "related": [
        "gk/gravityboard/voting/vote- . $action",
        "gk/gravityboard/voting/budget-total"
      ]
    }
  ],
  "stats": {
    "total": 36,
    "actions": 23,
    "filters": 13
  }
}