Buffers
Browse and manage classification buffers
/api/v0/buffersList buffers
Retrieve a paginated list of buffers with feedback counts.
Which page to return. Starts at 1.
How many results to return per page.
The buffers in this organization.
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.
A URL-safe identifier derived from the name, unique within the organization. Buffer endpoints accept it in place of the buffer's id, so GET /api/v0/buffers/onboarding-issues and GET /api/v0/buffers/3nK9pQx reach the same buffer. Renaming a buffer changes its slug and the old slug stops working, so the links in meta always use the id.
A description of what feedback this buffer collects.
The emoji or icon name shown next to the buffer.
The instructions that guide AI classification into this buffer.
Whether this buffer is an AI suggestion awaiting approval.
The number of feedback items currently assigned to this buffer.
The ISO 8601 timestamp when the buffer was created.
The ISO 8601 timestamp when the buffer was last modified.
The response metadata for a collection.
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.
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.
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/buffersCreate a buffer
Create a new buffer. The slug is automatically generated from the name and guaranteed to be unique within your organization.
The display name for the buffer.
A description of what feedback this buffer collects.
The emoji or icon name to show next to the buffer.
The instructions to guide AI classification into this buffer.
The single representation of a buffer. Every buffer endpoint (list, get, create, and update) returns all of these keys.
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.
A URL-safe identifier derived from the name, unique within the organization. Buffer endpoints accept it in place of the buffer's id, so GET /api/v0/buffers/onboarding-issues and GET /api/v0/buffers/3nK9pQx reach the same buffer. Renaming a buffer changes its slug and the old slug stops working, so the links in meta always use the id.
A description of what feedback this buffer collects.
The emoji or icon name shown next to the buffer.
The instructions that guide AI classification into this buffer.
Whether this buffer is an AI suggestion awaiting approval.
The number of feedback items currently assigned to this buffer.
The ISO 8601 timestamp when the buffer was created.
The ISO 8601 timestamp when the buffer 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.
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/buffers/{buffer_id}Get a buffer
Retrieve a single buffer by ID.
A buffer's id or its slug. Both reach the same buffer, so you can send whichever one you have. A slug changes when the buffer is renamed, and an id never changes.
The single representation of a buffer. Every buffer endpoint (list, get, create, and update) returns all of these keys.
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.
A URL-safe identifier derived from the name, unique within the organization. Buffer endpoints accept it in place of the buffer's id, so GET /api/v0/buffers/onboarding-issues and GET /api/v0/buffers/3nK9pQx reach the same buffer. Renaming a buffer changes its slug and the old slug stops working, so the links in meta always use the id.
A description of what feedback this buffer collects.
The emoji or icon name shown next to the buffer.
The instructions that guide AI classification into this buffer.
Whether this buffer is an AI suggestion awaiting approval.
The number of feedback items currently assigned to this buffer.
The ISO 8601 timestamp when the buffer was created.
The ISO 8601 timestamp when the buffer 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 buffer matches this id or slug in your organization (buffer-not-found).
No buffer matches this id or slug in your organization (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/buffers/{buffer_id}Update a buffer
Partially update a buffer using RFC 7396 JSON Merge Patch. Omit a field to leave it unchanged, send a value to set it, send null to remove it.
A buffer's id or its slug. Both reach the same buffer, so you can send whichever one you have. A slug changes when the buffer is renamed, and an id never changes.
The display name for the buffer. Changing it regenerates the slug.
A description of what feedback this buffer collects. Send null to clear it.
The emoji or icon name to show next to the buffer. Send null to clear it.
The instructions to guide AI classification into this buffer. Send null to clear them.
Whether this buffer is an AI suggestion awaiting approval.
The single representation of a buffer. Every buffer endpoint (list, get, create, and update) returns all of these keys.
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.
A URL-safe identifier derived from the name, unique within the organization. Buffer endpoints accept it in place of the buffer's id, so GET /api/v0/buffers/onboarding-issues and GET /api/v0/buffers/3nK9pQx reach the same buffer. Renaming a buffer changes its slug and the old slug stops working, so the links in meta always use the id.
A description of what feedback this buffer collects.
The emoji or icon name shown next to the buffer.
The instructions that guide AI classification into this buffer.
Whether this buffer is an AI suggestion awaiting approval.
The number of feedback items currently assigned to this buffer.
The ISO 8601 timestamp when the buffer was created.
The ISO 8601 timestamp when the buffer 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 buffer matches this id or slug in your organization (buffer-not-found).
No buffer matches this id or slug in your organization (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.
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/buffers/{buffer_id}Delete a buffer
Delete a buffer. It stops collecting feedback right away. Any feedback that was in it is safe and stays in your feedback list; it just no longer points to this buffer. We hold a deleted buffer for a short while before removing it for good, so get in touch soon if you delete one by mistake.
A buffer's id or its slug. Both reach the same buffer, so you can send whichever one you have. A slug changes when the buffer is renamed, and an id never changes.
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.
404No buffer matches this id or slug in your organization (buffer-not-found).
No buffer matches this id or slug in your organization (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.
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/buffers/{buffer_id}/feedbackList a buffer's feedback
The feedback in this buffer, newest first. These are the same feedback objects GET /api/v0/feedback returns.
GET /api/v0/feedback?buffer_id= returns the same feedback and additionally composes with search, needs_review, and sort_by. Use that when you need to filter or sort; use this when you just want the buffer's contents.
A buffer's id or its slug. Both reach the same buffer, so you can send whichever one you have. A slug changes when the buffer is renamed, and an id never changes.
Which page to return. Starts at 1.
How many results to return per page.
The feedback in this buffer.
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.
The X-IB-Client header sent with the request that created this feedback, exactly as it arrived. The widget sends one automatically, and an AI agent sends one when its instructions ask it to. client is null when the request had no X-IB-Client header. To list the feedback from one tool, use the client_group parameter on GET /api/v0/feedback.
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 collection.
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.
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 buffer matches this id or slug in your organization (buffer-not-found).
No buffer matches this id or slug in your organization (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/buffers/{buffer_id}/feedback/{feedback_id}Add a piece of feedback to a buffer
Put a piece of feedback into this buffer yourself, rather than waiting for routing to place it. Correcting routing this way also improves it: if it had chosen a different buffer, your choice is kept as an example for next time.
A buffer's id or its slug. Both reach the same buffer, so you can send whichever one you have. A slug changes when the buffer is renamed, and an id never changes.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
GET /api/v0/buffers/{buffer_id}/feedback.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.
404The buffer (buffer-not-found) or the feedback (feedback-not-found) does not exist in your organization.
The buffer (buffer-not-found) or the feedback (feedback-not-found) does not exist in your organization.
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/buffers/{buffer_id}/feedback/{feedback_id}Remove a piece of feedback from a buffer
Take a piece of feedback out of this buffer. The feedback itself is not deleted, and any other buffers it is in are unaffected.
A buffer's id or its slug. Both reach the same buffer, so you can send whichever one you have. A slug changes when the buffer is renamed, and an id never changes.
A unique identifier for a resource. Treat it as an opaque string: don't parse it or build your own.
GET /api/v0/buffers/{buffer_id}/feedback.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.
404The buffer (buffer-not-found) or the feedback (feedback-not-found) does not exist in your organization.
The buffer (buffer-not-found) or the feedback (feedback-not-found) does not exist in your organization.
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/buffers/{buffer_id}/move-allMove all feedback to another buffer
Move all the feedback currently assigned to this buffer into another buffer in your organization.
The buffer to move feedback out of.
A buffer's id or its slug. Both reach the same buffer, so you can send whichever one you have. A slug changes when the buffer is renamed, and an id never changes.
The number of feedback items moved to the target buffer.
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.
404The source or destination buffer does not exist in your organization (buffer-not-found).
The source or destination buffer does not exist in your organization (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.
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/routing/testTest the routing logic
Try a piece of feedback against your buffers and their routing instructions, and see where it would land. The body takes the same description and title you would send to create the feedback for real, so a payload that works here works there. Nothing is created or saved. You can also replace one or more buffers' routing_instructions for this call only, to try a rule change before you commit to it.
The feedback title to route. Routing runs on the description alone without it.
The feedback description to route.
Replace routing_instructions for these buffers for this call only. An id that doesn't match a buffer in your organization is a 404.
The buffer the AI would route this feedback to, or null if none matched.
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 AI's explanation for the match, or lack of one.
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.
403AI routing is disabled for this organization (forbidden), or a widget-scoped token was used. This endpoint is full-access only (widget-token-restricted).
AI routing is disabled for this organization (forbidden), or a widget-scoped token was used. This endpoint is full-access only (widget-token-restricted).
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.
404A buffer_overrides[].id doesn't match a buffer in your organization (buffer-not-found).
A buffer_overrides[].id doesn't match a buffer in your organization (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.
409Your organization has no buffers to test against (conflict).
Your organization has no buffers to test against (conflict).
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.