APIs & services / urvi-app-service

Fetch pending remote commands (LOGOUT, CLEAR_APP_DATA) for this user.

Endpointtoday's app
Call
GET /gateway/urvi-app-service/api/v1/remote-app-actions/actor
Service
urvi-app-service
Features
Device registration and remote actions
When
DeviceRegistrationActivity start
Auth
X-Sessionid header
In the App Service

Use case

Online call from DeviceRegistrationViewModel.checkAndExecuteRemoteAppActions when DeviceRegistrationActivity starts. Fetches pending remote commands for the user (e.g. LOGOUT, CLEAR_APP_DATA); the activity runs each via performAction and reports completion. A non-success response is treated as an empty list; exceptions are swallowed and the user proceeds to Home.

Headers

HeaderValueNotes
X-SESSIONID<session token>Passed explicitly as a Retrofit @Header from AndroidSessionManager.sessionId; AuthInterceptor also re-auths and retries once on 401/400.

Parameters

ParamInRequiredExampleNotes
actorIdqueryYes12345Bridge user id.
actorTypequeryYesACTOR_TYPE.BRIDGE_USERFixed.
effectiveDatequeryYes2026/07/01Today, yyyy/MM/dd.
executionStatusqueryYesEXECUTION_STATUS.PENDINGDefault value.

Request

No body. actorId, actorType, effectiveDate, executionStatus=EXECUTION_STATUS.PENDING

Response

Example response body (synthetic data)
[
  {
    "id": 31,
    "actorId": "12345",
    "actorType": "ACTOR_TYPE.BRIDGE_USER",
    "actionType": "LOGOUT",
    "appId": "109",
    "appVersion": "1.2.3",
    "priority": 1,
    "groupCode": "GROUP_A",
    "sequence": 1,
    "parameters": null,
    "preDeliveryDays": 0,
    "message": "Please log in again",
    "executionStatus": "EXECUTION_STATUS.PENDING",
    "acknowledgementStatus": "PENDING",
    "deliveryStatus": "PENDING",
    "errorDetails": null,
    "effectiveStartDateTime": "2026-07-01T00:00:00Z",
    "effectiveEndDateTime": "2026-07-31T00:00:00Z",
    "acknowledgedAt": null,
    "deliveredDateTime": null,
    "attachmentUrl": null,
    "attachmentMimeType": null,
    "attachmentName": null
  }
]
FieldTypeRequiredNotes
[].idintegerUsed in the execution PATCH path.
[].actionTypestringLOGOUT / CLEAR_APP_DATA trigger logout and data wipe; other types are just acknowledged.
[].messagestringMay be shown to the user (activity).
other fieldsmixedDeserialised into RemoteAppActionDto; not read.

Errors

StatusWhenWhat the app does
401 / 400Session token expiredAuthInterceptor invalidates the token, gets a fresh session id and retries the request once.
any non-2xxOther failuresTreated as no actions; flow continues to Home.

Source

  • app/src/main/java/org/platformcommons/urvi/datasource/network/retrofit/APIInterface.kt
  • app/src/main/java/org/platformcommons/urvi/view/deviceregistration/DeviceRegistrationViewModel.kt
  • app/src/main/java/org/platformcommons/urvi/view/deviceregistration/DeviceRegistrationActivity.kt
  • app/src/main/java/org/platformcommons/urvi/datasource/network/responsedto/RemoteAppActionDto.kt