Batch Create Instances
Authentication
Path parameters
Request
Prefix for instance names. Instances will be named with this prefix followed by a random 6-character suffix (e.g., “worker” becomes “worker-abc123”)
Number of instances to create in this batch. Minimum 2, maximum 18 (limited by topology domain size)
Optional exact-match selector applied to Machine labels during placement. Property names are arbitrary Machine label keys rather than predefined selector fields. Every supplied key/value pair must match (AND semantics). An omitted or empty object does not restrict placement. The selector constrains placement only; it is not persisted on the created Instances.
A non-empty object requires the Tenant to have effective targetedInstanceCreation capability for the selected Site; otherwise the request is rejected with 403. Selection occurs before topology optimization. When topologyOptimized is true, all selected Machines must both match the selector and belong to the same NVLink domain. If too few matching Machines are available, the request is rejected with 409.
IDs of additional VPCs the Instances should attach to through non-primary interfaces. This field may only be specified when every entry in interfaces uses vpcPrefixId or vpcId. IDs must be unique, must be valid UUIDs, and must not include the primary vpcId.
User data applied to all instances. Can only be specified if allowOverride is set to true in Operating System. Limited to 32768 bytes (32 KiB), measured on the effective value NICo stores rather than the text submitted. Operating System defaults are inherited first, and when phone-home is configured the document is re-serialized with a phone_home block added. Re-serialization normalizes indentation and can grow the document, so a request just under the limit may still be rejected.
Power profile to apply to every Instance in the batch. A non-empty value requires the Site’s dpsPowerManagement capability to be true.
Key-value objects to be applied to all instances (shared across all instances)
Interface configuration shared across all instances. At least one interface must be specified unless autoNetwork is true. Interfaces must all be Subnet-backed or all be VPC-backed; VPC-backed interfaces may use an explicit vpcPrefixId or ask the Controller to select a prefix using vpcId and ipFamilies. Each batch member is resolved independently and may use a different prefix. Only one network can be attached over a physical interface. Interface ipAddress is not supported for batch instance creation requests. Mutually exclusive with autoNetwork: when autoNetwork is true this list MUST be empty.
When true, asks NICo to auto-resolve each Instance’s network interfaces from the host’s underlay (HostInband) network segments. Intended for instances on zero-DPU hosts (or hosts with their DPU in NIC mode). When true: (1) the target VPC’s networkVirtualizationType MUST be FLAT, (2) interfaces MUST be empty or omitted, and (3) secondaryVpcIds MUST be empty or omitted.
SpectrumX Partition attachments shared across all Instances in the batch. Each device and deviceInstance pair may appear only once, irrespective of virtualFunctionId.
NVLink interface configuration shared across all instances. A subset of GPUs may be specified. Each item references one GPU index (deviceInstance) and one NVLink Logical Partition. Different interfaces may reference different NVLink Logical Partitions.
When true (default), all instances must be allocated on machines within the same NVLink domain. When false, instances can be spread across different NVLink domains.
Response
IDs of VPCs attached to the Instance through non-primary interfaces
User-specified Instance labels
Serial Console URL for the Instance. Format: ssh://<id>@siteSerialConsoleHostname
True when this Instance uses NICo auto-resolved networking from the host’s underlay (HostInband) network segments. When true, the caller’s request interfaces list was empty, this interfaces field remains empty on readback, and the resolved per-interface details surface under status.network.interfaces.
Date/time when the Instance was created
Date/time when the Instance was last updated