# Models

## The ClientServerCommandPostRequest object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientServerCommandPostRequest":{"title":"ClientServerCommand Request","description":"ClientServerCommand request model","properties":{"command":{"title":"Command","description":"Command to be executed on delivered server","type":"string"}},"type":"object"}}}}
```

## The ClientTagPatchRequest object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientTagPatchRequest":{"properties":{"tag":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"}},"type":"object"}}}}
```

## The ClientTagPostRequest object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientTagPostRequest":{"properties":{"tag":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"}},"type":"object"}}}}
```

## The ServerBaselinePostRequest object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ServerBaselinePostRequest":{"properties":{"inventoryId":{"type":"integer"},"hostname":{"type":"string","pattern":"/^([a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,}$/i"}},"type":"object"}}}}
```

## The SshKeyValidatePostRequest object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"SshKeyValidatePostRequest":{"title":"Validate SSH Key request","description":"Validate a public SSH key","properties":{"":{"description":"The public SSH key that needs to be validated","type":"string"}},"type":"object"}}}}
```

## The ClientServerDeleteResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientServerDeleteResponse":{"properties":{"server":{"$ref":"#/components/schemas/ClientServerRequest"}},"type":"object"},"ClientServerRequest":{"type":"object","allOf":[{"$ref":"#/components/schemas/ClientServer"},{"properties":{"request_id":{"type":"integer"},"client_server_request":{"description":"The raw request object","type":"object","nullable":true}},"type":"object"}]},"ClientServer":{"type":"object","allOf":[{"$ref":"#/components/schemas/Server"},{"properties":{"client":{"$ref":"#/components/schemas/Client"},"contract_id":{"type":"string","nullable":true},"name":{"description":"Name of the server","type":"string"},"status":{"description":"Status of the server","type":"string"},"status_message":{"description":"Normally empty, but can contain additional information; usually for failures","type":"string","nullable":true},"os":{"$ref":"#/components/schemas/OperatingSystem"},"ip_addresses":{"description":"IP addresses assigned to the server","type":"array","items":{"$ref":"#/components/schemas/IpAddress"}},"tags":{"description":"Tags assigned to the server","type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"}},"delivered_at":{"type":"string","format":"date-time","nullable":true},"released_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}]},"Server":{"properties":{"metal_server_uuid":{"description":"UUID of the metal server","type":"string","format":"uuid"},"inventory_id":{"description":"ID of the inventory server","type":"integer","nullable":true},"instance_type":{"$ref":"#/components/schemas/InstanceType"},"location":{"$ref":"#/components/schemas/Location"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"},"InstanceType":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Location":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Client":{"properties":{"id":{"description":"Client identifier","type":"integer"},"username":{"type":"string"}},"type":"object"},"OperatingSystem":{"properties":{"id":{"type":"integer"},"slug":{"type":"string"},"name":{"type":"string","enum":["centos","debian","fedora","fedora-core","fortios","freebsd","gentoo","opensuse","redhat","suse-linux","ubuntu"]},"version":{"type":"string"}},"type":"object"},"IpAddress":{"properties":{"ip_address":{"type":"string"}},"type":"object"}}}}
```

## The ClientServerGetResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientServerGetResponse":{"properties":{"server":{"$ref":"#/components/schemas/ClientServerRequest"}},"type":"object"},"ClientServerRequest":{"type":"object","allOf":[{"$ref":"#/components/schemas/ClientServer"},{"properties":{"request_id":{"type":"integer"},"client_server_request":{"description":"The raw request object","type":"object","nullable":true}},"type":"object"}]},"ClientServer":{"type":"object","allOf":[{"$ref":"#/components/schemas/Server"},{"properties":{"client":{"$ref":"#/components/schemas/Client"},"contract_id":{"type":"string","nullable":true},"name":{"description":"Name of the server","type":"string"},"status":{"description":"Status of the server","type":"string"},"status_message":{"description":"Normally empty, but can contain additional information; usually for failures","type":"string","nullable":true},"os":{"$ref":"#/components/schemas/OperatingSystem"},"ip_addresses":{"description":"IP addresses assigned to the server","type":"array","items":{"$ref":"#/components/schemas/IpAddress"}},"tags":{"description":"Tags assigned to the server","type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"}},"delivered_at":{"type":"string","format":"date-time","nullable":true},"released_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}]},"Server":{"properties":{"metal_server_uuid":{"description":"UUID of the metal server","type":"string","format":"uuid"},"inventory_id":{"description":"ID of the inventory server","type":"integer","nullable":true},"instance_type":{"$ref":"#/components/schemas/InstanceType"},"location":{"$ref":"#/components/schemas/Location"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"},"InstanceType":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Location":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Client":{"properties":{"id":{"description":"Client identifier","type":"integer"},"username":{"type":"string"}},"type":"object"},"OperatingSystem":{"properties":{"id":{"type":"integer"},"slug":{"type":"string"},"name":{"type":"string","enum":["centos","debian","fedora","fedora-core","fortios","freebsd","gentoo","opensuse","redhat","suse-linux","ubuntu"]},"version":{"type":"string"}},"type":"object"},"IpAddress":{"properties":{"ip_address":{"type":"string"}},"type":"object"}}}}
```

## The ClientServerListResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientServerListResponse":{"properties":{"servers":{"type":"array","items":{"$ref":"#/components/schemas/ClientServerRequest"}},"paginator":{"$ref":"#/components/schemas/Paginator"}},"type":"object"},"ClientServerRequest":{"type":"object","allOf":[{"$ref":"#/components/schemas/ClientServer"},{"properties":{"request_id":{"type":"integer"},"client_server_request":{"description":"The raw request object","type":"object","nullable":true}},"type":"object"}]},"ClientServer":{"type":"object","allOf":[{"$ref":"#/components/schemas/Server"},{"properties":{"client":{"$ref":"#/components/schemas/Client"},"contract_id":{"type":"string","nullable":true},"name":{"description":"Name of the server","type":"string"},"status":{"description":"Status of the server","type":"string"},"status_message":{"description":"Normally empty, but can contain additional information; usually for failures","type":"string","nullable":true},"os":{"$ref":"#/components/schemas/OperatingSystem"},"ip_addresses":{"description":"IP addresses assigned to the server","type":"array","items":{"$ref":"#/components/schemas/IpAddress"}},"tags":{"description":"Tags assigned to the server","type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"}},"delivered_at":{"type":"string","format":"date-time","nullable":true},"released_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}]},"Server":{"properties":{"metal_server_uuid":{"description":"UUID of the metal server","type":"string","format":"uuid"},"inventory_id":{"description":"ID of the inventory server","type":"integer","nullable":true},"instance_type":{"$ref":"#/components/schemas/InstanceType"},"location":{"$ref":"#/components/schemas/Location"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"},"InstanceType":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Location":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Client":{"properties":{"id":{"description":"Client identifier","type":"integer"},"username":{"type":"string"}},"type":"object"},"OperatingSystem":{"properties":{"id":{"type":"integer"},"slug":{"type":"string"},"name":{"type":"string","enum":["centos","debian","fedora","fedora-core","fortios","freebsd","gentoo","opensuse","redhat","suse-linux","ubuntu"]},"version":{"type":"string"}},"type":"object"},"IpAddress":{"properties":{"ip_address":{"type":"string"}},"type":"object"},"Paginator":{"title":"Paginator","description":"Pagination model","properties":{"from":{"title":"from","type":"integer"},"to":{"title":"to","type":"integer"},"total":{"title":"total","type":"integer"},"current_page":{"title":"current page","type":"integer"},"last_page":{"title":"last page","type":"integer"},"first_page_url":{"title":"first page url","type":"string"},"prev_page_url":{"title":"prev page url","type":"string"},"next_page_url":{"title":"next page url","type":"string"},"last_page_url":{"title":"last page url","type":"string"},"path":{"title":"path","type":"string"},"per_page":{"title":"per page","type":"integer"}},"type":"object"}}}}
```

## The ClientServerCommandGetResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientServerCommandGetResponse":{"title":"ClientServerCommandGetResponse","description":"Server Command model","properties":{"uuid":{"title":"UUID","description":"Command UUID","type":"string","format":"uuid"},"server_uuid":{"title":"Server UUID","description":"Server UUID","type":"string","format":"uuid"},"payload":{"title":"Payload","description":"Command payload","properties":{"command":{"type":"string"}},"type":"object"},"state":{"title":"State","description":"Command state","type":"string","enum":["finished","pending","failed"]},"created_at":{"title":"Created At","description":"Created at timestamp","type":"string","format":"date-time"},"updated_at":{"title":"Updated At","description":"Updated at timestamp","type":"string","format":"date-time"}},"type":"object"}}}}
```

## The ClientServerCommandPostResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientServerCommandPostResponse":{"title":"ClientServer Response","description":"Response model for the created server command","properties":{"command":{"title":"Command","description":"Details of created server command","type":"array","items":{"$ref":"#/components/schemas/ClientServerCommandGetResponse"}}},"type":"object"},"ClientServerCommandGetResponse":{"title":"ClientServerCommandGetResponse","description":"Server Command model","properties":{"uuid":{"title":"UUID","description":"Command UUID","type":"string","format":"uuid"},"server_uuid":{"title":"Server UUID","description":"Server UUID","type":"string","format":"uuid"},"payload":{"title":"Payload","description":"Command payload","properties":{"command":{"type":"string"}},"type":"object"},"state":{"title":"State","description":"Command state","type":"string","enum":["finished","pending","failed"]},"created_at":{"title":"Created At","description":"Created at timestamp","type":"string","format":"date-time"},"updated_at":{"title":"Updated At","description":"Updated at timestamp","type":"string","format":"date-time"}},"type":"object"}}}}
```

## The ClientServerTagDeleteResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientServerTagDeleteResponse":{"properties":{"server":{"$ref":"#/components/schemas/ClientServerRequest"}},"type":"object"},"ClientServerRequest":{"type":"object","allOf":[{"$ref":"#/components/schemas/ClientServer"},{"properties":{"request_id":{"type":"integer"},"client_server_request":{"description":"The raw request object","type":"object","nullable":true}},"type":"object"}]},"ClientServer":{"type":"object","allOf":[{"$ref":"#/components/schemas/Server"},{"properties":{"client":{"$ref":"#/components/schemas/Client"},"contract_id":{"type":"string","nullable":true},"name":{"description":"Name of the server","type":"string"},"status":{"description":"Status of the server","type":"string"},"status_message":{"description":"Normally empty, but can contain additional information; usually for failures","type":"string","nullable":true},"os":{"$ref":"#/components/schemas/OperatingSystem"},"ip_addresses":{"description":"IP addresses assigned to the server","type":"array","items":{"$ref":"#/components/schemas/IpAddress"}},"tags":{"description":"Tags assigned to the server","type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"}},"delivered_at":{"type":"string","format":"date-time","nullable":true},"released_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}]},"Server":{"properties":{"metal_server_uuid":{"description":"UUID of the metal server","type":"string","format":"uuid"},"inventory_id":{"description":"ID of the inventory server","type":"integer","nullable":true},"instance_type":{"$ref":"#/components/schemas/InstanceType"},"location":{"$ref":"#/components/schemas/Location"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"},"InstanceType":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Location":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Client":{"properties":{"id":{"description":"Client identifier","type":"integer"},"username":{"type":"string"}},"type":"object"},"OperatingSystem":{"properties":{"id":{"type":"integer"},"slug":{"type":"string"},"name":{"type":"string","enum":["centos","debian","fedora","fedora-core","fortios","freebsd","gentoo","opensuse","redhat","suse-linux","ubuntu"]},"version":{"type":"string"}},"type":"object"},"IpAddress":{"properties":{"ip_address":{"type":"string"}},"type":"object"}}}}
```

## The ClientServerTagPostResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientServerTagPostResponse":{"properties":{"server":{"$ref":"#/components/schemas/ClientServerRequest"}},"type":"object"},"ClientServerRequest":{"type":"object","allOf":[{"$ref":"#/components/schemas/ClientServer"},{"properties":{"request_id":{"type":"integer"},"client_server_request":{"description":"The raw request object","type":"object","nullable":true}},"type":"object"}]},"ClientServer":{"type":"object","allOf":[{"$ref":"#/components/schemas/Server"},{"properties":{"client":{"$ref":"#/components/schemas/Client"},"contract_id":{"type":"string","nullable":true},"name":{"description":"Name of the server","type":"string"},"status":{"description":"Status of the server","type":"string"},"status_message":{"description":"Normally empty, but can contain additional information; usually for failures","type":"string","nullable":true},"os":{"$ref":"#/components/schemas/OperatingSystem"},"ip_addresses":{"description":"IP addresses assigned to the server","type":"array","items":{"$ref":"#/components/schemas/IpAddress"}},"tags":{"description":"Tags assigned to the server","type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"}},"delivered_at":{"type":"string","format":"date-time","nullable":true},"released_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}]},"Server":{"properties":{"metal_server_uuid":{"description":"UUID of the metal server","type":"string","format":"uuid"},"inventory_id":{"description":"ID of the inventory server","type":"integer","nullable":true},"instance_type":{"$ref":"#/components/schemas/InstanceType"},"location":{"$ref":"#/components/schemas/Location"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"},"InstanceType":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Location":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Client":{"properties":{"id":{"description":"Client identifier","type":"integer"},"username":{"type":"string"}},"type":"object"},"OperatingSystem":{"properties":{"id":{"type":"integer"},"slug":{"type":"string"},"name":{"type":"string","enum":["centos","debian","fedora","fedora-core","fortios","freebsd","gentoo","opensuse","redhat","suse-linux","ubuntu"]},"version":{"type":"string"}},"type":"object"},"IpAddress":{"properties":{"ip_address":{"type":"string"}},"type":"object"}}}}
```

## The ClientTagGetResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientTagGetResponse":{"properties":{"tag":{"$ref":"#/components/schemas/ClientTag"}},"type":"object"},"ClientTag":{"properties":{"id":{"type":"integer"},"client_id":{"type":"integer"},"tag":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"},"resources":{"description":"A list of resources that use this tag","properties":{"count":{"description":"The total number of resources that use this tag.","type":"integer"},"flex_metal_servers":{"description":"A summary of tag usage for the FlexMetalServer resource type.","properties":{"count":{"description":"The amount of resources of this type that use this tag.","type":"integer"}},"type":"object"}},"type":"object"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}}}}
```

## The ClientTagListResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientTagListResponse":{"properties":{"tags":{"type":"array","items":{"$ref":"#/components/schemas/ClientTag"}},"paginator":{"$ref":"#/components/schemas/Paginator"}},"type":"object"},"ClientTag":{"properties":{"id":{"type":"integer"},"client_id":{"type":"integer"},"tag":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"},"resources":{"description":"A list of resources that use this tag","properties":{"count":{"description":"The total number of resources that use this tag.","type":"integer"},"flex_metal_servers":{"description":"A summary of tag usage for the FlexMetalServer resource type.","properties":{"count":{"description":"The amount of resources of this type that use this tag.","type":"integer"}},"type":"object"}},"type":"object"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"},"Paginator":{"title":"Paginator","description":"Pagination model","properties":{"from":{"title":"from","type":"integer"},"to":{"title":"to","type":"integer"},"total":{"title":"total","type":"integer"},"current_page":{"title":"current page","type":"integer"},"last_page":{"title":"last page","type":"integer"},"first_page_url":{"title":"first page url","type":"string"},"prev_page_url":{"title":"prev page url","type":"string"},"next_page_url":{"title":"next page url","type":"string"},"last_page_url":{"title":"last page url","type":"string"},"path":{"title":"path","type":"string"},"per_page":{"title":"per page","type":"integer"}},"type":"object"}}}}
```

## The ClientTagPatchResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientTagPatchResponse":{"properties":{"tag":{"$ref":"#/components/schemas/ClientTag"}},"type":"object"},"ClientTag":{"properties":{"id":{"type":"integer"},"client_id":{"type":"integer"},"tag":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"},"resources":{"description":"A list of resources that use this tag","properties":{"count":{"description":"The total number of resources that use this tag.","type":"integer"},"flex_metal_servers":{"description":"A summary of tag usage for the FlexMetalServer resource type.","properties":{"count":{"description":"The amount of resources of this type that use this tag.","type":"integer"}},"type":"object"}},"type":"object"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}}}}
```

## The ClientTagPostResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientTagPostResponse":{"properties":{"tag":{"$ref":"#/components/schemas/ClientTag"}},"type":"object"},"ClientTag":{"properties":{"id":{"type":"integer"},"client_id":{"type":"integer"},"tag":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"},"resources":{"description":"A list of resources that use this tag","properties":{"count":{"description":"The total number of resources that use this tag.","type":"integer"},"flex_metal_servers":{"description":"A summary of tag usage for the FlexMetalServer resource type.","properties":{"count":{"description":"The amount of resources of this type that use this tag.","type":"integer"}},"type":"object"}},"type":"object"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}}}}
```

## The ClientUsageGetResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientUsageGetResponse":{"properties":{"servers":{"type":"array","items":{"$ref":"#/components/schemas/ClientServerUsage"}},"paginator":{"$ref":"#/components/schemas/Paginator"}},"type":"object"},"ClientServerUsage":{"properties":{"serverId":{"type":"integer"},"locationId":{"type":"integer"},"instanceType":{"type":"string"},"deliveredAt":{"type":"string","format":"date-time"},"releasedAt":{"type":"string","format":"date-time","nullable":true},"bandwidth":{"oneOf":[{"$ref":"#/components/schemas/Bandwidth"}],"nullable":true,"type":"object"},"contractId":{"type":"string","default":""},"tags":{"type":"array","items":{"type":"string"}}},"type":"object"},"Bandwidth":{"properties":{"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time","nullable":true},"bandwidthIn":{"description":"Bandwidth In (bytes)","type":"integer"},"bandwidthOut":{"description":"Bandwidth Out (bytes)","type":"integer"}},"type":"object"},"Paginator":{"title":"Paginator","description":"Pagination model","properties":{"from":{"title":"from","type":"integer"},"to":{"title":"to","type":"integer"},"total":{"title":"total","type":"integer"},"current_page":{"title":"current page","type":"integer"},"last_page":{"title":"last page","type":"integer"},"first_page_url":{"title":"first page url","type":"string"},"prev_page_url":{"title":"prev page url","type":"string"},"next_page_url":{"title":"next page url","type":"string"},"last_page_url":{"title":"last page url","type":"string"},"path":{"title":"path","type":"string"},"per_page":{"title":"per page","type":"integer"}},"type":"object"}}}}
```

## The Bandwidth object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"Bandwidth":{"properties":{"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time","nullable":true},"bandwidthIn":{"description":"Bandwidth In (bytes)","type":"integer"},"bandwidthOut":{"description":"Bandwidth Out (bytes)","type":"integer"}},"type":"object"}}}}
```

## The Client object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"Client":{"properties":{"id":{"description":"Client identifier","type":"integer"},"username":{"type":"string"}},"type":"object"}}}}
```

## The ClientServer object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientServer":{"type":"object","allOf":[{"$ref":"#/components/schemas/Server"},{"properties":{"client":{"$ref":"#/components/schemas/Client"},"contract_id":{"type":"string","nullable":true},"name":{"description":"Name of the server","type":"string"},"status":{"description":"Status of the server","type":"string"},"status_message":{"description":"Normally empty, but can contain additional information; usually for failures","type":"string","nullable":true},"os":{"$ref":"#/components/schemas/OperatingSystem"},"ip_addresses":{"description":"IP addresses assigned to the server","type":"array","items":{"$ref":"#/components/schemas/IpAddress"}},"tags":{"description":"Tags assigned to the server","type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"}},"delivered_at":{"type":"string","format":"date-time","nullable":true},"released_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}]},"Server":{"properties":{"metal_server_uuid":{"description":"UUID of the metal server","type":"string","format":"uuid"},"inventory_id":{"description":"ID of the inventory server","type":"integer","nullable":true},"instance_type":{"$ref":"#/components/schemas/InstanceType"},"location":{"$ref":"#/components/schemas/Location"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"},"InstanceType":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Location":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Client":{"properties":{"id":{"description":"Client identifier","type":"integer"},"username":{"type":"string"}},"type":"object"},"OperatingSystem":{"properties":{"id":{"type":"integer"},"slug":{"type":"string"},"name":{"type":"string","enum":["centos","debian","fedora","fedora-core","fortios","freebsd","gentoo","opensuse","redhat","suse-linux","ubuntu"]},"version":{"type":"string"}},"type":"object"},"IpAddress":{"properties":{"ip_address":{"type":"string"}},"type":"object"}}}}
```

## The ClientServerRequest object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientServerRequest":{"type":"object","allOf":[{"$ref":"#/components/schemas/ClientServer"},{"properties":{"request_id":{"type":"integer"},"client_server_request":{"description":"The raw request object","type":"object","nullable":true}},"type":"object"}]},"ClientServer":{"type":"object","allOf":[{"$ref":"#/components/schemas/Server"},{"properties":{"client":{"$ref":"#/components/schemas/Client"},"contract_id":{"type":"string","nullable":true},"name":{"description":"Name of the server","type":"string"},"status":{"description":"Status of the server","type":"string"},"status_message":{"description":"Normally empty, but can contain additional information; usually for failures","type":"string","nullable":true},"os":{"$ref":"#/components/schemas/OperatingSystem"},"ip_addresses":{"description":"IP addresses assigned to the server","type":"array","items":{"$ref":"#/components/schemas/IpAddress"}},"tags":{"description":"Tags assigned to the server","type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"}},"delivered_at":{"type":"string","format":"date-time","nullable":true},"released_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}]},"Server":{"properties":{"metal_server_uuid":{"description":"UUID of the metal server","type":"string","format":"uuid"},"inventory_id":{"description":"ID of the inventory server","type":"integer","nullable":true},"instance_type":{"$ref":"#/components/schemas/InstanceType"},"location":{"$ref":"#/components/schemas/Location"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"},"InstanceType":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Location":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Client":{"properties":{"id":{"description":"Client identifier","type":"integer"},"username":{"type":"string"}},"type":"object"},"OperatingSystem":{"properties":{"id":{"type":"integer"},"slug":{"type":"string"},"name":{"type":"string","enum":["centos","debian","fedora","fedora-core","fortios","freebsd","gentoo","opensuse","redhat","suse-linux","ubuntu"]},"version":{"type":"string"}},"type":"object"},"IpAddress":{"properties":{"ip_address":{"type":"string"}},"type":"object"}}}}
```

## The ClientServerUsage object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientServerUsage":{"properties":{"serverId":{"type":"integer"},"locationId":{"type":"integer"},"instanceType":{"type":"string"},"deliveredAt":{"type":"string","format":"date-time"},"releasedAt":{"type":"string","format":"date-time","nullable":true},"bandwidth":{"oneOf":[{"$ref":"#/components/schemas/Bandwidth"}],"nullable":true,"type":"object"},"contractId":{"type":"string","default":""},"tags":{"type":"array","items":{"type":"string"}}},"type":"object"},"Bandwidth":{"properties":{"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time","nullable":true},"bandwidthIn":{"description":"Bandwidth In (bytes)","type":"integer"},"bandwidthOut":{"description":"Bandwidth Out (bytes)","type":"integer"}},"type":"object"}}}}
```

## The ClientTag object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ClientTag":{"properties":{"id":{"type":"integer"},"client_id":{"type":"integer"},"tag":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"},"resources":{"description":"A list of resources that use this tag","properties":{"count":{"description":"The total number of resources that use this tag.","type":"integer"},"flex_metal_servers":{"description":"A summary of tag usage for the FlexMetalServer resource type.","properties":{"count":{"description":"The amount of resources of this type that use this tag.","type":"integer"}},"type":"object"}},"type":"object"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}}}}
```

## The IpAddress object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"IpAddress":{"properties":{"ip_address":{"type":"string"}},"type":"object"}}}}
```

## The OperatingSystem object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"OperatingSystem":{"properties":{"id":{"type":"integer"},"slug":{"type":"string"},"name":{"type":"string","enum":["centos","debian","fedora","fedora-core","fortios","freebsd","gentoo","opensuse","redhat","suse-linux","ubuntu"]},"version":{"type":"string"}},"type":"object"}}}}
```

## The Paginator object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"Paginator":{"title":"Paginator","description":"Pagination model","properties":{"from":{"title":"from","type":"integer"},"to":{"title":"to","type":"integer"},"total":{"title":"total","type":"integer"},"current_page":{"title":"current page","type":"integer"},"last_page":{"title":"last page","type":"integer"},"first_page_url":{"title":"first page url","type":"string"},"prev_page_url":{"title":"prev page url","type":"string"},"next_page_url":{"title":"next page url","type":"string"},"last_page_url":{"title":"last page url","type":"string"},"path":{"title":"path","type":"string"},"per_page":{"title":"per page","type":"integer"}},"type":"object"}}}}
```

## The ServerBaselinePostResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ServerBaselinePostResponse":{"properties":{"server":{"$ref":"#/components/schemas/ClientServerRequest"}},"type":"object"},"ClientServerRequest":{"type":"object","allOf":[{"$ref":"#/components/schemas/ClientServer"},{"properties":{"request_id":{"type":"integer"},"client_server_request":{"description":"The raw request object","type":"object","nullable":true}},"type":"object"}]},"ClientServer":{"type":"object","allOf":[{"$ref":"#/components/schemas/Server"},{"properties":{"client":{"$ref":"#/components/schemas/Client"},"contract_id":{"type":"string","nullable":true},"name":{"description":"Name of the server","type":"string"},"status":{"description":"Status of the server","type":"string"},"status_message":{"description":"Normally empty, but can contain additional information; usually for failures","type":"string","nullable":true},"os":{"$ref":"#/components/schemas/OperatingSystem"},"ip_addresses":{"description":"IP addresses assigned to the server","type":"array","items":{"$ref":"#/components/schemas/IpAddress"}},"tags":{"description":"Tags assigned to the server","type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"}},"delivered_at":{"type":"string","format":"date-time","nullable":true},"released_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}]},"Server":{"properties":{"metal_server_uuid":{"description":"UUID of the metal server","type":"string","format":"uuid"},"inventory_id":{"description":"ID of the inventory server","type":"integer","nullable":true},"instance_type":{"$ref":"#/components/schemas/InstanceType"},"location":{"$ref":"#/components/schemas/Location"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"},"InstanceType":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Location":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Client":{"properties":{"id":{"description":"Client identifier","type":"integer"},"username":{"type":"string"}},"type":"object"},"OperatingSystem":{"properties":{"id":{"type":"integer"},"slug":{"type":"string"},"name":{"type":"string","enum":["centos","debian","fedora","fedora-core","fortios","freebsd","gentoo","opensuse","redhat","suse-linux","ubuntu"]},"version":{"type":"string"}},"type":"object"},"IpAddress":{"properties":{"ip_address":{"type":"string"}},"type":"object"}}}}
```

## The DeliveredServersResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"DeliveredServersResponse":{"properties":{"deliveredServers":{"type":"array","items":{"$ref":"#/components/schemas/DeliveredServers"}}},"type":"object"},"DeliveredServers":{"properties":{"clientId":{"type":"integer"},"clientName":{"type":"string"},"instanceTypeId":{"type":"integer"},"instanceTypeName":{"type":"string"},"locationId":{"type":"integer"},"locationName":{"type":"string"},"contractId":{"type":"string"},"numDelivered":{"type":"integer"}},"type":"object"}}}}
```

## The ServerDeleteResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ServerDeleteResponse":{"properties":{"server":{"$ref":"#/components/schemas/ClientServerRequest"}},"type":"object"},"ClientServerRequest":{"type":"object","allOf":[{"$ref":"#/components/schemas/ClientServer"},{"properties":{"request_id":{"type":"integer"},"client_server_request":{"description":"The raw request object","type":"object","nullable":true}},"type":"object"}]},"ClientServer":{"type":"object","allOf":[{"$ref":"#/components/schemas/Server"},{"properties":{"client":{"$ref":"#/components/schemas/Client"},"contract_id":{"type":"string","nullable":true},"name":{"description":"Name of the server","type":"string"},"status":{"description":"Status of the server","type":"string"},"status_message":{"description":"Normally empty, but can contain additional information; usually for failures","type":"string","nullable":true},"os":{"$ref":"#/components/schemas/OperatingSystem"},"ip_addresses":{"description":"IP addresses assigned to the server","type":"array","items":{"$ref":"#/components/schemas/IpAddress"}},"tags":{"description":"Tags assigned to the server","type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"}},"delivered_at":{"type":"string","format":"date-time","nullable":true},"released_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}]},"Server":{"properties":{"metal_server_uuid":{"description":"UUID of the metal server","type":"string","format":"uuid"},"inventory_id":{"description":"ID of the inventory server","type":"integer","nullable":true},"instance_type":{"$ref":"#/components/schemas/InstanceType"},"location":{"$ref":"#/components/schemas/Location"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"},"InstanceType":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Location":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Client":{"properties":{"id":{"description":"Client identifier","type":"integer"},"username":{"type":"string"}},"type":"object"},"OperatingSystem":{"properties":{"id":{"type":"integer"},"slug":{"type":"string"},"name":{"type":"string","enum":["centos","debian","fedora","fedora-core","fortios","freebsd","gentoo","opensuse","redhat","suse-linux","ubuntu"]},"version":{"type":"string"}},"type":"object"},"IpAddress":{"properties":{"ip_address":{"type":"string"}},"type":"object"}}}}
```

## The ServerListResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ServerListResponse":{"properties":{"servers":{"type":"array","items":{"$ref":"#/components/schemas/ClientServerRequest"}},"paginator":{"$ref":"#/components/schemas/Paginator"}},"type":"object"},"ClientServerRequest":{"type":"object","allOf":[{"$ref":"#/components/schemas/ClientServer"},{"properties":{"request_id":{"type":"integer"},"client_server_request":{"description":"The raw request object","type":"object","nullable":true}},"type":"object"}]},"ClientServer":{"type":"object","allOf":[{"$ref":"#/components/schemas/Server"},{"properties":{"client":{"$ref":"#/components/schemas/Client"},"contract_id":{"type":"string","nullable":true},"name":{"description":"Name of the server","type":"string"},"status":{"description":"Status of the server","type":"string"},"status_message":{"description":"Normally empty, but can contain additional information; usually for failures","type":"string","nullable":true},"os":{"$ref":"#/components/schemas/OperatingSystem"},"ip_addresses":{"description":"IP addresses assigned to the server","type":"array","items":{"$ref":"#/components/schemas/IpAddress"}},"tags":{"description":"Tags assigned to the server","type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"}},"delivered_at":{"type":"string","format":"date-time","nullable":true},"released_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}]},"Server":{"properties":{"metal_server_uuid":{"description":"UUID of the metal server","type":"string","format":"uuid"},"inventory_id":{"description":"ID of the inventory server","type":"integer","nullable":true},"instance_type":{"$ref":"#/components/schemas/InstanceType"},"location":{"$ref":"#/components/schemas/Location"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"},"InstanceType":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Location":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Client":{"properties":{"id":{"description":"Client identifier","type":"integer"},"username":{"type":"string"}},"type":"object"},"OperatingSystem":{"properties":{"id":{"type":"integer"},"slug":{"type":"string"},"name":{"type":"string","enum":["centos","debian","fedora","fedora-core","fortios","freebsd","gentoo","opensuse","redhat","suse-linux","ubuntu"]},"version":{"type":"string"}},"type":"object"},"IpAddress":{"properties":{"ip_address":{"type":"string"}},"type":"object"},"Paginator":{"title":"Paginator","description":"Pagination model","properties":{"from":{"title":"from","type":"integer"},"to":{"title":"to","type":"integer"},"total":{"title":"total","type":"integer"},"current_page":{"title":"current page","type":"integer"},"last_page":{"title":"last page","type":"integer"},"first_page_url":{"title":"first page url","type":"string"},"prev_page_url":{"title":"prev page url","type":"string"},"next_page_url":{"title":"next page url","type":"string"},"last_page_url":{"title":"last page url","type":"string"},"path":{"title":"path","type":"string"},"per_page":{"title":"per page","type":"integer"}},"type":"object"}}}}
```

## The ServerPostResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"ServerPostResponse":{"properties":{"servers":{"type":"array","items":{"$ref":"#/components/schemas/ClientServerRequest"}}},"type":"object"},"ClientServerRequest":{"type":"object","allOf":[{"$ref":"#/components/schemas/ClientServer"},{"properties":{"request_id":{"type":"integer"},"client_server_request":{"description":"The raw request object","type":"object","nullable":true}},"type":"object"}]},"ClientServer":{"type":"object","allOf":[{"$ref":"#/components/schemas/Server"},{"properties":{"client":{"$ref":"#/components/schemas/Client"},"contract_id":{"type":"string","nullable":true},"name":{"description":"Name of the server","type":"string"},"status":{"description":"Status of the server","type":"string"},"status_message":{"description":"Normally empty, but can contain additional information; usually for failures","type":"string","nullable":true},"os":{"$ref":"#/components/schemas/OperatingSystem"},"ip_addresses":{"description":"IP addresses assigned to the server","type":"array","items":{"$ref":"#/components/schemas/IpAddress"}},"tags":{"description":"Tags assigned to the server","type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_:-]{1,64}$"}},"delivered_at":{"type":"string","format":"date-time","nullable":true},"released_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"}]},"Server":{"properties":{"metal_server_uuid":{"description":"UUID of the metal server","type":"string","format":"uuid"},"inventory_id":{"description":"ID of the inventory server","type":"integer","nullable":true},"instance_type":{"$ref":"#/components/schemas/InstanceType"},"location":{"$ref":"#/components/schemas/Location"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"},"InstanceType":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Location":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Client":{"properties":{"id":{"description":"Client identifier","type":"integer"},"username":{"type":"string"}},"type":"object"},"OperatingSystem":{"properties":{"id":{"type":"integer"},"slug":{"type":"string"},"name":{"type":"string","enum":["centos","debian","fedora","fedora-core","fortios","freebsd","gentoo","opensuse","redhat","suse-linux","ubuntu"]},"version":{"type":"string"}},"type":"object"},"IpAddress":{"properties":{"ip_address":{"type":"string"}},"type":"object"}}}}
```

## The DeliveredServers object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"DeliveredServers":{"properties":{"clientId":{"type":"integer"},"clientName":{"type":"string"},"instanceTypeId":{"type":"integer"},"instanceTypeName":{"type":"string"},"locationId":{"type":"integer"},"locationName":{"type":"string"},"contractId":{"type":"string"},"numDelivered":{"type":"integer"}},"type":"object"}}}}
```

## The InstanceType object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"InstanceType":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"}}}}
```

## The Location object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"Location":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"}}}}
```

## The Server object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"Server":{"properties":{"metal_server_uuid":{"description":"UUID of the metal server","type":"string","format":"uuid"},"inventory_id":{"description":"ID of the inventory server","type":"integer","nullable":true},"instance_type":{"$ref":"#/components/schemas/InstanceType"},"location":{"$ref":"#/components/schemas/Location"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}},"type":"object"},"InstanceType":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"Location":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"}}}}
```

## The SshKeyValidatePostResponse object

```json
{"openapi":"3.0.0","info":{"title":"MetalWorks API","version":"1.0"},"components":{"schemas":{"SshKeyValidatePostResponse":{"title":"Validate SSH Key response","properties":{"status":{"description":"OK if the validation succeeded","type":"string"},"algorithm":{"description":"Algorithm used to generate the SSH key","type":"string"},"message":{"type":"string"}},"type":"object"}}}}
```


---

# 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/flex-metal/models.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.
