Start

Quick start

Send your first notification with one HTTP request.

Create a channel and token

  1. Open the console and create a signups channel.
  2. Create an API token under Workspace settings → API tokens. Copy it and keep it on your server.

You are the channel's first push recipient. Add others in channel settings.

Send a message

Replace YOUR_API_TOKEN below. The optional project must already exist; create revos or omit that field.

curl 'https://appkeepr.com/api/messages' \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -H 'Content-Type: application/json' \
  --data '{
    "channel": "signups",
    "project": "revos",
    "title": "New user registered",
    "message": "jane@example.com created an account.",
    "icon": "🎉"
  }'

The message appears in your Inbox. To receive push notifications, sign in on your phone and enable notifications.

A successful request returns 201:

{
  "notificationId": "8f28c961-8129-4219-9601-02cf564ca737",
  "outcome": "created"
}

For JavaScript or TypeScript, use the Node.js SDK.

Request details

POST /api/messages accepts JSON with a Bearer API token. Only channel and message are required.

FieldDescription
channelExisting channel name. No whitespace; max 120 characters.
messageMessage text. Max 4,000 characters.
projectOptional project name. Lowercase letters, numbers, and single hyphens; max 120 characters.
titleMax 180 characters. Defaults to Message.
iconA single emoji.
fieldsUp to 10 { label, value } pairs. Max 80 characters per label and 1,000 per value.
actionsUp to 3 { label, url } links. Max 40 characters per label and 2,048 per HTTP(S) URL.

Channel and project names must match existing names in your token's workspace. The JSON body limit is 32 KiB.

Retries

Send an Idempotency-Key header with a stable event ID (1–220 characters). Within the same channel, repeating the same key and request returns the original message with 200 and outcome: "duplicate". Changing the content or project returns 409.

Errors

Errors return { code, error }.

StatusMeaning
400Invalid input
401Invalid or revoked token
404Channel or project not found
409Idempotency key reused with different content or project
413Request body too large
415Content type must be application/json

A successful response confirms the message was saved. Push delivery happens separately.

On this page