RingCentral · Capability

RingCentral API — Notes

RingCentral API — Notes. 8 operations. Lead operation: List Notes. Self-contained Naftiko capability covering one Ringcentral business surface.

Run with Naftiko RingcentralNotes

What You Can Do

GET
Listchatnotesnew — List Notes
/v1/team-messaging/v1/chats/{chatid}/notes
POST
Createchatnotenew — Create Note
/v1/team-messaging/v1/chats/{chatid}/notes
GET
Readusernotenew — Get Note
/v1/team-messaging/v1/notes/{noteid}
DELETE
Deletenotenew — Delete Note
/v1/team-messaging/v1/notes/{noteid}
PATCH
Patchnotenew — Update Note
/v1/team-messaging/v1/notes/{noteid}
POST
Locknotenew — Lock Note
/v1/team-messaging/v1/notes/{noteid}/lock
POST
Publishnotenew — Publish Note
/v1/team-messaging/v1/notes/{noteid}/publish
POST
Unlocknotenew — Unlock Note
/v1/team-messaging/v1/notes/{noteid}/unlock

MCP Tools

list-notes

List Notes

read-only idempotent
create-note

Create Note

get-note

Get Note

read-only idempotent
delete-note

Delete Note

idempotent
update-note

Update Note

idempotent
lock-note

Lock Note

publish-note

Publish Note

unlock-note

Unlock Note

Capability Spec

platform-notes.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: RingCentral API — Notes
  description: 'RingCentral API — Notes. 8 operations. Lead operation: List Notes. Self-contained Naftiko capability covering
    one Ringcentral business surface.'
  tags:
  - Ringcentral
  - Notes
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    RINGCENTRAL_API_KEY: RINGCENTRAL_API_KEY
capability:
  consumes:
  - type: http
    namespace: platform-notes
    baseUri: https://platform.ringcentral.com
    description: RingCentral API — Notes business capability. Self-contained, no shared references.
    resources:
    - name: team-messaging-v1-chats-chatId-notes
      path: /team-messaging/v1/chats/{chatId}/notes
      operations:
      - name: listchatnotesnew
        method: GET
        description: List Notes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: chatId
          in: path
          type: string
          description: Internal identifier of a chat to fetch notes from.
          required: true
        - name: creationTimeTo
          in: query
          type: string
          description: The end datetime for resulting records in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
        - name: creationTimeFrom
          in: query
          type: string
          description: The start datetime for resulting records in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
        - name: creatorId
          in: query
          type: string
          description: Internal identifier of the user that created the note. Multiple
        - name: status
          in: query
          type: string
          description: Status of notes to be fetched; if not specified all notes are
        - name: pageToken
          in: query
          type: string
          description: Pagination token
        - name: recordCount
          in: query
          type: integer
          description: Max number of notes to be fetched by one request; the value range is 1-250.
      - name: createchatnotenew
        method: POST
        description: Create Note
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: chatId
          in: path
          type: string
          description: Internal identifier of a chat to create a note in
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: team-messaging-v1-notes-noteId
      path: /team-messaging/v1/notes/{noteId}
      operations:
      - name: readusernotenew
        method: GET
        description: Get Note
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: noteId
          in: path
          type: string
          description: Internal identifier of a note to be fetched
          required: true
      - name: deletenotenew
        method: DELETE
        description: Delete Note
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: noteId
          in: path
          type: string
          description: Internal identifier of a note to be deleted
          required: true
      - name: patchnotenew
        method: PATCH
        description: Update Note
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: noteId
          in: path
          type: string
          description: Internal identifier of a note to be updated
          required: true
        - name: releaseLock
          in: query
          type: boolean
          description: If true then note lock (if any) will be released upon request
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: team-messaging-v1-notes-noteId-lock
      path: /team-messaging/v1/notes/{noteId}/lock
      operations:
      - name: locknotenew
        method: POST
        description: Lock Note
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: noteId
          in: path
          type: string
          description: Internal identifier of a note to be locked
          required: true
    - name: team-messaging-v1-notes-noteId-publish
      path: /team-messaging/v1/notes/{noteId}/publish
      operations:
      - name: publishnotenew
        method: POST
        description: Publish Note
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: noteId
          in: path
          type: string
          description: Internal identifier of a note to be published
          required: true
    - name: team-messaging-v1-notes-noteId-unlock
      path: /team-messaging/v1/notes/{noteId}/unlock
      operations:
      - name: unlocknotenew
        method: POST
        description: Unlock Note
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: noteId
          in: path
          type: string
          description: Internal identifier of a note to be unlocked
          required: true
    authentication:
      type: bearer
      token: '{{env.RINGCENTRAL_API_KEY}}'
  exposes:
  - type: rest
    namespace: platform-notes-rest
    port: 8080
    description: REST adapter for RingCentral API — Notes. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/team-messaging/v1/chats/{chatid}/notes
      name: team-messaging-v1-chats-chatid-notes
      description: REST surface for team-messaging-v1-chats-chatId-notes.
      operations:
      - method: GET
        name: listchatnotesnew
        description: List Notes
        call: platform-notes.listchatnotesnew
        with:
          chatId: rest.chatId
          creationTimeTo: rest.creationTimeTo
          creationTimeFrom: rest.creationTimeFrom
          creatorId: rest.creatorId
          status: rest.status
          pageToken: rest.pageToken
          recordCount: rest.recordCount
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createchatnotenew
        description: Create Note
        call: platform-notes.createchatnotenew
        with:
          chatId: rest.chatId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/team-messaging/v1/notes/{noteid}
      name: team-messaging-v1-notes-noteid
      description: REST surface for team-messaging-v1-notes-noteId.
      operations:
      - method: GET
        name: readusernotenew
        description: Get Note
        call: platform-notes.readusernotenew
        with:
          noteId: rest.noteId
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletenotenew
        description: Delete Note
        call: platform-notes.deletenotenew
        with:
          noteId: rest.noteId
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchnotenew
        description: Update Note
        call: platform-notes.patchnotenew
        with:
          noteId: rest.noteId
          releaseLock: rest.releaseLock
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/team-messaging/v1/notes/{noteid}/lock
      name: team-messaging-v1-notes-noteid-lock
      description: REST surface for team-messaging-v1-notes-noteId-lock.
      operations:
      - method: POST
        name: locknotenew
        description: Lock Note
        call: platform-notes.locknotenew
        with:
          noteId: rest.noteId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/team-messaging/v1/notes/{noteid}/publish
      name: team-messaging-v1-notes-noteid-publish
      description: REST surface for team-messaging-v1-notes-noteId-publish.
      operations:
      - method: POST
        name: publishnotenew
        description: Publish Note
        call: platform-notes.publishnotenew
        with:
          noteId: rest.noteId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/team-messaging/v1/notes/{noteid}/unlock
      name: team-messaging-v1-notes-noteid-unlock
      description: REST surface for team-messaging-v1-notes-noteId-unlock.
      operations:
      - method: POST
        name: unlocknotenew
        description: Unlock Note
        call: platform-notes.unlocknotenew
        with:
          noteId: rest.noteId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: platform-notes-mcp
    port: 9090
    transport: http
    description: MCP adapter for RingCentral API — Notes. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-notes
      description: List Notes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-notes.listchatnotesnew
      with:
        chatId: tools.chatId
        creationTimeTo: tools.creationTimeTo
        creationTimeFrom: tools.creationTimeFrom
        creatorId: tools.creatorId
        status: tools.status
        pageToken: tools.pageToken
        recordCount: tools.recordCount
      outputParameters:
      - type: object
        mapping: $.
    - name: create-note
      description: Create Note
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-notes.createchatnotenew
      with:
        chatId: tools.chatId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-note
      description: Get Note
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-notes.readusernotenew
      with:
        noteId: tools.noteId
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-note
      description: Delete Note
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: platform-notes.deletenotenew
      with:
        noteId: tools.noteId
      outputParameters:
      - type: object
        mapping: $.
    - name: update-note
      description: Update Note
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: platform-notes.patchnotenew
      with:
        noteId: tools.noteId
        releaseLock: tools.releaseLock
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: lock-note
      description: Lock Note
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-notes.locknotenew
      with:
        noteId: tools.noteId
      outputParameters:
      - type: object
        mapping: $.
    - name: publish-note
      description: Publish Note
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-notes.publishnotenew
      with:
        noteId: tools.noteId
      outputParameters:
      - type: object
        mapping: $.
    - name: unlock-note
      description: Unlock Note
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-notes.unlocknotenew
      with:
        noteId: tools.noteId
      outputParameters:
      - type: object
        mapping: $.