Simple AI Feedback API

The Feedback API from Simple AI — 3 operation(s) for feedback.

Operations 3

POST /feedback/{uuid}/resolve Resolve Feedback #
POST /feedback/{uuid}/notes Add Feedback Note #
GET /feedback List Feedback #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/simple-ai:simple-ai-feedback-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

simple-ai-feedback-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Public API v1 Feedback API
  description: 'Public API v1 requiring API keys.


    **Timestamps:** All datetime fields in API responses are returned in UTC using ISO 8601 format (e.g., `2024-01-15T14:30:00Z`). When filtering by date parameters, provide timestamps in ISO 8601 format.'
  version: 0.1.0
servers:
- url: https://api.usesimple.ai/api/v1
  description: Production API Server
tags:
- name: Feedback
paths:
  /feedback/{uuid}/resolve:
    post:
      tags:
      - Feedback
      summary: Resolve Feedback
      description: Mark a feedback entry as fixed, or reopen it. Equivalent to the dashboard's "Mark as fixed" control.
      operationId: resolve_feedback_feedback__uuid__resolve_post
      security:
      - APIKeyHeader: []
      parameters:
      - name: uuid
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: UUID
        description: The UUID of the feedback entry
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - resolved
              properties:
                resolved:
                  type: boolean
                  title: Resolved
                  description: true marks the feedback as fixed; false reopens it
                note:
                  type: string
                  title: Note
                  description: Optional note to attach alongside the resolution change; the note author is recorded as 'API'
              title: Resolve Feedback Request
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                required:
                - success
                - feedback
                properties:
                  success:
                    type: boolean
                    title: Success
                  feedback:
                    $ref: '#/components/schemas/UtteranceFeedbackResponse'
                title: Resolve Feedback Response
        '404':
          description: Feedback not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /feedback/{uuid}/notes:
    post:
      tags:
      - Feedback
      summary: Add Feedback Note
      description: Attach a note to a feedback entry without changing whether it is resolved. Equivalent to adding a note in the dashboard.
      operationId: add_feedback_note_feedback__uuid__notes_post
      security:
      - APIKeyHeader: []
      parameters:
      - name: uuid
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: UUID
        description: The UUID of the feedback entry
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - note
              properties:
                note:
                  type: string
                  minLength: 1
                  title: Note
                  description: The note text; the note author is recorded as 'API'
              title: Add Feedback Note Request
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                required:
                - success
                - feedback_uuid
                - note
                properties:
                  success:
                    type: boolean
                    title: Success
                  feedback_uuid:
                    type: string
                    format: uuid
                    title: Feedback UUID
                    description: The UUID of the feedback entry the note was added to
                  note:
                    type: object
                    required:
                    - author_name
                    - note_text
                    - created_at
                    properties:
                      author_name:
                        type: string
                        title: Author Name
                        description: Always 'API' for notes created with an API key
                      note_text:
                        type: string
                        title: Note Text
                      created_at:
                        type: string
                        format: date-time
                        title: Created At
                    title: Feedback Note
                title: Add Feedback Note Response
        '404':
          description: Feedback not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /feedback:
    get:
      tags:
      - Feedback
      summary: List Feedback
      description: List utterance feedback left on call transcripts for your organization. Supports filtering and pagination.
      operationId: list_feedback_feedback_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Page
        description: Page number for pagination
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          default: 20
          maximum: 100
          title: Page Size
        description: Number of feedback entries per page (max 100)
      - name: category
        in: query
        required: false
        schema:
          type: string
          enum:
          - wrong_action
          - skipped_verification
          - incorrect_information
          - transfer_handling
          - conversation_quality
          - data_integration
          - transcription_error
          - interruption_handling
          - tag_error
          - other
          title: Category
        description: Filter by feedback category. See the List Feedback guide for what each category means.
      - name: priority
        in: query
        required: false
        schema:
          type: string
          enum:
          - critical
          - high
          - medium
          - low
          - unspecified
          title: Priority
        description: Filter by reviewer-assigned priority. Use `unspecified` for feedback that has no priority.
      - name: agent_id
        in: query
        required: false
        schema:
          type: string
          format: uuid
          title: Agent ID
        description: Filter by agent UUID
      - name: call_id
        in: query
        required: false
        schema:
          type: string
          format: uuid
          title: Call ID
        description: Filter by call UUID
      - name: resolved
        in: query
        required: false
        schema:
          type: boolean
          title: Resolved
        description: Filter by resolved state (true = marked as fixed, false = open)
      - name: created_at_gte
        in: query
        required: false
        schema:
          type: string
          format: date-time
          title: Created At Greater Than or Equal
        description: Filter feedback created at or after this datetime (ISO 8601 format)
      - name: created_at_lte
        in: query
        required: false
        schema:
          type: string
          format: date-time
          title: Created At Less Than or Equal
        description: Filter feedback created at or before this datetime (ISO 8601 format)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  feedback:
                    type: array
                    items:
                      $ref: '#/components/schemas/UtteranceFeedbackResponse'
                  total_count:
                    type: integer
                    title: Total Count
                  page:
                    type: integer
                    title: Page
                  page_size:
                    type: integer
                    title: Page Size
                  total_pages:
                    type: integer
                    title: Total Pages
                required:
                - feedback
                - total_count
                - page
                - page_size
                - total_pages
                title: Utterance Feedback List Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    UtteranceFeedbackNoteResponse:
      type: object
      required:
      - note_text
      - created_at
      properties:
        author_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Author Name
          description: Display name of the note author
        note_text:
          type: string
          title: Note Text
          description: The text content of the note
        created_at:
          type: string
          format: date-time
          title: Created At
          description: When the note was created
      title: Utterance Feedback Note Response
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    UtteranceFeedbackResponse:
      type: object
      required:
      - uuid
      - transcript_entry_id
      - feedback_text
      - resolved
      - created_at
      - notes
      - anchors
      properties:
        uuid:
          type: string
          format: uuid
          title: UUID
          description: Unique identifier for the feedback entry
        call_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Call ID
          description: UUID of the call the feedback belongs to
        transcript_entry_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Transcript Entry ID
          description: Identifier of the first transcript entry (utterance) the feedback was left on; null for feedback on the call as a whole
        category:
          anyOf:
          - type: string
            enum:
            - wrong_action
            - skipped_verification
            - incorrect_information
            - transfer_handling
            - conversation_quality
            - data_integration
            - transcription_error
            - interruption_handling
            - tag_error
            - other
          - type: 'null'
          title: Category
          description: Feedback category, auto-assigned when the feedback is created unless the reviewer picked one. Null when not yet categorized.
        priority:
          anyOf:
          - type: string
            enum:
            - critical
            - high
            - medium
            - low
          - type: 'null'
          title: Priority
          description: Reviewer-assigned priority. Null when the reviewer did not set one.
        utterance_text:
          anyOf:
          - type: string
          - type: 'null'
          title: Utterance Text
          description: Text of the utterance the feedback was left on
        utterance_role:
          anyOf:
          - type: string
          - type: 'null'
          title: Utterance Role
          description: Speaker role of the utterance (e.g. 'assistant' or 'user')
        feedback_text:
          type: string
          title: Feedback Text
          description: The feedback left by the reviewer
        corrected_response:
          anyOf:
          - type: string
          - type: 'null'
          title: Corrected Response
          description: Suggested corrected response, if one was provided
        agent_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Agent ID
          description: UUID of the agent the feedback was recorded against
        agent_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Agent Name
          description: Name of the agent at the time the feedback was created
        node_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Node Name
          description: Name of the agent node the utterance came from, if known
        resolved:
          type: boolean
          title: Resolved
          description: Whether the feedback has been marked as fixed
        resolved_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Resolved At
          description: When the feedback was marked as fixed (null if unresolved)
        created_at:
          type: string
          format: date-time
          title: Created At
          description: When the feedback was created
        submitted_by:
          anyOf:
          - type: object
            properties:
              email:
                anyOf:
                - type: string
                - type: 'null'
                title: Email
                description: Submitter's email address
              first_name:
                anyOf:
                - type: string
                - type: 'null'
                title: First Name
                description: Submitter's first name
              last_name:
                anyOf:
                - type: string
                - type: 'null'
                title: Last Name
                description: Submitter's last name
          - type: 'null'
          title: Submitted By
          description: The user who submitted the feedback (null if unavailable)
        notes:
          type: array
          items:
            $ref: '#/components/schemas/UtteranceFeedbackNoteResponse'
          title: Notes
          description: Discussion notes attached to the feedback entry
        anchors:
          type: array
          items:
            type: object
            required:
            - transcript_entry_id
            - text
            properties:
              transcript_entry_id:
                type: string
                title: Transcript Entry ID
              text:
                type: string
                title: Text
                description: Text of the utterance
              role:
                anyOf:
                - type: string
                - type: 'null'
                title: Role
                description: Who spoke the utterance, e.g. assistant or user
            title: Feedback Anchor
          title: Anchors
          description: Every transcript entry the feedback points at, in conversation order. Empty for feedback on the call as a whole, and for older feedback stored without utterance text (transcript_entry_id is still set for those). Otherwise transcript_entry_id, utterance_text and utterance_role mirror the first anchor.
      title: Utterance Feedback Response
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  securitySchemes:
    APIKeyHeader:
      type: http
      scheme: bearer
      description: 'Your API key, sent as `Authorization: Bearer YOUR_API_KEY`'