feedback

Submit user feedback (anonymous, rate-limited).

Accept a feedback submission from the form (public, no auth required).

Writes the record to the feedback table via the superuser session and then fires a best-effort Telegram relay. The relay is attempted AFTER commit so that a relay error never rolls back the DB record.

contact is stored in DB for private replies but is NEVER included in the Telegram relay text (ADR-060 §2 hard rule, ФЗ-152 / PII). ip_address is captured for anti-abuse but NOT logged via structlog.

post/v1/feedback

Request

  • Base URL: https://api.andish.ru (the document declares no server; this is the origin it was published from)
  • URL: https://api.andish.ru/v1/feedback
  • Auth: none declared

Request body

messagestring required

Feedback text (required). Control characters are stripped.

category'bug' | 'idea' | 'question' nullable

Feedback category for triaging.

contactstring nullable

Optional contact (email or @handle) for private reply. Stored in DB only — never sent to Telegram (ФЗ-152 / PII). Requires consent_fz152=true when non-empty.

page_urlstring nullable

URL of the page the form was submitted from (triaging context). Must start with http:// or https://.

consent_fz152boolean

Explicit consent to process personal contact data per ФЗ-152 (Russian law). Required when contact is provided — request is rejected with 422 if False.

Response

Feedback accepted — stored and relayed.

status'accepted'
messagestring

Changes

No recorded changes to this operation across all 1 revision of this API.