Skip to content

docs(API): improve delete /projects/{project_id}/documents/{id} documentation#1185

Merged
Stephen Lumenta (sbl) merged 7 commits into
mainfrom
devex-119-documents-delete-document
Jul 1, 2026
Merged

docs(API): improve delete /projects/{project_id}/documents/{id} documentation#1185
Stephen Lumenta (sbl) merged 7 commits into
mainfrom
devex-119-documents-delete-document

Conversation

@sbl

Copy link
Copy Markdown
Contributor

Improves the documentation for delete /projects/{project_id}/documents/{id}: sharper descriptions, parameter docs, error responses, and usage examples.

Drafted with AI assistance and grounded in the API implementation. Please review for technical accuracy before merging; nothing is merged automatically.

🤖 Generated with Claude Code

@sbl Stephen Lumenta (sbl) added the developer-hub-api-quality API doc quality fix from the API Grader label Jun 15, 2026
@github-actions

github-actions Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

API changelog (oasdiff)

Doc-only edits (descriptions, examples) do not appear here.

3 changes: 0 error, 0 warning, 3 info
info	[new-optional-request-property] at doc/compiled.json
	in API DELETE /projects/{project_id}/keys/{id}/key_links
		added the new optional request property `strategy`

info	[request-body-became-optional] at doc/compiled.json
	in API DELETE /projects/{project_id}/keys/{id}/key_links
		request body became optional

info	[response-media-type-added] at doc/compiled.json
	in API DELETE /projects/{project_id}/keys/{id}/key_links
		added the media type `application/json` for the response with the status `200`

@sbl

Copy link
Copy Markdown
Contributor Author

This PR replaces #1177, which was closed after jablan's review.

Feedback addressed from #1177:

Comment Status
"numeric primary key is an internal development detail and should not be exposed" ✅ Fixed
"This 403 description is almost fully generic and could be moved to the referenced section" ✅ Fixed

What changed:

  • The description no longer mentions numeric primary key or DocumentPolicy#destroy?. Implementation details are translated into caller-facing behaviour: "Requires the write scope on the access token and manage permission on the document."
  • The 403 description is now endpoint-specific: "Obtain a token with the write scope or request manage access from a project administrator." Generic 403 prose has been removed rather than moved inline.

🤖 Generated with Claude Code

@sbl Stephen Lumenta (sbl) changed the title feat(API): improve delete /projects/{project_id}/documents/{id} documentation fix(API): improve delete /projects/{project_id}/documents/{id} documentation Jun 17, 2026
Comment thread paths/documents/destroy.yaml Outdated
Comment thread paths/documents/destroy.yaml Outdated
…{id}

- CLI v2 sample: replace slug-like example values (my-project-xyz123,
  doc-abc456) with the <project_id>/<id> placeholders used by every other
  endpoint, and fix --access_token to take <token> rather than a
  username (a username will not authenticate). (theSoenke)
- Drop the scope/permission sentence from the top-level description; the
  403 response already documents the write-scope and manage-permission
  requirement.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sbl Stephen Lumenta (sbl) changed the title fix(API): improve delete /projects/{project_id}/documents/{id} documentation docs(API): improve delete /projects/{project_id}/documents/{id} documentation Jun 17, 2026
Stephen Lumenta (sbl) and others added 5 commits June 24, 2026 09:09
Review feedback: error response descriptions should stay in the shared
responses.yaml for consistency, not be re-authored inline per operation.
Under OpenAPI 3.0 a description sibling of $ref is ignored anyway, so the
inline text never rendered. Strip the inline $ref-sibling response
descriptions (now bare $refs); the shared response owns the wording.
Genuinely custom (non-$ref) response bodies are left intact.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Strings convention: never hand-author Curl or CLI v2 samples. Mintlify
renders the request sample (curl + the multi-language playground) and the
response from the OpenAPI operation itself, so a hand-written x-code-samples
block drifts and overrides the correct auto-generated one; a CLI v2 sample
is not spec-derivable at all. Remove the block so Mintlify renders.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New strings rubric rule: Mintlify auto-generates the request curl, so a
hand-written Curl sample is redundant and overrides it, but a CLI v2
sample cannot be derived from the spec and must be preserved. This PR
originally removed the whole x-code-samples block; restore the CLI v2
entry (Curl stays dropped). compiled.json regenerated via make bundle.
@sbl Stephen Lumenta (sbl) merged commit a0b85f7 into main Jul 1, 2026
13 checks passed
@sbl Stephen Lumenta (sbl) deleted the devex-119-documents-delete-document branch July 1, 2026 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

developer-hub-api-quality API doc quality fix from the API Grader

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants