Skip to main content

ServerResource API

REST API endpoints for managing iDempiere server instances and schedulers.

It handles operations such as starting/stopping servers, viewing logs, and managing schedulers.

Endpoints

GET /api/v1/servers

Returns a list of all server instances.

Sample Response:

{
"servers": [
{
"id": "Scheduler50002",
"name": "Housekeeping T_InventoryValue",
"nodeId": "5e40ca82-682a-4957-aec1-04c9a2fe3a20",
"hostName": "10.7.47.1",
"port": 5701,
"started": true
},
{
"id": "Scheduler50009",
"name": "Housekeeping T_TrialBalance",
"nodeId": "5e40ca82-682a-4957-aec1-04c9a2fe3a20",
"hostName": "10.7.47.1",
"port": 5701,
"started": true
},
{
"id": "AlertProcessor100",
"name": "System Alert Processor",
"nodeId": "5e40ca82-682a-4957-aec1-04c9a2fe3a20",
"hostName": "10.7.47.1",
"port": 5701,
"started": true
},
{
"id": "WorkflowProcessor100",
"name": "System Workflow Processor",
"nodeId": "5e40ca82-682a-4957-aec1-04c9a2fe3a20",
"hostName": "10.7.47.1",
"port": 5701,
"started": true
},
{
"id": "AcctProcessor100",
"name": "GardenWorld Accounting Processor",
"nodeId": "5e40ca82-682a-4957-aec1-04c9a2fe3a20",
"hostName": "10.7.47.1",
"port": 5701,
"started": true
}
]
}

GET /api/v1/servers/{id}

Returns detailed information about a specific server instance.

Path Parameters:

  • id (string): Server instance identifier.

Response:

{
"id": "WorkflowProcessor100",
"name": "System Workflow Processor",
"nodeId": "5e40ca82-682a-4957-aec1-04c9a2fe3a20",
"hostName": "10.7.47.1",
"port": 5701,
"lastRun": "Oct 31, 2025, 11:37:25 AM CET",
"info": "#0 - Last=",
"nextRun": "Oct 31, 2025, 1:37:25 PM CET",
"statistics": "Run #0 - Last=0 - Total=0 - Next 0'01:40:07.952",
"started": true,
"sleeping": true,
"interruptd": false
}

GET /api/v1/servers/{id}/logs

Retrieves execution logs for a specific server instance.

Path Parameters:

  • id (string): Node identifier.

Response:

{
"logs": [
{
"created": "Oct 31, 2025, 11:37:25 AM CET",
"summary": "Wakeup #0 - DynPriority #0 - EndWaitTime #0 - Logs deleted=0",
"reference": "#0 - 0'00:00:00.24",
"error": false
},
{
"created": "Oct 30, 2025, 11:08:19 AM CET",
"summary": "Wakeup #0 - DynPriority #0 - EndWaitTime #0 - Logs deleted=0",
"reference": "#0 - 0'00:00:00.34",
"error": false
}
]
}

POST /api/v1/servers/{id}/state

Starts or stops a server instance (toggles current state).

Path Parameters:

  • id (string): Server instance identifier.

Response: Returns server details (same as Get Server Details). Toggling the "started": between true and false


POST /api/v1/servers/{id}/run

Triggers immediate execution of a server instance.

Path Parameters:

  • id (string): Server instance identifier.

Response: Returns server details (same as Get Server Details)


POST /api/v1/servers/reload

Reloads all server configurations.

Response: Returns list of all servers (same as Get All Servers)


GET /api/v1/schedulers/{id}

Returns information about a specific scheduler.

Path Parameters:

  • id (string): Scheduler identifier.

Sample Response:

{
"id": 100,
"uid": "777a868e-ee1a-4d7e-9ebd-5c104c484819",
"AD_Client_ID": {
"propertyLabel": "Tenant",
"id": 0,
"identifier": "System",
"model-name": "ad_client"
},
"Supervisor_ID": {
"propertyLabel": "Supervisor",
"id": 10,
"identifier": "System",
"model-name": "ad_user"
},
"IsActive": true,
"AD_Process_ID": {
"propertyLabel": "Process",
"id": 241,
"identifier": "Delete Notices_AD_NoteDelete",
"model-name": "ad_process"
},
"CreatedBy": {
"propertyLabel": "Created By",
"id": 0,
"identifier": "~System (deprecated)~",
"model-name": "ad_user"
},
"Updated": "2025-10-30T11:08:20Z",
"AD_Org_ID": {
"propertyLabel": "Organization",
"id": 0,
"identifier": "*",
"model-name": "ad_org"
},
"UpdatedBy": {
"propertyLabel": "Updated By",
"id": 10,
"identifier": "System",
"model-name": "ad_user"
},
"Created": "2004-03-06T00:39:02Z",
"Name": "Delete Old Notes",
"KeepLogDays": 7,
"AD_Schedule_ID": {
"propertyLabel": "Schedule",
"id": 200001,
"identifier": "7 Days",
"model-name": "ad_schedule"
},
"model-name": "ad_scheduler",
"server-id": "Scheduler100",
"scheduler-state": "Scheduler Started",
"node-id": "5e40ca82-682a-4957-aec1-04c9a2fe3a20",
"node-host-name": "10.7.47.1",
"node-port": 5701
}

POST /api/v1/schedulers/{id}

Adds a scheduler to be managed by the server.

Path Parameters:

  • id (string): Scheduler identifier.

Response: Returns scheduler details with HTTP 201 (Created) if successful, or 409 (Conflict) if already exists


DELETE /api/v1/schedulers/{id}

Removes a scheduler from server management.

Path Parameters:

  • id (string): Scheduler identifier.

Response: Returns scheduler details


Error Responses

All endpoints may return error responses in the following format (example):

{
"title": "Invalid scheduler Id",
"status": 404,
"detail": "No match found for scheduler id: 1000"
}

400 Bad Request

Invalid request parameters (e.g., invalid scheduler ID)

403 Forbidden

User lacks required permissions

404 Not Found

Server instance or scheduler not found

409 Conflict

Resource already exists (e.g., scheduler already added)

500 Internal Server Error

Server-side error during operation execution