Forsta Notes API

The Notes API from Forsta — 2 operation(s) for notes.

Operations 4

GET /api/integration/panels/{panelId}/panelists/{panelistHash}/notes Retrieve Notes for a given panelist #
POST /api/integration/panels/{panelId}/panelists/{panelistHash}/notes Create a note for a given panelist #
PUT /api/integration/panels/{panelId}/panelists/{panelistHash}/notes/{noteId} Change the text for a given panelist note #
DELETE /api/integration/panels/{panelId}/panelists/{panelistHash}/notes/{noteId} Delete a given panelist note #

Documentation

Specifications

Other Resources

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/forsta-notes-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

forsta-notes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Integration Notes API
  version: ''
servers:
- url: https://{server}
  description: Replace server with your instance domain.
  variables:
    server:
      default: staging.panel.dev.focusvision.com/
      description: Server domain
tags:
- name: Notes
paths:
  /api/integration/panels/{panelId}/panelists/{panelistHash}/notes:
    get:
      operationId: panelistNoteGetNotes
      summary: Retrieve Notes for a given panelist
      description: Results are ordered by id ascending. Newest notes are returned last.
      tags:
      - Notes
      security:
      - BearerAuth: []
      parameters:
      - name: panelId
        in: path
        description: A panel Id.
        schema:
          type: integer
        required: true
      - name: panelistHash
        in: path
        description: A panelist hash.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                    note:
                      type: string
                example:
                - id: 12
                  note: note 1
                - id: 15
                  note: note 2
        '404':
          description: The panel id or panelist identifier was not found. The error message should provide detail about which parameter failed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                example:
                  error: Panel not found
    post:
      operationId: panelistNoteCreateNote
      summary: Create a note for a given panelist
      tags:
      - Notes
      security:
      - BearerAuth: []
      parameters:
      - name: panelId
        in: path
        description: A panel Id.
        schema:
          type: integer
        required: true
      - name: panelistHash
        in: path
        description: A panelist hash.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                note:
                  type: string
                  description: Note text
              required:
              - note
            example:
              note: Text to add
      responses:
        '201':
          description: Ok
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                example:
                  id: 12
        '400':
          description: Invalid note was passed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                example:
                  error: Invalid note
        '404':
          description: The panel id, panelist identifier or note id was not found. The error message should provide detail about which parameter failed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                example:
                  error: Panel not found
  /api/integration/panels/{panelId}/panelists/{panelistHash}/notes/{noteId}:
    put:
      operationId: panelistNoteModifyNote
      summary: Change the text for a given panelist note
      tags:
      - Notes
      security:
      - BearerAuth: []
      parameters:
      - name: panelId
        in: path
        description: A panel Id.
        schema:
          type: integer
        required: true
      - name: panelistHash
        in: path
        description: A panelist hash.
        required: true
        schema:
          type: string
      - name: noteId
        in: path
        description: Note Id.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                note:
                  type: string
                  description: Note text
              required:
              - note
            example:
              note: Text to update
      responses:
        '204':
          description: No response
        '400':
          description: Invalid note was passed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                example:
                  error: Invalid note
        '404':
          description: The panel id, panelist identifier or note id was not found. The error message should provide detail about which parameter failed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                example:
                  error: Panel not found
    delete:
      operationId: panelistNoteDeleteNote
      summary: Delete a given panelist note
      tags:
      - Notes
      security:
      - BearerAuth: []
      parameters:
      - name: panelId
        in: path
        description: A panel Id.
        schema:
          type: integer
        required: true
      - name: panelistHash
        in: path
        description: A panelist hash.
        required: true
        schema:
          type: string
      - name: noteId
        in: path
        description: Note Id.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No response.
        '404':
          description: The panel id, panelist identifier or note id was not found. The error message should provide detail about which parameter failed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                example:
                  error: Panel not found
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
    ApiKey:
      type: apiKey
      in: query
      name: sesKey
x-tagGroups:
- name: Data Input and Output
  tags:
  - Auth
  - Campaign
  - Category
  - Community
  - Datapoint
  - Panel
  - Notes
  - Panelist
  - Project
  - Reminder
  - Sample
  - Session
  - Survey
  - Token