Skip to content

RFC 115: Write API#115

Open
thibaudcolas wants to merge 4 commits into
wagtail:mainfrom
thibaudcolas:115-write-api
Open

RFC 115: Write API#115
thibaudcolas wants to merge 4 commits into
wagtail:mainfrom
thibaudcolas:115-write-api

Conversation

@thibaudcolas
Copy link
Copy Markdown
Member

@thibaudcolas thibaudcolas commented May 15, 2026

Rough draft of a new RFC. View as HTML. Feedback welcome! (see below). Pending approval by the core team, we’re tentatively planning to work on this with an initial version of the API shipping in Wagtail 8.0 in August 2026.

This RFC proposes a new official CMS API that supports programmatic creation and modification of Wagtail-managed content, including pages, snippets, revisions, and editorial workflow state transitions.
The goal is to support integrations, automation, structured content workflows, and AI-assisted tooling while preserving Wagtail’s editorial governance, permissions, accessibility, and auditability guarantees. This is based on the existing wagtail-write-api, in addition to prior work like Revisions admin API RFC 15.


This is a large RFC which has more design decisions left "TBC" than we normally would. Some of those TBCs will need resolving as part of the RFC writing / before formal review. Some will probably be left TBC until implementation starts.

Key TBC design decisions

Mandatory as part of the RFC:

  • API framework: DRF vs. Django Ninja
  • CLI client: as a core feature part of the core package vs. separate package
  • QA approach for the new API capabilities
  • RFC 102 permissions registry: go / no-go

Could wait a bit more:

  • Response format and HTTP status codes for validation issues at multiple layers (schema, model, blocks, permissions, workflows)
  • Models’ API fields opt-in / opt-out for authenticated reads and writes
  • API tokens management: how / how much integrated in Wagtail do we want it to be

Feedback welcome

For people wanting to review and feedback or suggest changes on specific RFC text, for the next 3-5 days I’d recommend people interested in this leave review comments in the Google Docs version. We’ll move inline review comments to the GitHub PR once we’ve been through a few more drafts.

For people wanting to leave general feedback or comments not specific to the exact RFC wording, go ahead here! We’d love to hear about use cases for this in particular: what kinds of clients you’d want to see and how you’d use them.

@thibaudcolas thibaudcolas moved this to 🔍 Reviewing in Wagtail 8.0 release planning May 15, 2026
@thibaudcolas thibaudcolas added the 2:Accepted The core team has accepted the RFC for further review label May 15, 2026
@andreasnuesslein
Copy link
Copy Markdown

andreasnuesslein commented May 16, 2026

hi @thibaudcolas, so I know ninja is more well known but I have been looking into django-bolt. IF it was actually used my something as large as Wagtail, it would hopefully thrive. What I will say: I did develop this https://github.com/sinnwerkstatt/wagtail-ninja and I have a bunch of thoughts; if you're interested maybe we'll videocall about it?

@thibaudcolas
Copy link
Copy Markdown
Member Author

thibaudcolas commented May 19, 2026

@andreasnuesslein I’d love to chat! will DM you on Slack. I’d love to do a "Wagtail on django-bolt" prototype. I expect it’s not going to score well with our criteria (compatibility is paramount, speed not so much). But it’d be a good stress-test of how well our implementation is layered.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2:Accepted The core team has accepted the RFC for further review

Projects

Status: 🔍 Reviewing

Development

Successfully merging this pull request may close these issues.

3 participants