Skip to content

REST API ​

Intercessor exposes a REST API under:

text
/wp-json/intercessor/v1/

Endpoints ​

MethodEndpointAccess
GET/requestsPublic; non-moderators receive approved public requests
GET/requests/{id}Public only for public requests
POST/requestsSubmission permission checks apply
POST/requests/{id}/statusedit_prayers
GET/requestersedit_prayers
GET/requests/{id}/historyPublic for exposed request history
GET/requests/{id}/notesedit_prayers
POST/requests/{id}/notesedit_prayers
DELETE/requests/{id}/notes/{nid}edit_prayers

Listing requests ​

GET /requests accepts:

  • per_page — default 10, minimum 1, maximum 100.
  • page — default 1.
  • status — default approved.

Non-moderators are forced to Approved status, and private requests are never exposed publicly.

Creating requests ​

POST /requests delegates to the same submission pipeline used by the front-end form. This means rate limiting, duplicate prevention, profanity filtering, requester creation, storage, and configured notifications remain consistent across submission methods.

Moderation ​

Status changes use POST /requests/{id}/status and require the edit_prayers capability.

Notes ​

Request notes can be listed, created, and deleted by users with edit_prayers. New notes include content and an is_private flag, which defaults to true.

WARNING

Do not assume that a public GET endpoint exposes all stored fields. The REST implementation explicitly protects non-public and private requests from unauthorized callers.

Intercessor — Prayer Request Management for WordPress