{ "opencollection": "1.0.0", "info": { "name": "Insider One Live Activity API", "version": "1.0.0" }, "items": [ { "info": { "name": "Live Activities", "type": "folder" }, "items": [ { "info": { "name": "/add-users", "type": "http" }, "http": { "method": "POST", "url": "https://live-activity.api.useinsider.com/api/v1/live-activity/add-users", "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "X-Api-Key", "value": "{{X-Api-Key}}", "placement": "header" } }, "docs": "This request adds new insider_ids to the segment of an activity previously created with /register:\n\nEligible devices of the added users are included in the activity segment.\n\nThese devices also receive the start push when /start is called.\n\nThe underlying merge flow is the same as /register. Eligibility filters (iOS version, push opt-in, GDPR, etc.) apply here as well.\n\nends_at is not part of the request. The activity TTL was fixed at /register time, and /add-users does not touch it.\n\nThis endpo" }, { "info": { "name": "/end live activities", "type": "http" }, "http": { "method": "POST", "url": "https://live-activity.api.useinsider.com/api/v1/live-activity/end", "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "X-Api-Key", "value": "{{X-Api-Key}}", "placement": "header" } }, "docs": "This request ends an activity started via /start.\n\nIt sends the final push message to the target devices, containing content representing the final state (e.g., \"Delivered ✓\", \"Match ended\").\n\nIt deletes the entire activity record on Insider's side.\n\nThe activity transitions to DEAD. All subsequent calls with the same activity_id return a 404 NOT_FOUND response.\n\n/end does not physically remove the activity from the device. Insider One only delivers the final content and clears its own state. Th" }, { "info": { "name": "/register live activities", "type": "http" }, "http": { "method": "POST", "url": "https://live-activity.api.useinsider.com/api/v1/live-activity/register", "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "X-Api-Key", "value": "{{X-Api-Key}}", "placement": "header" } }, "docs": "This request registers a group of insider_ids for a given activity_type on Insider One's end in advance. The activity has not started yet. This step:\n\nTriggers the collection of push-to-start tokens from devices (via the SDK, for eligible devices).\n\nGenerates an activity_id for the activity. This ID is used in all subsequent calls.\n\nFilters out devices that fail eligibility checks (e.g., iOS version, push opt-in, and GDPR) and prepares the remaining ones for the activity.\n\nThe actual start happe" }, { "info": { "name": "/remove-users", "type": "http" }, "http": { "method": "POST", "url": "https://live-activity.api.useinsider.com/api/v1/live-activity/remove-users", "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "X-Api-Key", "value": "{{X-Api-Key}}", "placement": "header" } }, "docs": "This request bulk-removes the devices matching the given insider_ids from the segment of an activity previously created with /register:\n\nThe removed users do not receive the push when /start is called.\n\nThey are excluded from subsequent /update and /end messages.\n\nIdempotent: insider_ids that are not present in the segment (or already removed) are silently skipped (no error).\n\nUnlike /add-users, /remove-users does not perform any eligibility filtering or profile lookup; it only deletes from the " }, { "info": { "name": "/start live activities", "type": "http" }, "http": { "method": "POST", "url": "https://live-activity.api.useinsider.com/api/v1/live-activity/start", "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "X-Api-Key", "value": "{{X-Api-Key}}", "placement": "header" } }, "docs": "This request actually starts an activity that was prepared via /register.\n\nIt transitions the activity to the STARTED state (an atomic lock is stamped).\n\nSends the first live activity push via Apple to all eligible devices in the segment, or to selected devices when filtered by target_devices.\n\nThe live activity is opened and becomes visible on the device at this point.\n\nInsider One acts as a proxy for the content: all values in the content field are passed directly into the Apple push payload.\n" }, { "info": { "name": "/update live activities", "type": "http" }, "http": { "method": "POST", "url": "https://live-activity.api.useinsider.com/api/v1/live-activity/update", "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "X-Api-Key", "value": "{{X-Api-Key}}", "placement": "header" } }, "docs": "This request updates the content of an activity that was started via /start.\n\nSends an update push to the target devices; the device's live activity is re-rendered with the new content.\n\nThe activity state does not change (STARTED → STARTED). The activity keeps living until /end is called.\n\nIt can be called unlimited times. You can send updates as often as your user experience requires (apart from rate limits).\n\nBody parameters\nBelow are the parameters for the request body.\n\nParameter\nDescriptio" } ] } ], "bundled": true }