Geofence REST Operations for Oracle Radio

Read, configure, and remove a channel geofence.

Use these operations to read or replace the circular boundary configured for a channel. For the Radio app procedure, see geofence administration.

Reading requires radio.geofence.read. Setting or deleting requires radio.geofence.manage. Use the supported authentication flow and request guidance.

Paths below start at the instance origin. Use the returned channel name for {channel}, URL-encoded as one path segment. Each channel can have one geofence.

List Geofences

listGeofences: GET /api/v1/management/geofences

No request body or query parameters are required. HTTP 200 returns a geofences array. Each definition includes id, channel, name, latitude, longitude, and radiusMeters, with subscription settings, enabled state, domain, and creation metadata.

Get a Channel Geofence

getGeofence: GET /api/v1/management/channels/{channel}/geofence

HTTP 200 returns channel and its geofence. A null geofence means that the accessible channel has no configured boundary. A concealed 404 NotAuthorizedOrNotFound doesn't distinguish a missing channel from denied access.

Set a Channel Geofence

setGeofence: PUT /api/v1/management/channels/{channel}/geofence

Send a JSON definition for an existing channel. This replaces the definition; omitted optional settings take their defaults. Read the current definition and include every setting you want to retain.

PropertyRequirement
nameRequired nonblank geofence name.
latitude / longitudeRequired numbers: latitude from -90 through 90 and longitude from -180 through 180.
radiusOptional positive number in meters; default 500. Responses call this value radiusMeters.
autoSubscribeOptional Boolean; default true. Enables automatic saved subscriptions for eligible users entering the boundary.
autoUnsubscribeOptional Boolean; default false. Requests saved-subscription removal on exit. Leave false to retain subscriptions.
enabledOptional Boolean; default true. Set false to retain the definition without evaluating it.
domainOptional string restricting evaluation to a membership domain. Verify the intended Identity Domain OCID with your administrator; do not copy an unverified default.

This illustrative definition keeps automatic membership changes off. Replace the name and coordinates with the intended boundary.

{"name":"Dispatch perimeter","latitude":38.9,"longitude":-77.04,"radius":500,"autoSubscribe":false,"autoUnsubscribe":false,"enabled":true}

HTTP 200 with type set to GEOFENCE_SET returns the saved definition, including its ID and server-supplied creator metadata. Verify the stored result with Get a Channel Geofence. The REST radius constraint differs from the Radio app form's limits.

Automatic actions depend on reported location, domain, permission, and channel access. Don't assume that exit removal preserves a subscription previously added manually. See geofence behavior.

Delete a Channel Geofence

deleteGeofence: DELETE /api/v1/management/channels/{channel}/geofence

No request body is required. Successful removal returns HTTP 200 with type set to GEOFENCE_REMOVED and the channel name. Removing a boundary doesn't delete the channel or remove existing saved subscriptions.

Inspect the response body even for HTTP 200. If no geofence exists for the accessible channel, the response has type set to ERROR and a message; don't assume it includes channel. Read the current definition before repeating an uncertain deletion.

For request failures, see geofence REST troubleshooting and API errors.