Introduction
The Batch Server is the backbone of automated processing in Sage X3, handling scheduled tasks, queries, and background jobs. With recent enhancements in Sage X3 2024R1 and higher, managing the Batch Server has become more flexible, allowing administrators to control, monitor, and automate server operations using RESTful web services and command-line tools.
Why Batch Server Management Matters
Traditionally, stopping and restarting the Batch Server was only possible from within the Sage X3 product interface. This limitation posed challenges during troubleshooting, maintenance, or when scheduling downtime for updates during off-peak hours. The recent Syracuse Server releases (12.20.x+) introduce new capabilities, including the ability to set the lifetime of the Batch Server’s administration session and to control the server externally via API calls.
Key Concepts and Tools
1. REST API Control
The Batch Server is now managed via the Syracuse platform, accessible through HTTP REST APIs. You can use tools like curl or Postman to interact with these endpoints for starting, stopping, and monitoring the server.
List Batch Servers: http://<server>:<port>/api1/syracuse/collaboration/syracuse/batchServers?representation=batchServer.$query
Start Batch Server: POST http://<server>:<port>/api1/syracuse/collaboration/syracuse/batchServers('<KEY>')/$service/start?representation=batchServer.$query
Stop Batch Server: POST http://<server>:<port>/api1/syracuse/collaboration/syracuse/batchServers('<KEY>')/$service/stop?representation=batchServer.$query
Stop All Tasks: POST http://<server>:<port>/api1/syracuse/collaboration/syracuse/batchServers('<KEY>')/$service/stopAll?representation=batchServer.$query
Check Status: http://<server>:<port>/api1/syracuse/collaboration/syracuse/batchServers('<KEY>')/$service/status
2. Automating Batch Server Maintenance
You can automate Batch Server operations using Windows command files (.cmd) and schedule them with Windows Task Scheduler. This is ideal for planned maintenance, such as restarting the server during quiet periods (e.g., midnight).
Tip: If you encounter SSL certificate errors, add --insecure to your curl command.
3. Monitoring Batch Server Activity
Batch Server status and query logs can be retrieved and prettified for easy review. Use Node.js scripts (like j.js) to format JSON output from API calls.
Sample Script to Check Status:

Real-World Example: Batch Server Lifecycle
Initial State: View the Batch Server’s status and logs in the X3 interface or via API.
Stop the Server: Use the API or scheduled script to stop all tasks.
Restart the Server: Trigger a start via API or scheduled script.
Monitor Queries: Review the last 20 tasks/queries using API and prettified output.
Useful Resources
Sage X3 Online Help: How to Control the Batch Server - https://online-help.sagex3.com/erp/12/en-us/Content/V7DEV/how-to_how-to-control-the-batch-server.html?Highlight=start%20batch%20server
Sage Knowledgebase: Batch Server Management - https://gb-kb.sage.com/portal/app/portlets/results/viewsolution.jsp?solutionid=225924750095511
Syracuse Server Release Announcements - https://communityhub.sage.com/gb/sage-x3/f/announcements/241696/alert-syracuse-server-12-20-13-sage-x3-2024-r1-and-syracuse-server-12-21-4-sage-x3-2024-r2-are-now-available-updated-04-02-2025
Final Thoughts
With Sage X3’s recent updates, Batch Server management is more powerful and flexible than ever. By leveraging REST APIs, command-line tools, and automation, administrators can ensure smooth operations, timely maintenance, and rapid troubleshooting.
