Saved Subscription REST Operations for Oracle Radio
List, add, and remove the current user's durable channel subscriptions.
An enabled Radio user needs radio.subscription.manage for these operations. Adding a subscription also checks channel subscription access. Saved REST subscriptions persist independently of a connection's WebSocket subscriptions.
The paths below start at the managed instance origin. When using the returned serviceEndpoint, append only the portion after /api/. See the REST overview for endpoint, authentication, and request guidance.
List Your Subscriptions
Operation: getMySubscriptions.
GET /api/v1/radio/me/subscriptions
Get saved subscriptions for the authenticated user.
No request body or query parameters are required.
Success: 200 with subscriptions and count. Subscription fields include subscriptionId, channelId, subscribedAt, channelName, and channelMode; optional metadata includes clientInfo and displayName.
Use channelName when removing a subscription. This list isn't a list of channels joined by the current WebSocket connection.
Add a Subscription
Operation: addSubscription.
POST /api/v1/radio/me/subscriptions
Save a subscription to an existing persistent channel that the user can subscribe to.
| Parameter | Location | Requirement |
|---|---|---|
channel | JSON body | Required nonblank channel name from channel discovery. |
clientInfo | JSON body | Optional client information string. Don't include tokens or sensitive data. |
Replace the bracketed values with your values before sending this JSON request. Supply Content-Type: application/json.
{
"channel": "<channel-name>"
}
Success: 201 with success, channel, and message.
Verify the response and retrieve saved subscriptions if the result is uncertain. Saving this subscription doesn't join the channel on a WebSocket connection. For access denial, review permissions and channel access.
Remove a Subscription
Operation: removeSubscription.
DELETE /api/v1/radio/me/subscriptions/{channel}
Remove one saved subscription for the authenticated user.
| Parameter | Location | Requirement |
|---|---|---|
channel | Path | Required saved channel name, encoded as one URL path segment. |
Success: 200 with success, channel, and message.
The personal channel can't be removed through this operation. After an uncertain result, retrieve the saved subscription list before repeating the request. Manage connection-local membership through the WebSocket operations.
Example: Save a Channel Subscription
This example saves a subscription to an existing channel named dispatch. Use a channel name returned by channel discovery, and confirm that the user has subscription permission and access to that channel. Send the request to the Public Safety and Security instance's HTTPS origin with the user's current bearer token.
POST /api/v1/radio/me/subscriptions
Authorization: Bearer <access-token>
Content-Type: application/json
{
"channel": "dispatch"
}
The successful response is HTTP 201 with this JSON body:
{
"success": true,
"channel": "dispatch",
"message": "Subscribed to dispatch"
}
Self-service subscription responses omit userId; the authenticated user determines whose subscriptions are read or changed. To verify saved state, run getMySubscriptions and find the returned channel name. To join it on the current WebSocket connection, authenticate that connection and follow joining a channel.
Next Steps
Use channel discovery before adding a subscription and Joining a Channel when establishing a live session.
For failed requests, see errors, troubleshooting, and the FAQ. A 404 NotAuthorizedOrNotFound response doesn't distinguish missing resources from authorization failures.