Skip to main content
TypeScript

Authorizations

Authorization
string
header
required

Your Periskope API token, sent as Authorization: Bearer <token>. Generate one from the Periskope dashboard under Settings → API & Webhooks. API access requires an active Pro or Enterprise plan.

Headers

x-phone
string

Optional. Scope results to a single phone: country code + number without symbols or spaces (e.g. 911111111111), or a phone_id (phone-xxxxxxxxxxxx). Omit to return data across all phones the API token can access.

Example:

"919876543210"

Path Parameters

note_id
string
required

Unique id of the note — the message_id returned when the note was created, in the form true__<performed_by>

Minimum string length: 1
Example:

"true_00000000-0000-0000-0000-000000000000_api"

Response

The note, or null when not found

A private note attached to a chat. Notes are internal to the workspace — they are never sent to WhatsApp and contacts cannot see them. Notes share the message record shape, so responses may include additional message fields (ack, sender_phone, sent_message_id, unique_id).

message_id
string

Unique id of the note, in the form true__<performed_by>. Use this value as the note_id path parameter when fetching a single note.

Example:

"true_00000000-0000-0000-0000-000000000000_api"

org_id
string<uuid>

Id of the organization the note belongs to

Example:

"00000000-0000-0000-0000-000000000000"

org_phone
string

Org phone (WhatsApp account) the note was created under, as country code + number suffixed with @c.us

Example:

"911111111111@c.us"

chat_id
string

Chat the note is attached to — @c.us for 1-1 chats, @g.us for group chats

Example:

"120363000000000000@g.us"

body
string

Text content of the note. null for media-only notes.

Example:

"Customer asked for a callback tomorrow @user@example.com"

message_type
string

Content type of the note: 'chat' for text-only notes, otherwise the attachment type ('image', 'video', 'document' or 'audio')

Example:

"chat"

media
object

Attachment details. null for text-only notes.

is_private_note
enum<boolean>

Always true — marks the record as a private note rather than a WhatsApp message

Available options:
true
from_me
boolean

Always true for notes — notes are authored by the org, never by the contact

Example:

true

performed_by
string

Who created the note: the member's email, or "api" when created via the API

Example:

"api"

quoted_message_id
string

message_id of the message or note this note replies to (set via reply_to at creation). null when the note is not a reply.

Example:

"true_00000000-0000-0000-0000-000000000000_api"

mentioned_ids
string[]

Member emails @-mentioned in the note body. Each mention creates a task assigned to that member.

Example:
timestamp
string

When the note was created, as an ISO 8601 UTC timestamp

Example:

"2026-01-15T09:30:00.000Z"

updated_at
string

When the note was last updated, as an ISO 8601 UTC timestamp

Example:

"2026-01-15T09:30:00.000Z"