Skip to content

07: Reduce the API section to REST - #3386

Merged
mnocon merged 1 commit into
saas-batch-3from
saas-t07-api-rest
Sep 7, 2026
Merged

07: Reduce the API section to REST#3386
mnocon merged 1 commit into
saas-batch-3from
saas-t07-api-rest

Conversation

@mnocon

@mnocon mnocon commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Ticket 07 of the Cohesivo SaaS conversion. Base: saas-batch-3.

A developer opening the API documentation now finds REST and nothing else. There
is no PHP API to be led towards, no generated PHP class reference to be sent
into, and no GraphQL section. REST usage, REST authentication, the generated
REST reference and the OpenAPI schema remain and are the section's whole
content.

This is the largest single deletion in the conversion.

Changes

  • 3,651 files deleted: docs/api/php_api/ in full (3,621 files — 1 page
    plus 3,620 files of generated phpDocumentor output), 29 further pages (event
    reference, GraphQL, REST extension points, the PHP API dashboard service page,
    the PHP tracking API page), and one orphaned image.
  • 182 files modified: 180 pages, plus mkdocs.yml and lychee.toml.dist.

The 162-file link removal was mechanical

The notes predicted a sed would handle the pages linking into the generated class
reference, and it did. One correction: grep -rl php_api_reference matched
156 files, not 162 — the other six live inside pages this ticket deletes, so
they went with the deletion. The sed left exactly the one predicted residual (a
tuple cards() entry in translations_management.md), removed by hand. The
ticket's "~117 search reference pages" figure was accurate.

Judgement calls

  • Nav: the REST API: group is flattened into API:. Nothing was left with
    a single child, so the collapse rule forced nothing — this is the "REST is the
    whole section" reading. The edit is confined to the API: block so it merges
    against the sibling tickets.
  • php_api.md#service-container links were repointed at the Symfony
    documentation at all 12 sites, not just the four the notes named. Uniform
    beats leaving half the pages repointed and half unlinked.
  • Three passages whose entire content was a pointer into the deleted space were
    deleted rather than unlinked: the advanced-tracking section in
    raptor_connector_guide.md, the ### GraphQL integration section in
    relationlistfield.md, and the taxonomy-events note in taxonomy_api.md.
  • GraphQL prose was reworded in three surviving MCP pages, where a GraphQL
    mention would now be a dangling promise.
  • In two pages ticket 09 deletes, links were removed but their firewall prose was
    left alone rather than duplicating 09's work.

Residue that needs an owner

docs/content_management/field_types/field_type_reference/matrixfield.md carries
a whole ## GraphQL field type operations section with three ```graphql blocks.
No ticket names it and it contains no link into the deleted tree, so it
survives here and will read as a live GraphQL feature until someone removes it.
Flagged for ticket 16. Smaller GraphQL mentions also survive in
integrated_help.md ("the GraphQL console") and on the edition pages that
tickets 03/05 own.

Separately, the FieldValueCriterion::COMPARISON_* constant bullets in the
search reference lost their links and are now unbackticked plain text —
grammatical but plain. Tickets 14–17 revisit those pages.

Verification

  • mkdocs build --strict → exit 0, zero warnings.
  • pytest -q → 95 passed (this branch predates ticket 01's five new tests).
  • Grep of the built site/ for php_api, event_reference, api/graphql and
    extending_rest_api hrefs returns nothing, and the search index is clean too.

Ticket 21 depends on this one: it removes the tooling that produced the
generated reference deleted here.

🤖 Generated with Claude Code

Delete the PHP API and everything that only makes sense with it:

- docs/api/php_api/ in full (php_api.md plus the 3620-file
  phpDocumentor output under php_api_reference/)
- docs/api/event_reference/ (20 pages, PHP event-class tables)
- docs/api/graphql/ (5 pages) and the orphaned jwt-graphiql.png
- docs/api/rest_api/extending_rest_api/ (2 pages, both require
  deploying PHP)
- docs/administration/dashboard/php_api_dashboard_service.md
- docs/recommendations/raptor_integration/tracking_php_api.md

REST usage, REST authentication, the generated REST reference and the
OpenAPI schema dumps are retained and are now the section's whole
content.

Remove every inbound link into the deleted space:

- 539 links into the generated class reference across 156 surviving
  pages (117 of them search reference pages) are unlinked, keeping the
  surrounding prose intact
- links to php_api.md#service-container are repointed at the Symfony
  service container documentation; #using-sudo and
  #setting-the-repository-user links are unlinked
- five cards() blocks that named deleted pages are fixed (a stale card
  is a hard build failure, not a warning)
- the "PHP API" tile is dropped from the front page accordion
- GraphQL mentions in the surviving MCP and RelationList pages are
  reworded to REST or removed

Navigation: the PHP API, GraphQL, Event reference and Extending REST
API groups are gone, and the remaining REST API group is flattened
into API: so the section is one landing page plus REST.

lychee.toml.dist drops the now-dead site/api/php_api/php_api_reference/
exclusion. Remaining php_api references in code_samples/,
phpstan-baseline.neon, build_package_docs.py, tools/api_refs/ and the
CI workflows belong to ticket 21.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

Preview of modified files: Too many files modified in a single PR, preview link list is skipped. (211 files > 150)

@mnocon
mnocon merged commit ddbc52b into saas-batch-3 Sep 7, 2026
6 of 11 checks passed
@mnocon
mnocon deleted the saas-t07-api-rest branch September 7, 2026 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant