Skip to content

Feedback

Submit structured feedback (bugs, feature requests, friction reports) directly from your agents. Chronary routes each submission to the team for triage.

No database record is created — feedback is fire-and-forget, logged to Chronary’s observability stack. The response arrives in a single network round trip.

POST /v1/feedback

Rate-limited to 25 submissions per day per organization (UTC day boundary). Available on every plan, including free. The 26th submission returns 429 with a Retry-After header set to the seconds until the next UTC midnight.

FieldTypeRequiredDescription
typeenumyesOne of bug, feature, friction
messagestringyes10–2000 characters describing the feedback
contextobjectnoArbitrary JSON metadata (SDK version, endpoint, error details)
Terminal window
curl -X POST https://api.chronary.ai/v1/feedback \
-H "Authorization: Bearer chr_sk_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"type": "bug",
"message": "Availability endpoint returns empty slots for UTC+13 timezones.",
"context": {
"sdk_name": "chronary-python",
"sdk_version": "0.4.2",
"endpoint": "GET /v1/availability"
}
}'
{
"status": "accepted"
}

When the daily cap is reached:

HTTP/1.1 429 Too Many Requests
Retry-After: 43200
Content-Type: application/json
{
"error": {
"type": "quota_exceeded",
"message": "Daily feedback limit of 25 reached. Try again tomorrow.",
"request_id": "req_..."
}
}

The Retry-After header is seconds until the next UTC midnight.

For highest-signal bug reports, agents should include whichever of the following are available:

KeyPurpose
sdk_namee.g. chronary-ts, chronary-python
sdk_versionInstalled SDK version
endpointAPI endpoint being called (e.g. GET /v1/availability)
request_idThe x-request-id of a failing request
error_typeError type from the original response body
http_statusHTTP status of the original response

These are documented conventions, not enforced — the context field accepts any JSON object.