Themes can be uploaded from a local ZIP archive and activated.

POST /admin/themes/upload;
PUT /admin/themes/{ name }/activate;

The theme object

When a theme is uploaded or activated, the response is a themes array containing one theme object with metadata about the theme, as well as its status (active or not).

name: String The name of the theme. This is the value that is used to activate the theme.

package: Object The contents of the package.json file is exposed in the API as it contains useful theme metadata.

active: Boolean The status of the theme showing if the theme is currently used or not.

templates: Array The list of templates defined by the theme.

// POST /admin/images/upload/
{
    themes: [{
      name: "Alto-master",
      package: {...},
      active: false,
      templates: [{
        filename: "custom-full-feature-image",
        name: "Full Feature Image",
        for: ["page", "post"],
        slug: null
      }, ...]
    }]
}