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.

ParameterLocationRequirement
channelJSON bodyRequired nonblank channel name from channel discovery.
clientInfoJSON bodyOptional 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.

ParameterLocationRequirement
channelPathRequired 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.