v57

latestOpenAPI 3.1.0Apache-2.0raw.githubusercontent.com2026-08-012143051018.3 KB
Operating System

Update Operating System

Update an Operating System by ID

If the Operating System has infrastructureProviderId set, then org must have an Infrastructure Provider entity and its ID should match the Operating System Infrastructure Provider ID. User must have authorization role with PROVIDER_ADMIN suffix. Provider must own the Operating System.

If the Operating System has tenantId set, then org must have a Tenant entity and its ID should match the Operating System Tenant ID. User must have authorization role with TENANT_ADMIN suffix. Tenant must own the Operating System.

patch/v2/org/{org}/nico/operating-system/{operatingSystemId}

Request body

namestring nullable

Name of the Operating System

descriptionstring nullable

Optional description of the Operating System

ipxeScriptstring nullable

iPXE script or URL, only applicable for iPXE-based OS. Cannot be specified if imageUrl is specified

imageUrlstring uri nullable

Original URL from which the Operating System image can be retrieved. Immutable after creation: it may be re-sent unchanged, but changing it is rejected. Create a new Operating System to use a different image.

imageShastring nullable

SHA hash of the image file. Immutable after creation: it may be re-sent unchanged, but changing it is rejected.

imageAuthTypestring nullable

Authentication type for image URL, if needed, e.g., basic/bearer/token; required if imageAuthToken is specified. Can be updated independently without re-sending imageUrl/imageSha.

imageAuthTokenstring nullable

Auth token to retrieve the image from image URL, required if imageAuthType is specified. Can be updated independently without re-sending imageUrl/imageSha.

imageDiskstring nullable

Disk path where the image should be mounted, optional

rootFsIdstring nullable

Root filesystem UUID; this or rootFsLabel is required for image-based OS

rootFsLabelstring nullable

Root filesystem label; this or rootFsId is required for image-based OS

phoneHomeEnabledboolean nullable

Indicates whether the Phone Home service should be enabled or disabled for Operating System

userDatastring nullable

User data for the Operating System

isCloudInitboolean nullable

Deprecated and ignored: whether the Operating System is cloud-init based. Value now derived from userData.

allowOverrideboolean nullable

Indicates if the user data can be overridden at Instance creation time

isActiveboolean nullable

Indicates if the Operating System is active

deactivationNotestring nullable

Optional deactivation note if OS is inactive

ipxeTemplateIdstring nullable

ID of the iPXE template to use (Templated iPXE only). Mutually exclusive with ipxeScript and imageUrl.

Example request

{
  "name": "ubuntu-22.04",
  "description": "Ubuntu 22.04",
  "phoneHomeEnabled": true,
  "allowOverride": false
}

Response

OK

idstring uuid

ID of the Operating System

namestring

Name of the Operating System

descriptionstring nullable

Optional description of the Operating System

infrastructureProviderIdstring uuid nullable

Specified if a Provider owns the Operating System

tenantIdstring uuid nullable

Specified if a Tenant owns the Operating System

type'iPXE' | 'Image' | 'TemplatedIpxe' nullable

Type of the Operating System

imageUrlstring uri nullable

Original URL from which the Operating System image can be retrieved

imageShastring nullable

SHA hash of the image file, only present for image-based OS

imageAuthTypestring nullable

Authentication type for image URL, e.g., 'Basic' or 'Bearer'

imageAuthTokenstring nullable

Auth token to retrieve the image from image URL

imageDiskstring nullable

Disk path where the image should be mounted

rootFsIdstring nullable

Root filesystem UUID, only applicable for image-based Operating System

rootFsLabelstring nullable

Root filesystem label, only applicable for image-based Operating System

ipxeScriptstring nullable

iPXE script or URL, only applicable for iPXE-based Operating System

ipxeTemplateIdstring nullable

ID of the iPXE template used, only present for Templated iPXE Operating System

userDatastring nullable

User data for the Operating System

isCloudInitboolean

Whether the Operating System is cloud-init based; true if there is non-empty userData, false otherwise.

phoneHomeEnabledboolean

Indicates whether the Phone Home service should be enabled or disabled for Operating System

isActiveboolean

Indicates if the Operating System is active

deactivationNotestring nullable

Optional deactivation note if OS is inactive

allowOverrideboolean

Indicates if the user data can be overridden at Instance creation time

status'Pending' | 'Provisioning' | 'Syncing' | 'Ready' | 'Deleting' | 'Error' | 'Deactivated'

Status values for Operating System objects

createdstring date-time

Date/time when the Operating System was created

updatedstring date-time

Date/time when the Operating System was updated

Example response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "ubuntu-22.04",
  "description": "Ubuntu 22.04",
  "infrastructureProviderId": null,
  "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
  "ipxeScript": "#!ipxe\nkernel http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux initrd=initrd.gz\ninitrd http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz\nboot || imgfree\n shell",
  "userData": "#cloud-config\nautoinstall:\n  apt:\n    geoip: true\n    preserve_sources_list: false\n    primary:\n    - arches: [amd64, i386]\n      uri: http://archive.ubuntu.com/ubuntu\n    - arches: [default]\n      uri: http://ports.ubuntu.com/ubuntu-ports\nphone_home:\n  url: http://169.254.169.254:7777/latest/meta-data/phone_home\n  post: all",
  "isCloudInit": true,
  "phoneHomeEnabled": true,
  "isActive": true,
  "deactivationNote": null,
  "allowOverride": false,
  "status": "Pending",
  "statusHistory": [
    {
      "status": "Pending",
      "message": "Request received, pending processing",
      "created": "2019-08-24T14:15:22Z",
      "updated": "2019-08-24T14:15:22Z"
    }
  ],
  "created": "2019-08-24T14:15:22Z",
  "updated": "2019-08-24T14:15:22Z"
}