How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

OneSignal Apps API

The Apps API from OneSignal — 21 operation(s) for apps.

OneSignal Apps API is one of 6 APIs that OneSignal publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Application. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 42 operations across 29 paths, and defines 46 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

Requests are made against a single base URL, https://api.onesignal.com.

42 operations 29 paths 46 schemas 5 DELETE13 GET10 PATCH13 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Base URL
https://api.onesignal.com
Authentication
HTTP Bearer, HTTP Bearer
Resource Areas
1

Authentication & Security 2

OneSignal Apps API declares 2 security schemes for authenticating requests. It accepts HTTP bearer tokens (rest_api_key). It accepts HTTP bearer tokens (organization_api_key).

Paths & Operations 42

Across 29 paths, the API surfaces 42 operations — 5 DELETE, 13 GET, 10 PATCH, 13 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Apps 42
GET
/apps
View apps
view-apps 1 param → 200400403429503
POST
/apps
Create an app
create-an-app 2 params body → 200403404429503
GET
/apps/{app_id}
View an app
view-an-app 4 params → 200403404429503
PUT
/apps/{app_id}
Update an app
update-an-app 3 params body → 200403404429503
POST
/apps/{app_id}/segments
Create segment
create-segments 3 params body → 201400403422429503
GET
/apps/{app_id}/segments
View segments
view-segments 4 params → 200400429503
GET
/apps/{app_id}/segments/{segment_id}
View segment
view-segment 4 params → 200400404429503
PATCH
/apps/{app_id}/segments/{segment_id}
Update segment
update-segment 4 params body → 200400403404429503
DELETE
/apps/{app_id}/segments/{segment_id}
Delete segment
delete-segments 3 params → 200400404429503
GET
/apps/{app_id}/outcomes?outcome_names={outcome_names}&outcome_time_range={outcome_time_range}&outcome_platforms={outcome_platforms}&outcome_attribution={outcome_attribution}
View outcomes
view-outcomes 6 params → 200400403429503
PATCH
/apps/{app_id}/subscriptions/{subscription_id}
Update subscription
update-subscription 2 params body → 200400429503
DELETE
/apps/{app_id}/subscriptions/{subscription_id}
Delete subscription
delete-subscription 2 params → 202400403404429503
PATCH
/apps/{app_id}/subscriptions_by_token/{token_type}/{token}
Update subscription By Token
update-subscription-by-token 4 params body → 202400401404429503
POST
/apps/{app_id}/users/by/{alias_label}/{alias_id}/subscriptions
Create Subscription by alias
create-subscription 4 params body → 200202400403404429503
PATCH
/apps/{app_id}/users/by/{alias_label}/{alias_id}
Update user
update-user 5 params body → 202400401409429503
GET
/apps/{app_id}/users/by/{alias_label}/{alias_id}
View user
view-user 4 params → 200400401404429503
DELETE
/apps/{app_id}/users/by/{alias_label}/{alias_id}
Delete user
delete-user 4 params → 202400401404409429503
POST
/apps/{app_id}/users
Create user
create-user 1 param body → 200202400409429503
GET
/apps/{app_id}/users/by/{alias_label}/{alias_id}/identity
View user identity
fetch-aliases 4 params → 200400404429503
PATCH
/apps/{app_id}/users/by/{alias_label}/{alias_id}/identity
Create or update alias
create-alias 4 params body → 200400404409429503
PATCH
/apps/{app_id}/subscriptions/{subscription_id}/owner
Transfer subscription
transfer-subscription 2 params body → 200400403404429503
GET
/apps/{app_id}/subscriptions/{subscription_id}/user/identity
View user identity (by subscription)
fetch-identity-by-subscription 2 params → 200400404429503
PATCH
/apps/{app_id}/subscriptions/{subscription_id}/user/identity
Create alias (by subscription)
create-alias-by-subscription 2 params body → 200400409429503
DELETE
/apps/{app_id}/users/by/{alias_label}/{alias_id}/identity/{alias_label_to_delete}
Delete alias
delete-alias 5 params → 200400404429503
POST
/apps/{app_id}/notifications/{notification_id}/unsubscribe?token={token}
Unsubscribe email (with token)
unsubscribe-with-token 3 params → 202400403404429503
POST
/apps/{app_id}/live_activities/{activity_id}/notifications
Update Live Activity
update-live-activity-api 4 params body → 201400404429503
POST
/apps/{app_id}/activities/activity/{activity_type}
Start Live Activity
start-live-activity 3 params body → 201400429503
POST
/apps/{app_id}/inbox
Create inbox broadcast message
create-inbox-broadcast-message 2 params body → 200429503
GET
/apps/{app_id}/inbox?last_broadcast_id={broadcast_id}&limit={number}
View broadcasts
view-broadcasts 4 params → 200400403429503
GET
/apps/{app_id}/users/by/{alias_label}/{alias_id}/inbox?last_message_id={message_id}
View user broadcasts
view-user-inbox-messages 5 params → 200400404429503
PATCH
/apps/{app_id}/users/by/{alias_label}/{alias_id}/inbox?last_message_id={message_id}
Bulk update or delete message state
bulk-update-or-delete-message-state 5 params body → 204400403429503
GET
/apps/{app_id}/users/by/{alias_label}/{alias_id}/inbox/unread_count
View user unread message count
view-user-unread-message-count 4 params → 200400404429503
PATCH
/apps/{app_id}/users/by/{alias_label}/{alias_id}/inbox/{message_id}
Update message state
update-message-state 5 params body → 204400403429503
GET
/apps/{app_id}/auth/tokens
View API keys
view-api-keys 3 params → 200400403404429503
POST
/apps/{app_id}/auth/tokens
Create API key
create-api-key 3 params body → 200400403404429503
DELETE
/apps/{app_id}/auth/tokens/{token_id}
Delete API key
delete-api-key 4 params → 200400403404429503
PATCH
/apps/{app_id}/auth/tokens/{token_id}
Update API key
update-api-key 4 params body → 200400403404429503
POST
/apps/{app_id}/auth/tokens/{token_id}/rotate
Rotate API key
rotate-api-key 4 params → 200400403404429503
POST
/apps/{app_id}/custom_events
Create Custom Events
create-custom-events 2 params body → 202400401429503
GET
/apps/{app_id}/outcomes
View Outcomes
get_outcomes 6 params → 200400429
POST
/apps/{app_id}/notifications/{notification_id}/unsubscribe
Unsubscribe with token
unsubscribe_email_with_token 3 params → 202400429
POST
/apps/{app_id}/integrations/custom_events
Create custom events
create_custom_events 1 param body → 200400401429

Schemas 46

The contract defines 46 schemas that model the data the API accepts and returns. The most detailed are LanguageStringMap (43 properties), App (34 properties), Subscription (17 properties), StartLiveActivityRequest (16 properties). Each schema is shown below with its type and property counts.

CreateUserConflictResponse
object
Returned at HTTP 409 by POST /apps/{appid}/users when the request's claimed identity (aliases or externalid) collides with an existing user. The structured met…
1 property
BasicErrorResponse
object
3 properties
ApiKeyToken
object
An API Key Token record (Rich Authentication Token). Different operations return different subsets of these fields: - GET tokens lists every field except forma…
7 properties
StructuredErrorResponse
object
1 property
StructuredErrorItem
object
3 properties 2 required
TransferSubscriptionRequestBody
object
1 property
Apps
array
CreateUserConflictResponse_errorsItems_meta
object
1 property
UserIdentityBody
object
1 property
FilterExpression
PropertiesBody
object
1 property
Purchase
object
4 properties 3 required
CustomEventsRequest
object
1 property 1 required
CreateSegmentConflictResponse
object
2 properties
RateLimitError
object
2 properties
GenericError
object
3 properties
OutcomeData
object
3 properties 3 required
Operator
object
1 property
ApiKeyTokensListResponse
object
1 property
SegmentData
object
7 properties
CustomEvent
object
5 properties 1 required
CreateUserConflictResponse_2
object
1 property
Segment
object
3 properties 2 required
CustomEventsResponse
object
User
object
3 properties
UpdateApiKeyRequest
object
3 properties
UpdateLiveActivityRequest
object
9 properties 3 required
CreateSegmentSuccessResponse
object
2 properties
CreateUserConflictResponse_errors_inner
object
3 properties
PropertiesDeltas
object
3 properties
PropertiesObject
object
11 properties
StartLiveActivityRequest
object
16 properties 7 required
GenericSuccessBoolResponse
object
1 property
CreateApiKeyRequest
object
3 properties
GetSegmentsSuccessResponse
object
4 properties
OutcomesData
object
1 property
LanguageStringMap
object
43 properties
UpdateUserRequest
object
3 properties
Subscription
object
17 properties
Filter
object
8 properties
UpdateLiveActivitySuccessResponse
object
1 property
StartLiveActivitySuccessResponse
object
1 property
CreateApiKeyResponse
object
2 properties
ApiKeyToken_2
object
6 properties
SubscriptionBody
object
1 property
App
object
34 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

onesignal-apps-api-openapi.yml Raw ↑

Other APIs OneSignal publishes across the network.

OneSignal Notifications API
OneSignal Players API
OneSignal Templates API
OneSignal MCP Server
OneSignal Organizations API
Where this information came from

This is an independent, third-party profile of OneSignal Apps API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.