Getting Started

Hand this to your AI assistant
Works with Claude Code, Cursor, and similar tools.
View prompt
Integrate the InputBuffer REST API into this project.

Start by reading the OpenAPI spec at https://inputbuffer.io/docs/api/openapi.yaml.
It is the complete contract: every endpoint, parameter, response schema, and error.

Then build a small typed client covering only the endpoints this project needs.

Rules to follow:
- The base URL is https://inputbuffer.io and every path starts with /api/v0/.
- Authenticate with "Authorization: Bearer YOUR_TOKEN". The token identifies the
  organization, so no other header is needed.
- Read the token from an environment variable named INPUTBUFFER_TOKEN. Tokens starting
  with "ib_" are server-side only and must never reach a browser.
- Every field is snake_case, in request bodies as well as responses. Unknown keys are
  discarded silently, so a 201 does not prove the payload was correct.
- Resource ids in this API are short ids such as "8x7k2mN", not UUIDs. Treat them as
  opaque strings.
- Errors are RFC 7807 problem documents. The human-readable message is in "detail",
  not "message". Handle 401, 403, 422, and 429 explicitly.

Error reference: https://inputbuffer.io/docs/api/problems
Product walkthrough: https://inputbuffer.io/docs/getting-started

Report anything about InputBuffer that gets in your way, at any point while we are working with
it: initial setup, and the styling, configuration, and debugging that follow. Include the times you
had to correct your own understanding of InputBuffer, such as a request field the API ignored, a
widget attribute that had no effect, or an error message read from the wrong key. A correction
unrelated to InputBuffer does not qualify. Show me the text, and send it once I agree:

curl -X POST https://inputbuffer.io/api/v0/feedback \
  -H "Authorization: Bearer ibw_96e7f571-64ad-494a-a125-afed734d3fdc_op1CeDTiptGa8fWRU25tKcgx6uubJ2wOlWvM0JbpY8Q" \
  -H "Content-Type: application/json" \
  -H "X-IB-Client: your-tool/version (your-model)" \
  -d '{ "description": "What you were trying to do, what happened instead, what would have helped" }'

That token is InputBuffer's own and accepts nothing but feedback, so there is nothing to set up.
Leave out "submitted_by". Send one report per problem, not one per attempt.

Step 1: Generate an API Key

1

Open your organization Settings

Log in to InputBuffer and open your organization. In the left sidebar, click Settings to expand the settings menu.

2

Go to API Tokens

Under Settings, click API Tokens. This page lists all active tokens for your organization.

Click the Create token button in the top-right corner.

3

Name your token and save it securely

Give your token a descriptive name, such as "Production Server" or "CI/CD Pipeline", then click Create token.

WarningThe token is shown only once. Copy it now and store it somewhere safe, because you can't get it back later.

Step 2: Make Your First Request

All API requests are authenticated with a Bearer token in the Authorization header. Requests are scoped to the organization the token belongs to.

Base URL

https://inputbuffer.io

Authentication header

Authorization: Bearer YOUR_API_TOKEN
NoteAPI tokens start with ib_ and widget tokens with ibw_. These prefixes let secret scanning tools like GitHub push protection automatically detect accidentally committed tokens. For example: ib_550e8400-e29b-41d4-a716-446655440000_Abc123...

Example: Submit feedback

curl -X POST https://inputbuffer.io/api/v0/feedback \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Dark mode support",
    "description": "Would love a dark mode option."
  }'
WarningFeedback content is sent to third-party AI services for classification and search. InputBuffer does not yet scrub content before processing, so avoid submitting personal information, credentials, or production secrets.

The response

A successful request returns 201 with the new feedback wrapped in data. Every success response also carries meta.

{
  "data": {
    "id": "8x7k2mN",
    "title": "Dark mode support",
    "description": "Would love a dark mode option.",
    "needs_review": false,
    "submitted_by": null,
    "routing_status": "pending",
    "created_at": "2026-03-01T12:00:00Z",
    "updated_at": "2026-03-01T12:00:00Z"
  },
  "meta": {
    "links": {
      "api": { "self": "/api/v0/feedback/8x7k2mN" },
      "web": { "self": "/o/your-org/feedback/8x7k2mN" }
    },
    "related": {}
  }
}

routing_status is pending because the AI classifier runs in the background. Join meta.links.web.self to https://inputbuffer.io to open the feedback in your dashboard.

If something goes wrong

  • A 401 means the token was not accepted. Check that you pasted the whole token, ib_ prefix included, with no extra whitespace.
  • A 403 means a full-access token was sent from a browser. Browsers must use a widget token instead. See the widget guide.
  • A 422 means a field failed validation. Read the field value in the response body to see which one. description is required, and title is optional.

Every error the API can return is listed in the API Errors reference.

Next Steps

  • Feedback API: Manage user feedback
  • Buffers API: Browse and manage classification buffers
  • Targets API: Endpoints, docs pages, and CLI commands that feedback can be attached to
  • Reactions API: Thumbs-up / thumbs-down votes on targets
  • Research API: Ask questions across your feedback and read the saved answers
  • Organization API: View organization information
  • API Errors: every error the API can return, with what causes it and how to recover
  • Product Walkthrough: set up an organization, a buffer, and your first routed feedback in the dashboard, without writing code