Guide

Block Forms Abilities

@prc/block-forms registers Jetpack Forms–shaped WordPress Abilities under prc-block-forms/* for VIP MCP and other Abilities consumers. Category: forms.

Jetpack’s jetpack-forms/* abilities are unregistered (and kept off REST/MCP) so agents use this surface. Extend the disabled slug list with prc_block_forms_disabled_jetpack_abilities.

Ability index

AbilityPermissionSide effects
prc-block-forms/list-formsedit_postsRead-only
prc-block-forms/get-formedit_post for the form (or edit_posts)Read-only; forwardTo redacted
prc-block-forms/create-formedit_postsCreates a form CPT
prc-block-forms/delete-formdelete_post for the formTrashes form (not permanent)
prc-block-forms/get-responsesprc_form_responses_capability (default manage_options)Read-only
prc-block-forms/update-responseresponses capSpam/inbox, unread, or permanent delete (trash)
prc-block-forms/bulk-update-responsesresponses capBulk spam / read / unread
prc-block-forms/get-status-countsresponses capRead-only

All listed abilities set show_in_rest: true and MCP public tool meta.

Sources: includes/abilities/class-form-abilities.php, includes/abilities/class-form-response-abilities.php

Form abilities

prc-block-forms/list-forms

Lists form CPT posts with response counts, status, and edit URLs.

Reference

Input

Typed options, defaults, and constraints in one scannable reference.
5 fields
page number
Page number.
per_page number
Forms per page (1–100).
search string
Search by title.
status enum
Filter by status.
site_id number
Optional multisite blog ID.

prc-block-forms/get-form

Returns form metadata, parsed form-input-* fields, folder counts, and redacted block content. Sensitive actionConfig values such as forwardTo are presence-only.

Reference

Input

Typed options, defaults, and constraints in one scannable reference.
2 fields
id number required
Form CPT ID.
site_id number
Optional multisite blog ID.

prc-block-forms/create-form

Creates a form. Prefer status=draft unless the user asked to publish. Empty content yields a minimal shell with a submit button.

Reference

Input

Typed options, defaults, and constraints in one scannable reference.
4 fields
title string required
Form title.
content string
Serialized block markup.
status enum
Initial status. Downgraded to draft without publish_posts.
site_id number
Optional multisite blog ID.

prc-block-forms/delete-form

Moves a form to the trash. Does not permanently delete.

Reference

Input

Typed options, defaults, and constraints in one scannable reference.
2 fields
id number required
Form CPT ID.
site_id number
Optional multisite blog ID.

Response abilities

prc-block-forms/get-responses

List or fetch responses. Folder semantics: publish / inbox for inbox, spam for spam. trash returns an empty list with a note — PRC hard-deletes; there is no soft-trash folder.

Reference

Input

Typed options, defaults, and constraints in one scannable reference.
11 fields
ids array
Fetch specific response IDs.
page number
Page number.
per_page number
Page size (1–100).
form_id number
Filter by form CPT ID.
parent array
Source post ID(s) where the form was embedded.
status enum
Folder filter.
is_unread boolean
Unread-only or read-only when set.
search string
Search content and sender.
before date
ISO8601 upper bound.
after date
ISO8601 lower bound.
site_id number
Optional multisite blog ID.

prc-block-forms/update-response

Mark spam/inbox, toggle unread, or permanently delete with status=trash.

Reference

Input

Typed options, defaults, and constraints in one scannable reference.
4 fields
id number required
Response ID.
status enum
publish/inbox restores; spam folders; trash hard-deletes.
is_unread boolean
Read/unread toggle.
site_id number
Optional multisite blog ID.

prc-block-forms/bulk-update-responses

Reference

Input

Typed options, defaults, and constraints in one scannable reference.
3 fields
action enum required
Bulk action.
ids array required
Response IDs.
site_id number
Optional multisite blog ID.

prc-block-forms/get-status-counts

Returns { inbox, spam, unread } (non-spam unread). No trash folder count.

Was this helpful?