# FlexMetalServer

FlexMetal servers are physical servers that can be requested and released at will.

## GET /v3/flexMetal/servers

> Get all your FlexMetal servers

```json
{"openapi":"3.0.1","info":{"title":"i3D.net Endpoints","version":"3.0.0"},"tags":[{"name":"FlexMetalServer","description":"FlexMetal servers are physical servers that can be requested and released at will."}],"servers":[{"url":"https://api.i3d.net"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","name":"PRIVATE-TOKEN","in":"header"}},"schemas":{"FlexMetalServer":{"type":"object","required":["uuid","name","status","statusMessage","location","instanceType","os","ipAddresses","tags","createdAt","deliveredAt","releasedAt","contractId"],"properties":{"uuid":{"type":"string","format":"","description":"Server UUID.","readOnly":true},"name":{"type":"string","format":"","description":"Server host name."},"status":{"type":"string","format":"","description":"Server delivery status.<br /><li><ul>created</ul><ul>discovering</ul><ul>discovered</ul><ul>allocating</ul><ul>allocated</ul><ul>configuring_network</ul><ul>network_configured</ul><ul>provisioning</ul><ul>provisioned</ul><ul>delivered</ul><ul>failed</ul><ul>releasing</ul><ul>released</ul></li>","readOnly":true},"statusMessage":{"type":"string","format":"","description":"Status message.","readOnly":true},"location":{"allOf":[{"$ref":"#/components/schemas/FlexMetalLocationPartial"}],"description":"Server location.","readOnly":true},"instanceType":{"allOf":[{"$ref":"#/components/schemas/FlexMetalInstanceTypePartial"}],"description":"Server instance type.","readOnly":true},"os":{"allOf":[{"$ref":"#/components/schemas/FlexMetalOperatingSystemResponse"}],"description":"Server operating system.","readOnly":true},"ipAddresses":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalServerIpAddress"},"description":"Server IP address details.","readOnly":true},"tags":{"type":"array","items":{"type":"string","format":""},"description":"Server tags.","readOnly":true},"createdAt":{"type":"integer","format":"integer","description":"Server creation timestamp.","readOnly":true},"deliveredAt":{"type":"integer","format":"integer","description":"Server delivery timestamp.","readOnly":true},"releasedAt":{"type":"integer","format":"integer","description":"Server release timestamp.","readOnly":true},"contractId":{"type":"string","format":"","description":"Represents client contractId.","readOnly":true}},"additionalProperties":false},"FlexMetalLocationPartial":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"integer","description":"ID of the location","readOnly":true},"name":{"type":"string","format":"","description":"Name of the location","readOnly":true}},"additionalProperties":false},"FlexMetalInstanceTypePartial":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"integer","description":"Instance type ID","readOnly":true},"name":{"type":"string","format":"","description":"Instance type name","readOnly":true}},"additionalProperties":false},"FlexMetalOperatingSystemResponse":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string","format":"","description":"Identifier of the OS. Available operating systems can be obtained from /v3/operatingsystem. Use the `slug` field from the response."}},"additionalProperties":false},"FlexMetalServerIpAddress":{"type":"object","required":["ipAddress"],"properties":{"ipAddress":{"type":"string","format":"","description":"Server IP address.","readOnly":true}},"additionalProperties":false},"Error":{"type":"object","required":["errorCode","errorMessage","errors"],"properties":{"errorCode":{"type":"integer","format":"integer","description":"Error code"},"errorMessage":{"type":"string","format":"","description":"Error message"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetails"},"description":"Error details"}},"additionalProperties":false},"ErrorDetails":{"type":"object","required":["property","message"],"properties":{"property":{"type":"string","format":"","description":"Property in which there is an error"},"message":{"type":"string","format":"","description":"Error message"}},"additionalProperties":false}}},"paths":{"/v3/flexMetal/servers":{"get":{"tags":["FlexMetalServer"],"summary":"Get all your FlexMetal servers","operationId":"getFlexMetalServers","parameters":[{"name":"status","in":"query","description":"Filter by status [creating, provisioning, delivered, failed, releasing, released]","required":true,"schema":{"type":"string"}},{"name":"tag","in":"query","description":"Filter by one or more server tags (only servers with all tags will be returned)","required":true,"type":"array","items":{"type":"string","format":""}},{"name":"RANGED-DATA","in":"header","description":"Example header and default range: RANGED-DATA:start=0,results=25","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalServer"}}}}},"403":{"description":"Invalid credentials"},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## POST /v3/flexMetal/servers

> Create a new FlexMetal server

```json
{"openapi":"3.0.1","info":{"title":"i3D.net Endpoints","version":"3.0.0"},"tags":[{"name":"FlexMetalServer","description":"FlexMetal servers are physical servers that can be requested and released at will."}],"servers":[{"url":"https://api.i3d.net"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","name":"PRIVATE-TOKEN","in":"header"}},"schemas":{"FlexMetalServerRequest":{"type":"object","required":["name","location","instanceType","os","sshKey"],"properties":{"name":{"type":"string","format":"","description":"Server name or hostname, depending on the chosen OS. E.g. Talos requires a hostname but regular Linux OSs work with either."},"location":{"type":"string","format":"","description":"Server location. Available locations can be obtained from /v3/flexMetal/location. Use the `name` field from the response."},"instanceType":{"type":"string","format":"","description":"Server instance type. Available instance types can be obtained from /v3/flexMetal/location/{locationId}}/instanceTypes. Use the `name` field from the response."},"os":{"allOf":[{"$ref":"#/components/schemas/FlexMetalOperatingSystemRequest"}],"description":"Server operating system."},"sshKey":{"type":"array","items":{"type":"string","format":""},"description":"A list of SSH keys. You can either supply SSH key UUIDs from stored objects in /v3/sshKey or provide public keys directly. SSH keys are installed for the root user."},"postInstallScript":{"type":"string","format":"","description":"Post install script. A shell script (e.g. bash) that will be executed after your OS is installed. Currently only supported for Linux based operating systems."},"tags":{"type":"array","items":{"type":"string","format":""},"description":"A list of tags. There is a maximum of 60 tags per server. Each tag must adhere to this pattern: ^[A-Za-z0-9_:-]{1,64}$"},"contractId":{"type":"string","format":"","description":"Represents client contractId. Format is ^[A-Z0-9_\\-.]{0,240}$"},"overflow":{"type":"boolean","description":"If true, the server will be created even if the location is at commited capacity. Default is false."}},"additionalProperties":false,"description":"Request object for creating a new Flex Metal server"},"FlexMetalOperatingSystemRequest":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string","format":"","description":"Identifier of the OS. Available operating systems can be obtained from /v3/operatingsystem. Use the `slug` field from the response."},"kernelParams":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalKernelParam"},"description":"Kernel params for the PXE stage of the OS installation. Most operating systems do not require these, but e.g. Talos does."},"partitions":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalPartition"},"description":"Custom partitions for the OS installation. If not provided, the default partitioning scheme will be used."},"ipxeScriptUrl":{"type":"string","format":"","description":"The URL to your custom iPXE boot menu file. Can and must be used in combination with OS slug custom-ipxe."}},"additionalProperties":false},"FlexMetalKernelParam":{"type":"object","required":["key","value"],"properties":{"key":{"type":"string","format":"","description":"Key of the kernel param"},"value":{"type":"string","format":"","description":"Value of the kernel param"}},"additionalProperties":false},"FlexMetalPartition":{"type":"object","required":["target","filesystem","size"],"properties":{"target":{"type":"string","format":"","description":"Mount point for the partition"},"filesystem":{"type":"string","format":"","description":"Type of filesystem to use for the target. Allowed: ext2, ext3, ext4, xfs"},"size":{"type":"integer","format":"integer","description":"The size of the partition, in MB. Use -1 to indicate usage of the remaining space on the disk."}},"additionalProperties":false},"FlexMetalServer":{"type":"object","required":["uuid","name","status","statusMessage","location","instanceType","os","ipAddresses","tags","createdAt","deliveredAt","releasedAt","contractId"],"properties":{"uuid":{"type":"string","format":"","description":"Server UUID.","readOnly":true},"name":{"type":"string","format":"","description":"Server host name."},"status":{"type":"string","format":"","description":"Server delivery status.<br /><li><ul>created</ul><ul>discovering</ul><ul>discovered</ul><ul>allocating</ul><ul>allocated</ul><ul>configuring_network</ul><ul>network_configured</ul><ul>provisioning</ul><ul>provisioned</ul><ul>delivered</ul><ul>failed</ul><ul>releasing</ul><ul>released</ul></li>","readOnly":true},"statusMessage":{"type":"string","format":"","description":"Status message.","readOnly":true},"location":{"allOf":[{"$ref":"#/components/schemas/FlexMetalLocationPartial"}],"description":"Server location.","readOnly":true},"instanceType":{"allOf":[{"$ref":"#/components/schemas/FlexMetalInstanceTypePartial"}],"description":"Server instance type.","readOnly":true},"os":{"allOf":[{"$ref":"#/components/schemas/FlexMetalOperatingSystemResponse"}],"description":"Server operating system.","readOnly":true},"ipAddresses":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalServerIpAddress"},"description":"Server IP address details.","readOnly":true},"tags":{"type":"array","items":{"type":"string","format":""},"description":"Server tags.","readOnly":true},"createdAt":{"type":"integer","format":"integer","description":"Server creation timestamp.","readOnly":true},"deliveredAt":{"type":"integer","format":"integer","description":"Server delivery timestamp.","readOnly":true},"releasedAt":{"type":"integer","format":"integer","description":"Server release timestamp.","readOnly":true},"contractId":{"type":"string","format":"","description":"Represents client contractId.","readOnly":true}},"additionalProperties":false},"FlexMetalLocationPartial":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"integer","description":"ID of the location","readOnly":true},"name":{"type":"string","format":"","description":"Name of the location","readOnly":true}},"additionalProperties":false},"FlexMetalInstanceTypePartial":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"integer","description":"Instance type ID","readOnly":true},"name":{"type":"string","format":"","description":"Instance type name","readOnly":true}},"additionalProperties":false},"FlexMetalOperatingSystemResponse":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string","format":"","description":"Identifier of the OS. Available operating systems can be obtained from /v3/operatingsystem. Use the `slug` field from the response."}},"additionalProperties":false},"FlexMetalServerIpAddress":{"type":"object","required":["ipAddress"],"properties":{"ipAddress":{"type":"string","format":"","description":"Server IP address.","readOnly":true}},"additionalProperties":false},"Error":{"type":"object","required":["errorCode","errorMessage","errors"],"properties":{"errorCode":{"type":"integer","format":"integer","description":"Error code"},"errorMessage":{"type":"string","format":"","description":"Error message"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetails"},"description":"Error details"}},"additionalProperties":false},"ErrorDetails":{"type":"object","required":["property","message"],"properties":{"property":{"type":"string","format":"","description":"Property in which there is an error"},"message":{"type":"string","format":"","description":"Error message"}},"additionalProperties":false}}},"paths":{"/v3/flexMetal/servers":{"post":{"tags":["FlexMetalServer"],"summary":"Create a new FlexMetal server","operationId":"createFlexMetalServer","requestBody":{"description":"Server request model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlexMetalServerRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalServer"}}}}},"400":{"description":"Invalid request body"},"403":{"description":"Invalid credentials"},"422":{"description":"Unprocessable content"},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## GET /v3/flexMetal/servers/{uuid}

> Get a specific FlexMetal server

```json
{"openapi":"3.0.1","info":{"title":"i3D.net Endpoints","version":"3.0.0"},"tags":[{"name":"FlexMetalServer","description":"FlexMetal servers are physical servers that can be requested and released at will."}],"servers":[{"url":"https://api.i3d.net"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","name":"PRIVATE-TOKEN","in":"header"}},"schemas":{"FlexMetalServer":{"type":"object","required":["uuid","name","status","statusMessage","location","instanceType","os","ipAddresses","tags","createdAt","deliveredAt","releasedAt","contractId"],"properties":{"uuid":{"type":"string","format":"","description":"Server UUID.","readOnly":true},"name":{"type":"string","format":"","description":"Server host name."},"status":{"type":"string","format":"","description":"Server delivery status.<br /><li><ul>created</ul><ul>discovering</ul><ul>discovered</ul><ul>allocating</ul><ul>allocated</ul><ul>configuring_network</ul><ul>network_configured</ul><ul>provisioning</ul><ul>provisioned</ul><ul>delivered</ul><ul>failed</ul><ul>releasing</ul><ul>released</ul></li>","readOnly":true},"statusMessage":{"type":"string","format":"","description":"Status message.","readOnly":true},"location":{"allOf":[{"$ref":"#/components/schemas/FlexMetalLocationPartial"}],"description":"Server location.","readOnly":true},"instanceType":{"allOf":[{"$ref":"#/components/schemas/FlexMetalInstanceTypePartial"}],"description":"Server instance type.","readOnly":true},"os":{"allOf":[{"$ref":"#/components/schemas/FlexMetalOperatingSystemResponse"}],"description":"Server operating system.","readOnly":true},"ipAddresses":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalServerIpAddress"},"description":"Server IP address details.","readOnly":true},"tags":{"type":"array","items":{"type":"string","format":""},"description":"Server tags.","readOnly":true},"createdAt":{"type":"integer","format":"integer","description":"Server creation timestamp.","readOnly":true},"deliveredAt":{"type":"integer","format":"integer","description":"Server delivery timestamp.","readOnly":true},"releasedAt":{"type":"integer","format":"integer","description":"Server release timestamp.","readOnly":true},"contractId":{"type":"string","format":"","description":"Represents client contractId.","readOnly":true}},"additionalProperties":false},"FlexMetalLocationPartial":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"integer","description":"ID of the location","readOnly":true},"name":{"type":"string","format":"","description":"Name of the location","readOnly":true}},"additionalProperties":false},"FlexMetalInstanceTypePartial":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"integer","description":"Instance type ID","readOnly":true},"name":{"type":"string","format":"","description":"Instance type name","readOnly":true}},"additionalProperties":false},"FlexMetalOperatingSystemResponse":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string","format":"","description":"Identifier of the OS. Available operating systems can be obtained from /v3/operatingsystem. Use the `slug` field from the response."}},"additionalProperties":false},"FlexMetalServerIpAddress":{"type":"object","required":["ipAddress"],"properties":{"ipAddress":{"type":"string","format":"","description":"Server IP address.","readOnly":true}},"additionalProperties":false},"Error":{"type":"object","required":["errorCode","errorMessage","errors"],"properties":{"errorCode":{"type":"integer","format":"integer","description":"Error code"},"errorMessage":{"type":"string","format":"","description":"Error message"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetails"},"description":"Error details"}},"additionalProperties":false},"ErrorDetails":{"type":"object","required":["property","message"],"properties":{"property":{"type":"string","format":"","description":"Property in which there is an error"},"message":{"type":"string","format":"","description":"Error message"}},"additionalProperties":false}}},"paths":{"/v3/flexMetal/servers/{uuid}":{"get":{"tags":["FlexMetalServer"],"summary":"Get a specific FlexMetal server","operationId":"getFlexMetalServer","parameters":[{"name":"uuid","in":"path","description":"The server identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalServer"}}}}},"403":{"description":"Invalid credentials"},"404":{"description":"Resource not found"},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## DELETE /v3/flexMetal/servers/{uuid}

> Release a FlexMetal server

```json
{"openapi":"3.0.1","info":{"title":"i3D.net Endpoints","version":"3.0.0"},"tags":[{"name":"FlexMetalServer","description":"FlexMetal servers are physical servers that can be requested and released at will."}],"servers":[{"url":"https://api.i3d.net"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","name":"PRIVATE-TOKEN","in":"header"}},"schemas":{"FlexMetalServer":{"type":"object","required":["uuid","name","status","statusMessage","location","instanceType","os","ipAddresses","tags","createdAt","deliveredAt","releasedAt","contractId"],"properties":{"uuid":{"type":"string","format":"","description":"Server UUID.","readOnly":true},"name":{"type":"string","format":"","description":"Server host name."},"status":{"type":"string","format":"","description":"Server delivery status.<br /><li><ul>created</ul><ul>discovering</ul><ul>discovered</ul><ul>allocating</ul><ul>allocated</ul><ul>configuring_network</ul><ul>network_configured</ul><ul>provisioning</ul><ul>provisioned</ul><ul>delivered</ul><ul>failed</ul><ul>releasing</ul><ul>released</ul></li>","readOnly":true},"statusMessage":{"type":"string","format":"","description":"Status message.","readOnly":true},"location":{"allOf":[{"$ref":"#/components/schemas/FlexMetalLocationPartial"}],"description":"Server location.","readOnly":true},"instanceType":{"allOf":[{"$ref":"#/components/schemas/FlexMetalInstanceTypePartial"}],"description":"Server instance type.","readOnly":true},"os":{"allOf":[{"$ref":"#/components/schemas/FlexMetalOperatingSystemResponse"}],"description":"Server operating system.","readOnly":true},"ipAddresses":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalServerIpAddress"},"description":"Server IP address details.","readOnly":true},"tags":{"type":"array","items":{"type":"string","format":""},"description":"Server tags.","readOnly":true},"createdAt":{"type":"integer","format":"integer","description":"Server creation timestamp.","readOnly":true},"deliveredAt":{"type":"integer","format":"integer","description":"Server delivery timestamp.","readOnly":true},"releasedAt":{"type":"integer","format":"integer","description":"Server release timestamp.","readOnly":true},"contractId":{"type":"string","format":"","description":"Represents client contractId.","readOnly":true}},"additionalProperties":false},"FlexMetalLocationPartial":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"integer","description":"ID of the location","readOnly":true},"name":{"type":"string","format":"","description":"Name of the location","readOnly":true}},"additionalProperties":false},"FlexMetalInstanceTypePartial":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"integer","description":"Instance type ID","readOnly":true},"name":{"type":"string","format":"","description":"Instance type name","readOnly":true}},"additionalProperties":false},"FlexMetalOperatingSystemResponse":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string","format":"","description":"Identifier of the OS. Available operating systems can be obtained from /v3/operatingsystem. Use the `slug` field from the response."}},"additionalProperties":false},"FlexMetalServerIpAddress":{"type":"object","required":["ipAddress"],"properties":{"ipAddress":{"type":"string","format":"","description":"Server IP address.","readOnly":true}},"additionalProperties":false},"Error":{"type":"object","required":["errorCode","errorMessage","errors"],"properties":{"errorCode":{"type":"integer","format":"integer","description":"Error code"},"errorMessage":{"type":"string","format":"","description":"Error message"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetails"},"description":"Error details"}},"additionalProperties":false},"ErrorDetails":{"type":"object","required":["property","message"],"properties":{"property":{"type":"string","format":"","description":"Property in which there is an error"},"message":{"type":"string","format":"","description":"Error message"}},"additionalProperties":false}}},"paths":{"/v3/flexMetal/servers/{uuid}":{"delete":{"tags":["FlexMetalServer"],"summary":"Release a FlexMetal server","operationId":"deleteFlexMetalServer","parameters":[{"name":"uuid","in":"path","description":"The server identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalServer"}}}}},"403":{"description":"Invalid credentials"},"404":{"description":"Resource not found"},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Get a FlexMetal server's root password

> Windows only: Fetch the root password within the first 24 hours after installation.

```json
{"openapi":"3.0.1","info":{"title":"i3D.net Endpoints","version":"3.0.0"},"tags":[{"name":"FlexMetalServer","description":"FlexMetal servers are physical servers that can be requested and released at will."}],"servers":[{"url":"https://api.i3d.net"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","name":"PRIVATE-TOKEN","in":"header"}},"schemas":{"FlexMetalServerRootPassword":{"type":"object","required":["rootPassword"],"properties":{"rootPassword":{"type":"string","format":"","description":"Server root password."}},"additionalProperties":false},"Error":{"type":"object","required":["errorCode","errorMessage","errors"],"properties":{"errorCode":{"type":"integer","format":"integer","description":"Error code"},"errorMessage":{"type":"string","format":"","description":"Error message"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetails"},"description":"Error details"}},"additionalProperties":false},"ErrorDetails":{"type":"object","required":["property","message"],"properties":{"property":{"type":"string","format":"","description":"Property in which there is an error"},"message":{"type":"string","format":"","description":"Error message"}},"additionalProperties":false}}},"paths":{"/v3/flexMetal/servers/{uuid}/rootPassword":{"get":{"tags":["FlexMetalServer"],"summary":"Get a FlexMetal server's root password","description":"Windows only: Fetch the root password within the first 24 hours after installation.","operationId":"getFlexMetalServerRootPasswords","parameters":[{"name":"uuid","in":"path","description":"The server identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalServerRootPassword"}}}}},"403":{"description":"Invalid credentials"},"404":{"description":"Resource not found"},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## POST /v3/flexMetal/servers/{uuid}/tag/{tag}

> Add a tag to a FlexMetal server

```json
{"openapi":"3.0.1","info":{"title":"i3D.net Endpoints","version":"3.0.0"},"tags":[{"name":"FlexMetalServer","description":"FlexMetal servers are physical servers that can be requested and released at will."}],"servers":[{"url":"https://api.i3d.net"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","name":"PRIVATE-TOKEN","in":"header"}},"schemas":{"FlexMetalServer":{"type":"object","required":["uuid","name","status","statusMessage","location","instanceType","os","ipAddresses","tags","createdAt","deliveredAt","releasedAt","contractId"],"properties":{"uuid":{"type":"string","format":"","description":"Server UUID.","readOnly":true},"name":{"type":"string","format":"","description":"Server host name."},"status":{"type":"string","format":"","description":"Server delivery status.<br /><li><ul>created</ul><ul>discovering</ul><ul>discovered</ul><ul>allocating</ul><ul>allocated</ul><ul>configuring_network</ul><ul>network_configured</ul><ul>provisioning</ul><ul>provisioned</ul><ul>delivered</ul><ul>failed</ul><ul>releasing</ul><ul>released</ul></li>","readOnly":true},"statusMessage":{"type":"string","format":"","description":"Status message.","readOnly":true},"location":{"allOf":[{"$ref":"#/components/schemas/FlexMetalLocationPartial"}],"description":"Server location.","readOnly":true},"instanceType":{"allOf":[{"$ref":"#/components/schemas/FlexMetalInstanceTypePartial"}],"description":"Server instance type.","readOnly":true},"os":{"allOf":[{"$ref":"#/components/schemas/FlexMetalOperatingSystemResponse"}],"description":"Server operating system.","readOnly":true},"ipAddresses":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalServerIpAddress"},"description":"Server IP address details.","readOnly":true},"tags":{"type":"array","items":{"type":"string","format":""},"description":"Server tags.","readOnly":true},"createdAt":{"type":"integer","format":"integer","description":"Server creation timestamp.","readOnly":true},"deliveredAt":{"type":"integer","format":"integer","description":"Server delivery timestamp.","readOnly":true},"releasedAt":{"type":"integer","format":"integer","description":"Server release timestamp.","readOnly":true},"contractId":{"type":"string","format":"","description":"Represents client contractId.","readOnly":true}},"additionalProperties":false},"FlexMetalLocationPartial":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"integer","description":"ID of the location","readOnly":true},"name":{"type":"string","format":"","description":"Name of the location","readOnly":true}},"additionalProperties":false},"FlexMetalInstanceTypePartial":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"integer","description":"Instance type ID","readOnly":true},"name":{"type":"string","format":"","description":"Instance type name","readOnly":true}},"additionalProperties":false},"FlexMetalOperatingSystemResponse":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string","format":"","description":"Identifier of the OS. Available operating systems can be obtained from /v3/operatingsystem. Use the `slug` field from the response."}},"additionalProperties":false},"FlexMetalServerIpAddress":{"type":"object","required":["ipAddress"],"properties":{"ipAddress":{"type":"string","format":"","description":"Server IP address.","readOnly":true}},"additionalProperties":false},"Error":{"type":"object","required":["errorCode","errorMessage","errors"],"properties":{"errorCode":{"type":"integer","format":"integer","description":"Error code"},"errorMessage":{"type":"string","format":"","description":"Error message"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetails"},"description":"Error details"}},"additionalProperties":false},"ErrorDetails":{"type":"object","required":["property","message"],"properties":{"property":{"type":"string","format":"","description":"Property in which there is an error"},"message":{"type":"string","format":"","description":"Error message"}},"additionalProperties":false}}},"paths":{"/v3/flexMetal/servers/{uuid}/tag/{tag}":{"post":{"tags":["FlexMetalServer"],"summary":"Add a tag to a FlexMetal server","operationId":"createFlexMetalServerTag","parameters":[{"name":"uuid","in":"path","description":"The server identifier","required":true,"schema":{"type":"string"}},{"name":"tag","in":"path","description":"The tag to add to the server","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalServer"}}}}},"403":{"description":"Invalid credentials"},"404":{"description":"Resource not found"},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## DELETE /v3/flexMetal/servers/{uuid}/tag/{tag}

> Remove a tag from a FlexMetal server

```json
{"openapi":"3.0.1","info":{"title":"i3D.net Endpoints","version":"3.0.0"},"tags":[{"name":"FlexMetalServer","description":"FlexMetal servers are physical servers that can be requested and released at will."}],"servers":[{"url":"https://api.i3d.net"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","name":"PRIVATE-TOKEN","in":"header"}},"schemas":{"FlexMetalServer":{"type":"object","required":["uuid","name","status","statusMessage","location","instanceType","os","ipAddresses","tags","createdAt","deliveredAt","releasedAt","contractId"],"properties":{"uuid":{"type":"string","format":"","description":"Server UUID.","readOnly":true},"name":{"type":"string","format":"","description":"Server host name."},"status":{"type":"string","format":"","description":"Server delivery status.<br /><li><ul>created</ul><ul>discovering</ul><ul>discovered</ul><ul>allocating</ul><ul>allocated</ul><ul>configuring_network</ul><ul>network_configured</ul><ul>provisioning</ul><ul>provisioned</ul><ul>delivered</ul><ul>failed</ul><ul>releasing</ul><ul>released</ul></li>","readOnly":true},"statusMessage":{"type":"string","format":"","description":"Status message.","readOnly":true},"location":{"allOf":[{"$ref":"#/components/schemas/FlexMetalLocationPartial"}],"description":"Server location.","readOnly":true},"instanceType":{"allOf":[{"$ref":"#/components/schemas/FlexMetalInstanceTypePartial"}],"description":"Server instance type.","readOnly":true},"os":{"allOf":[{"$ref":"#/components/schemas/FlexMetalOperatingSystemResponse"}],"description":"Server operating system.","readOnly":true},"ipAddresses":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalServerIpAddress"},"description":"Server IP address details.","readOnly":true},"tags":{"type":"array","items":{"type":"string","format":""},"description":"Server tags.","readOnly":true},"createdAt":{"type":"integer","format":"integer","description":"Server creation timestamp.","readOnly":true},"deliveredAt":{"type":"integer","format":"integer","description":"Server delivery timestamp.","readOnly":true},"releasedAt":{"type":"integer","format":"integer","description":"Server release timestamp.","readOnly":true},"contractId":{"type":"string","format":"","description":"Represents client contractId.","readOnly":true}},"additionalProperties":false},"FlexMetalLocationPartial":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"integer","description":"ID of the location","readOnly":true},"name":{"type":"string","format":"","description":"Name of the location","readOnly":true}},"additionalProperties":false},"FlexMetalInstanceTypePartial":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"integer","description":"Instance type ID","readOnly":true},"name":{"type":"string","format":"","description":"Instance type name","readOnly":true}},"additionalProperties":false},"FlexMetalOperatingSystemResponse":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string","format":"","description":"Identifier of the OS. Available operating systems can be obtained from /v3/operatingsystem. Use the `slug` field from the response."}},"additionalProperties":false},"FlexMetalServerIpAddress":{"type":"object","required":["ipAddress"],"properties":{"ipAddress":{"type":"string","format":"","description":"Server IP address.","readOnly":true}},"additionalProperties":false},"Error":{"type":"object","required":["errorCode","errorMessage","errors"],"properties":{"errorCode":{"type":"integer","format":"integer","description":"Error code"},"errorMessage":{"type":"string","format":"","description":"Error message"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetails"},"description":"Error details"}},"additionalProperties":false},"ErrorDetails":{"type":"object","required":["property","message"],"properties":{"property":{"type":"string","format":"","description":"Property in which there is an error"},"message":{"type":"string","format":"","description":"Error message"}},"additionalProperties":false}}},"paths":{"/v3/flexMetal/servers/{uuid}/tag/{tag}":{"delete":{"tags":["FlexMetalServer"],"summary":"Remove a tag from a FlexMetal server","operationId":"deleteFlexMetalServerTag","parameters":[{"name":"uuid","in":"path","description":"The server identifier","required":true,"schema":{"type":"string"}},{"name":"tag","in":"path","description":"The tag to remove from the server","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalServer"}}}}},"403":{"description":"Invalid credentials"},"404":{"description":"Resource not found"},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## GET /v3/flexMetal/capacity/commit

> Get your FlexMetal capacity commits and usage

```json
{"openapi":"3.0.1","info":{"title":"i3D.net Endpoints","version":"3.0.0"},"tags":[{"name":"FlexMetalServer","description":"FlexMetal servers are physical servers that can be requested and released at will."}],"servers":[{"url":"https://api.i3d.net"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","name":"PRIVATE-TOKEN","in":"header"}},"schemas":{"FlexMetalCapacityCommit":{"type":"object","required":["location","commits"],"properties":{"location":{"allOf":[{"$ref":"#/components/schemas/FlexMetalLocation"}],"description":"Data center location","readOnly":true},"commits":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalInstanceTypeCommit"},"description":"Committed capacity per instance type","readOnly":true}},"additionalProperties":false},"FlexMetalLocation":{"type":"object","required":["id","name","shortName","displayName","countryId","countryName","countryShortName"],"properties":{"id":{"type":"integer","format":"integer","description":"ID of the location","readOnly":true},"name":{"type":"string","format":"","description":"Name of the location","readOnly":true},"shortName":{"type":"string","format":"","description":"Short name of the location","readOnly":true},"displayName":{"type":"string","format":"","description":"Display name of the location","readOnly":true},"countryId":{"type":"integer","format":"integer","description":"Country ID of the location","readOnly":true},"countryName":{"type":"string","format":"","description":"Country name of the Location","readOnly":true},"countryShortName":{"type":"string","format":"","description":"Country short name of the Location","readOnly":true}},"additionalProperties":false},"FlexMetalInstanceTypeCommit":{"type":"object","required":["instanceType","capacity","inUse"],"properties":{"instanceType":{"allOf":[{"$ref":"#/components/schemas/FlexMetalInstanceType"}],"description":"Instance type","readOnly":true},"capacity":{"type":"integer","format":"integer","description":"Total commit of this instance type","readOnly":true},"inUse":{"type":"integer","format":"integer","description":"Instances in use","readOnly":true}},"additionalProperties":false},"FlexMetalInstanceType":{"type":"object","required":["id","locationId","name","sockets","cores","memory","memoryType","storage","storageType","generationName"],"properties":{"id":{"type":"integer","format":"integer","description":"Id of instance type","readOnly":true},"locationId":{"type":"integer","format":"integer","description":"LocationId of instance type","readOnly":true},"name":{"type":"string","format":"","description":"Name of instance type","readOnly":true},"sockets":{"type":"integer","format":"integer","description":"Sockets of instance type","readOnly":true},"cores":{"type":"integer","format":"integer","description":"Cores of instance type","readOnly":true},"memory":{"type":"integer","format":"integer","description":"Memory of instance type","readOnly":true},"memoryType":{"type":"string","format":"","description":"Memory type of instance type","readOnly":true},"storage":{"type":"integer","format":"integer","description":"Storage of instance type","readOnly":true},"storageType":{"type":"string","format":"","description":"Storage type of instance type","readOnly":true},"generationName":{"type":"string","format":"","description":"Generation name of instance type","readOnly":true}},"additionalProperties":false},"Error":{"type":"object","required":["errorCode","errorMessage","errors"],"properties":{"errorCode":{"type":"integer","format":"integer","description":"Error code"},"errorMessage":{"type":"string","format":"","description":"Error message"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetails"},"description":"Error details"}},"additionalProperties":false},"ErrorDetails":{"type":"object","required":["property","message"],"properties":{"property":{"type":"string","format":"","description":"Property in which there is an error"},"message":{"type":"string","format":"","description":"Error message"}},"additionalProperties":false}}},"paths":{"/v3/flexMetal/capacity/commit":{"get":{"tags":["FlexMetalServer"],"summary":"Get your FlexMetal capacity commits and usage","operationId":"getFlexMetalCapacityCommits","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalCapacityCommit"}}}}},"403":{"description":"Invalid credentials"},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## GET /v3/flexMetal/location

> Get all available Bare Metal locations

```json
{"openapi":"3.0.1","info":{"title":"i3D.net Endpoints","version":"3.0.0"},"tags":[{"name":"FlexMetalServer","description":"FlexMetal servers are physical servers that can be requested and released at will."}],"servers":[{"url":"https://api.i3d.net"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","name":"PRIVATE-TOKEN","in":"header"}},"schemas":{"FlexMetalLocation":{"type":"object","required":["id","name","shortName","displayName","countryId","countryName","countryShortName"],"properties":{"id":{"type":"integer","format":"integer","description":"ID of the location","readOnly":true},"name":{"type":"string","format":"","description":"Name of the location","readOnly":true},"shortName":{"type":"string","format":"","description":"Short name of the location","readOnly":true},"displayName":{"type":"string","format":"","description":"Display name of the location","readOnly":true},"countryId":{"type":"integer","format":"integer","description":"Country ID of the location","readOnly":true},"countryName":{"type":"string","format":"","description":"Country name of the Location","readOnly":true},"countryShortName":{"type":"string","format":"","description":"Country short name of the Location","readOnly":true}},"additionalProperties":false},"Error":{"type":"object","required":["errorCode","errorMessage","errors"],"properties":{"errorCode":{"type":"integer","format":"integer","description":"Error code"},"errorMessage":{"type":"string","format":"","description":"Error message"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetails"},"description":"Error details"}},"additionalProperties":false},"ErrorDetails":{"type":"object","required":["property","message"],"properties":{"property":{"type":"string","format":"","description":"Property in which there is an error"},"message":{"type":"string","format":"","description":"Error message"}},"additionalProperties":false}}},"paths":{"/v3/flexMetal/location":{"get":{"tags":["FlexMetalServer"],"summary":"Get all available Bare Metal locations","operationId":"getFlexMetalLocations","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalLocation"}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Get all instance types for a location.

> For an overview of all locations, see /v3/flexMetal/location

```json
{"openapi":"3.0.1","info":{"title":"i3D.net Endpoints","version":"3.0.0"},"tags":[{"name":"FlexMetalServer","description":"FlexMetal servers are physical servers that can be requested and released at will."}],"servers":[{"url":"https://api.i3d.net"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","name":"PRIVATE-TOKEN","in":"header"}},"schemas":{"FlexMetalInstanceType":{"type":"object","required":["id","locationId","name","sockets","cores","memory","memoryType","storage","storageType","generationName"],"properties":{"id":{"type":"integer","format":"integer","description":"Id of instance type","readOnly":true},"locationId":{"type":"integer","format":"integer","description":"LocationId of instance type","readOnly":true},"name":{"type":"string","format":"","description":"Name of instance type","readOnly":true},"sockets":{"type":"integer","format":"integer","description":"Sockets of instance type","readOnly":true},"cores":{"type":"integer","format":"integer","description":"Cores of instance type","readOnly":true},"memory":{"type":"integer","format":"integer","description":"Memory of instance type","readOnly":true},"memoryType":{"type":"string","format":"","description":"Memory type of instance type","readOnly":true},"storage":{"type":"integer","format":"integer","description":"Storage of instance type","readOnly":true},"storageType":{"type":"string","format":"","description":"Storage type of instance type","readOnly":true},"generationName":{"type":"string","format":"","description":"Generation name of instance type","readOnly":true}},"additionalProperties":false},"Error":{"type":"object","required":["errorCode","errorMessage","errors"],"properties":{"errorCode":{"type":"integer","format":"integer","description":"Error code"},"errorMessage":{"type":"string","format":"","description":"Error message"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetails"},"description":"Error details"}},"additionalProperties":false},"ErrorDetails":{"type":"object","required":["property","message"],"properties":{"property":{"type":"string","format":"","description":"Property in which there is an error"},"message":{"type":"string","format":"","description":"Error message"}},"additionalProperties":false}}},"paths":{"/v3/flexMetal/location/{locationId}/instanceTypes":{"get":{"tags":["FlexMetalServer"],"summary":"Get all instance types for a location.","description":"For an overview of all locations, see /v3/flexMetal/location","operationId":"getFlexMetalLocationInstanceTypes","parameters":[{"name":"locationId","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlexMetalInstanceType"}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.i3d.net/api-references/general/flexmetalserver-1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
