Feedback
Manage user feedback
/api/v0/feedbackList feedback
Retrieve a paginated list of feedback with optional filtering, sorting, and search.
Which page to return. Starts at 1.
How many results to return per page.
Which field to sort the results by.
Which direction to sort the results in.
Filter the results to feedback that needs human review, or send false for the feedback that does not.
Filter the results to feedback that landed in no buffer after routing finished.
Filter the results to feedback assigned to this buffer, named by its id or its slug.
Filter the results to feedback matching this text in their title or description.
The feedback that matched the query.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
A short summary of the feedback.
The full text of the feedback or bug report.
Whether this feedback needs human review.
A free-form identifier supplied at creation for whoever submitted this feedback, such as your own user id or an anonymous token. Treated as an opaque string and never parsed.
Where this feedback is in routing.
pending: routing has not finished yet. ReadGET /api/v0/feedback/{feedback_id}again for the result.routed: routing finished. FetchGET /api/v0/feedback/{feedback_id}/buffersfor the buffers it chose; an empty list means nothing matched, which is a result rather than an error.skipped: routing did not run, because AI routing is turned off for your organization, or because your organization has no buffers and does not create them automatically.failed: routing could not be completed.GET /api/v0/feedback/{feedback_id}/buffersshows only the buffers you assigned by hand. Run routing again from the feedback's page.
The ISO 8601 timestamp when the feedback was created.
The ISO 8601 timestamp when the feedback was last modified.
Also carries search when the request used the search parameter.
The page this response came from. Starts at 1.
The number of items per page.
The total number of items across all pages.
The total number of pages.
The path to the next page, carrying the same filters, or null when you are on the last page. Request it as-is rather than building your own query string.
The path to the previous page, carrying the same filters, or null on page 1.
The links for the collection itself, carrying the filters and page from this request.
Where to call this resource in this API, for example /api/v0/feedback/8x7k2mN.
The path to this resource. It starts with a / and carries no domain, so join it to https://inputbuffer.io for a full URL.
Where a person can open this resource in InputBuffer, for example /o/yoyodyne/feedback/8x7k2mN. Use it to link a user straight to the page. web is null when the resource has no page of its own.
The path to this resource. It starts with a / and carries no domain, so join it to https://inputbuffer.io for a full URL.
The links for each item in data, keyed by that item's id.
The search metadata for a list response. Present only when the search query parameter was supplied.
The search text you sent.
The per-result search data keyed by the id of each item in data. Every item in data has an entry; empty when nothing matched.
401The API token is missing, malformed, or revoked.
The API token is missing, malformed, or revoked.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
404The buffer_id filter names no buffer in your organization, by either id or slug (buffer-not-found).
The buffer_id filter names no buffer in your organization, by either id or slug (buffer-not-found).
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
500Something went wrong on our end.
Something went wrong on our end.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
/api/v0/feedbackCreate a piece of feedback
Create a new piece of feedback. The response comes back before routing has decided which buffers the feedback belongs in, so new feedback has a routing_status of pending and no buffers yet. Read GET /api/v0/feedback/{feedback_id} for the result once it is done, or list with unassigned=true for the feedback that finished routing without matching a buffer.
A short summary of the feedback (1–500 characters).
The full text of the feedback or bug report (1–5000 characters). Content is sent to third-party AI services for classification and search; do not include personal information, credentials, or production secrets.
A free-form identifier for whoever submitted this feedback, such as your own user id or an anonymous token. Treated as an opaque string and never parsed.
The targets to associate with this feedback, so you can attach the page, endpoint, or command the feedback is about in the same call that submits it. Each item needs a type and its metadata. A matching target is reused if one exists, and created if not.
The response does not include the targets, so read them back at GET /api/v0/feedback/{feedback_id}/targets.
No targets added yet.
A single piece of feedback. Every endpoint that returns feedback returns the same fields.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
A short summary of the feedback.
The full text of the feedback or bug report.
Whether this feedback needs human review.
A free-form identifier supplied at creation for whoever submitted this feedback, such as your own user id or an anonymous token. Treated as an opaque string and never parsed.
Where this feedback is in routing.
pending: routing has not finished yet. ReadGET /api/v0/feedback/{feedback_id}again for the result.routed: routing finished. FetchGET /api/v0/feedback/{feedback_id}/buffersfor the buffers it chose; an empty list means nothing matched, which is a result rather than an error.skipped: routing did not run, because AI routing is turned off for your organization, or because your organization has no buffers and does not create them automatically.failed: routing could not be completed.GET /api/v0/feedback/{feedback_id}/buffersshows only the buffers you assigned by hand. Run routing again from the feedback's page.
The ISO 8601 timestamp when the feedback was created.
The ISO 8601 timestamp when the feedback was last modified.
The response metadata for a single resource.
The links for the resource in data.
Where to call this resource in this API, for example /api/v0/feedback/8x7k2mN.
The path to this resource. It starts with a / and carries no domain, so join it to https://inputbuffer.io for a full URL.
Where a person can open this resource in InputBuffer, for example /o/yoyodyne/feedback/8x7k2mN. Use it to link a user straight to the page. web is null when the resource has no page of its own.
The path to this resource. It starts with a / and carries no domain, so join it to https://inputbuffer.io for a full URL.
The links for the objects embedded in this resource, keyed by the field each one sits at. A value is null when the embedded object has nothing to link to. {} when the resource embeds nothing.
401The API token is missing, malformed, or revoked.
The API token is missing, malformed, or revoked.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
402The organization has reached its lifetime feedback limit (usage-limit-reached).
The organization has reached its lifetime feedback limit (usage-limit-reached).
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
403You are not permitted to create feedback (forbidden); a full-access token was used from a browser (widget-token-restricted); or a widget token's origin isn't allowlisted (forbidden-origin).
You are not permitted to create feedback (forbidden); a full-access token was used from a browser (widget-token-restricted); or a widget token's origin isn't allowlisted (forbidden-origin).
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
415The request body wasn't sent as application/json (or application/merge-patch+json, which PATCH also accepts). Set the Content-Type header and send a JSON-encoded body.
The request body wasn't sent as application/json (or application/merge-patch+json, which PATCH also accepts). Set the Content-Type header and send a JSON-encoded body.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
422A required field is missing or a field value is invalid. Check field.
A required field is missing or a field value is invalid. Check field.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
429Too many requests.
Too many requests.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
500Something went wrong on our end.
Something went wrong on our end.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
/api/v0/feedback/{feedback_id}Get a piece of feedback
Get a single piece of feedback by its identifier.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
A single piece of feedback. Every endpoint that returns feedback returns the same fields.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
A short summary of the feedback.
The full text of the feedback or bug report.
Whether this feedback needs human review.
A free-form identifier supplied at creation for whoever submitted this feedback, such as your own user id or an anonymous token. Treated as an opaque string and never parsed.
Where this feedback is in routing.
pending: routing has not finished yet. ReadGET /api/v0/feedback/{feedback_id}again for the result.routed: routing finished. FetchGET /api/v0/feedback/{feedback_id}/buffersfor the buffers it chose; an empty list means nothing matched, which is a result rather than an error.skipped: routing did not run, because AI routing is turned off for your organization, or because your organization has no buffers and does not create them automatically.failed: routing could not be completed.GET /api/v0/feedback/{feedback_id}/buffersshows only the buffers you assigned by hand. Run routing again from the feedback's page.
The ISO 8601 timestamp when the feedback was created.
The ISO 8601 timestamp when the feedback was last modified.
The response metadata for a single resource.
The links for the resource in data.
Where to call this resource in this API, for example /api/v0/feedback/8x7k2mN.
The path to this resource. It starts with a / and carries no domain, so join it to https://inputbuffer.io for a full URL.
Where a person can open this resource in InputBuffer, for example /o/yoyodyne/feedback/8x7k2mN. Use it to link a user straight to the page. web is null when the resource has no page of its own.
The path to this resource. It starts with a / and carries no domain, so join it to https://inputbuffer.io for a full URL.
The links for the objects embedded in this resource, keyed by the field each one sits at. A value is null when the embedded object has nothing to link to. {} when the resource embeds nothing.
401The API token is missing, malformed, or revoked.
The API token is missing, malformed, or revoked.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
404No feedback matches this ID in your organization (feedback-not-found).
No feedback matches this ID in your organization (feedback-not-found).
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
500Something went wrong on our end.
Something went wrong on our end.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
/api/v0/feedback/{feedback_id}Update a piece of feedback
Partially update existing feedback using RFC 7396 JSON Merge Patch. Omit a field to leave it unchanged, send a value to set it, send null to remove it. Arrays replace wholesale.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
The updated summary of the feedback. Send null to clear it.
The updated full text of the feedback.
Whether this feedback needs human review.
The updated submitter identifier: an email address, your own user id, or an anonymous token. Send null to clear it.
A single piece of feedback. Every endpoint that returns feedback returns the same fields.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
A short summary of the feedback.
The full text of the feedback or bug report.
Whether this feedback needs human review.
A free-form identifier supplied at creation for whoever submitted this feedback, such as your own user id or an anonymous token. Treated as an opaque string and never parsed.
Where this feedback is in routing.
pending: routing has not finished yet. ReadGET /api/v0/feedback/{feedback_id}again for the result.routed: routing finished. FetchGET /api/v0/feedback/{feedback_id}/buffersfor the buffers it chose; an empty list means nothing matched, which is a result rather than an error.skipped: routing did not run, because AI routing is turned off for your organization, or because your organization has no buffers and does not create them automatically.failed: routing could not be completed.GET /api/v0/feedback/{feedback_id}/buffersshows only the buffers you assigned by hand. Run routing again from the feedback's page.
The ISO 8601 timestamp when the feedback was created.
The ISO 8601 timestamp when the feedback was last modified.
The response metadata for a single resource.
The links for the resource in data.
Where to call this resource in this API, for example /api/v0/feedback/8x7k2mN.
The path to this resource. It starts with a / and carries no domain, so join it to https://inputbuffer.io for a full URL.
Where a person can open this resource in InputBuffer, for example /o/yoyodyne/feedback/8x7k2mN. Use it to link a user straight to the page. web is null when the resource has no page of its own.
The path to this resource. It starts with a / and carries no domain, so join it to https://inputbuffer.io for a full URL.
The links for the objects embedded in this resource, keyed by the field each one sits at. A value is null when the embedded object has nothing to link to. {} when the resource embeds nothing.
401The API token is missing, malformed, or revoked.
The API token is missing, malformed, or revoked.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
403The token is valid but not permitted to perform this action.
The token is valid but not permitted to perform this action.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
404No feedback matches this ID in your organization (feedback-not-found).
No feedback matches this ID in your organization (feedback-not-found).
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
415The request body wasn't sent as application/json (or application/merge-patch+json, which PATCH also accepts). Set the Content-Type header and send a JSON-encoded body.
The request body wasn't sent as application/json (or application/merge-patch+json, which PATCH also accepts). Set the Content-Type header and send a JSON-encoded body.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
422A required field is missing or a field value is invalid. Check field.
A required field is missing or a field value is invalid. Check field.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
500Something went wrong on our end.
Something went wrong on our end.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
/api/v0/feedback/{feedback_id}Delete a piece of feedback
Permanently delete a piece of feedback. We can't bring it back.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
No response body
401The API token is missing, malformed, or revoked.
The API token is missing, malformed, or revoked.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
403The token is valid but not permitted to perform this action.
The token is valid but not permitted to perform this action.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
404feedback_id isn't a validly formed identifier (feedback-not-found).
feedback_id isn't a validly formed identifier (feedback-not-found).
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
415The request body wasn't sent as application/json (or application/merge-patch+json, which PATCH also accepts). Set the Content-Type header and send a JSON-encoded body.
The request body wasn't sent as application/json (or application/merge-patch+json, which PATCH also accepts). Set the Content-Type header and send a JSON-encoded body.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
500Something went wrong on our end.
Something went wrong on our end.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
/api/v0/feedback/{feedback_id}/buffersList the buffers for a piece of feedback
The buffers routing put this feedback in, plus any you assigned by hand. They all come back in a single response. Buffers you have deleted are left out, matching GET /api/v0/buffers.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
The buffers this feedback is assigned to. Empty when the classifier found no match, which is a result rather than an error.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
The display name of the buffer.
The URL-safe identifier for the buffer.
The response metadata for a list that returns everything at once, so there is no pagination.
The links for the list itself.
Where to call this resource in this API, for example /api/v0/feedback/8x7k2mN.
The path to this resource. It starts with a / and carries no domain, so join it to https://inputbuffer.io for a full URL.
Where a person can open this resource in InputBuffer, for example /o/yoyodyne/feedback/8x7k2mN. Use it to link a user straight to the page. web is null when the resource has no page of its own.
The path to this resource. It starts with a / and carries no domain, so join it to https://inputbuffer.io for a full URL.
The links for each item in data, keyed by that item's id.
401The API token is missing, malformed, or revoked.
The API token is missing, malformed, or revoked.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
404No feedback matches this ID in your organization (feedback-not-found).
No feedback matches this ID in your organization (feedback-not-found).
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
500Something went wrong on our end.
Something went wrong on our end.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
/api/v0/feedback/{feedback_id}/targetsList the targets for a piece of feedback
The targets this feedback points at.
Creating feedback accepts targets but does not return them, so this is where you read what your submission resolved to. Two targets of the same type and metadata are the same target, so the one you get back may be a target that already existed.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
The targets this feedback points at. Empty when none were supplied at creation.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
Which kind of surface this target identifies. Immutable after create.
A human-readable label, derived from metadata when the target was created.
The details identifying the target. Which fields it carries depends on type; the shape for each type is listed below.
One of the following:
Rest Endpoint Metadata
The HTTP method (e.g. GET, POST).
The API endpoint path.
The hostname of the API (e.g. api.example.com).
The API version string (e.g. v1).
Documentation Metadata
The URL of the documentation page.
The section heading within the page.
The documentation version string.
Cli Command Metadata
The CLI command name.
The subcommand path, which may be multi-word (e.g. "container run").
The CLI version string.
The documented flags and args, e.g. ["--rm", "--network"].
The response metadata for a list that returns everything at once, so there is no pagination.
The links for the list itself.
Where to call this resource in this API, for example /api/v0/feedback/8x7k2mN.
The path to this resource. It starts with a / and carries no domain, so join it to https://inputbuffer.io for a full URL.
Where a person can open this resource in InputBuffer, for example /o/yoyodyne/feedback/8x7k2mN. Use it to link a user straight to the page. web is null when the resource has no page of its own.
The path to this resource. It starts with a / and carries no domain, so join it to https://inputbuffer.io for a full URL.
The links for each item in data, keyed by that item's id.
401The API token is missing, malformed, or revoked.
The API token is missing, malformed, or revoked.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
404No feedback matches this ID in your organization (feedback-not-found).
No feedback matches this ID in your organization (feedback-not-found).
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
500Something went wrong on our end.
Something went wrong on our end.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
/api/v0/feedback/{feedback_id}/notesList the notes on a piece of feedback
Retrieve all the notes on a piece of feedback.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
All notes on this feedback, ordered oldest first.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
The id of the feedback this note belongs to.
The text content of the note.
note for manual comments, activity for system-generated events.
The id of the team member who wrote this note.
The display name of the note author, for printing a timeline without a second request. null when that person no longer has an account.
The ISO 8601 timestamp when the note was created.
The response metadata. Always present, and empty here because the response names no resource that could be linked to.
401The API token is missing, malformed, or revoked.
The API token is missing, malformed, or revoked.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
404No feedback matches this ID in your organization (feedback-not-found).
No feedback matches this ID in your organization (feedback-not-found).
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
500Something went wrong on our end.
Something went wrong on our end.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
/api/v0/feedback/{feedback_id}/notesAdd a note
Add an internal note to a piece of feedback.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
The text content of the note.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
The id of the feedback this note belongs to.
The text content of the note.
note for manual comments, activity for system-generated events.
The id of the team member who wrote this note.
The display name of the note author, for printing a timeline without a second request. null when that person no longer has an account.
The ISO 8601 timestamp when the note was created.
The response metadata. Always present, and empty here because the response names no resource that could be linked to.
401The API token is missing, malformed, or revoked.
The API token is missing, malformed, or revoked.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
403The token is valid but not permitted to perform this action.
The token is valid but not permitted to perform this action.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
404No feedback matches this ID in your organization (feedback-not-found).
No feedback matches this ID in your organization (feedback-not-found).
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
415The request body wasn't sent as application/json (or application/merge-patch+json, which PATCH also accepts). Set the Content-Type header and send a JSON-encoded body.
The request body wasn't sent as application/json (or application/merge-patch+json, which PATCH also accepts). Set the Content-Type header and send a JSON-encoded body.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
422A required field is missing or a field value is invalid. Check field.
A required field is missing or a field value is invalid. Check field.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.
500Something went wrong on our end.
Something went wrong on our end.
A URI identifying the error type. Stable across releases, so it is safe to switch on.
A short label for the error type.
An explanation of this specific occurrence. May change between releases, so don't parse it.
The HTTP status code, mirroring the response status.
Who most likely caused the problem. user means the person using your app sent something the API rejected, such as a bad value or too many requests; detail is safe to show them. integration means the problem is in your own setup or code, so show them something generic and log detail for yourself. Omitted on internal-error.
Which request field caused the error. Present only on missing-required-field and invalid-field-value.