OneSignal Notifications API

The Notifications API from OneSignal — 4 operation(s) for notifications.

Business capability
Digital Marketing Management BC-400.60

Operations 14

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /notifications/{message_id}/history See which subscriptions received a message · Message history #
Ask an LLM
“Which subscriptions were sent or clicked a particular message?”
“Can I get the recipient history of a message emailed to me as a file?”
Tell an agent
Show the {events} history for message {message_id} in app {app_id}.
Email the {events} recipient list of message {message_id} in app {app_id} to {email}.
POST /notifications/{message_id}/export_events Export a message's audience activity as CSV · Export audience activity CSV #
Ask an LLM
“How do I download delivered, clicked and unsubscribed data for a message across push, email and SMS?”
“Can I export audience-level engagement for one message to a spreadsheet?”
Tell an agent
Export the audience activity CSV for message {message_id} in app {app_id}.
Build a compressed CSV of sends, clicks and failures across channels for message {message_id}, app {app_id}.
POST /notifications?c=email Send an email message · Email #
Ask an LLM
“How do I send an email campaign to a segment through OneSignal?”
“Can I set a custom from name and reply-to address on an email send?”
Tell an agent
Email segment {included_segments} in app {app_id} with subject {email_subject} and body {email_body}.
Send an email to {email_to} from app {app_id} with subject {email_subject}, body {email_body}, from {email_from_name}.
POST /notifications?c=push Send a push notification · Push notification #
Ask an LLM
“How do I send a push notification with an image and action buttons?”
“Can I throttle a push send to a set number per minute?”
Tell an agent
Send a push saying {contents} to segment {included_segments} in app {app_id}.
Push {contents} with title {headings} to users {include_aliases} in app {app_id} and open {url} on tap.
POST /notifications?c=sms Send an SMS or MMS message · SMS #
Ask an LLM
“How do I text a message to specific phone numbers?”
“Can I attach images to an SMS to send it as MMS?”
Tell an agent
Text {contents} to phone numbers {include_phone_numbers} from app {app_id} over channel {target_channel}.
Send SMS {contents} from number {sms_from} to segment {included_segments} in app {app_id} on channel {target_channel}.
GET /notifications?app_id={app_id}&limit={limit}&offset={offset}&kind={kind}&template_id={template_id}&time_offset={time_offset} List sent messages, filterable by template · View messages #
Ask an LLM
“Which messages were sent using a particular template?”
“Can I list only the messages sent since a certain time offset?”
Tell an agent
List messages in app {app_id} that used template {template_id}.
Show {limit} messages from app {app_id} of kind {kind} since time offset {time_offset}.
GET /notifications/{message_id}?app_id={app_id} View one message with its outcome metrics · View message #
Ask an LLM
“How did a single message perform on clicks and conversion outcomes?”
“Can I see outcomes for one message broken down by platform?”
Tell an agent
Show message {message_id} in app {app_id} with outcomes {outcome_names}.
Get message {message_id} from app {app_id} with outcomes over {outcome_time_range}.
DELETE /notifications/{message_id}?app_id={app_id} Cancel a scheduled or sending message · Cancel message #
Ask an LLM
“How do I stop a message that's already going out?”
“Can I cancel a scheduled message before it sends?”
Tell an agent destructive · confirm first
Cancel message {message_id} in app {app_id}.
Halt the outgoing message {message_id} for app {app_id} right now.
GET /notifications List notifications (legacy endpoint) · View notifications #
Ask an LLM
“Is there an older endpoint that lists an app's notifications with paging?”
“What does the legacy notifications list return for API-sent versus dashboard notifications?”
Tell an agent
Use the legacy notifications list for app {app_id}.
Page through {limit} notifications of kind {kind} at offset {offset} in app {app_id} via the older list.
POST /notifications Create a notification on any channel (general endpoint) · Create notification #
Ask an LLM
“Can one general endpoint send push, email or SMS depending on the target channel?”
“How do I target a notification at users by their external ID?”
Tell an agent
Create a notification through the general notifications endpoint, scheduled for {send_after}.
Send a notification to my users via the multi-channel create endpoint.
DELETE /notifications/{notification_id} Stop a notification (legacy endpoint) · Stop a scheduled or currently outgoing notification #
Ask an LLM
“Is there a legacy endpoint to stop a notification by notification ID?”
“Which older call halts a scheduled notification?”
Tell an agent destructive · confirm first
Stop notification {notification_id} in app {app_id} using the legacy cancel.
Call the older stop endpoint on scheduled notification {notification_id} for app {app_id}.
GET /notifications/{notification_id} View a single notification (legacy endpoint) · View notification #
Ask an LLM
“Is there an older call to fetch one notification by its notification ID?”
“What details does the legacy single-notification lookup return?”
Tell an agent
Fetch notification {notification_id} for app {app_id} with the legacy lookup.
Look up notification ID {notification_id} in app {app_id} through the older endpoint.
POST /notifications/{notification_id}/history List devices sent a notification (legacy, paid plan) · Notification History #
Ask an LLM
“Can I see which devices got a notification in the last 7 days on a paid plan?”
“Which older endpoint lists the devices that were sent a push or email notification?”
Tell an agent
List the devices sent notification {notification_id} using the legacy history call.
Get the {events} device history for notification {notification_id} in app {app_id} from the older endpoint.
POST /notifications/{notification_id}/export_events?app_id={app_id} Export a notification's events CSV (legacy endpoint) · Export CSV of Events #
Ask an LLM
“Why does the events CSV URL take several minutes to become available?”
“Is there a legacy call that generates an events CSV for a notification ID?”
Tell an agent
Generate the legacy events CSV for notification {notification_id} in app {app_id}.
Request the older export of all event data for notification {notification_id}, app {app_id}.

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/onesignal:onesignal-notifications-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

onesignal-notifications-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Onesignal Notifications API
  version: '1.0'
  description: 'Operations tagged Notifications across 2 of this provider''s published API definitions: onesignal-api-openapi.json, onesignal-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.onesignal.com
tags:


# --- truncated at 32 KB (322 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/onesignal/refs/heads/main/openapi/onesignal-notifications-api-openapi.yml