Levitate Notes API

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

Operations 4

GET /public/v1/Notes/{id} Get Note by Id #
DELETE /public/v1/Notes/{id} Delete a note #
GET /public/v1/Notes List and filter notes #
POST /public/v1/Notes Log a note #

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/levitate-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

levitate-notes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LevitateAPI | public-v1 Notes API
  version: 1.0.0
servers:
- url: https://api.levitate.ai/
tags:
- name: Notes
paths:
  /public/v1/Notes/{id}:
    get:
      tags:
      - Notes
      summary: Get Note by Id
      description: '

        ### Retrieves a note for a given identifier.

        Returns `404` when the note doesn''t exist, has been deleted, is on another account, or isn''t visible to

        the caller — a note the caller can''t see is never distinguished from one that doesn''t exist.



        **Required Scope:** `levitate:contacts`'
      operationId: GetNoteById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResultOfNote'
        '401':
          description: Unauthorized
          content:
            application/json: {}
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResult'
    delete:
      tags:
      - Notes
      summary: Delete a note
      description: '

        ### Soft-deletes a note, removing it from all reads immediately.

        Any caller who can see the note may delete it. Returns `404` when the note doesn''t exist, has already been

        deleted, is on another account, or isn''t visible to the caller — a note the caller can''t see is never

        distinguished from one that doesn''t exist. Deleting is idempotent-ish: a second delete returns `404`.



        **Required Scope:** `levitate:contacts`'
      operationId: DeleteNote
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResult'
        '401':
          description: Unauthorized
          content:
            application/json: {}
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResult'
  /public/v1/Notes:
    get:
      tags:
      - Notes
      summary: List and filter notes
      description: '

        ### Returns a cursor-paged list of notes matching the supplied filters.

        Filters combine with AND. Each row is a lean summary carrying a plain-text `preview`; follow its `url` for the

        full note. Bulk-send, communication-derived, and action-item records are never returned.


        **Sortable fields:** `creationDate` (default, descending). Prefix a field with `-` for descending order.



        **Required Scope:** `levitate:contacts`'
      operationId: ListNotes
      parameters:
      - name: contactId
        in: query
        description: Only notes that reference this contact
        schema:
          type: string
      - name: companyId
        in: query
        description: Only notes that reference this company
        schema:
          type: string
      - name: createdAfter
        in: query
        description: Only notes created on or after this ISO 8601 date
        schema:
          type: string
      - name: createdBefore
        in: query
        description: Only notes created on or before this ISO 8601 date
        schema:
          type: string
      - name: updatedAfter
        in: query
        description: Only notes last modified on or after this ISO 8601 date
        schema:
          type: string
      - name: updatedBefore
        in: query
        description: Only notes last modified on or before this ISO 8601 date
        schema:
          type: string
      - name: limit
        in: query
        description: Maximum results per page (default 25, max 100)
        schema:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
          - integer
          - string
          format: int32
      - name: pageToken
        in: query
        description: Opaque pagination cursor from a previous response; omit for the first page
        schema:
          type: string
      - name: sort
        in: query
        description: Sort field; prefix with '-' for descending. See the endpoint description for supported fields.
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResultOfPagedCollectionOfNoteSummary'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResult'
        '401':
          description: Unauthorized
          content:
            application/json: {}
    post:
      tags:
      - Notes
      summary: Log a note
      description: '

        ### Logs a note against one or more contacts and companies, returning the full note.

        Requires a `body` (an HTML fragment — the `<lev-content>` wrapper is added for you and disallowed markup is

        stripped) and at least one `reference` (a `{ type, id }` where `type` is `contact` or `company`). A reference

        that isn''t a live, visible contact/company on the account is rejected. `visibility` is optional (`shared` or

        `private`, defaulting to the caller''s default visibility). Logging a note may fan out to the contact timeline,

        Keep-in-Touch, and any connected CRM.


        ### Allowed HTML

        The `body` is sanitized against a fixed allowlist. Any tag or attribute not listed below is **stripped**

        (the note is not rejected), so send a clean fragment to avoid surprises. Allowed elements:

        - **Text & inline:** `b`, `i`, `u`, `s`, `strike`, `em`, `strong`, `small`, `big`, `sub`, `sup`, `abbr`, `acronym`, `cite`, `code`, `dfn`, `kbd`, `samp`, `var`, `q`, `tt`, `bdo`, `font`, `span`

        - **Blocks & headings:** `p`, `div`, `section`, `article`, `address`, `center`, `blockquote`, `pre`, `h1`–`h6`, `hr`, `br`

        - **Lists:** `ul`, `ol`, `li`, `dl`, `dt`, `dd`

        - **Tables:** `table`, `caption`, `col`, `colgroup`, `thead`, `tbody`, `tfoot`, `tr`, `th`, `td`

        - **Links & media:** `a`, `img`, `map`, `area`, `ins`, `del`


        Attributes are allowlisted per element; scripting/event attributes (e.g. `onclick`) are always dropped.

        `a` links keep only `http`, `https`, `mailto`, and `tel` hrefs (other schemes such as `javascript:` are

        stripped). `img` sources must be an `https` URL or an inline base64 data URI. Do **not** include the

        `<lev-content>` wrapper — it is added for you and is the only permitted root.



        **Required Scope:** `levitate:contacts`'
      operationId: CreateNote
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NoteWrite'
          application/*+json:
            schema:
              $ref: '#/components/schemas/NoteWrite'
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/NoteWrite'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResultOfNote'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResult'
        '401':
          description: Unauthorized
          content:
            application/json: {}
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResult'
components:
  schemas:
    NoteReference:
      type: object
      properties:
        type:
          type:
          - 'null'
          - string
          description: 'The kind of referenced resource: ''contact'' or ''company'''
        name:
          type:
          - 'null'
          - string
          description: Display name of the referenced resource
        url:
          type:
          - 'null'
          - string
          description: Path to the referenced resource's public API record, when one is exposed
        id:
          type:
          - 'null'
          - string
          description: Unique identifier generated by Levitate
    NoteWrite:
      type: object
      properties:
        body:
          maxLength: 100000
          minLength: 0
          type:
          - 'null'
          - string
          description: The note body as an HTML fragment (no <lev-content> wrapper). Required; disallowed markup is stripped on save.
        references:
          maxItems: 25
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/NoteReferenceWrite'
          description: The contacts and companies to attach the note to. At least one is required (no more than 25).
        visibility:
          type:
          - 'null'
          - string
          description: 'Visibility of the note: ''shared'' (visible to the whole account) or ''private''. Defaults to the caller''s default visibility.'
      additionalProperties: false
    PagedCollectionOfNoteSummary:
      type: object
      properties:
        values:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/NoteSummary'
        pageToken:
          type:
          - 'null'
          - string
        totalCount:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
          - integer
          - string
          format: int64
        debug: {}
    Note:
      type: object
      properties:
        body:
          type:
          - 'null'
          - string
          description: The note body as a sanitized HTML fragment (the <lev-content> wrapper is stripped)
        bodyWrapped:
          type:
          - 'null'
          - string
          description: The full note document as stored, wrapped in <lev-content>
        references:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/NoteReference'
          description: The contacts and companies this note is attached to
        visibility:
          type:
          - 'null'
          - string
          description: 'Visibility of the note: ''shared'' (visible to the whole account) or ''private'''
        createdBy:
          allOf:
          - $ref: '#/components/schemas/Reference'
          description: The user who created the note
        creationDate:
          type:
          - 'null'
          - string
          description: Date/time this was created in ISO 8601 format
          format: date-time
        lastModifiedDate:
          type:
          - 'null'
          - string
          description: Date/time this was last modified in ISO 8601 format
          format: date-time
        id:
          type:
          - 'null'
          - string
          description: Unique identifier generated by Levitate
    OperationResultOfPagedCollectionOfNoteSummary:
      type: object
      properties:
        success:
          type: boolean
        systemMessage:
          type:
          - 'null'
          - string
        systemCode:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
          - integer
          - string
          format: int32
        error:
          $ref: '#/components/schemas/ITechnicalError'
        requestId:
          type:
          - 'null'
          - string
        value:
          $ref: '#/components/schemas/PagedCollectionOfNoteSummary'
    ITechnicalError:
      type: object
      properties:
        errorMessage:
          type:
          - 'null'
          - string
        timestamp:
          type: string
          format: date-time
        source:
          type:
          - 'null'
          - string
        errorCode:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
          - integer
          - string
          format: int64
        category:
          type:
          - 'null'
          - string
    NoteSummary:
      type: object
      properties:
        url:
          type:
          - 'null'
          - string
          description: Path to the note's full record
        preview:
          type:
          - 'null'
          - string
          description: Plain-text first line of the note body
        references:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/NoteReference'
          description: The contacts and companies this note is attached to
        visibility:
          type:
          - 'null'
          - string
          description: 'Visibility of the note: ''shared'' (visible to the whole account) or ''private'''
        createdBy:
          allOf:
          - $ref: '#/components/schemas/Reference'
          description: The user who created the note
        creationDate:
          type:
          - 'null'
          - string
          description: Date/time this note was created in ISO 8601 format
          format: date-time
        lastModifiedDate:
          type:
          - 'null'
          - string
          description: Date/time this note was last modified in ISO 8601 format
          format: date-time
        id:
          type:
          - 'null'
          - string
          description: Unique identifier generated by Levitate
    OperationResultOfNote:
      type: object
      properties:
        success:
          type: boolean
        systemMessage:
          type:
          - 'null'
          - string
        systemCode:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
          - integer
          - string
          format: int32
        error:
          $ref: '#/components/schemas/ITechnicalError'
        requestId:
          type:
          - 'null'
          - string
        value:
          $ref: '#/components/schemas/Note'
    OperationResult:
      type: object
      properties:
        success:
          type: boolean
        systemMessage:
          type:
          - 'null'
          - string
        systemCode:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
          - integer
          - string
          format: int32
        error:
          $ref: '#/components/schemas/ITechnicalError'
        requestId:
          type:
          - 'null'
          - string
    Reference:
      type: object
      properties:
        name:
          type:
          - 'null'
          - string
          description: Display name of the referenced resource
        id:
          type:
          - 'null'
          - string
          description: Unique identifier generated by Levitate
    NoteReferenceWrite:
      type: object
      properties:
        type:
          type:
          - 'null'
          - string
          description: 'The kind of referenced resource: ''contact'' or ''company'''
        id:
          type:
          - 'null'
          - string
          description: Unique identifier generated by Levitate
      additionalProperties: false
  securitySchemes:
    OAuth2:
      type: oauth2
      description: Levitate OAuth2 Authorization Flow
      flows:
        authorizationCode:
          authorizationUrl: https://login.levitate.ai/oauth2/authorize
          tokenUrl: https://login.levitate.ai/oauth2/token
          scopes:
            levitate:contacts: Access Levitate contacts and related operations
            levitate:campaigns: Access Levitate campaigns and related operations