Skip to content
Chris Lasell edited this page Sep 27, 2025 · 1 revision

Endpoints related to Xolo Titles

GET /titles

Purpose

List all title objects known to xolo

Request

Type: None

Response

Type: JSON Array of Xolo Title Objects
Schema:

[
  {Title Object},
  ...
]

POST /titles

Purpose

Create a title object

Request

Type: JSON Object
Schema: Xolo Title Object

Response

Type: JSON Object with stream path
Schema:

  {
    "status": 'running',
    "progress_stream_url_path": "path/for/streaming/output"
  }

GET /titles/{title}

Purpose

Fetch a title object

Path Parameters

title - the desired title

Request

Type: None

Response

Type: JSON Object
Schema: Xolo Title Object

PUT /titles/{title}

Purpose

Update a title object

Path Parameters

title - the desired title

Request

Type: JSON Object
Schema: Xolo Title Object

Response

Type: JSON Object with stream path
Schema:

  {
    "status": 'running',
    "progress_stream_url_path": "path/for/streaming/output"
  }

POST /titles/{title}/repair

Purpose

Repair the Title Editor and Jamf Pro objects for a title, and optionally all of its versions.

Path Parameters

title - the desired title

Request

Type: JSON Object
Schema:

{ 
  "repair_versions": boolean 
}

Response

Type: JSON Object with stream path
Schema:

  {
    "status": 'running',
    "progress_stream_url_path": "path/for/streaming/output"
  }

DELETE /titles/{title}

Purpose

Delete a title object and all its versions

Path Parameters

title - the desired title

Request

Type: none

Response

Type: JSON Object with stream path Schema:

{
  "status": 'running',
  "progress_stream_url_path": "path/for/streaming/output"
}

POST /titles/{title}/ssvc-icon

Purpose

Upload a Self-Service icon for a title

Path Parameters

title - the desired title

Request

Type: Multipart form with file upload

Response

Type: JSON Object
Schema:

{
  "result": "uploaded"
}

GET /titles/{title}/frozen

Purpose

List members of the 'frozen' group for a title.

Path Parameters

title - the desired title

Request

Type: none

Response

Type: JSON Object
Schema:

{
  "computer name": "user name",
  ...
}

PUT /titles/{title}/freeze

Purpose

Add one or more computers to the 'frozen' group for a title

Path Parameters

title - the desired title

Request

Type: JSON Array
Schema:

[
  "computer name",
  ...
]

Response

Type: JSON Object
Schema:

{
  "computer name": "result of freezing attempt",
  ...
}

PUT /titles/{title}/thaw

Purpose

Remove one or more computers from the 'frozen' group for a title

Path Parameters

title - the desired title

Request

Type: JSON Array
Schema:

[
  "computer name",
  ...
]

Response

Type: JSON Object
Schema:

{
  "computer name": "result of thawing attempt",
  ...
}

GET /titles/{title}/patch_report

Purpose

Return info about all computers with a given title installed

Path Parameters

title - the desired title

Request

Type: none

Response

Type: JSON Array
Schema:

[
  JSON Object of computer data,
  ...
]

GET /titles/{title}/urls

Purpose

URLs for all the Title Editor and Jamf WebApp pages related to a title

Notes

Keys of the response object will vary depending on the state of the title

Path Parameters

title - the desired title

Request

Type: none

Response

Type: JSON Object
Schema:

{
  "ted_title_url": "url",
  "jamf_installed_group_url": "url",
  "jamf_frozen_group_url": "url",
  "jamf_uninstall_script_url": "url",
  "jamf_uninstall_policy_url": "url",
  "jamf_expire_policy_url": "url",
  "jamf_patch_title_url": "url",
  "jamf_patch_ea_url": "url",
  "jamf_normal_ea_url": "url"
}

GET /titles/{title}/changelog

Purpose

Change log for a title and all its versions

Notes

Each change object might indicate

  • a change to overall title state, in which case "attrib" is nil, but "msg" will contain a message
  • a change to a title attribute/property, in which case "attrib" will name it, and the old and new values are present
  • a change to a version state or version attribute/propery, in which case "version" will contain the version.

Path Parameters

title - the desired title

Request

Type: none

Response

Type: JSON Array of JSON Objects
Schema:

[
  {
    "time": "2024-12-02 14:06:05 -0800",
    "admin": "chrisl",
    "host": "kekoa.dynamic.pixar.com",
    "version": null,
    "msg": "Title Created",
    "attrib": null,
    "old": null,
    "new": null
  },
  ...
]

Clone this wiki locally