Submit agent feedback
Last updated September 28, 2026
/v1/feedbackReport unexpected Inth failures, misleading documentation, missing capabilities, or workarounds. Include expected and actual behavior and an optional request ID. Submit once per distinct issue and continue the original task if reporting fails. Do not report routine validation errors or include credentials, personal data, customer payloads, or full transcripts. Reports go to the Inth team; follow the user's permission to send feedback. Accepts an API key or OAuth bearer without a product scope or organization role. No credits charged. Ten new reports per caller per UTC clock hour. Resubmitting identical content within a UTC day returns the existing reference with 200 and does not consume that quota.
Authentication
- bearerAuth
bearerAuth: http / bearer — Use an Inth API key or OAuth access token in the Authorization header. Product operations need a capability. Feedback intake only requires authentication. An OAuth access token carries the capabilities it was granted as scopes; an organization API key carries a fixed set (`organizations.read`, `projects.read`, `projects.write`, `api-keys.read`, `inbox.read`, `billing.read`). A credential without the capability an operation needs is answered with `403 INSUFFICIENT_SCOPE`. `GET /v1/me` reports the capabilities of the calling credential. OAuth scopes: - `organizations.read`: List the organizations you belong to. - `organizations.write`: Create organizations you will own. - `projects.read`: Read projects and their consent configuration. - `projects.write`: Create, update, and delete projects and their consent configuration. - `members.read`: Read member names, email addresses, profile images, roles, and pending invitation email addresses. - `members.write`: Invite members, change member roles, remove members, and cancel invitations. - `api-keys.read`: List organization API keys. - `api-keys.write`: Create, roll, and delete organization API keys. - `code-audit.read`: Read Code Audit scans, their findings, and connected repositories. - `code-audit.write`: Start Code Audit scans and unlock their reports. - `inbox.read`: Read Inbox findings. - `inbox.write`: Change the status of Inbox findings and open GitHub issues for them. - `billing.read`: Read the plan and credit balance of an organization.
Request
Required
Content type application/json
| Property | Type | Required | Description |
|---|---|---|---|
category | "bug" | "friction" | "docs_mismatch" | "feature_request" | "performance" | Required | — |
surface | "api" | "mcp" | "cli" | "docs" | "sdk" | "dashboard" | "other" | Optional | Affected Inth surface. Use `other` when none fit. |
message | string | Required | Leading and trailing whitespace is trimmed before validation and storage. Must contain non-whitespace text; length limits apply after trimming. |
expected | string | Optional | Leading and trailing whitespace is trimmed before validation and storage. Must contain non-whitespace text; length limits apply after trimming. |
actual | string | Optional | Leading and trailing whitespace is trimmed before validation and storage. Must contain non-whitespace text; length limits apply after trimming. |
reproduction | string | Optional | Leading and trailing whitespace is trimmed before validation and storage. Must contain non-whitespace text; length limits apply after trimming. |
requestId | string | Optional | Leading and trailing whitespace is trimmed before validation and storage. Must contain non-whitespace text; length limits apply after trimming. |
operation | string | Optional | Leading and trailing whitespace is trimmed before validation and storage. Must contain non-whitespace text; length limits apply after trimming. |
clientName | string | Optional | Leading and trailing whitespace is trimmed before validation and storage. Must contain non-whitespace text; length limits apply after trimming. |
clientVersion | string | Optional | Leading and trailing whitespace is trimmed before validation and storage. Must contain non-whitespace text; length limits apply after trimming. |
View JSON schema
Responses
200
Identical report already accepted today. alreadySubmitted is true.
Content type application/json
| Property | Type | Required | Description |
|---|---|---|---|
success | boolean | Required | — |
data | object | Required | — |
data.reference | string | Required | Feedback or feature-request ticket reference. |
data.alreadySubmitted | boolean | Required | — |
View JSON schema
201
Report saved to the Inth feedback inbox.
Content type application/json
| Property | Type | Required | Description |
|---|---|---|---|
success | boolean | Required | — |
data | object | Required | — |
data.reference | string | Required | Feedback or feature-request ticket reference. |
data.alreadySubmitted | boolean | Required | — |
View JSON schema
400
The request payload or parameters are invalid.
Content type application/json
| Property | Type | Required | Description |
|---|---|---|---|
success | boolean | Required | — |
error | object | Required | — |
error.code | "UNAUTHORIZED" | "FORBIDDEN" | "INSUFFICIENT_SCOPE" | "PLAN_LIMIT_REACHED" | "PLAN_REQUIRED" | "INVALID_ORIGIN" | "INVALID_REGION" | "INVALID_PAYLOAD" | "NOT_FOUND" | "CONFLICT" | "KEY_LIMIT_REACHED" | "INSUFFICIENT_CREDITS" | "SCAN_IN_PROGRESS" | "UNLOCK_REQUIRED" | "REPOSITORY_NOT_LINKED" | "PAYLOAD_TOO_LARGE" | "RATE_LIMITED" | "SERVICE_UNAVAILABLE" | "INTERNAL_ERROR" | Required | — |
error.message | string | Required | — |
error.details | unknown | Optional | Optional structured error details. |
View JSON schema
401
Authentication is missing, invalid, or expired.
Content type application/json
| Property | Type | Required | Description |
|---|---|---|---|
success | boolean | Required | — |
error | object | Required | — |
error.code | "UNAUTHORIZED" | "FORBIDDEN" | "INSUFFICIENT_SCOPE" | "PLAN_LIMIT_REACHED" | "PLAN_REQUIRED" | "INVALID_ORIGIN" | "INVALID_REGION" | "INVALID_PAYLOAD" | "NOT_FOUND" | "CONFLICT" | "KEY_LIMIT_REACHED" | "INSUFFICIENT_CREDITS" | "SCAN_IN_PROGRESS" | "UNLOCK_REQUIRED" | "REPOSITORY_NOT_LINKED" | "PAYLOAD_TOO_LARGE" | "RATE_LIMITED" | "SERVICE_UNAVAILABLE" | "INTERNAL_ERROR" | Required | — |
error.message | string | Required | — |
error.details | unknown | Optional | Optional structured error details. |
View JSON schema
403
The credential is valid but may not perform the operation. `INSUFFICIENT_SCOPE`: the credential was never granted the capability the operation needs. `details.requiredScope` names it, and the `WWW-Authenticate` header carries `Bearer error="insufficient_scope"`. An OAuth client fixes this by requesting the scope; an organization API key cannot gain it. `FORBIDDEN`: the capability is present but the membership behind the credential lacks the role, or the resource belongs to another organization.
Content type application/json
| Property | Type | Required | Description |
|---|---|---|---|
success | boolean | Required | — |
error | object | Required | — |
error.code | "UNAUTHORIZED" | "FORBIDDEN" | "INSUFFICIENT_SCOPE" | "PLAN_LIMIT_REACHED" | "PLAN_REQUIRED" | "INVALID_ORIGIN" | "INVALID_REGION" | "INVALID_PAYLOAD" | "NOT_FOUND" | "CONFLICT" | "KEY_LIMIT_REACHED" | "INSUFFICIENT_CREDITS" | "SCAN_IN_PROGRESS" | "UNLOCK_REQUIRED" | "REPOSITORY_NOT_LINKED" | "PAYLOAD_TOO_LARGE" | "RATE_LIMITED" | "SERVICE_UNAVAILABLE" | "INTERNAL_ERROR" | Required | — |
error.message | string | Required | — |
error.details | unknown | Optional | Optional structured error details. |
View JSON schema
Headers
| Name | Type | Description |
|---|---|---|
WWW-Authenticate | string | Present on `INSUFFICIENT_SCOPE`: `Bearer error="insufficient_scope", scope="<required scope>"`. |
413
Request exceeds 64 KB.
Content type application/json
| Property | Type | Required | Description |
|---|---|---|---|
success | boolean | Required | — |
error | object | Required | — |
error.code | "UNAUTHORIZED" | "FORBIDDEN" | "INSUFFICIENT_SCOPE" | "PLAN_LIMIT_REACHED" | "PLAN_REQUIRED" | "INVALID_ORIGIN" | "INVALID_REGION" | "INVALID_PAYLOAD" | "NOT_FOUND" | "CONFLICT" | "KEY_LIMIT_REACHED" | "INSUFFICIENT_CREDITS" | "SCAN_IN_PROGRESS" | "UNLOCK_REQUIRED" | "REPOSITORY_NOT_LINKED" | "PAYLOAD_TOO_LARGE" | "RATE_LIMITED" | "SERVICE_UNAVAILABLE" | "INTERNAL_ERROR" | Required | — |
error.message | string | Required | — |
error.details | unknown | Optional | Optional structured error details. |
View JSON schema
429
The rate limit was exceeded. API key limits are set by plan tier (Starter 600/min, Pro 1500/min, Enterprise 3000/min). Check the Retry-After header before retrying.
Content type application/json
| Property | Type | Required | Description |
|---|---|---|---|
success | boolean | Required | — |
error | object | Required | — |
error.code | "UNAUTHORIZED" | "FORBIDDEN" | "INSUFFICIENT_SCOPE" | "PLAN_LIMIT_REACHED" | "PLAN_REQUIRED" | "INVALID_ORIGIN" | "INVALID_REGION" | "INVALID_PAYLOAD" | "NOT_FOUND" | "CONFLICT" | "KEY_LIMIT_REACHED" | "INSUFFICIENT_CREDITS" | "SCAN_IN_PROGRESS" | "UNLOCK_REQUIRED" | "REPOSITORY_NOT_LINKED" | "PAYLOAD_TOO_LARGE" | "RATE_LIMITED" | "SERVICE_UNAVAILABLE" | "INTERNAL_ERROR" | Required | — |
error.message | string | Required | — |
error.details | unknown | Optional | Optional structured error details. |
View JSON schema
500
An unexpected internal error occurred.
Content type application/json
| Property | Type | Required | Description |
|---|---|---|---|
success | boolean | Required | — |
error | object | Required | — |
error.code | "UNAUTHORIZED" | "FORBIDDEN" | "INSUFFICIENT_SCOPE" | "PLAN_LIMIT_REACHED" | "PLAN_REQUIRED" | "INVALID_ORIGIN" | "INVALID_REGION" | "INVALID_PAYLOAD" | "NOT_FOUND" | "CONFLICT" | "KEY_LIMIT_REACHED" | "INSUFFICIENT_CREDITS" | "SCAN_IN_PROGRESS" | "UNLOCK_REQUIRED" | "REPOSITORY_NOT_LINKED" | "PAYLOAD_TOO_LARGE" | "RATE_LIMITED" | "SERVICE_UNAVAILABLE" | "INTERNAL_ERROR" | Required | — |
error.message | string | Required | — |
error.details | unknown | Optional | Optional structured error details. |
View JSON schema
503
Feedback submissions are temporarily paused.
Content type application/json
| Property | Type | Required | Description |
|---|---|---|---|
success | boolean | Required | — |
error | object | Required | — |
error.code | "UNAUTHORIZED" | "FORBIDDEN" | "INSUFFICIENT_SCOPE" | "PLAN_LIMIT_REACHED" | "PLAN_REQUIRED" | "INVALID_ORIGIN" | "INVALID_REGION" | "INVALID_PAYLOAD" | "NOT_FOUND" | "CONFLICT" | "KEY_LIMIT_REACHED" | "INSUFFICIENT_CREDITS" | "SCAN_IN_PROGRESS" | "UNLOCK_REQUIRED" | "REPOSITORY_NOT_LINKED" | "PAYLOAD_TOO_LARGE" | "RATE_LIMITED" | "SERVICE_UNAVAILABLE" | "INTERNAL_ERROR" | Required | — |
error.message | string | Required | — |
error.details | unknown | Optional | Optional structured error details. |
View JSON schema
Related
- REST API overview: Every operation in this API.