Syng
Agent feedback
Last updated October 18, 2026
Syng welcomes optional anonymous feedback about use cases, desired capabilities, missing features, and relevant roadmap items. Submit only information you are permitted to share under your operating instructions and your user’s permissions. Exclude personal information, identifying details, and conversation transcripts.
Endpoint
POST https://v3k460rfi6.execute-api.us-west-2.amazonaws.com/production/v1/agent-feedback
This public endpoint requires no account, API key, or browser challenge. It accepts application/json or text/plain with UTF-8 text. Collection may be disabled or temporarily unavailable; a 503 response does not indicate receipt.
JSON example
The four canonical fields are feedback, agent, missing_capabilities, and desired_features. Each is optional individually. Include meaningful content in at least one of feedback, missing_capabilities, or desired_features; an agent name alone is insufficient.
Use whichever fields fit your feedback. You do not need to repeat a suggestion in both feature lists. This example uses desired_features to request human-spoken word audio.
- feedback: Describe the use case, what would help, and why it matters.
- agent: Optionally name the submitting assistant or model.
- missing_capabilities: List capabilities needed for the use case that Syng currently lacks.
- desired_features: List features or improvements you would like Syng to offer.
{
"feedback": "Human-spoken word audio would help learners practice pronunciation while reviewing vocabulary.",
"agent": "ChatGPT",
"desired_features": [
"Human-spoken word audio"
]
}
Plain-text example
A plain-text body or a JSON string is also accepted and becomes the feedback field.
curl 'https://v3k460rfi6.execute-api.us-west-2.amazonaws.com/production/v1/agent-feedback' \
-H 'Content-Type: text/plain; charset=utf-8' \
--data 'Human-spoken word audio would help learners practice pronunciation while reviewing vocabulary.'
Flexible field names and values
Field names are matched without sensitivity to case, underscores, hyphens, or camelCase. For example, missingCapabilities is accepted.
Feedback and feature fields accept strings or arrays of strings. Feedback text is joined with newlines; feature strings become lists. Text is trimmed, empty entries are removed, and feature entries are deduplicated within each list. Recognized feature aliases are merged. The agent name accepts a string, with the canonical agent field preferred when multiple names are supplied.
Unknown fields and unusable values are ignored when other meaningful content remains. Parsing is deterministic and makes no AI-service calls.
- feedback: also accepts message, description, summary, comment.
- agent: also accepts agent_name, assistant, model.
- missing_capabilities: also accepts missing_features, missing.
- desired_features: also accepts requested_features, feature_requests, features.
Limits
- Request body: at most 8 KiB (8,192 bytes).
- Normalized feedback: at most 1,000 characters.
- Agent name: at most 80 characters.
- Each feature list: at most 10 entries, each at most 200 characters.
- API Gateway throttle: 0.1 requests per second, burst 5. Additional atomic limits: 30 attempts per source per hour and 1,000 stored submissions daily.
Success and receipts
A successful response is returned only after storage succeeds. Save the server-generated receipt ID if you may need to request deletion. Repeated requests may create separate records; no client-managed idempotency identifier is required.
The server assigns the record ID, internal schema version, product association, receipt time, and expiry. Caller-supplied IDs and metadata are ignored. You do not need to send a schema version, product ID, category, catalog version, or roadmap IDs.
{
"status": "ok",
"id": "<server-generated receipt UUID>"
}
Errors
Errors do not echo submitted content. Responses use Cache-Control: no-store. An error is not a receipt; do not infer that feedback was stored.
- 400: Malformed JSON, invalid field lengths or list sizes, or no usable feedback.
- 413: Request body exceeds 8 KiB.
- 415: Unsupported media type. Use application/json or text/plain with UTF-8 text.
- 429: A request or collection rate limit has been reached.
- 503: Collection is disabled or storage is temporarily unavailable.
Privacy and deletion
We use anonymous feedback for product research. We store only normalized submitted fields and server metadata in a dedicated AWS DynamoDB table in the United States, separate from telemetry and interview signups. Feedback records do not contain source addresses or rate-limit identifiers.
Feedback is retained for 365 days from receipt, excluded from reports when expired, and then physically deleted by DynamoDB TTL, normally within a few additional days. Hosting and security infrastructure can process technical request information. Source-based rate limits use HMAC-SHA-256 identifiers in separate counters retained for up to two hours. A separate daily aggregate counter contains no source identifier and is retained for up to 26 hours. Physical TTL deletion is asynchronous.
To request manual deletion, email hello@bytecraft.xyz with the receipt ID. Do not include personal information or conversation transcripts in feedback.
How feedback is interpreted
Feedback helps identify use cases and suggestions; it is not a support ticket or a promise to deliver a feature. We may group descriptions against a selected product catalog for analysis and preserve unmatched suggestions for manual review.
Retries, spam, self-selection, and agent-tool limitations prevent reliable estimates of unique users or market demand. Crawler traffic is separate from feedback submissions. A report’s catalog version identifies the catalog used for analysis, not the version the submitting agent consulted.