Feedback

Report a problem from inside the app.1 operation

Headers on every response

Every response on this page carries these headers.
X-Trace-Id
— The W3C trace id of this request — the same id in the log and in the traceId of a problem. Quote it when reporting.
Server-Timing
— Where the time went: total, db;dur=…;desc="N queries", and every step the handler named (ADR-163).
X-Diagnostics
— Only when the request asked with X-Diagnostics: 1 or ?diagnostics=1: the same breakdown as one JSON object, with the trace id (ADR-163).

Operations

POST/api/v1/feedback

Send a problem report from the app

Any signed-in person; no household needed. The message is theirs, and the app attaches which build, which screen, the last failed API calls (the newest 20 are kept) and optionally a screenshot — PNG, JPEG or WebP of at most 5 MB, 400 otherwise (#717). householdId is recorded only when the caller belongs to that household. The owner is alerted best effort; an alert failure never fails the report.

Parameters

No parameters

Request body

application/jsonRequiredSubmitFeedbackRequest

Responses

200OK
application/jsonFeedbackSubmittedResponse
400Bad Request
application/problem+jsonProblemDetails
401No session, or the session is no longer valid.
application/problem+jsonProblemDetails
426The build named in X-App-Version is below its platform's version floor (ADR-070). Problem type app-version-unsupported; the only way forward is the store. Callers without the header are never turned away.
application/problem+jsonProblemDetails
429Too many calls in the window; Retry-After says how long.
application/problem+jsonProblemDetails
Headers
Retry-After
— Seconds to wait when a rate limit answered, or an HTTP date when the household's AI is paused. Absent when the household's AI quota for the period is used up — that resets by itself.

Example

curl -b "bryti_session=…" \
  -X POST \
  "https://bryti.app/api/v1/feedback" \
  -H "Content-Type: application/json" \
  -d '{"message":"string","client":{"platform":"string","environment":"string","appVersion":"string","build":"string","sha":"string","device":"string"}}'

Example response

200application/json
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "reference": "string"
}

Schemas

FeedbackApiFailure

PropertyTypeRequired
atstring (date-time)Required
methodstringRequired
pathstringRequired
statusinteger (int32) | nullRequired
codestring | nullRequired
traceIdstring | nullRequired
durationMsinteger (int32)Required

FeedbackClientInfo

PropertyTypeRequired
platformstringRequired
environmentstringRequired
appVersionstring | nullRequired
buildstring | nullRequired
shastring | nullRequired
devicestring | nullRequired

FeedbackSubmittedResponse

PropertyTypeRequired
idstring (uuid)Required
referencestringRequired

ProblemDetails

PropertyTypeRequired
typestring | null—
titlestring | null—
statusinteger (int32) | null—
detailstring | null—
instancestring | null—
codestring | null—

SubmitFeedbackRequest

PropertyTypeRequired
messagestringRequired
clientFeedbackClientInfoRequired
householdIdstring (uuid) | null—
routestring | null—
recentFailuresFeedbackApiFailure[] | null—
sentryEventIdstring | null—
screenshotBase64string | null—
screenshotContentTypestring | null—