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. Phone to act with: country code + number without symbols or spaces (e.g. 911111111111), or a phone_id (phone-xxxxxxxxxxxx). Omit to let the API select an eligible phone automatically — within the token's phone scopes and connected; chat actions use a phone that has the chat (a group admin where required), message actions use the phone the message belongs to.

Example:

"919876543210"

Body

application/json
chat_id
string
required

Chat to add the note to. For group chats, the chat_id ending with @g.us; for 1-1 chats, country code + number of the contact suffixed with @c.us, e.g. 911111111111@c.us

Minimum string length: 1
Example:

"120363000000000000@g.us"

message
string

Text content of the note, or the caption when media is provided. Supports the basic WhatsApp markdown formatting (bold, italic, strikethrough, monospace). @-mentioning a member email (e.g. @user@example.com) creates a task assigned to that member. Required unless media is provided.

Example:

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

media
object

Attachment for the note. Provide either a public url or base64/data-URI filedata (uploaded to Periskope storage). Required unless message is provided.

reply_to
string

message_id of an existing message or note in the chat that this note replies to. Stored on the note as quoted_message_id.

Example:

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

Response

The created note

success
enum<boolean>

Always true when the note was created

Available options:
true
message
string

Human-readable confirmation message

Example:

"A Private note created successfully"

data
object

The created note