Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/feedback1-ai:feedback1-ai-feedback-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Feedback1 Public Feedback API
description: '## Feedback1 Public API
REST API for programmatic access to Feedback1 data.
### Authentication
All endpoints require a Bearer token (API key) in the `Authorization` header:
```
Authorization: Bearer your_api_key_here
```
You can create API keys in the Feedback1 dashboard under Settings > API Keys.
### Rate Limits
- 200 requests per minute per API key
- Rate limit headers are included in responses
### Base URL
```
https://app.feedback1.ai/api/v1
```'
version: 1.0.0
servers:
- url: /api/v1
tags:
- name: Feedback
description: Customer feedback management
paths:
/products/{product_id}/feedback:
get:
tags:
- Feedback
summary: List Feedback
description: 'List feedback for a product.
Supports filtering by state, type, contact, account, and date range.'
operationId: list_feedback_products__product_id__feedback_get
security:
- HTTPBearer: []
parameters:
- name: product_id
in: path
required: true
schema:
type: string
title: Product Id
- name: state_id
in: query
required: false
schema:
anyOf:
- type: integer
- type: 'null'
description: Filter by state ID
title: State Id
description: Filter by state ID
- name: type
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by type
title: Type
description: Filter by type
- name: contact_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by contact ID
title: Contact Id
description: Filter by contact ID
- name: account_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by account ID
title: Account Id
description: Filter by account ID
- name: created_after
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by creation date (ISO 8601)
title: Created After
description: Filter by creation date (ISO 8601)
- name: created_before
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by creation date (ISO 8601)
title: Created Before
description: Filter by creation date (ISO 8601)
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
description: Page number (1-based)
default: 1
title: Page
description: Page number (1-based)
- name: page_size
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 1
description: Items per page (max 100)
default: 20
title: Page Size
description: Items per page (max 100)
- name: sort_by
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Field to sort by
title: Sort By
description: Field to sort by
- name: sort_order
in: query
required: false
schema:
type: string
pattern: ^(asc|desc)$
description: Sort order
default: desc
title: Sort Order
description: Sort order
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/FeedbackListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- Feedback
summary: Create Feedback
description: 'Create new feedback.
You can optionally provide contact information to associate the feedback
with an existing contact or create a new one.'
operationId: create_feedback_products__product_id__feedback_post
security:
- HTTPBearer: []
parameters:
- name: product_id
in: path
required: true
schema:
type: string
title: Product Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FeedbackCreate'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PublicFeedbackResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/products/{product_id}/feedback/states:
get:
tags:
- Feedback
summary: List Feedback States
description: Get available feedback states for a product.
operationId: list_feedback_states_products__product_id__feedback_states_get
security:
- HTTPBearer: []
parameters:
- name: product_id
in: path
required: true
schema:
type: string
title: Product Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FeedbackStateResponse'
title: Response List Feedback States Products Product Id Feedback States Get
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/products/{product_id}/feedback/{feedback_id}:
get:
tags:
- Feedback
summary: Get Feedback
description: Get a specific feedback item by ID.
operationId: get_feedback_products__product_id__feedback__feedback_id__get
security:
- HTTPBearer: []
parameters:
- name: product_id
in: path
required: true
schema:
type: string
title: Product Id
- name: feedback_id
in: path
required: true
schema:
type: string
title: Feedback Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PublicFeedbackResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
put:
tags:
- Feedback
summary: Update Feedback
description: Update feedback.
operationId: update_feedback_products__product_id__feedback__feedback_id__put
security:
- HTTPBearer: []
parameters:
- name: product_id
in: path
required: true
schema:
type: string
title: Product Id
- name: feedback_id
in: path
required: true
schema:
type: string
title: Feedback Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FeedbackUpdate'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PublicFeedbackResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Feedback
summary: Delete Feedback
description: Delete feedback (soft delete).
operationId: delete_feedback_products__product_id__feedback__feedback_id__delete
security:
- HTTPBearer: []
parameters:
- name: product_id
in: path
required: true
schema:
type: string
title: Product Id
- name: feedback_id
in: path
required: true
schema:
type: string
title: Feedback Id
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/products/{product_id}/feedback/batch/update:
post:
tags:
- Feedback
summary: Batch Update Feedback
description: Batch update multiple feedback items.
operationId: batch_update_feedback_products__product_id__feedback_batch_update_post
security:
- HTTPBearer: []
parameters:
- name: product_id
in: path
required: true
schema:
type: string
title: Product Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FeedbackBatchUpdate'
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/products/{product_id}/feedback/batch/delete:
post:
tags:
- Feedback
summary: Batch Delete Feedback
description: Batch delete multiple feedback items (soft delete).
operationId: batch_delete_feedback_products__product_id__feedback_batch_delete_post
security:
- HTTPBearer: []
parameters:
- name: product_id
in: path
required: true
schema:
type: string
title: Product Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FeedbackBatchDelete'
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/products/{product_id}/feedback/{feedback_id}/comments:
get:
tags:
- Feedback
summary: List Feedback Comments
description: List comments on feedback.
operationId: list_feedback_comments_products__product_id__feedback__feedback_id__comments_get
security:
- HTTPBearer: []
parameters:
- name: product_id
in: path
required: true
schema:
type: string
title: Product Id
- name: feedback_id
in: path
required: true
schema:
type: string
title: Feedback Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/app__api__public_api__feedback__CommentListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- Feedback
summary: Create Feedback Comment
description: Add a comment to feedback.
operationId: create_feedback_comment_products__product_id__feedback__feedback_id__comments_post
security:
- HTTPBearer: []
parameters:
- name: product_id
in: path
required: true
schema:
type: string
title: Product Id
- name: feedback_id
in: path
required: true
schema:
type: string
title: Feedback Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommentCreate'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/app__api__public_api__feedback__CommentResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
FeedbackAccountInfo:
properties:
id:
anyOf:
- type: string
- type: 'null'
title: Id
name:
anyOf:
- type: string
- type: 'null'
title: Name
type: object
title: FeedbackAccountInfo
description: Account info in feedback response
FeedbackStateResponse:
properties:
id:
type: integer
title: Id
name:
type: string
title: Name
color:
anyOf:
- type: string
- type: 'null'
title: Color
sort_order:
type: integer
title: Sort Order
type: object
required:
- id
- name
- sort_order
title: FeedbackStateResponse
description: Feedback state definition
FeedbackStateInfo:
properties:
id:
type: integer
title: Id
name:
type: string
title: Name
color:
anyOf:
- type: string
- type: 'null'
title: Color
type: object
required:
- id
- name
title: FeedbackStateInfo
description: State info in feedback response
FeedbackBatchDelete:
properties:
ids:
items:
type: string
type: array
maxItems: 100
minItems: 1
title: Ids
type: object
required:
- ids
title: FeedbackBatchDelete
description: Batch delete request
PublicFeedbackResponse:
properties:
id:
type: string
title: Id
pub_id:
type: integer
title: Pub Id
content:
type: string
title: Content
type:
type: string
title: Type
state:
anyOf:
- $ref: '#/components/schemas/FeedbackStateInfo'
- type: 'null'
source_url:
anyOf:
- type: string
- type: 'null'
title: Source Url
sent_via:
type: string
title: Sent Via
score:
anyOf:
- type: integer
- type: 'null'
title: Score
score_type:
anyOf:
- type: string
- type: 'null'
title: Score Type
contact:
anyOf:
- $ref: '#/components/schemas/FeedbackContactInfo'
- type: 'null'
account:
anyOf:
- $ref: '#/components/schemas/FeedbackAccountInfo'
- type: 'null'
created_at:
type: string
format: date-time
title: Created At
updated_at:
type: string
format: date-time
title: Updated At
sentiment:
anyOf:
- type: string
- type: 'null'
title: Sentiment
sentiment_source:
anyOf:
- type: string
- type: 'null'
title: Sentiment Source
sentiment_confidence:
anyOf:
- type: number
- type: 'null'
title: Sentiment Confidence
sentiment_reason:
anyOf:
- type: string
- type: 'null'
title: Sentiment Reason
sentiment_analyzed_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Sentiment Analyzed At
sentiment_analysis_status:
anyOf:
- type: string
- type: 'null'
title: Sentiment Analysis Status
type: object
required:
- id
- pub_id
- content
- type
- sent_via
- created_at
- updated_at
title: PublicFeedbackResponse
description: Feedback response for Public API
FeedbackUpdate:
properties:
content:
anyOf:
- type: string
maxLength: 50000
minLength: 1
- type: 'null'
title: Content
type:
anyOf:
- type: string
- type: 'null'
title: Type
state_id:
anyOf:
- type: integer
- type: 'null'
title: State Id
description: State definition ID
source_url:
anyOf:
- type: string
maxLength: 2000
- type: 'null'
title: Source Url
type: object
title: FeedbackUpdate
description: Update feedback request
CommentCreate:
properties:
content:
type: string
maxLength: 10000
minLength: 1
title: Content
type: object
required:
- content
title: CommentCreate
description: Create comment request
FeedbackContactInfo:
properties:
id:
anyOf:
- type: string
- type: 'null'
title: Id
email:
anyOf:
- type: string
- type: 'null'
title: Email
name:
anyOf:
- type: string
- type: 'null'
title: Name
type: object
title: FeedbackContactInfo
description: Contact info in feedback response
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
FeedbackBatchUpdate:
properties:
ids:
items:
type: string
type: array
maxItems: 100
minItems: 1
title: Ids
state_id:
anyOf:
- type: integer
- type: 'null'
title: State Id
type:
anyOf:
- type: string
- type: 'null'
title: Type
type: object
required:
- ids
title: FeedbackBatchUpdate
description: Batch update request
app__api__public_api__feedback__CommentListResponse:
properties:
items:
items:
$ref: '#/components/schemas/app__api__public_api__feedback__CommentResponse'
type: array
title: Items
total:
type: integer
title: Total
type: object
required:
- items
- total
title: CommentListResponse
description: List of comments
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
FeedbackListResponse:
properties:
items:
items:
$ref: '#/components/schemas/PublicFeedbackResponse'
type: array
title: Items
total:
type: integer
title: Total
page:
type: integer
title: Page
page_size:
type: integer
title: Page Size
has_more:
type: boolean
title: Has More
type: object
required:
- items
- total
- page
- page_size
- has_more
title: FeedbackListResponse
description: Paginated list of feedback
app__api__public_api__feedback__CommentResponse:
properties:
id:
type: string
title: Id
content:
type: string
title: Content
author_name:
anyOf:
- type: string
- type: 'null'
title: Author Name
created_at:
type: string
format: date-time
title: Created At
updated_at:
type: string
format: date-time
title: Updated At
type: object
required:
- id
- content
- created_at
- updated_at
title: CommentResponse
description: Comment on feedback
FeedbackCreate:
properties:
content:
type: string
maxLength: 50000
minLength: 1
title: Content
type:
type: string
title: Type
description: 'Feedback type: general, bug, idea, question, praise, complaint'
default: general
source_url:
anyOf:
- type: string
maxLength: 2000
- type: 'null'
title: Source Url
sent_via:
type: string
maxLength: 50
title: Sent Via
default: api
score:
anyOf:
- type: integer
- type: 'null'
title: Score
description: Score value; requires score_type to interpret
score_type:
anyOf:
- type: string
- type: 'null'
title: Score Type
description: 'Score type: nps, csat, or ces'
contact_email:
anyOf:
- type: string
maxLength: 255
- type: 'null'
title: Contact Email
contact_name:
anyOf:
- type: string
maxLength: 255
- type: 'null'
title: Contact Name
contact_id:
anyOf:
- type: string
- type: 'null'
title: Contact Id
description: Existing CRM contact ID
account_name:
anyOf:
- type: string
maxLength: 255
- type: 'null'
title: Account Name
account_id:
anyOf:
- type: string
- type: 'null'
title: Account Id
description: Existing CRM account ID
type: object
required:
- content
title: FeedbackCreate
description: Create feedback request
securitySchemes:
HTTPBearer:
type: http
scheme: bearer