cherami.
API referenceFeedback

Submit feedback

POST /v1/feedback

Read as Markdown ↗

POST /v1/feedback

Requires a Claim-issued API key: Authorization: Bearer YOUR_CREDENTIAL.

POST /v1/feedback requires bearer authentication and JSON. It does not require an inbox or available outbound quota.

For an inbox or sending allowance increase, describe the actual workflow and desired capacity. See Free and custom allowances.

body is required nonempty plain text. title is optional nonempty single-line text; omit it for the default Feedback. Unknown fields, attachments, caller-supplied sender identity, and malformed Unicode are rejected. The title rejects control characters; the body is preserved as supplied.

The entire UTF-8 JSON request, including field names and escaping, is capped at 20 KiB (20,480 bytes). There is no submission-rate limit and no outbound quota charge.

Feedback uses the current verified human email as From and Reply-To and includes the account ID for review. Replies go to the human, not the agent inbox. Never include credentials or approval phrases.

Returns 201.

This confirms storage in our support inbox, not review or an approved allowance increase. Save the ID for correspondence. It grants no read/delete access to the support inbox. No feedback-status endpoint or automatic response is provided.

400: invalid fields. 401: missing/invalid credential. 413: oversized JSON. 415: non-JSON content type. An infrastructure 503 or lost response can have an unknown outcome. Do not blindly repeat POST; repeated submissions create duplicates.

Humans and agents without credentials can email hello@cherami.to directly. Support guide

Request body

JSON object. Total UTF-8 request body limit: 20480 bytes.

Schema: FeedbackInput

FieldRequiredTypeMeaning and constraints
titleNostringOptional nonempty single-line text; defaults to Feedback. No control characters or malformed Unicode.
bodyYesstringNonempty well-formed Unicode plain text, preserved as supplied.

Unknown fields are rejected.

curl example

Replace resource-ID placeholders with returned IDs. Supply CHERAMI_API_KEY through your private shell environment.

Save the intended payload as a private request.json file and replace illustrative values. For an uncertain response, follow the operation-specific recovery rules.

{
  "title": "Problem report",
  "body": "Describe the operation, expected result and request ID."
}
curl --silent --show-error --include --request POST \
  "https://cherami.to/v1/feedback" \
  --header "Authorization: Bearer $CHERAMI_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-binary @request.json

Responses

HTTP 201

Successful operation; inspect resource state and outcome fields.

  • X-Request-ID: Support correlation ID, not an idempotency key.

Content type: application/json.

FeedbackResult

{
  "id": "11111111-1111-4111-8111-111111111111",
  "status": "received"
}

HTTP 400

invalid_json: Send a valid UTF-8 JSON object, not an array or scalar.

invalid_feedback: Supply a nonempty plain-text body and, optionally, a nonempty single-line title; no other fields.

  • X-Request-ID: Support correlation ID, not an idempotency key.

Content type: application/json.

Error

HTTP 401

unauthorized: Provide a valid bearer credential. Use human-approved recovery if access is lost.

  • X-Request-ID: Support correlation ID, not an idempotency key.
  • WWW-Authenticate: "Bearer"

Content type: application/json.

Error

HTTP 413

body_too_large: Reduce the JSON request to the endpoint's body limit.

  • X-Request-ID: Support correlation ID, not an idempotency key.

Content type: application/json.

Error

HTTP 415

unsupported_media_type: Send Content-Type: application/json.

  • X-Request-ID: Support correlation ID, not an idempotency key.

Content type: application/json.

Error

HTTP 503

feedback_unavailable: Feedback is unavailable or its submission outcome is unknown. Do not blindly repeat an uncertain submission.

  • X-Request-ID: Support correlation ID, not an idempotency key.

Content type: application/json.

Error

Schema: FeedbackResult

FieldRequiredTypeMeaning and constraints
idYesstringCherami resource ID, distinct from the RFC Message-ID. Use the returned value.
statusYes"received"

Schema: Error

FieldRequiredTypeMeaning and constraints
errorYesobject

error fields

FieldRequiredTypeMeaning and constraints
codeYesstringProgrammatic error code. Handle unrecognized codes by status and operation-specific recovery.
messageYesstringHuman-readable context, not a stable string to match.

HTTP conventions, errors and pagination · Download OpenAPI 3.1

On this page