Skip to content

Boost Endpoint API Documentation #36

@AuraMindNest

Description

@AuraMindNest

Problem

The boost_endpoint app exposes HTTP routes for operators and integrators, but there is no documentation describing the API surface. Without docs, external consumers cannot integrate with the add-or-update flow, and operators cannot verify their deployment is working. The asynchronous 202/task-ID pattern is non-obvious and needs explicit documentation covering request shapes, response shapes, authentication, and task status polling.

Acceptance Criteria

  • A docs/api.md (or equivalent) file documents all HTTP endpoints: GET /boost/info/ and POST /boost/add-or-update/
  • Each endpoint documents: HTTP method, URL path, request headers (including auth token format), request body schema (with field types and required/optional), response status codes, and response body schema
  • The POST /add-or-update/ documentation explains the asynchronous flow: request -> 202 Accepted with task_id -> poll task status via Celery result backend or a future status endpoint
  • Example curl commands are provided for each endpoint (with placeholder tokens)
  • Authentication requirements are documented: token format, how to obtain a token, which Weblate permissions are required
  • Error response shapes are documented: 400 validation errors, 401/403 auth errors, 500 server errors
  • The doc references the serializer field definitions from views.py to stay in sync

Implementation Notes

Use a single Markdown file with clear sections per endpoint. Include a "Quick Start" section at the top showing the minimum viable integration (get token, POST add-or-update, check task). For the async flow diagram, a simple text-based sequence is sufficient (no Mermaid required unless the team prefers it). Cross-reference the README.md for deployment instructions. This doc is the primary reference for operators who will call the endpoint from CI/CD pipelines or admin scripts.

References

  • Related files: docs/api.md (new), src/boost_weblate/views.py, src/boost_weblate/urls.py
  • Depends on: Andrew's views.py and urls.py items (for the exact route and field definitions)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions