For the complete documentation index, see llms.txt. This page is also available as Markdown.

Your Data & Privacy

List what you've pushed and erase it again — POST /feedback/erase handles GDPR erasure requests by external_id or customer_id for API-pushed rows.

List pushed feedback items (cursor-paginated)

get

Keyset-paginated listing of items the Input API ingested for this org (never native survey responses). Filter by source_id and/or field_id; pass the returned next_cursor back as cursor to fetch the next page. Ordered by item id ascending, so pages are stable while new items land.

Response envelope migration: during the current migration window, 2xx responses carry the bare payload shown in the example (the value of the schema's data property, without the {"data": ...} wrapper). The Deprecation and Sunset headers on every 2xx announce this envelope migration — they do not deprecate the endpoint itself. After the Sunset date, responses will be wrapped as {"data": ...} exactly as the schema declares.

Authorizations
AuthorizationstringRequired

API key authentication: pass your key in the Authorization header as Bearer inpk_live_... (or inpk_test_... for a test-environment key). Create and manage keys in the dashboard under Integrations Hub -> API Keys. Each key carries a permission scope (push, create, send, mcp_read, or all) and a per-minute rate limit.

Query parameters
source_idstringOptional
field_idstringOptional
cursorstringOptional

Opaque cursor from the previous page's next_cursor

limitinteger · min: 1 · max: 200OptionalDefault: 50
Responses
200

Success

application/json
get/api/input/feedback
GET /api/input/feedback HTTP/1.1
Host: app.boundary-ai.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "id": 88123,
      "source_id": 9021,
      "field_id": 31245,
      "type": "text",
      "text": "Support resolved my issue in one call.",
      "numeric": null,
      "external_id": "ticket-58121",
      "metadata": null,
      "source_reference": "crm-sync",
      "occurred_at": "2026-07-12T09:30:00Z"
    }
  ],
  "next_cursor": "88123",
  "has_more": true
}

Bulk-erase pushed feedback (erasure requests)

post

Deletes items the Input API ingested, selected by external_ids (item-level) or customer_id (erases every item whose ingest metadata carries that customer — the GDPR erasure shape). Exactly one selector is required; feedback_group_id optionally narrows the scope. Only API-pushed rows are ever touched. Existing analyses are not rewritten retroactively — they drop the erased items on their next run.

Requires permission: push or create or all.

Response envelope migration: during the current migration window, 2xx responses carry the bare payload shown in the example (the value of the schema's data property, without the {"data": ...} wrapper). The Deprecation and Sunset headers on every 2xx announce this envelope migration — they do not deprecate the endpoint itself. After the Sunset date, responses will be wrapped as {"data": ...} exactly as the schema declares.

Authorizations
AuthorizationstringRequired

API key authentication: pass your key in the Authorization header as Bearer inpk_live_... (or inpk_test_... for a test-environment key). Create and manage keys in the dashboard under Integrations Hub -> API Keys. Each key carries a permission scope (push, create, send, mcp_read, or all) and a per-minute rate limit.

Header parameters
Idempotency-Keystring · max: 255Optional

Opaque retry key (24h window).

Body

Selector for a bulk erasure. Exactly one of external_ids / customer_id is required; feedback_group_id optionally narrows scope.

external_idsstring[] · max: 1000 · nullableOptionalDefault: null
customer_idstring · nullableOptional

Erase every item whose ingest metadata carries this customer_id

Default: null
feedback_group_idstring · nullableOptionalDefault: null
Responses
200

Success

application/json
post/api/input/feedback/erase
POST /api/input/feedback/erase HTTP/1.1
Host: app.boundary-ai.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 44

{
  "external_ids": [
    "ticket-58121",
    "rev-4471"
  ]
}
{
  "status": "success",
  "deleted": 2,
  "sources_affected": 1,
  "message": "Deleted 2 item(s) across 1 source(s)"
}

Last updated