Audius notifications API
The notifications API from Audius — 2 operation(s) for notifications.
The notifications API from Audius — 2 operation(s) for notifications.
openapi: 3.0.1
info:
title: Audius challenges notifications API
description: '## Overview
The Audius API provides REST access to the world''s largest open music catalog, built on the [Open Audio Protocol](https://openaudio.org). Use it to query and stream tracks, users, playlists, and more—perfect for building music players, discovery apps, and audio-native products.
## Key Capabilities
- **Users** — Profiles, followers, following, search
- **Tracks** — Search, trending, stream, favorites, reposts
- **Playlists** — Create, update, browse, curate
- **Resolve** — Look up content by Audius canonical URLs (e.g. `audius.co/artist/...`)
- **Explore** — Trending content, charts, discovery
- **Comments, Tips, Rewards** — Social features and engagement
## Authentication
- **Read-only** — Most endpoints work without credentials. Use an API key for higher rate limits.
- **Writes** — Upload, favorite, repost, and other mutations require an API key and secret. Get keys at [api.audius.co/plans](https://api.audius.co/plans) or [audius.co/settings](https://audius.co/settings).
## Resources
- [API Docs](https://docs.audius.co/api) — Full reference and guides
- [API Plans](https://api.audius.co/plans) — Get API keys (free tier available)
- [Log in with Audius](https://docs.audius.co/developers/guides/log-in-with-audius) — OAuth for user actions
- [JavaScript SDK](https://www.npmjs.com/package/@audius/sdk) — `@audius/sdk` for Node and browser
'
version: '1.0'
contact:
name: Audius
url: https://audius.co
x-logo:
url: https://audius.co/favicons/favicon.ico
servers:
- url: https://api.audius.co/v1
description: Production
tags:
- name: notifications
paths:
/notifications/{user_id}:
get:
tags:
- notifications
description: Get notifications for user ID
operationId: Get Notifications
parameters:
- name: user_id
in: path
description: A User ID
required: true
schema:
type: string
- name: timestamp
in: query
description: The timestamp from which to paginate
schema:
type: integer
- name: group_id
in: query
description: The group_id form which to paginate
schema:
type: string
- name: limit
in: query
description: The number of notifications to return
schema:
type: integer
- name: types
in: query
description: Additional valid notification types to return
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- announcement
- follow
- repost
- save
- remix
- cosign
- create
- tip_receive
- tip_send
- challenge_reward
- repost_of_repost
- save_of_repost
- tastemaker
- reaction
- supporter_dethroned
- supporter_rank_up
- supporting_rank_up
- milestone
- track_milestone
- track_added_to_playlist
- playlist_milestone
- tier_change
- trending
- trending_playlist
- trending_underground
- usdc_purchase_buyer
- usdc_purchase_seller
- track_added_to_purchased_album
- request_manager
- approve_manager_request
- claimable_reward
- comment
- comment_thread
- comment_mention
- comment_reaction
- listen_streak_reminder
- fan_remix_contest_started
- fan_remix_contest_ended
- fan_remix_contest_ending_soon
- fan_remix_contest_winners_selected
- artist_remix_contest_ended
- artist_remix_contest_ending_soon
- artist_remix_contest_submissions
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/notifications_response'
/notifications/{user_id}/playlist_updates:
get:
tags:
- notifications
description: Get playlists the user has saved that have been updated for user ID
operationId: Get Playlist Updates
parameters:
- name: user_id
in: path
description: A User ID
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/playlist_updates_response'
components:
schemas:
save_of_repost_notification_action_data:
required:
- save_of_repost_item_id
- type
- user_id
type: object
properties:
type:
type: string
example: track
enum:
- track
- playlist
- album
user_id:
type: string
save_of_repost_item_id:
type: string
follow_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/follow_notification_action_data'
artist_remix_contest_submissions_notification_action_data:
required:
- entity_id
- event_id
- milestone
type: object
properties:
event_id:
type: string
milestone:
type: integer
entity_id:
type: string
usdc_purchase_seller_notification_action_data:
required:
- amount
- buyer_user_id
- content_id
- content_type
- extra_amount
- seller_user_id
type: object
properties:
content_type:
type: string
buyer_user_id:
type: string
seller_user_id:
type: string
amount:
type: string
extra_amount:
type: string
content_id:
type: string
approve_manager_request_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/approve_manager_request_notification_action_data'
approve_manager_request_notification_action_data:
required:
- grantee_address
- grantee_user_id
- user_id
type: object
properties:
user_id:
type: string
grantee_user_id:
type: string
grantee_address:
type: string
create_track_notification_action_data:
required:
- track_id
type: object
properties:
track_id:
type: string
comment_reaction_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/comment_reaction_notification_action'
fan_remix_contest_ending_soon_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/fan_remix_contest_ending_soon_notification_action'
tastemaker_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/tastemaker_notification_action'
artist_remix_contest_ended_notification_action_data:
required:
- entity_id
type: object
properties:
entity_id:
type: string
track_added_to_purchased_album_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/track_added_to_purchased_album_notification_action_data'
fan_remix_contest_ended_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/fan_remix_contest_ended_notification_action'
comment_thread_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/comment_thread_notification_action_data'
playlist_update:
required:
- playlist_id
- updated_at
type: object
properties:
playlist_id:
type: string
updated_at:
type: integer
last_seen_at:
type: integer
announcement_notification_action_data:
required:
- long_description
- push_body
- short_description
- title
- route
type: object
properties:
title:
type: string
push_body:
type: string
short_description:
type: string
long_description:
type: string
route:
type: string
milestone_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/milestone_notification_action'
request_manager_notification_action_data:
required:
- grantee_address
- grantee_user_id
- user_id
type: object
properties:
user_id:
type: string
grantee_user_id:
type: string
grantee_address:
type: string
listen_streak_reminder_notification_action_data:
required:
- streak
type: object
properties:
streak:
type: integer
usdc_purchase_buyer_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/usdc_purchase_buyer_notification_action'
create_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/create_notification_action_data'
create_playlist_notification_action_data:
required:
- is_album
- playlist_id
type: object
properties:
is_album:
type: boolean
playlist_id:
type: string
receive_tip_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/receive_tip_notification_action'
send_tip_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/send_tip_notification_action'
fan_remix_contest_winners_selected_notification_action_data:
required:
- entity_id
- entity_user_id
type: object
properties:
entity_user_id:
type: string
entity_id:
type: string
notifications:
required:
- unread_count
type: object
properties:
notifications:
type: array
items:
$ref: '#/components/schemas/notification'
unread_count:
type: integer
repost_of_repost_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/repost_of_repost_notification_action'
trending_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/trending_notification_action_data'
trending_underground_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/trending_underground_notification_action_data'
create_notification_action_data:
oneOf:
- $ref: '#/components/schemas/create_playlist_notification_action_data'
- $ref: '#/components/schemas/create_track_notification_action_data'
remix_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/remix_notification_action_data'
track_added_to_playlist_notification_action_data:
required:
- playlist_id
- playlist_owner_id
- track_id
type: object
properties:
track_id:
type: string
playlist_id:
type: string
playlist_owner_id:
type: string
tastemaker_notification_action_data:
required:
- action
- tastemaker_item_id
- tastemaker_item_owner_id
- tastemaker_item_type
- tastemaker_user_id
type: object
properties:
tastemaker_item_owner_id:
type: string
tastemaker_item_id:
type: string
action:
type: string
tastemaker_item_type:
type: string
tastemaker_user_id:
type: string
comment_mention_notification_action_data:
required:
- comment_user_id
- entity_id
- entity_user_id
- type
type: object
properties:
type:
type: string
example: Track
enum:
- Track
- Playlist
- Album
entity_id:
type: string
entity_user_id:
type: string
comment_user_id:
type: string
comment_id:
type: string
trending_underground_notification_action_data:
required:
- genre
- rank
- time_range
- track_id
type: object
properties:
rank:
type: integer
genre:
type: string
track_id:
type: string
time_range:
type: string
example: week
enum:
- week
- month
- year
approve_manager_request_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/approve_manager_request_notification_action'
listen_streak_reminder_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/listen_streak_reminder_notification_action_data'
supporter_rank_up_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/supporter_rank_up_notification_action'
supporter_dethroned_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/supporter_dethroned_notification_action'
receive_tip_notification_action_data:
required:
- amount
- reaction_value
- receiver_user_id
- sender_user_id
- tip_tx_signature
type: object
properties:
amount:
type: string
sender_user_id:
type: string
receiver_user_id:
type: string
tip_tx_signature:
type: string
reaction_value:
type: integer
fan_remix_contest_winners_selected_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/fan_remix_contest_winners_selected_notification_action_data'
milestone_notification_action_data:
oneOf:
- $ref: '#/components/schemas/user_milestone_notification_action_data'
- $ref: '#/components/schemas/track_milestone_notification_action_data'
- $ref: '#/components/schemas/playlist_milestone_notification_action_data'
comment_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/comment_notification_action'
trending_underground_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/trending_underground_notification_action'
comment_mention_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/comment_mention_notification_action_data'
artist_remix_contest_ending_soon_notification_action_data:
required:
- entity_id
- entity_user_id
type: object
properties:
entity_user_id:
type: string
entity_id:
type: string
comment_reaction_notification_action_data:
required:
- entity_id
- entity_user_id
- reacter_user_id
- type
type: object
properties:
type:
type: string
example: Track
enum:
- Track
- Playlist
- Album
entity_id:
type: string
entity_user_id:
type: string
reacter_user_id:
type: string
comment_id:
type: string
fan_remix_contest_ended_notification_action_data:
required:
- entity_id
- entity_user_id
type: object
properties:
entity_user_id:
type: string
entity_id:
type: string
save_notification_action_data:
required:
- save_item_id
- type
- user_id
type: object
properties:
type:
type: string
example: track
enum:
- track
- playlist
- album
user_id:
type: string
save_item_id:
type: string
tastemaker_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/tastemaker_notification_action_data'
reaction_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/reaction_notification_action'
track_added_to_purchased_album_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/track_added_to_purchased_album_notification_action'
comment_thread_notification_action_data:
required:
- comment_user_id
- entity_id
- entity_user_id
- type
type: object
properties:
type:
type: string
example: Track
enum:
- Track
- Playlist
- Album
entity_id:
type: string
entity_user_id:
type: string
comment_user_id:
type: string
comment_id:
type: string
fan_remix_contest_ending_soon_notification_action_data:
required:
- entity_id
- entity_user_id
type: object
properties:
entity_user_id:
type: string
entity_id:
type: string
challenge_reward_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/challenge_reward_notification_action'
comment_reaction_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/comment_reaction_notification_action_data'
receive_tip_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/receive_tip_notification_action_data'
repost_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/repost_notification_action'
trending_playlist_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/trending_playlist_notification_action_data'
cosign_notification_action_data:
required:
- parent_track_id
- track_id
- track_owner_id
type: object
properties:
parent_track_id:
type: string
track_id:
type: string
track_owner_id:
type: string
trending_playlist_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/trending_playlist_notification_action'
usdc_purchase_seller_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/usdc_purchase_seller_notification_action_data'
artist_remix_contest_ending_soon_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/artist_remix_contest_ending_soon_notification_action'
notifications_response:
required:
- latest_chain_block
- latest_chain_slot_plays
- latest_indexed_block
- latest_indexed_slot_plays
- signature
- timestamp
- version
type: object
properties:
latest_chain_block:
type: integer
latest_indexed_block:
type: integer
latest_chain_slot_plays:
type: integer
latest_indexed_slot_plays:
type: integer
signature:
type: string
timestamp:
type: string
version:
$ref: '#/components/schemas/version_metadata'
data:
$ref: '#/components/schemas/notifications'
tier_change_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/tier_change_notification_action_data'
reaction_notification_action_data:
required:
- reacted_to
- reaction_type
- reaction_value
- receiver_user_id
- sender_user_id
- sender_wallet
- tip_amount
type: object
properties:
reacted_to:
type: string
reaction_type:
type: string
reaction_value:
type: integer
receiver_user_id:
type: string
sender_user_id:
type: string
sender_wallet:
type: string
tip_amount:
type: string
comment_notification_action_data:
required:
- comment_user_id
- entity_id
- type
type: object
properties:
type:
type: string
example: Track
enum:
- Track
- Playlist
- Album
entity_id:
type: string
comment_user_id:
type: string
comment_id:
type: string
fan_remix_contest_started_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/fan_remix_contest_started_notification_action_data'
usdc_purchase_seller_notification:
required:
- actions
- group_id
- is_seen
- type
type: object
properties:
type:
type: string
group_id:
type: string
is_seen:
type: boolean
seen_at:
type: integer
actions:
type: array
items:
$ref: '#/components/schemas/usdc_purchase_seller_notification_action'
artist_remix_contest_ended_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/artist_remix_contest_ended_notification_action_data'
fan_remix_contest_started_notification_action_data:
required:
- entity_id
- entity_user_id
type: object
properties:
entity_user_id:
type: string
entity_id:
type: string
follow_notification_action_data:
required:
- followee_user_id
- follower_user_id
type: object
properties:
follower_user_id:
type: string
followee_user_id:
type: string
artist_remix_contest_submissions_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
specifier:
type: string
type:
type: string
timestamp:
type: integer
data:
$ref: '#/components/schemas/artist_remix_contest_submissions_notification_action_data'
announcement_notification_action:
required:
- data
- specifier
- timestamp
- type
type: object
properties:
speci
# --- truncated at 32 KB (61 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/audius/refs/heads/main/openapi/audius-notifications-api-openapi.yml