mobile_push
The mobile_push domain has 6 actions. On the meta surface they are all reached through arcane_mobile_push; on the individual surface each one is its own tool; on the dynamic surface run them with arcane_execute_action and the canonical ID.
Summary
Section titled “Summary”| Action | Title | Kind |
|---|---|---|
mobile_push.device_delete | Remove a mobile device | destructive |
mobile_push.device_register | Register a mobile device | write |
mobile_push.device_test | Send a test push | write |
mobile_push.device_update | Update a mobile device | write |
mobile_push.pairing_token_create | Issue a pairing token | write |
mobile_push.status | Get mobile push status | read |
Actions
Section titled “Actions”mobile_push.device_delete
Section titled “mobile_push.device_delete”Remove a mobile device
- Kind: destructive — requires
confirm: true - Required parameters:
id - Meta tool:
arcane_mobile_pushwith"action": "device_delete" - Individual tool:
arcane_mobile_push_device_delete - Arcane route:
DELETE /api/apns/devices/{id} - Operation ID:
delete-apns-device - Usage: Unregisters one of the caller’s own devices (id from mobile_push.status devices[].id) so it receives no more pushes. It is only removed from Arcane, the relay is not contacted. To drop every device of every user and revoke the relay channel, set apnsEnabled to false with settings.update instead (that cleanup runs in the background after settings.update returns).
- Related actions:
mobile_push.status,settings.update
mobile_push.device_register
Section titled “mobile_push.device_register”Register a mobile device
- Kind: write
- Required parameters:
label,recipientId - Meta tool:
arcane_mobile_pushwith"action": "device_register" - Individual tool:
arcane_mobile_push_device_register - Arcane route:
POST /api/apns/devices - Operation ID:
register-apns-device - Usage: Registers a device for the calling user: recipientId (1-128 chars, the device’s identifier at the push relay) and label (max 100) are required. events maps event types (image_update, container_update, vulnerability_found, prune_report, auto_heal) to true/false and defaults to all five on when omitted. environmentIds limits pushes to those environments (empty means all). Upserts by recipientId: re-registering your own device replaces its label, events and environmentIds, a recipientId owned by another user fails with 409, and it fails with 403 while apnsEnabled is off. Returns the device with its id. Pushes for an environment only reach the device if its user has the containers:list permission there.
- Related actions:
mobile_push.pairing_token_create,mobile_push.status,mobile_push.device_test,mobile_push.device_update,environment.list
mobile_push.device_test
Section titled “mobile_push.device_test”Send a test push
- Kind: write
- Required parameters:
id - Meta tool:
arcane_mobile_pushwith"action": "device_test" - Individual tool:
arcane_mobile_push_device_test - Arcane route:
POST /api/apns/devices/{id}/test - Operation ID:
test-apns-device - Usage: Sends a test push to one of the caller’s own devices through the relay (id from mobile_push.status devices[].id). The relay call is synchronous despite the “queued” reply message, so an unreachable or rejecting relay fails with 502, apnsEnabled off with 403, and an unknown or deleted device with 404. Success only means the relay accepted it, not that the phone displayed it.
- Related actions:
mobile_push.status,mobile_push.device_register,notification.test
mobile_push.device_update
Section titled “mobile_push.device_update”Update a mobile device
- Kind: write
- Required parameters:
id - Meta tool:
arcane_mobile_pushwith"action": "device_update" - Individual tool:
arcane_mobile_push_device_update - Arcane route:
PATCH /api/apns/devices/{id} - Operation ID:
update-apns-device - Usage: Changes one of the caller’s own devices (id from mobile_push.status devices[].id, others’ devices give 404). Only supplied fields change, but events replaces the whole event map (unlisted event types stop being pushed) and environmentIds replaces the whole list (empty means all environments). Unlike device_register it does not check apnsEnabled, so it also works while push is off. Returns the updated device.
- Related actions:
mobile_push.status,mobile_push.device_test,environment.list
mobile_push.pairing_token_create
Section titled “mobile_push.pairing_token_create”Issue a pairing token
Issue a short-lived signed token the mobile app presents to the push relay
- Kind: write
- Required parameters: none
- Meta tool:
arcane_mobile_pushwith"action": "pairing_token_create" - Individual tool:
arcane_mobile_push_pairing_token_create - Arcane route:
POST /api/apns/pairing-token - Operation ID:
create-apns-pairing-token - Usage: Issues a signed pairing token for the Arcane mobile app to present to the push relay. Returns token, channelId and expiresAt (valid 5 minutes). Fails with 403 unless apnsEnabled is true (settings.update). When no relay channel exists yet it first registers one at the relay, failing with 502 if the relay is unreachable.
- Related actions:
mobile_push.status,mobile_push.device_register,settings.update
mobile_push.status
Section titled “mobile_push.status”Get mobile push status
Whether mobile push is enabled and the caller’s registered devices
- Kind: read
- Required parameters: none
- Meta tool:
arcane_mobile_pushwith"action": "status" - Individual tool:
arcane_mobile_push_status - Arcane route:
GET /api/apns/status - Operation ID:
get-apns-status - Usage: Start here for mobile push: returns enabled (the apnsEnabled setting, always false in agent mode), relayUrl, channelId (only while enabled) and devices, which lists only the calling user’s own devices. devices[].id is the id for mobile_push.device_update, device_test and device_delete. Needs an authenticated user, and push is switched on or off with settings.update apnsEnabled.
- Related actions:
mobile_push.pairing_token_create,mobile_push.device_register,mobile_push.device_update,settings.update