Create a notification preset
Creates a reusable banner preset in the library. Texts and files can be filled in later (PATCH + the preset avatar upload), but only a complete preset (title, body, link_text, an avatar — plus target_url when link_mode is 'manual') can be enabled on a domain. Requires a write-scoped key.
Authorization
bearerAuth Your al_live_<prefix>_<secret> API key. Mint and manage keys in the dashboard.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/api/admin/library/notifications" \ -H "Content-Type: application/json" \ -d '{ "name": "July drop", "title": "New post is live", "body": "Tap to see what you\'ve been missing", "link_text": "Open", "target_url": "https://onlyfans.com/dasha" }'{ "id": 7, "creator_id": "dasha", "name": "July drop", "title": "New post is live", "body": "Tap to see what you've been missing", "link_text": "Open", "target_url": "https://onlyfans.com/dasha", "link_mode": "", "delay_ms": 2500, "avatar_filename": "avatar_9f2c1a7b3d4e5f60.webp", "sound_filename": null, "translations": null, "variants": null, "activity_source": null, "created_at": 1752537600, "updated_at": 1752537600}{ "detail": { "code": "name_required", "message": "Provide a name" }}{ "detail": { "code": "preset_name_taken", "message": "Preset 'July drop' already exists" }}List notification presets
Returns every notification preset in the account library, newest first. Presets are reusable banner creatives: assign them to domains from the Notification tab (or via the notification assignment / apply endpoints) — 2+ enabled presets on a domain run a creative A/B. Requires a read-scoped key.
Save a domain's banner to the library
Snapshots the domain's draft banner into a new library preset, including its avatar/sound files (copied into the preset's master folder at /notification/_preset_<id>/), and stamps the new preset_id onto the domain draft so its card shows the library binding. Requires a write-scoped key.