-
Notifications
You must be signed in to change notification settings - Fork 0
README API
While xadm is the preferred way to interact with the Xolo server, all that interaction is done via an HTTPS API, by exchanging JSON data with specific endpoints on the server. Even though this has many similarities to a REST API, it wasn't developed with the standards of REST in mind, so I will refrain from calling it that.
There may be times when you want to access the server using those endpoints yourself, rather than using xadm, for example, on a Continuous Integration node where you don't have ruby installed, and can't use xadm.
While doing so is not explicitly supported, this API documentation should help you do that if needed.
Since you'll be replicating some of what xadm does, feel free to look at its executable, and everything in lib/xolo/admin, to see how it does its thing.
This documentation is preliminary and may never be fully complete.
- API Errors
-
General Purpose Endpoints
- GET /ping Check server availability
- GET /streamed_progress Stream the progress of a long-running task in real time
-
Authentication Endpoints
- POST /auth/login Authenticate to the Xolo server and acquire a session cookie
- POST /auth/logout Log out the currently authenticated admin, and invalidate the session
- GET /auth/release_to_all_allowed Check if the current admin is allowed to set a titles release groups to 'all'
-
Jamf Pro Endpoints
- GET /jamf/package-names List all Package Names known to Jamf Pro
- GET /jamf/computer-group-names List all Computer Group Names known to Jamf Pro
- GET /jamf/category-names List all Category Names known to Jamf Pro
-
Title Editor Endpoints
- GET /title-editor/titles List all titles known to the title editor
-
Xolo Title Endpoints
- GET /titles List all title objects known to xolo
- POST /titles Create a title object
- GET /titles/{title} Fetch a title object
- PUT /titles/{title} Update a title object
-
POST /titles/{title}/repair
Repair the Title Editor and Jamf Pro objects for a title, and optionally all of its versions. - DELETE /titles/{title} Delete a title object and all its versions
- POST /titles/{title}/ssvc-icon Upload a Self-Service icon for a title
- GET /titles/{title}/frozen List members of the 'frozen' group for a title
- PUT /titles/{title}/freeze Add one or more computers to the 'frozen' group for a title
- PUT /titles/{title}/thaw Remove one or more computers from the 'frozen' group for a title
- GET /titles/{title}/patch_report Return info about all computers with a given title installe
- GET /titles/{title}/urls Get URLs for all the Title Editor and Jamf WebApp pages related to a title
- GET /titles/{title}/changelog Change log for a title and all its versions
-
Xolo Version Endpoints
- GET /default_min_os Get the default value to use as the min_os for versions
- GET /titles/{title}/versions List all version objects belonging to a title
- POST /titles/{title}/versions Create a version object in a title
- GET /titles/{title}/versions/{version} Fetch a version of a title
- PUT /titles/{title}/versions/{version} Update a version object
- PATCH /titles/{title}/release/{version} Release a version of a title
-
POST /titles/{title}/versions/{version}/repair
Repair the Title Editor and Jamf Pro objects for a version. - DELETE /titles/{title}/versions/{version} Delete a version of a title
- POST /titles/{title}/versions/{version}/pkg Upload a .pkg file for a version
- GET /titles/{title}/versions/{version}/patch_report Return info about all computers with a given version of a title installed
- GET /titles/{title}/versions/{version}/urls Get URLs for all the Title Editor and Jamf WebApp pages related to a version
- POST /titles/{title}/versions/{version}/deploy Deploy a version for installation on one or more computers or computer-groups
-
Server Maintenance Endpoints
- GET /maint/state Get server state details
- POST /maint/cleanup Manually run the server's cleanup process
- POST /maint/update-client-data Manually update the client-data pkg
- POST /maint/rotate-logs Manually rotate the server logs
- POST /maint/set-log-level Set the server log level
- POST /maint/shutdown-server Shutdown or restart the server
- Xolo Title and Version Object Schemas