diff --git a/docs/openapi.yaml b/docs/openapi.yaml
new file mode 100644
index 0000000..d13daa9
--- /dev/null
+++ b/docs/openapi.yaml
@@ -0,0 +1,8359 @@
+openapi: 3.0.1
+info:
+ title: VirtFusion Global API
+ description: >-
+ You can use this API to access all Administrator API endpoints, such as the
+ server API to deploy and manage servers, or the system API to configure and
+ manage the system.
+
+
+ The API is organized around REST. All requests should be made over SSL. All
+ request and response bodies, including errors, are encoded in JSON.
+
+
+ Endpoint https://cp.domain.com/api/v1
+ version: 1.0.0
+tags:
+ - name: General
+ - name: Hypervisors
+ - name: Hypervisor Groups
+ - name: Servers
+ - name: Servers/Network
+ - name: Servers/Network/Firewall
+ - name: Servers/Network/Traffic
+ - name: Servers/Power
+ - name: Servers/Backup Manager
+ - name: IP Blocks
+ - name: Backups
+ - name: DNS
+ - name: Media
+ - name: Packages
+ - name: Queue & Tasks
+ - name: SSH Keys
+ - name: Users
+ - name: Users/External Rel ID & Rel Str
+ - name: Self Service
+ - name: Self Service/External Relational ID
+paths:
+ /connect:
+ get:
+ summary: Test connection
+ deprecated: false
+ description: ''
+ tags:
+ - General
+ parameters: []
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example: []
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /compute/hypervisors/groups:
+ get:
+ summary: Retrieve hypervisor groups
+ deprecated: false
+ description: ''
+ tags:
+ - Hypervisor Groups
+ parameters:
+ - name: results
+ in: query
+ description: >-
+ Number of results to return. Range between 1 and 200. Defaults to
+ 20.
+ required: false
+ example: 20
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ current_page: 1
+ data:
+ - id: 1
+ name: Default
+ label: null
+ description: Default hypervisor group
+ distributionType: 5
+ enabled: true
+ default: true
+ created: '2024-03-12T22:21:32+00:00'
+ updated: '2024-04-12T20:56:04+00:00'
+ - id: 2
+ name: Test 1
+ label: null
+ description: null
+ distributionType: 13
+ enabled: true
+ default: false
+ created: '2024-10-08T13:23:28+00:00'
+ updated: '2024-10-08T13:23:42+00:00'
+ - id: 3
+ name: Test 2
+ label: null
+ description: null
+ distributionType: 5
+ enabled: true
+ default: false
+ created: '2024-10-12T21:12:33+00:00'
+ updated: '2024-10-12T21:14:18+00:00'
+ first_page_url: >-
+ https://192.168.3.11/api/v1/compute/hypervisors/groups?results=20&page=1
+ from: 1
+ last_page: 1
+ last_page_url: >-
+ https://192.168.3.11/api/v1/compute/hypervisors/groups?results=20&page=1
+ links:
+ - url: null
+ label: '« Previous'
+ active: false
+ - url: >-
+ https://192.168.3.11/api/v1/compute/hypervisors/groups?results=20&page=1
+ label: '1'
+ active: true
+ - url: null
+ label: Next »
+ active: false
+ next_page_url: null
+ path: https://192.168.3.11/api/v1/compute/hypervisors/groups
+ per_page: 20
+ prev_page_url: null
+ to: 3
+ total: 3
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /compute/hypervisors/groups/{hypervisorGroupId}:
+ get:
+ summary: Retrieve a hypervisor group
+ deprecated: false
+ description: ''
+ tags:
+ - Hypervisor Groups
+ parameters:
+ - name: hypervisorGroupId
+ in: path
+ description: A valid hypervisor group ID as shown in VirtFusion.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 1
+ name: Default
+ label: null
+ description: Default hypervisor group
+ distributionType: 5
+ enabled: true
+ default: true
+ created: '2024-03-12T22:21:32+00:00'
+ updated: '2024-04-12T20:56:04+00:00'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /compute/hypervisors/groups/{hypervisorGroupId}/resources:
+ get:
+ summary: Retrieve a hypervisor groups resources
+ deprecated: false
+ description: ''
+ tags:
+ - Hypervisor Groups
+ parameters:
+ - name: hypervisorGroupId
+ in: path
+ description: A valid hypervisor group ID as shown in VirtFusion.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ - name: results
+ in: query
+ description: >-
+ Number of results to return. Range between 1 and 200. Defaults to
+ 20.
+ required: false
+ example: 20
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ current_page: 1
+ data:
+ - hypervisor:
+ id: 1
+ name: PHV 1 (RED)
+ enabled: true
+ prohibit: false
+ accept: false
+ commissioned: true
+ resources:
+ servers:
+ units: '#'
+ max: 0
+ allocated: 1
+ free: -1
+ percent: null
+ memory:
+ units: MB
+ max: 6004
+ allocated: 4096
+ free: 1908
+ percent: 68.2
+ cpuCores:
+ units: '#'
+ max: 4
+ allocated: 3
+ free: 1
+ percent: 75
+ localStorage:
+ enabled: 1
+ name: Local (Default mountpoint)
+ storageType: 0
+ units: GB
+ max: 90
+ allocated: 25
+ free: 65
+ percent: 27.8
+ otherStorage: []
+ network:
+ total:
+ ipv4:
+ free: 470
+ - hypervisor:
+ id: 2
+ name: PHV 2 (BLUE)
+ enabled: true
+ prohibit: false
+ accept: false
+ commissioned: true
+ resources:
+ servers:
+ units: '#'
+ max: 0
+ allocated: 1
+ free: -1
+ percent: null
+ memory:
+ units: MB
+ max: 10000
+ allocated: 1024
+ free: 8976
+ percent: 10.2
+ cpuCores:
+ units: '#'
+ max: 28
+ allocated: 1
+ free: 27
+ percent: 3.6
+ localStorage:
+ enabled: 1
+ name: Local (Default mountpoint)
+ storageType: 0
+ units: GB
+ max: 150
+ allocated: 10
+ free: 140
+ percent: 6.7
+ otherStorage: []
+ network:
+ total:
+ ipv4:
+ free: 470
+ - hypervisor:
+ id: 3
+ name: BHV 9
+ enabled: true
+ prohibit: false
+ accept: false
+ commissioned: true
+ resources:
+ servers:
+ units: '#'
+ max: 0
+ allocated: 2
+ free: -2
+ percent: null
+ memory:
+ units: MB
+ max: 27913
+ allocated: 2048
+ free: 25865
+ percent: 7.3
+ cpuCores:
+ units: '#'
+ max: 64
+ allocated: 2
+ free: 62
+ percent: 3.1
+ localStorage:
+ enabled: 1
+ name: Local (Default mountpoint)
+ storageType: 0
+ units: GB
+ max: 400
+ allocated: 20
+ free: 380
+ percent: 5
+ otherStorage: []
+ network:
+ total:
+ ipv4:
+ free: 470
+ - hypervisor:
+ id: 4
+ name: BHV 8
+ enabled: true
+ prohibit: false
+ accept: false
+ commissioned: true
+ resources:
+ servers:
+ units: '#'
+ max: 0
+ allocated: 0
+ free: 0
+ percent: null
+ memory:
+ units: MB
+ max: 27913
+ allocated: 0
+ free: 27913
+ percent: 0
+ cpuCores:
+ units: '#'
+ max: 16
+ allocated: 0
+ free: 16
+ percent: 0
+ localStorage:
+ enabled: 1
+ name: Local (Default mountpoint)
+ storageType: 0
+ units: GB
+ max: 1000
+ allocated: 0
+ free: 1000
+ percent: 0
+ otherStorage: []
+ network:
+ total:
+ ipv4:
+ free: 0
+ - hypervisor:
+ id: 8
+ name: BHV 3
+ enabled: true
+ prohibit: false
+ accept: false
+ commissioned: true
+ resources:
+ servers:
+ units: '#'
+ max: 0
+ allocated: 2
+ free: -2
+ percent: null
+ memory:
+ units: MB
+ max: 27913
+ allocated: 2048
+ free: 25865
+ percent: 7.3
+ cpuCores:
+ units: '#'
+ max: 120
+ allocated: 3
+ free: 117
+ percent: 2.5
+ localStorage:
+ enabled: 1
+ name: Local (Default mountpoint)
+ storageType: 1
+ units: GB
+ max: 2000
+ allocated: 20
+ free: 1980
+ percent: 1
+ otherStorage: []
+ network:
+ total:
+ ipv4:
+ free: 470
+ - hypervisor:
+ id: 9
+ name: BHV 4
+ enabled: true
+ prohibit: false
+ accept: false
+ commissioned: true
+ resources:
+ servers:
+ units: '#'
+ max: 0
+ allocated: 0
+ free: 0
+ percent: null
+ memory:
+ units: MB
+ max: 13684
+ allocated: 0
+ free: 13684
+ percent: 0
+ cpuCores:
+ units: '#'
+ max: 4
+ allocated: 0
+ free: 4
+ percent: 0
+ localStorage:
+ enabled: 1
+ name: Local (Default mountpoint)
+ storageType: 0
+ units: GB
+ max: 1000
+ allocated: 0
+ free: 1000
+ percent: 0
+ otherStorage: []
+ network:
+ total:
+ ipv4:
+ free: 0
+ - hypervisor:
+ id: 10
+ name: BHV 5
+ enabled: true
+ prohibit: false
+ accept: false
+ commissioned: true
+ resources:
+ servers:
+ units: '#'
+ max: 0
+ allocated: 0
+ free: 0
+ percent: null
+ memory:
+ units: MB
+ max: 13684
+ allocated: 0
+ free: 13684
+ percent: 0
+ cpuCores:
+ units: '#'
+ max: 4
+ allocated: 0
+ free: 4
+ percent: 0
+ localStorage:
+ enabled: 1
+ name: Local (Default mountpoint)
+ storageType: 0
+ units: GB
+ max: 1000
+ allocated: 0
+ free: 1000
+ percent: 0
+ otherStorage: []
+ network:
+ total:
+ ipv4:
+ free: 0
+ - hypervisor:
+ id: 11
+ name: BHV 6
+ enabled: true
+ prohibit: false
+ accept: false
+ commissioned: true
+ resources:
+ servers:
+ units: '#'
+ max: 0
+ allocated: 1
+ free: -1
+ percent: null
+ memory:
+ units: MB
+ max: 27913
+ allocated: 1024
+ free: 26889
+ percent: 3.7
+ cpuCores:
+ units: '#'
+ max: 16
+ allocated: 1
+ free: 15
+ percent: 6.3
+ localStorage:
+ enabled: 1
+ name: Local (Default mountpoint)
+ storageType: 0
+ units: GB
+ max: 1000
+ allocated: 10
+ free: 990
+ percent: 1
+ otherStorage: []
+ network:
+ total:
+ ipv4:
+ free: 478
+ - hypervisor:
+ id: 12
+ name: BHV 7
+ enabled: true
+ prohibit: false
+ accept: false
+ commissioned: true
+ resources:
+ servers:
+ units: '#'
+ max: 0
+ allocated: 1
+ free: -1
+ percent: null
+ memory:
+ units: MB
+ max: 27913
+ allocated: 1024
+ free: 26889
+ percent: 3.7
+ cpuCores:
+ units: '#'
+ max: 16
+ allocated: 1
+ free: 15
+ percent: 6.3
+ localStorage:
+ enabled: 1
+ name: Local (Default mountpoint)
+ storageType: 0
+ units: GB
+ max: 1000
+ allocated: 10
+ free: 990
+ percent: 1
+ otherStorage: []
+ network:
+ total:
+ ipv4:
+ free: 478
+ - hypervisor:
+ id: 13
+ name: Ceph Hypervisor 1
+ enabled: true
+ prohibit: false
+ accept: false
+ commissioned: true
+ resources:
+ servers:
+ units: '#'
+ max: 0
+ allocated: 5
+ free: -5
+ percent: null
+ memory:
+ units: MB
+ max: 24000
+ allocated: 7168
+ free: 16832
+ percent: 29.9
+ cpuCores:
+ units: '#'
+ max: 64
+ allocated: 8
+ free: 56
+ percent: 12.5
+ localStorage:
+ enabled: 1
+ name: Local (Default mountpoint)
+ storageType: 1
+ units: GB
+ max: 100
+ allocated: 50
+ free: 50
+ percent: 50
+ otherStorage:
+ - id: 1
+ name: Ceph RBD
+ enabled: 0
+ path: null
+ units: GB
+ storageType: 2
+ isDatastore: true
+ max: 10000
+ allocated: 35
+ free: 9965
+ percent: 0.4
+ - id: 4
+ name: Ceph FS
+ enabled: 0
+ path: null
+ units: GB
+ storageType: 2
+ isDatastore: true
+ max: 558349385
+ allocated: 5
+ free: 558349380
+ percent: 0
+ network:
+ total:
+ ipv4:
+ free: 503
+ - hypervisor:
+ id: 14
+ name: Ceph Hypervisor 2
+ enabled: true
+ prohibit: false
+ accept: false
+ commissioned: true
+ resources:
+ servers:
+ units: '#'
+ max: 0
+ allocated: 3
+ free: -3
+ percent: null
+ memory:
+ units: MB
+ max: 24000
+ allocated: 3072
+ free: 20928
+ percent: 12.8
+ cpuCores:
+ units: '#'
+ max: 64
+ allocated: 3
+ free: 61
+ percent: 4.7
+ localStorage:
+ enabled: 1
+ name: Local (Default mountpoint)
+ storageType: 1
+ units: GB
+ max: 1000
+ allocated: 10
+ free: 990
+ percent: 1
+ otherStorage:
+ - id: 2
+ name: Ceph RBD
+ enabled: 0
+ path: null
+ units: GB
+ storageType: 2
+ isDatastore: true
+ max: 10000
+ allocated: 10
+ free: 9990
+ percent: 0.1
+ - id: 3
+ name: Ceph EC
+ enabled: 0
+ path: null
+ units: GB
+ storageType: 2
+ isDatastore: true
+ max: 13333333
+ allocated: 10
+ free: 13333323
+ percent: 0
+ network:
+ total:
+ ipv4:
+ free: 33
+ first_page_url: >-
+ https://192.168.3.11/api/v1/compute/hypervisors/groups/1/resources?page=1
+ from: 1
+ last_page: 1
+ last_page_url: >-
+ https://192.168.3.11/api/v1/compute/hypervisors/groups/1/resources?page=1
+ links:
+ - url: null
+ label: '« Previous'
+ active: false
+ - url: >-
+ https://192.168.3.11/api/v1/compute/hypervisors/groups/1/resources?page=1
+ label: '1'
+ active: true
+ - url: null
+ label: Next »
+ active: false
+ next_page_url: null
+ path: >-
+ https://192.168.3.11/api/v1/compute/hypervisors/groups/1/resources
+ per_page: 20
+ prev_page_url: null
+ to: 11
+ total: 11
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/firewall/{interface}/disable:
+ post:
+ summary: Disable firewall
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Network/Firewall
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ - name: interface
+ in: path
+ description: primary or secondary.
+ required: true
+ example: primary
+ schema:
+ type: string
+ - name: sync
+ in: query
+ description: >-
+ Synchronise and apply the defined rules. true|false Defaults to
+ false.
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ responses:
+ '200':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/firewall/{interface}/enable:
+ post:
+ summary: Enable firewall
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Network/Firewall
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ - name: interface
+ in: path
+ description: primary or secondary.
+ required: true
+ example: primary
+ schema:
+ type: string
+ - name: sync
+ in: query
+ description: >-
+ Synchronise and apply the defined rules. true|false Defaults to
+ false.
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ responses:
+ '200':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/firewall/{interface}:
+ get:
+ summary: Retrieve firewall
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Network/Firewall
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ - name: interface
+ in: path
+ description: primary or secondary.
+ required: true
+ example: primary
+ schema:
+ type: string
+ - name: sync
+ in: query
+ description: >-
+ Synchronise and apply the defined rules. true|false Defaults to
+ false.
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ responses:
+ '200':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ example: |-
+ {
+ "data": {
+ "enabled": true,
+ "rules": []
+ }
+ }
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/firewall/{interface}/rules:
+ post:
+ summary: Apply firewall rulesets
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Network/Firewall
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ - name: interface
+ in: path
+ description: primary or secondary.
+ required: true
+ example: primary
+ schema:
+ type: string
+ - name: sync
+ in: query
+ description: >-
+ Synchronise and apply the defined rules. true|false Defaults to
+ false.
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ rulesets:
+ type: array
+ items:
+ type: integer
+ description: >-
+ An array of ruleset IDs. All existing rules will be flushed
+ and the new rules applied. An empty array will flush all
+ rules.
+ required:
+ - rulesets
+ example:
+ rulesets:
+ - 1
+ - 2
+ - 5
+ responses:
+ '201':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/traffic/blocks:
+ post:
+ summary: Add a traffic block to a server
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Network/Traffic
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ month:
+ type: integer
+ description: >-
+ The numeric month as returned by the GET request
+ (available).
+ amount:
+ type: integer
+ description: An amount of traffic in GB.
+ required:
+ - month
+ - amount
+ example:
+ month: 2
+ amount: 100
+ responses:
+ '201':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ get:
+ summary: Retrieve a servers traffic blocks
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Network/Traffic
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ month:
+ type: integer
+ description: >-
+ The numeric month as returned by the GET request
+ (available).
+ amount:
+ type: integer
+ description: An amount of traffic in GB.
+ required:
+ - month
+ - amount
+ example: ''
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ assigned:
+ - id: 2
+ current: false
+ month: 2
+ traffic: 100
+ start: '2025-02-20 00:00:00'
+ end: '2025-03-19 23:59:59'
+ added: '2025-01-20T15:08:15.000000Z'
+ available:
+ total: 25
+ current:
+ month: 1
+ start: '2025-01-20 00:00:00'
+ end: '2025-02-19 23:59:59'
+ months:
+ '1':
+ month: 1
+ start: '2025-01-20 00:00:00'
+ end: '2025-02-19 23:59:59'
+ '2':
+ month: 2
+ start: '2025-02-20 00:00:00'
+ end: '2025-03-19 23:59:59'
+ '3':
+ month: 3
+ start: '2025-03-20 00:00:00'
+ end: '2025-04-19 23:59:59'
+ '4':
+ month: 4
+ start: '2025-04-20 00:00:00'
+ end: '2025-05-19 23:59:59'
+ '5':
+ month: 5
+ start: '2025-05-20 00:00:00'
+ end: '2025-06-19 23:59:59'
+ '6':
+ month: 6
+ start: '2025-06-20 00:00:00'
+ end: '2025-07-19 23:59:59'
+ '7':
+ month: 7
+ start: '2025-07-20 00:00:00'
+ end: '2025-08-19 23:59:59'
+ '8':
+ month: 8
+ start: '2025-08-20 00:00:00'
+ end: '2025-09-19 23:59:59'
+ '9':
+ month: 9
+ start: '2025-09-20 00:00:00'
+ end: '2025-10-19 23:59:59'
+ '10':
+ month: 10
+ start: '2025-10-20 00:00:00'
+ end: '2025-11-19 23:59:59'
+ '11':
+ month: 11
+ start: '2025-11-20 00:00:00'
+ end: '2025-12-19 23:59:59'
+ '12':
+ month: 12
+ start: '2025-12-20 00:00:00'
+ end: '2026-01-19 23:59:59'
+ '13':
+ month: 13
+ start: '2026-01-20 00:00:00'
+ end: '2026-02-19 23:59:59'
+ '14':
+ month: 14
+ start: '2026-02-20 00:00:00'
+ end: '2026-03-19 23:59:59'
+ '15':
+ month: 15
+ start: '2026-03-20 00:00:00'
+ end: '2026-04-19 23:59:59'
+ '16':
+ month: 16
+ start: '2026-04-20 00:00:00'
+ end: '2026-05-19 23:59:59'
+ '17':
+ month: 17
+ start: '2026-05-20 00:00:00'
+ end: '2026-06-19 23:59:59'
+ '18':
+ month: 18
+ start: '2026-06-20 00:00:00'
+ end: '2026-07-19 23:59:59'
+ '19':
+ month: 19
+ start: '2026-07-20 00:00:00'
+ end: '2026-08-19 23:59:59'
+ '20':
+ month: 20
+ start: '2026-08-20 00:00:00'
+ end: '2026-09-19 23:59:59'
+ '21':
+ month: 21
+ start: '2026-09-20 00:00:00'
+ end: '2026-10-19 23:59:59'
+ '22':
+ month: 22
+ start: '2026-10-20 00:00:00'
+ end: '2026-11-19 23:59:59'
+ '23':
+ month: 23
+ start: '2026-11-20 00:00:00'
+ end: '2026-12-19 23:59:59'
+ '24':
+ month: 24
+ start: '2026-12-20 00:00:00'
+ end: '2027-01-19 23:59:59'
+ '25':
+ month: 25
+ start: '2027-01-20 00:00:00'
+ end: '2027-02-19 23:59:59'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/traffic/blocks/{blockId}:
+ delete:
+ summary: Remove a traffic block from a server
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Network/Traffic
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ - name: blockId
+ in: path
+ description: >-
+ ID of an assigned traffic block as returned by the GET request
+ (assigned).
+ required: true
+ example: '1'
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ month:
+ type: integer
+ description: >-
+ The numeric month as returned by the GET request
+ (available).
+ amount:
+ type: integer
+ description: An amount of traffic in GB.
+ required:
+ - month
+ - amount
+ example:
+ month: 2
+ amount: 100
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/modify/traffic:
+ put:
+ summary: Modify primary traffic allowance
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Network/Traffic
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ traffic:
+ type: string
+ description: Range of 0 - 999999999
+ required:
+ - traffic
+ example:
+ traffic: 1000
+ responses:
+ '201':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/networkWhitelist:
+ post:
+ summary: Add an address to the whitelist
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Network
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 9
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ interface:
+ type: string
+ description: Primary or secondary.
+ ip:
+ type: string
+ description: IPv4 or IPv6 address.
+ cidr:
+ type: integer
+ description: IPv4 or IPv6 CIDR.
+ required:
+ - interface
+ - ip
+ - cidr
+ example:
+ interface: primary
+ ip: 10.0.0.10
+ cidr: 32
+ responses:
+ '201':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ delete:
+ summary: Remove an address from the whitelist
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Network
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 9
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ interface:
+ type: string
+ description: Primary or secondary.
+ ip:
+ type: string
+ description: IPv4 or IPv6 address.
+ required:
+ - interface
+ - ip
+ example:
+ interface: primary
+ ip: 10.0.0.10
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/ipv4Qty:
+ post:
+ summary: Add a quantity of IPv4 addresses
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Network
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 9
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ interface:
+ type: string
+ description: Primary or secondary.
+ quantity:
+ type: integer
+ description: Number of IPv4 addresses.
+ required:
+ - interface
+ - quantity
+ example:
+ interface: primary
+ quantity: 2
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ - 192.168.4.36
+ - 192.168.4.37
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/ipv4:
+ post:
+ summary: Add an array of IPv4 addresses
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Network
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 9
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ ip:
+ type: array
+ items:
+ type: string
+ required:
+ - ip
+ example:
+ ip:
+ - 10.100.0.10
+ - 10.100.0.11
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ delete:
+ summary: Remove an array of IPv4 addresses
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Network
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 9
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ ip:
+ type: array
+ items:
+ type: string
+ description: Valid IPv4 addresses.
+ description: Valid IPv4 addresses.
+ required:
+ - ip
+ example:
+ ip:
+ - 10.100.0.10
+ - 10.100.0.11
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/power/boot:
+ post:
+ summary: Boot a server
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Power
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ queueId: 171
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/power/shutdown:
+ post:
+ summary: Shutdown a server
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Power
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ queueId: 171
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/power/restart:
+ post:
+ summary: Restart a server
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Power
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ queueId: 171
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/power/poweroff:
+ post:
+ summary: Poweroff a server
+ deprecated: false
+ description: ''
+ tags:
+ - Servers/Power
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ queueId: 171
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/backupManager/access:
+ put:
+ summary: Modify Access
+ deprecated: false
+ description: >-
+ Adjust the backup manager access type and various other settings for the
+ specified virtual server.
+ tags:
+ - Servers/Backup Manager
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 9
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - inherit
+ - disabled
+ - scheduled
+ - view_restore
+ - full
+ - manual
+ required:
+ - type
+ examples: {}
+ responses:
+ '201':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}:
+ get:
+ summary: Retrieve a server
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ - name: remoteState
+ in: query
+ description: Return the remote state of the server.
+ required: false
+ example: 'false'
+ schema:
+ type: boolean
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 69
+ ownerId: 1
+ hypervisorId: 6
+ arch: 1
+ name: Elliptical Way
+ selfService: 0
+ selfServiceSettings: []
+ hostname: null
+ commissionStatus: 3
+ uuid: b9fd9092-7200-4a24-96d4-76aedd664274
+ state: complete
+ migratable: true
+ timezone: _default
+ migrateLevel: 0
+ deleteLevel: 0
+ configLevel: 0
+ backupLevel: 0
+ elevated: false
+ elevateId: null
+ elevate: false
+ destroyable: true
+ rebuild: false
+ suspended: false
+ protected: false
+ buildFailed: false
+ primaryNetworkDhcp4: false
+ primaryNetworkDhcp6: false
+ built: '2025-01-15T15:00:49+00:00'
+ created: '2024-12-06T21:25:58+00:00'
+ updated: '2025-01-15T23:17:49+00:00'
+ traffic:
+ public:
+ countMethod: 1
+ currentPeriod:
+ start: '2025-01-06T00:00:00.000000Z'
+ end: '2025-02-05T23:59:59.999999Z'
+ limit: 20000
+ settings:
+ osTemplateInstall: true
+ osTemplateInstallId: 49
+ encryptedPassword: >-
+ eyJpdiI6IkNtT0ZmUEQ4Q2ZuNW5yUWVXZUcvWWc9PSIsInZhbHVlIjoibHJmMTNHZXpqV3lneFUrZEZ3eThSWEZVbVk5TDlBYTJQbXpPbFRvcmd0OD0iLCJtYWMiOiI1NTNhMGVmNzBlZWViZWI3NjkyMmYzYmM3NWFjMDY3ZTlmZmE4ZDE3NDI2YzliMjY0ODM4YzQzMDViMWY3MTI1IiwidGFnIjoiIn0=
+ backupPlan: null
+ uefi: false
+ uefiType: 0
+ cloudInit: true
+ cloudInitType: 1
+ config:
+ cloud.init:
+ on.network:
+ netplan_routes_v4: true
+ netplan_routes_v6: true
+ on.network.libvirtrouted:
+ netplan_routes_v4: true
+ netplan_routes_v6: true
+ on.all:
+ user.data:
+ runcmd:
+ - >-
+ DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
+ --option=Dpkg::Options::=--force-confold
+ --option=Dpkg::options::=--force-unsafe-io
+ --assume-yes --quiet update
+ - >-
+ DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
+ --option=Dpkg::Options::=--force-confold
+ --option=Dpkg::options::=--force-unsafe-io
+ --assume-yes --quiet install qemu-guest-agent
+ - /usr/bin/systemctl enable qemu-guest-agent
+ - /usr/bin/systemctl start qemu-guest-agent
+ - >-
+ DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
+ --option=Dpkg::Options::=--force-confold
+ --option=Dpkg::options::=--force-unsafe-io
+ --assume-yes --quiet dist-upgrade
+ on.password:
+ user.data:
+ runcmd:
+ - >-
+ /usr/bin/sed -i "s/#PermitRootLogin
+ prohibit-password/PermitRootLogin yes/g"
+ /etc/ssh/sshd_config
+ - >-
+ /usr/bin/sed -i "s/PasswordAuthentication
+ no/PasswordAuthentication yes/g"
+ /etc/ssh/sshd_config
+ - /usr/bin/systemctl restart sshd
+ on.sshkey:
+ user.data: []
+ userConfig: []
+ bootOrder:
+ - hd
+ - cdrom
+ tpmType: 0
+ networkBoot: false
+ bootMenu: 1
+ customISO: 1
+ securityDriver: 3
+ memBalloon:
+ model: 1
+ autoDeflate: 0
+ freePageReporting: 0
+ hyperv:
+ enabled: false
+ passthrough: false
+ relaxed: 0
+ vapic: 0
+ spinlocks: 0
+ vpindex: 0
+ runtime: 0
+ synic: 0
+ stimer: 0
+ reset: 0
+ vendorId: 0
+ frequencies: 0
+ reenlightenment: 0
+ tlbflush: 0
+ ipi: 0
+ evmcs: 0
+ vendorIdValue: KVM VM
+ spinlocksValue: 8191
+ clockEnabled: 0
+ extended:
+ cpuFlags:
+ topoext: '1'
+ svm: '1'
+ vmx: '1'
+ machineType: inherit
+ pciPorts: 16
+ resources:
+ memory: 1024
+ storage: 11
+ traffic: 20000
+ cpuCores: 2
+ cpu:
+ cores: 2
+ type: inherit
+ typeExact: host-model
+ shares: 1024
+ throttle: 0
+ topology:
+ enabled: false
+ sockets: 1
+ cores: 1
+ threads: 1
+ dies: 1
+ customXML:
+ domain:
+ xml: ''
+ enabled: false
+ os:
+ xml: ''
+ enabled: false
+ devices:
+ xml: ''
+ enabled: false
+ features:
+ xml: ''
+ enabled: false
+ clock:
+ xml: ''
+ enabled: false
+ cpuTune:
+ xml: ''
+ enabled: false
+ qemuCommandline: []
+ qemuAgent:
+ os:
+ screen: >-
+ iVBORw0KGgoAAAANSUhEUgAAAJYAAABTCAAAAABYT6E5AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfpARESACl1ShbSAAAB0klEQVRo3u3VS2/TQBAA4NlZr9eP+N04DmmKqxZFBQRC6oX/wN9G4s6l0ENFKQQoSVw7deT4xaFpRTkgkNKIivksreWd9e5oVqsFIH+N/UmUrdrrz9//tMaMxK8rSaEgAICGGnAAuGpAv+sy8f3wUYnBttibW2Wz33X9qfayOJhVXvydx8nzYLDMjcfZTrZTdH1tlHXxQbWXx1PhGD23lYVymD7LDHt7st7SKWGlxSguWRvtvq70yWjqST8YnmilCxB9GzdD8zwcnZrClKGZIna81jzMpWE97OfKWH0DArj24shac7VYlJuJNy9qgd4ZDOczYaXmhcLNeXQKgyJBP80VN40mbmp1vixYkMu5lXU/gK1Vjc+PwVwY1dNj++Ndb+u/ga0eAAbXr1UA2E0XA3Z18m4N/3mW/0UkIu4Aoio6jAP05E3EtRGYcJABbjgn5dVRrTpJ6G0t+btIme1e5IbNB2VwVn8qpB4Xvfe6G791TjabFla5Y1iG7etfz3WXMVW1jGU7kBKeMDBs4H1w1c9qteFqMdaqDTZc1AtE1mDVqnUN2HC+NW5FC20/Kctmw0ndQ7fuZ0IIIYQQQgghhBBCCCGEEEIIIYQQQgghhNwTPwDlF4AYGPA7/gAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyNS0wMS0xN1QxODowMDo0MSswMDowMA+ZFQkAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjUtMDEtMTdUMTg6MDA6NDErMDA6MDB+xK21AAAAAElFTkSuQmCC
+ media:
+ isoMounted: false
+ isoType: local
+ isoName: ''
+ isoFilename: ''
+ isoUrl: ''
+ isoDownload: false
+ backupPlan:
+ id: null
+ name: null
+ vnc:
+ ip: 192.168.4.2
+ port: 5903
+ enabled: false
+ network:
+ interfaces:
+ - id: 69
+ order: 1
+ enabled: true
+ tag: 4618706442
+ name: ens3
+ type: public
+ driver: 1
+ processQueues: null
+ mac: 00:E7:FB:01:87:14
+ ipv4ToMac: null
+ ipv6ToMac: null
+ inTrafficCount: true
+ outTrafficCount: false
+ inAverage: 0
+ inPeak: 0
+ inBurst: 0
+ outAverage: 0
+ outPeak: 0
+ outBurst: 0
+ ipFilter: false
+ vlans: []
+ ipFilterType: null
+ portIsolated: false
+ ipv4_resolver_1: 1
+ ipv4_resolver_2: 2
+ ipv6_resolver_1: 1
+ ipv6_resolver_2: 2
+ networkProfile: 0
+ dhcpV4: 0
+ dhcpV6: 0
+ firewallEnabled: false
+ hypervisorNetwork: 6
+ isNat: false
+ nat: false
+ firewall: []
+ hypervisorConnectivity:
+ id: 6
+ type: simpleBridge
+ bridge: br0
+ mtu: null
+ primary: true
+ default: true
+ ipWhitelist: []
+ actions: []
+ ipv4:
+ - id: 33
+ order: 1
+ enabled: true
+ blockId: 1
+ address: 192.168.4.32
+ gateway: 192.168.4.1
+ netmask: 255.255.254.0
+ resolver1: 8.8.8.8
+ resolver2: 8.8.4.4
+ rdns: null
+ mac: null
+ - id: 36
+ order: 2
+ enabled: true
+ blockId: 1
+ address: 192.168.4.35
+ gateway: 192.168.4.1
+ netmask: 255.255.254.0
+ resolver1: 8.8.8.8
+ resolver2: 8.8.4.4
+ rdns: null
+ mac: null
+ ipv6:
+ - id: 502
+ block:
+ id: 5
+ name: V6 For BHV 1,3
+ order: 1
+ enabled: true
+ addresses: []
+ addressesDetailed: []
+ subnet: '2001:db8:abcd:12:2::'
+ cidr: 80
+ exhausted: false
+ gateway: 2001:db8:abcd:12::1
+ resolver1: 2001:4860:4860::8888
+ resolver2: 2001:4860:4860::8844
+ routeNet: false
+ - id: 505
+ block:
+ id: 5
+ name: V6 For BHV 1,3
+ order: 1
+ enabled: true
+ addresses: []
+ addressesDetailed: []
+ subnet: '2001:db8:abcd:12:5::'
+ cidr: 80
+ exhausted: false
+ gateway: 2001:db8:abcd:12::1
+ resolver1: 2001:4860:4860::8888
+ resolver2: 2001:4860:4860::8844
+ routeNet: false
+ - id: 506
+ block:
+ id: 5
+ name: V6 For BHV 1,3
+ order: 1
+ enabled: true
+ addresses: []
+ addressesDetailed: []
+ subnet: '2001:db8:abcd:12:6::'
+ cidr: 80
+ exhausted: false
+ gateway: 2001:db8:abcd:12::1
+ resolver1: 2001:4860:4860::8888
+ resolver2: 2001:4860:4860::8844
+ routeNet: false
+ - id: 507
+ block:
+ id: 5
+ name: V6 For BHV 1,3
+ order: 1
+ enabled: true
+ addresses: []
+ addressesDetailed: []
+ subnet: '2001:db8:abcd:12:7::'
+ cidr: 80
+ exhausted: false
+ gateway: 2001:db8:abcd:12::1
+ resolver1: 2001:4860:4860::8888
+ resolver2: 2001:4860:4860::8844
+ routeNet: false
+ - id: 508
+ block:
+ id: 5
+ name: V6 For BHV 1,3
+ order: 1
+ enabled: true
+ addresses: []
+ addressesDetailed: []
+ subnet: '2001:db8:abcd:12:8::'
+ cidr: 80
+ exhausted: false
+ gateway: 2001:db8:abcd:12::1
+ resolver1: 2001:4860:4860::8888
+ resolver2: 2001:4860:4860::8844
+ routeNet: false
+ - id: 509
+ block:
+ id: 5
+ name: V6 For BHV 1,3
+ order: 1
+ enabled: true
+ addresses: []
+ addressesDetailed: []
+ subnet: '2001:db8:abcd:12:9::'
+ cidr: 80
+ exhausted: false
+ gateway: 2001:db8:abcd:12::1
+ resolver1: 2001:4860:4860::8888
+ resolver2: 2001:4860:4860::8844
+ routeNet: false
+ secondaryInterfaces:
+ - id: 4
+ enabled: true
+ order: 1
+ tag: 3933491695
+ name: eth1
+ type: private
+ driver: 1
+ processQueues: null
+ mac: 00:F0:4A:C6:3F:08
+ ipv4ToMac: null
+ ipv6ToMac: null
+ inTrafficCount: true
+ outTrafficCount: false
+ inAverage: 0
+ inPeak: 0
+ inBurst: 0
+ outAverage: 0
+ outPeak: 0
+ outBurst: 0
+ ipFilter: true
+ vlans: []
+ ipFilterType: 4-6
+ portIsolated: false
+ ipv4_resolver_1: 1
+ ipv4_resolver_2: 2
+ ipv6_resolver_1: 1
+ ipv6_resolver_2: 2
+ networkProfile: 0
+ dhcpV4: 0
+ dhcpV6: 0
+ firewallEnabled: false
+ hypervisorNetwork: 6
+ isNat: false
+ nat: false
+ firewall: []
+ hypervisorConnectivity:
+ id: 6
+ type: simpleBridge
+ bridge: br0
+ mtu: null
+ primary: true
+ default: true
+ ipWhitelist: []
+ actions: []
+ ipv4:
+ - id: 34
+ order: 1
+ enabled: true
+ address: 192.168.4.33
+ gateway: 192.168.4.1
+ netmask: 255.255.254.0
+ resolver1: 8.8.8.8
+ resolver2: 8.8.4.4
+ rdns: null
+ mac: null
+ - id: 35
+ order: 2
+ enabled: true
+ address: 192.168.4.34
+ gateway: 192.168.4.1
+ netmask: 255.255.254.0
+ resolver1: 8.8.8.8
+ resolver2: 8.8.4.4
+ rdns: null
+ mac: null
+ ipv6:
+ - id: 503
+ block:
+ id: 5
+ name: V6 For BHV 1,3
+ order: 1
+ enabled: true
+ addresses: []
+ addressesDetailed: []
+ subnet: '2001:db8:abcd:12:3::'
+ cidr: 80
+ exhausted: false
+ gateway: 2001:db8:abcd:12::1
+ resolver1: 2001:4860:4860::8888
+ resolver2: 2001:4860:4860::8844
+ routeNet: false
+ - id: 504
+ block:
+ id: 5
+ name: V6 For BHV 1,3
+ order: 1
+ enabled: true
+ addresses: []
+ addressesDetailed: []
+ subnet: '2001:db8:abcd:12:4::'
+ cidr: 80
+ exhausted: false
+ gateway: 2001:db8:abcd:12::1
+ resolver1: 2001:4860:4860::8888
+ resolver2: 2001:4860:4860::8844
+ routeNet: false
+ storage:
+ - _id: 80
+ id: 1
+ cache: null
+ bus: null
+ capacity: 11
+ drive: a
+ datastoreDiskId: null
+ filesystem: null
+ iops:
+ read: null
+ write: null
+ bytes:
+ read: null
+ write: null
+ type: qcow2
+ profile: 1
+ status: 3
+ enabled: true
+ primary: true
+ created: '2024-12-06T21:25:58+00:00'
+ updated: '2025-01-07T22:26:16+00:00'
+ datastore: []
+ name: b9fd9092-7200-4a24-96d4-76aedd664274_1
+ filename: b9fd9092-7200-4a24-96d4-76aedd664274_1.img
+ hypervisorStorageId: null
+ local: true
+ locationType: mountpoint
+ path: /home/vf-data/disk
+ hypervisorAssets: []
+ hypervisor:
+ id: 6
+ ip: 192.168.4.2
+ hostname: null
+ port: 8892
+ maintenance: false
+ groupId: 2
+ group:
+ name: Test
+ icon: null
+ timezone: Europe/London
+ forceIPv6: false
+ vncListenType: 1
+ displayName: null
+ cpuSet: null
+ nfType: 4
+ backupStorageType: 2
+ defaultDiskType: inherit
+ defaultDiskCacheType: inherit
+ defaultCPU: inherit
+ defaultMachineType: inherit
+ created: '2024-03-30T09:53:38+00:00'
+ updated: '2024-12-06T21:25:54+00:00'
+ name: BHV 1
+ dataDir: /home/vf-data
+ resources:
+ servers:
+ units: '#'
+ max: 0
+ allocated: 5
+ free: -5
+ percent: null
+ memory:
+ units: MB
+ max: 29419
+ allocated: 7168
+ free: 22251
+ percent: 24.4
+ cpuCores:
+ units: '#'
+ max: 128
+ allocated: 6
+ free: 122
+ percent: 4.7
+ localStorage:
+ enabled: 1
+ name: Local (Default mountpoint)
+ storageType: 1
+ units: GB
+ max: 1000
+ allocated: 141
+ free: 859
+ percent: 14.1
+ otherStorage: []
+ owner:
+ id: 1
+ admin: true
+ extRelationId: null
+ name: Jon Doe
+ email: jon@doe.com
+ timezone: Europe/London
+ suspended: false
+ twoFactorAuth: false
+ created: '2024-03-12T22:22:09+00:00'
+ updated: '2025-01-15T11:01:18+00:00'
+ sshKeys:
+ - id: 1
+ ownerId: 1
+ type: OpenSSH
+ name: Test Key
+ public: >-
+ ssh-rsa
+ AAAAB3NzaC1yc2EAAAADAQABAAACAQC+JdL4fWELBWGAknSu0PwVpDDOlORxy9z7eVnZphZXBzYLMnux+ZogVLns6+O6NDE8JmWvP9RIg3SIga7RDOkW9UCdLzRu0jF2ALL7CK1huo1Ih0PDM9ZbFDy2Fd7a4DTvUX6923fQyW0PWRtyL11R4c9NUqzejKp5kW8vHfPQjzwb1hGIKvkSYkI0Auq4JJhlvjjnoK7Z8t5mpDrVfNTrVqevPgsW5Xwnq8R+02XywrY+Q/wnpxDs4Ujb2aA61A0x5J0xcZQpTQHoJNj77J3VmPI7Ry7Q8hPbTSLGZbN+gODr0lOaL5TdbvM3bnus5JvoqgRoszzPcTiNMZAe3v9UM8hiXise54b8rsc2M9MQ4olPu7TrROZbcw+9q4m6cV+dfVU/NRFkf27YRa4oZNKehHsMiupDyoISgSl4qSB8YXAWsX03oC/gzpB2YJIqEL1Y/SmKYEhgr0cplkvGZy6C/Q9cJHyHlMPtEBPexgcjXC9QrDZ4n2cmde3TuSRMctawcat7Nuq08C8fGHaGHr8iAeage3o/ODVOt0rhBu69PknzQeVBdlwK3+p1dH6PnMzNNBhWyNZT/NqB2eS6K8lYpOQ47byXPwYsRLvStUjpZRdikOT7D31T5g8FwOThQ+6WX+xfMD7CSLsSKCn/FhlinbVbG2IhCLH3B30Akw5bUw==
+ enabled: true
+ created: '2024-03-13T20:28:32+00:00'
+ sharedUsers: []
+ tasks:
+ active: false
+ lastOn: '2025-01-15 15:00:49'
+ actions:
+ pending: []
+ remoteState: false
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ delete:
+ summary: Delete a server
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 9
+ schema:
+ type: integer
+ - name: delay
+ in: query
+ description: >-
+ How many minutes the system should wait before deleting the server.
+ (0-43800)
+ required: false
+ example: 5
+ schema:
+ type: integer
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/backups/plan/{planId}:
+ put:
+ summary: Add, remove or modify a backup plan
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 9
+ schema:
+ type: integer
+ - name: planId
+ in: path
+ description: >-
+ A valid backup plan ID as shown in VirtFusion. A value of 0 (zero)
+ will remove the plan.
+ required: true
+ example: 0
+ schema:
+ type: integer
+ responses:
+ '201':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/build:
+ post:
+ summary: Build a server
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 9
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ operatingSystemId:
+ type: integer
+ description: A valid operating system template ID.
+ name:
+ type: string
+ description: Server name.
+ hostname:
+ type: string
+ description: Server Hostname.
+ sshKeys:
+ type: array
+ items:
+ type: integer
+ description: An array of SSH keys.
+ vnc:
+ type: boolean
+ description: Enable/disable.
+ ipv6:
+ type: boolean
+ description: Enable/disable.
+ email:
+ type: boolean
+ description: Enable/disable.
+ swap:
+ type: number
+ description: Values of 256, 512, 768, 1, 1.5, 2, 3, 4, 5,6 8
+ required:
+ - operatingSystemId
+ example:
+ operatingSystemId: 1
+ name: server 1
+ hostname: server1.domain.com
+ sshKeys:
+ - 1
+ - 2
+ - 3
+ - 4
+ vnc: false
+ ipv6: false
+ swap: 512
+ email: true
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 9
+ ownerId: 3
+ hypervisorId: 6
+ arch: 1
+ name: server 1
+ selfService: 0
+ selfServiceSettings: []
+ hostname: server1.domain.com
+ commissionStatus: 1
+ uuid: 5de5a89b-b707-41bf-a051-7af1a4e67795
+ state: queued
+ migratable: true
+ timezone: _default
+ migrateLevel: 0
+ deleteLevel: 0
+ configLevel: 1
+ backupLevel: 0
+ elevated: false
+ elevateId: null
+ elevate: false
+ destroyable: true
+ rebuild: false
+ suspended: false
+ protected: false
+ buildFailed: false
+ primaryNetworkDhcp4: false
+ primaryNetworkDhcp6: false
+ built: '2024-11-29T19:32:17+00:00'
+ created: '2024-04-11T17:22:19+00:00'
+ updated: '2025-01-20T13:32:44+00:00'
+ traffic:
+ public:
+ countMethod: 1
+ currentPeriod:
+ start: '2025-01-11T00:00:00.000000Z'
+ end: '2025-02-10T23:59:59.999999Z'
+ limit: 200
+ settings:
+ osTemplateInstall: true
+ osTemplateInstallId: 1
+ encryptedPassword: >-
+ eyJpdiI6IjVsdWVBMzNNWnVXZzlYMjhlTUMzSXc9PSIsInZhbHVlIjoiT2E3SDNmVTVCOW1GK1RCd0h6YjZwZnIva1ZHbU9rQU1VL1hsQSthcUVRYz0iLCJtYWMiOiIzMzdmNjkxOTcwMjkxYmM2ZmNlMjgyMzdkMTQzMDY2OWY1ZTBlYjExYzA1MjdjMzZmMTU1ZTVlMGFiMWY2ZmJlIiwidGFnIjoiIn0=
+ backupPlan: null
+ uefi: false
+ uefiType: 0
+ cloudInit: true
+ cloudInitType: 1
+ config:
+ cloud.init:
+ on.all:
+ user.data:
+ runcmd:
+ - >-
+ DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
+ --option=Dpkg::Options::=--force-confold
+ --option=Dpkg::options::=--force-unsafe-io
+ --assume-yes --quiet update
+ - >-
+ DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
+ --option=Dpkg::Options::=--force-confold
+ --option=Dpkg::options::=--force-unsafe-io
+ --assume-yes --quiet dist-upgrade
+ on.password:
+ user.data: []
+ on.sshkey:
+ user.data: []
+ on.allpre:
+ user.data: []
+ on.allpost:
+ user.data: []
+ on.network: []
+ on.network.libvirtrouted: []
+ userConfig: []
+ bootOrder:
+ - hd
+ - cdrom
+ tpmType: 0
+ networkBoot: false
+ bootMenu: 1
+ customISO: 1
+ securityDriver: 3
+ memBalloon:
+ model: 1
+ autoDeflate: 0
+ freePageReporting: 0
+ hyperv:
+ enabled: false
+ passthrough: false
+ relaxed: 0
+ vapic: 0
+ spinlocks: 0
+ vpindex: 0
+ runtime: 0
+ synic: 0
+ stimer: 0
+ reset: 0
+ vendorId: 0
+ frequencies: 0
+ reenlightenment: 0
+ tlbflush: 0
+ ipi: 0
+ evmcs: 0
+ vendorIdValue: KVM VM
+ spinlocksValue: 8191
+ clockEnabled: 0
+ extended:
+ cpuFlags:
+ topoext: '1'
+ svm: '1'
+ vmx: '1'
+ machineType: inherit
+ pciPorts: 16
+ resources:
+ memory: 2048
+ storage: 10
+ traffic: 200
+ cpuCores: 1
+ decryptedPassword: uv1dmfUUaENhNpbrGUwD
+ cpu:
+ cores: 1
+ type: inherit
+ typeExact: host-model
+ shares: 1024
+ throttle: 0
+ topology:
+ enabled: false
+ sockets: 1
+ cores: 1
+ threads: 1
+ dies: 1
+ customXML:
+ domain:
+ xml: ''
+ enabled: false
+ os:
+ xml: ''
+ enabled: false
+ devices:
+ xml: ''
+ enabled: false
+ features:
+ xml: ''
+ enabled: false
+ clock:
+ xml: ''
+ enabled: false
+ cpuTune:
+ xml: ''
+ enabled: false
+ qemuCommandline: []
+ qemuAgent:
+ os:
+ screen: >-
+ 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
+ media:
+ isoMounted: false
+ isoType: local
+ isoName: ''
+ isoFilename: ''
+ isoUrl: ''
+ isoDownload: false
+ backupPlan:
+ id: null
+ name: null
+ vnc:
+ ip: 192.168.4.2
+ port: 5901
+ enabled: false
+ network:
+ interfaces:
+ - id: 9
+ order: 1
+ enabled: true
+ tag: 4238114467
+ name: eth0
+ type: public
+ driver: 1
+ processQueues: null
+ mac: 00:C3:BA:23:37:B3
+ ipv4ToMac: null
+ ipv6ToMac: null
+ inTrafficCount: true
+ outTrafficCount: false
+ inAverage: 0
+ inPeak: 0
+ inBurst: 0
+ outAverage: 0
+ outPeak: 0
+ outBurst: 0
+ ipFilter: true
+ vlans: []
+ ipFilterType: '4'
+ portIsolated: false
+ ipv4_resolver_1: 1
+ ipv4_resolver_2: 2
+ ipv6_resolver_1: 1
+ ipv6_resolver_2: 2
+ networkProfile: 0
+ dhcpV4: 0
+ dhcpV6: 0
+ firewallEnabled: false
+ hypervisorNetwork: 6
+ isNat: false
+ nat: false
+ firewall: []
+ hypervisorConnectivity:
+ id: 6
+ type: simpleBridge
+ bridge: br0
+ mtu: null
+ primary: true
+ default: true
+ ipWhitelist:
+ - id: 1
+ type: 4
+ ip: 100.100.100.100
+ mask: 32
+ - id: 2
+ type: 4
+ ip: 10.0.0.10
+ mask: 32
+ actions: []
+ ipv4:
+ - id: 22
+ order: 1
+ enabled: true
+ blockId: 1
+ address: 192.168.4.21
+ gateway: 192.168.4.1
+ netmask: 255.255.254.0
+ resolver1: 8.8.8.8
+ resolver2: 8.8.4.4
+ rdns: null
+ mac: null
+ - id: 37
+ order: 2
+ enabled: true
+ blockId: 1
+ address: 192.168.4.36
+ gateway: 192.168.4.1
+ netmask: 255.255.254.0
+ resolver1: 8.8.8.8
+ resolver2: 8.8.4.4
+ rdns: null
+ mac: null
+ - id: 38
+ order: 3
+ enabled: true
+ blockId: 1
+ address: 192.168.4.37
+ gateway: 192.168.4.1
+ netmask: 255.255.254.0
+ resolver1: 8.8.8.8
+ resolver2: 8.8.4.4
+ rdns: null
+ mac: null
+ ipv6: []
+ secondaryInterfaces: []
+ storage:
+ - _id: 11
+ id: 1
+ cache: null
+ bus: null
+ capacity: 10
+ drive: a
+ datastoreDiskId: null
+ filesystem: null
+ iops:
+ read: null
+ write: null
+ bytes:
+ read: null
+ write: null
+ type: qcow2
+ profile: 0
+ status: 3
+ enabled: true
+ primary: true
+ created: '2024-04-11T17:22:19+00:00'
+ updated: '2024-04-11T17:22:19+00:00'
+ datastore: []
+ name: 5de5a89b-b707-41bf-a051-7af1a4e67795_1
+ filename: 5de5a89b-b707-41bf-a051-7af1a4e67795_1.img
+ hypervisorStorageId: null
+ local: true
+ locationType: mountpoint
+ path: /home/vf-data/disk
+ hypervisorAssets: []
+ hypervisor:
+ id: 6
+ ip: 192.168.4.2
+ hostname: null
+ port: 8892
+ maintenance: false
+ groupId: 2
+ group:
+ name: Test
+ icon: null
+ timezone: Europe/London
+ forceIPv6: false
+ vncListenType: 1
+ displayName: null
+ cpuSet: null
+ nfType: 4
+ backupStorageType: 2
+ defaultDiskType: inherit
+ defaultDiskCacheType: inherit
+ defaultCPU: inherit
+ defaultMachineType: inherit
+ created: '2024-03-30T09:53:38+00:00'
+ updated: '2024-12-06T21:25:54+00:00'
+ name: BHV 1
+ dataDir: /home/vf-data
+ resources:
+ servers:
+ units: '#'
+ max: 0
+ allocated: 5
+ free: -5
+ percent: null
+ memory:
+ units: MB
+ max: 29419
+ allocated: 7168
+ free: 22251
+ percent: 24.4
+ cpuCores:
+ units: '#'
+ max: 128
+ allocated: 6
+ free: 122
+ percent: 4.7
+ localStorage:
+ enabled: 1
+ name: Local (Default mountpoint)
+ storageType: 1
+ units: GB
+ max: 1000
+ allocated: 141
+ free: 859
+ percent: 14.1
+ otherStorage: []
+ owner:
+ id: 3
+ admin: false
+ extRelationId: 1
+ name: jon Doe
+ email: jon@doe.com
+ timezone: Europe/London
+ suspended: false
+ twoFactorAuth: false
+ created: '2025-01-20T12:48:20+00:00'
+ updated: '2025-01-20T13:00:38+00:00'
+ sshKeys: []
+ sharedUsers: []
+ tasks:
+ active: true
+ lastOn: '2024-11-29 19:32:17'
+ actions:
+ pending: []
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/package/{packageId}:
+ put:
+ summary: Change a server package
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 9
+ schema:
+ type: integer
+ - name: packageId
+ in: path
+ description: A valid package ID as shown in VirtFusion.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ backupPlan:
+ type: boolean
+ cpu:
+ type: boolean
+ memory:
+ type: boolean
+ primaryDiskReadIOPS:
+ type: boolean
+ primaryDiskReadThroughput:
+ type: boolean
+ primaryDiskSize:
+ type: boolean
+ primaryDiskWriteIOPS:
+ type: boolean
+ primaryDiskWriteThroughput:
+ type: boolean
+ primaryNetworkInboundSpeed:
+ type: boolean
+ primaryNetworkOutboundSpeed:
+ type: boolean
+ primaryNetworkTraffic:
+ type: boolean
+ example:
+ backupPlan: true
+ cpu: true
+ memory: true
+ primaryDiskReadIOPS: false
+ primaryDiskReadThroughput: false
+ primaryDiskSize: true
+ primaryDiskWriteIOPS: true
+ primaryDiskWriteThroughput: true
+ primaryNetworkInboundSpeed: true
+ primaryNetworkOutboundSpeed: true
+ primaryNetworkTraffic: true
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ info:
+ - CPU cores not updated. It matches the current value
+ - >-
+ primary disk not updated. It either matches or is lower than
+ the current value
+ - traffic not updated. It matches the current value
+ - >-
+ primary network speed inbound not updated. It matches the
+ current value
+ - >-
+ primary network speed outbound not updated. It matches the
+ current value
+ - write IOPS not updated. It matches the current value
+ - write bytes/sec not updated. It matches the current value
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers:
+ post:
+ summary: Create a server
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: dryRun
+ in: query
+ description: >-
+ Test to see if a server can be created without actual creation.
+ true|false Defaults to false.
+ required: false
+ example: 'false'
+ schema:
+ type: boolean
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ packageId:
+ type: integer
+ description: A valid package ID.
+ userId:
+ type: integer
+ description: A valid user ID.
+ hypervisorId:
+ type: integer
+ description: A valid hypervisor group ID.
+ ipv4:
+ type: integer
+ description: Number of IPv4 addresses.
+ storage:
+ type: integer
+ description: Number of GB primary storage.
+ traffic:
+ type: integer
+ description: Number of GB traffic (0=unlimited).
+ memory:
+ type: integer
+ description: Number of MB memory.
+ cpuCores:
+ type: integer
+ description: Number of CPU cores.
+ networkSpeedInbound:
+ type: integer
+ description: Inbound network speed (kB/s).
+ networkSpeedOutbound:
+ type: integer
+ description: Outbound network speed (kB/s).
+ storageProfile:
+ type: integer
+ description: Storage profile ID.
+ networkProfile:
+ type: integer
+ description: Network profile ID.
+ firewallRulesets:
+ type: array
+ items:
+ type: integer
+ description: >-
+ Array of firewall rulesets. This will override package
+ settings. A value of -1 will force no rulesets to be
+ applied.
+ hypervisorAssetGroups:
+ type: array
+ items:
+ type: integer
+ description: >-
+ Array of hypervisor asset groups. This will override package
+ settings. A value of -1 will force no groups to be applied.
+ additionalStorage1Enable:
+ type: boolean
+ description: Enable/disable additional storage 1.
+ additionalStorage2Enable:
+ type: boolean
+ description: Enable/disable additional storage 2.
+ additionalStorage1Profile:
+ type: integer
+ description: Additional storage 1 profile ID.
+ additionalStorage2Profile:
+ type: integer
+ description: Additional storage 2 profile ID.
+ additionalStorage1Capacity:
+ type: integer
+ description: Number of GB additional storage 1 capacity.
+ additionalStorage2Capacity:
+ type: integer
+ description: Number of GB additional storage 2 capacity.
+ required:
+ - packageId
+ - userId
+ - hypervisorId
+ example:
+ packageId: 1
+ userId: 1
+ hypervisorId: 1
+ ipv4: 1
+ storage: 20
+ traffic: 20
+ memory: 512
+ cpuCores: 5
+ networkSpeedInbound: 200
+ networkSpeedOutbound: 400
+ storageProfile: 1
+ networkProfile: 1
+ firewallRulesets:
+ - 1
+ - 2
+ hypervisorAssetGroups:
+ - 3
+ - 4
+ additionalStorage1Enable: true
+ additionalStorage2Enable: false
+ additionalStorage1Profile: 1
+ additionalStorage2Profile: 2
+ additionalStorage1Capacity: 10
+ additionalStorage2Capacity: 20
+ responses:
+ '201':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 70
+ ownerId: 1
+ hypervisorId: 14
+ arch: 1
+ name: ''
+ selfService: 0
+ selfServiceSettings: []
+ hostname: null
+ commissionStatus: 0
+ uuid: ab68e20a-211f-4b90-99f1-8ee9068c81de
+ state: allocated
+ migratable: true
+ timezone: _default
+ migrateLevel: 0
+ deleteLevel: 0
+ configLevel: 0
+ backupLevel: 0
+ elevated: false
+ elevateId: null
+ elevate: false
+ destroyable: true
+ rebuild: false
+ suspended: false
+ protected: false
+ buildFailed: false
+ primaryNetworkDhcp4: false
+ primaryNetworkDhcp6: false
+ built: null
+ created: '2025-01-20T14:00:47+00:00'
+ updated: '2025-01-20T14:00:47+00:00'
+ traffic:
+ public:
+ countMethod: 1
+ currentPeriod:
+ start: '2025-01-20T00:00:00.000000Z'
+ end: '2025-02-19T23:59:59.999999Z'
+ limit: 20
+ settings:
+ osTemplateInstall: true
+ osTemplateInstallId: 0
+ encryptedPassword: >-
+ eyJpdiI6IkF5L05USXR3OGRNMm80NVFpMXhaVnc9PSIsInZhbHVlIjoiZ0JtclcxSFhoeEdEOGJPa1J6cTVteTllOTh5YU1xM3ViUGphSS9qUTFPMD0iLCJtYWMiOiI3MWFmYzhkY2Y4ZTkxNmNjZWFhZDgzMjZlMjIwZGFhYTg2YTU2OThmYzdjN2MwYzZjNzZhNDBmZTE2MDY4MTc5IiwidGFnIjoiIn0=
+ backupPlan: null
+ uefi: false
+ uefiType: 0
+ cloudInit: true
+ cloudInitType: 1
+ config: []
+ userConfig: []
+ bootOrder:
+ - hd
+ - cdrom
+ tpmType: 0
+ networkBoot: false
+ bootMenu: 1
+ customISO: 1
+ securityDriver: 3
+ memBalloon:
+ model: 1
+ autoDeflate: 0
+ freePageReporting: 0
+ hyperv:
+ enabled: false
+ passthrough: false
+ relaxed: 0
+ vapic: 0
+ spinlocks: 0
+ vpindex: 0
+ runtime: 0
+ synic: 0
+ stimer: 0
+ reset: 0
+ vendorId: 0
+ frequencies: 0
+ reenlightenment: 0
+ tlbflush: 0
+ ipi: 0
+ evmcs: 0
+ vendorIdValue: WIN KVM
+ spinlocksValue: 8191
+ clockEnabled: 0
+ extended:
+ cpuFlags:
+ topoext: '1'
+ svm: '1'
+ vmx: '1'
+ machineType: inherit
+ pciPorts: 16
+ resources:
+ memory: 512
+ storage: 20
+ traffic: 20
+ cpuCores: 5
+ cpu:
+ cores: 5
+ type: inherit
+ typeExact: host-model
+ shares: 1024
+ throttle: 0
+ topology:
+ enabled: false
+ sockets: 1
+ cores: 5
+ threads: 1
+ dies: 1
+ customXML:
+ domain:
+ xml: ''
+ enabled: false
+ os:
+ xml: ''
+ enabled: false
+ devices:
+ xml: ''
+ enabled: false
+ features:
+ xml: ''
+ enabled: false
+ clock:
+ xml: ''
+ enabled: false
+ cpuTune:
+ xml: ''
+ enabled: false
+ qemuCommandline: []
+ qemuAgent:
+ os:
+ screen: >-
+ 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UPvQ+TVr1rhVq1alv6JrF52j48RM7IpCL/bqGo961KOyy8i3sikf5E9dV0HHyIfrr79+tq1zeklX17AyoIuojKisWPDznS9Do6Ojmc0rV650Dz/8sJ3GsiIC1KArAutfdvfdd3d//etf3b///W+3bNky96tf/cr985//dMuXL3fvfve70z86/3itz5gxw33pS19yt912W/r79a9/7S688EJ33333uauvvtq94Q1vyJ/i3vrWt6bxOubee+918+fPbztmt912y+J/8pOftMUtWLDAXXfddel5F1xwgfvFL36R3gxk88knn5zeVNpOSDYmYuNf/vKXNA3Zd/jhh+cv2bb9tre9LbNXeer022abbdrO9TduuOGGtc6VMElglL/vfOc7btNNN/VPSVkUpSeBe+ihh9zNN9/svvrVr7Zx6cXe5z//+W02vf3tb29L3zYuuuii7DiVhw984APZ9llnnZUe1ku6T3/607Pzlb8XvOAFlpR77GMfm/KwfP/rX//Kbvg6SDZa3N/+9rfsPFaqI4BAV8c2vfIHP/hBd+6557oddtjBDQ+345bAnXrqqcl3P9q/zLTddts5/QEccMABac3UN1E1QYmRzvn+97/vVKspCqppffazn12r5mjHPuEJT7BVd8ghh7ilS5e6LbfcMttnK6rBHXHEEc7EwPZP1EY9PaiWrp/VBO2adSxVY1y4cKG79NJL3ZOe9KSuTJDdc+bMcW9+85vTm+bGG2/c1Xn+Qddff7275557sl2ve93rsnVb0ZOMb9M//vEPi0qXvg/bIjps3H333U61Xws777yzrbo99tgjW9eK8unH++u6wRKqJ9CuGNWn16gUnv3sZ7vFixdnwqxHcNWk1XTgh9e+9rXuuc99brpLgisxnDt3bnaIanuqPetc/3F07733Tmvg2YG5Ff1BLVq0KLd37c33vOc9mZDrkflPf/qT+8Mf/tD2+L/nnns6PQko9NPGta0p3qPmiEsuuaTw9/Of/9zdcsstxSfm9oq9xPiaa65pa1KYNWuWKxJJna4as9LWTfOKK65oa0pR09NLX/rSXCouZTeevaq5W3jOc56T1mBtW0vdOCyo7HzjG9+wzdJlN5zkXwu77LKLra4l0IpQTd+Cf+xvf/tb282yQgIIdIVwP/GJT2TCJ5F9+ctfnjY7PO5xj3Ovec1r2lL+6Ec/mm6/6U1v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
+ media:
+ isoMounted: false
+ isoType: local
+ isoName: ''
+ isoFilename: ''
+ isoUrl: ''
+ isoDownload: false
+ backupPlan:
+ id: null
+ name: null
+ vnc:
+ ip: 192.168.30.6
+ port: 5904
+ enabled: false
+ network:
+ interfaces:
+ - id: 70
+ order: 1
+ enabled: true
+ tag: 6927490480
+ name: eth0
+ type: public
+ driver: null
+ processQueues: null
+ mac: 00:BA:76:AB:DF:4E
+ ipv4ToMac: null
+ ipv6ToMac: null
+ inTrafficCount: true
+ outTrafficCount: false
+ inAverage: 200
+ inPeak: 0
+ inBurst: 0
+ outAverage: 400
+ outPeak: 0
+ outBurst: 0
+ ipFilter: true
+ vlans: []
+ ipFilterType: '4'
+ portIsolated: false
+ ipv4_resolver_1: 1
+ ipv4_resolver_2: 2
+ ipv6_resolver_1: 1
+ ipv6_resolver_2: 2
+ networkProfile: 0
+ dhcpV4: 0
+ dhcpV6: 0
+ firewallEnabled: false
+ hypervisorNetwork: 14
+ isNat: false
+ nat: false
+ firewall: []
+ hypervisorConnectivity:
+ id: 14
+ type: simpleBridge
+ bridge: br0
+ mtu: null
+ primary: true
+ default: true
+ ipWhitelist: []
+ actions: []
+ ipv4:
+ - id: 520
+ order: 1
+ enabled: true
+ blockId: 3
+ address: 192.168.30.207
+ gateway: 192.168.30.1
+ netmask: 255.255.255.0
+ resolver1: 8.8.8.8
+ resolver2: 8.8.4.4
+ rdns: null
+ mac: null
+ ipv6: []
+ secondaryInterfaces: []
+ storage:
+ - _id: 81
+ id: 1
+ cache: null
+ bus: null
+ capacity: 20
+ drive: a
+ datastoreDiskId: null
+ filesystem: null
+ iops:
+ read: null
+ write: null
+ bytes:
+ read: null
+ write: null
+ type: qcow2
+ profile: 1
+ status: 3
+ enabled: true
+ primary: true
+ created: '2025-01-20T14:00:47+00:00'
+ updated: '2025-01-20T14:00:47+00:00'
+ datastore: []
+ name: ab68e20a-211f-4b90-99f1-8ee9068c81de_1
+ filename: ab68e20a-211f-4b90-99f1-8ee9068c81de_1.img
+ hypervisorStorageId: null
+ local: true
+ locationType: mountpoint
+ path: /home/vf-data/disk
+ - _id: 82
+ id: 2
+ cache: null
+ bus: null
+ capacity: 10
+ drive: b
+ datastoreDiskId: null
+ filesystem: null
+ iops:
+ read: null
+ write: null
+ bytes:
+ read: null
+ write: null
+ type: qcow2
+ profile: 0
+ status: 1
+ enabled: false
+ primary: false
+ created: '2025-01-20T14:00:47+00:00'
+ updated: '2025-01-20T14:00:47+00:00'
+ datastore: []
+ name: ab68e20a-211f-4b90-99f1-8ee9068c81de_2
+ filename: ab68e20a-211f-4b90-99f1-8ee9068c81de_2.img
+ hypervisorStorageId: null
+ local: true
+ locationType: mountpoint
+ path: /home/vf-data/disk
+ hypervisorAssets: []
+ hypervisor:
+ id: 14
+ ip: 192.168.30.6
+ hostname: null
+ port: 8892
+ maintenance: false
+ groupId: 1
+ group:
+ name: Default
+ icon: null
+ timezone: Europe/London
+ forceIPv6: false
+ vncListenType: 1
+ displayName: null
+ cpuSet: null
+ nfType: 4
+ backupStorageType: 2
+ defaultDiskType: inherit
+ defaultDiskCacheType: inherit
+ defaultCPU: inherit
+ defaultMachineType: inherit
+ created: '2024-05-14T11:19:04+00:00'
+ updated: '2024-06-28T21:22:01+00:00'
+ name: Ceph Hypervisor 2
+ dataDir: /home/vf-data
+ resources:
+ servers:
+ units: '#'
+ max: 0
+ allocated: 4
+ free: -4
+ percent: null
+ memory:
+ units: MB
+ max: 24000
+ allocated: 3584
+ free: 20416
+ percent: 14.9
+ cpuCores:
+ units: '#'
+ max: 64
+ allocated: 8
+ free: 56
+ percent: 12.5
+ localStorage:
+ enabled: 1
+ name: Local (Default mountpoint)
+ storageType: 1
+ units: GB
+ max: 1000
+ allocated: 40
+ free: 960
+ percent: 4
+ otherStorage:
+ - id: 2
+ name: Ceph RBD
+ enabled: 0
+ path: null
+ units: GB
+ storageType: 2
+ isDatastore: true
+ max: 10000
+ allocated: 10
+ free: 9990
+ percent: 0.1
+ - id: 3
+ name: Ceph EC
+ enabled: 0
+ path: null
+ units: GB
+ storageType: 2
+ isDatastore: true
+ max: 13333333
+ allocated: 10
+ free: 13333323
+ percent: 0
+ owner:
+ id: 1
+ admin: true
+ extRelationId: null
+ name: Jon Doe
+ email: jon@doe.com
+ timezone: Europe/London
+ suspended: false
+ twoFactorAuth: false
+ created: '2024-03-12T22:22:09+00:00'
+ updated: '2025-01-15T11:01:18+00:00'
+ sshKeys: []
+ sharedUsers: []
+ tasks:
+ active: false
+ lastOn: null
+ actions:
+ pending:
+ - id: 19
+ action: Create HDD (sdb)
+ requires:
+ - boot
+ - restart
+ - shutdown
+ - poweroff
+ collected: false
+ complete: false
+ failed: false
+ payload:
+ disk:
+ id: 82
+ disk_storage_id: null
+ created: '2025-01-20T14:00:47+00:00'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ '422':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ errors:
+ - Invalid or disabled firewall ruleset
+ headers: {}
+ security:
+ - bearer: []
+ get:
+ summary: Retrieve servers
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: type
+ in: query
+ description: simple or full. Defaults to simple.
+ required: false
+ example: simple
+ schema:
+ type: string
+ - name: results
+ in: query
+ description: >-
+ Number of results to return. Range between 1 and 200. Defaults to
+ 20.
+ required: false
+ example: 20
+ schema:
+ type: integer
+ - name: hypervisorId
+ in: query
+ description: >-
+ Filter by hypervisor ID. Specify multiple with
+ hypervisorId[]=1&hypervisorId[]=2 etc...
+ required: false
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ current_page: 1
+ data:
+ - id: 5
+ uuid: 1fb4b391-b360-40e7-8fe1-5b024c7508ac
+ name: Avaricious Trade
+ commissioned: 3
+ owner: 1
+ hypervisorId: 7
+ suspended: false
+ protected: false
+ updated: '2024-04-02T10:15:10+00:00'
+ created: '2024-03-30T14:41:27+00:00'
+ - id: 8
+ uuid: 82c37680-bf8f-4712-854f-31428933703f
+ name: PDNS
+ commissioned: 3
+ owner: 1
+ hypervisorId: 3
+ suspended: false
+ protected: false
+ updated: '2024-04-13T22:02:04+00:00'
+ created: '2024-04-09T11:33:43+00:00'
+ - id: 9
+ uuid: 5de5a89b-b707-41bf-a051-7af1a4e67795
+ name: server 1
+ commissioned: 2
+ owner: 3
+ hypervisorId: 6
+ suspended: false
+ protected: false
+ updated: '2025-01-20T14:13:50+00:00'
+ created: '2024-04-11T17:22:19+00:00'
+ - id: 10
+ uuid: 71178184-7554-406f-80b8-0c1d7ffcfd49
+ name: Respectful Exit
+ commissioned: 3
+ owner: 1
+ hypervisorId: 6
+ suspended: false
+ protected: false
+ updated: '2024-05-13T08:16:00+00:00'
+ created: '2024-04-23T11:50:58+00:00'
+ - id: 11
+ uuid: ffed8ddb-c758-41ff-8380-abb1377dfb38
+ name: Ubuntu Test
+ commissioned: 0
+ owner: 1
+ hypervisorId: 7
+ suspended: false
+ protected: false
+ updated: '2024-05-02T18:33:20+00:00'
+ created: '2024-04-25T20:18:57+00:00'
+ - id: 19
+ uuid: c77ce40f-0226-43ca-b000-c9b7fe143dc7
+ name: Metallic National
+ commissioned: 3
+ owner: 1
+ hypervisorId: 2
+ suspended: false
+ protected: false
+ updated: '2024-05-02T18:34:27+00:00'
+ created: '2024-05-02T10:36:37+00:00'
+ - id: 20
+ uuid: 785aaddd-b08b-448b-9486-baf29cd3c0f8
+ name: Rubbery Daughter
+ commissioned: 3
+ owner: 1
+ hypervisorId: 7
+ suspended: false
+ protected: false
+ updated: '2024-10-07T21:32:34+00:00'
+ created: '2024-05-03T10:05:41+00:00'
+ - id: 22
+ uuid: 5a7e3d49-0fdf-4cfa-bb14-864f3ca0e79a
+ name: Frightening Clock
+ commissioned: 3
+ owner: 1
+ hypervisorId: 7
+ suspended: false
+ protected: false
+ updated: '2024-06-08T08:30:15+00:00'
+ created: '2024-05-03T10:35:36+00:00'
+ - id: 23
+ uuid: b1f6efb6-22a1-4d0a-b043-17d0ccfce4b2
+ name: Backup Test
+ commissioned: 3
+ owner: 1
+ hypervisorId: 6
+ suspended: false
+ protected: false
+ updated: '2024-05-14T15:29:37+00:00'
+ created: '2024-05-04T07:30:10+00:00'
+ - id: 26
+ uuid: 5c681c72-6828-4fa3-8011-ced2502384e6
+ name: Ceph Test 1
+ commissioned: 3
+ owner: 1
+ hypervisorId: 13
+ suspended: false
+ protected: false
+ updated: '2024-05-14T11:42:08+00:00'
+ created: '2024-05-14T10:57:56+00:00'
+ - id: 27
+ uuid: 8cb75e06-caae-47f5-9bf2-3ea1d341d10e
+ name: OVS BHV 6
+ commissioned: 3
+ owner: 1
+ hypervisorId: 11
+ suspended: false
+ protected: false
+ updated: '2024-05-17T13:25:10+00:00'
+ created: '2024-05-16T16:56:12+00:00'
+ - id: 28
+ uuid: 3a63170a-2350-422d-8cfb-449ed6940414
+ name: OVS BHV 7
+ commissioned: 3
+ owner: 1
+ hypervisorId: 12
+ suspended: false
+ protected: false
+ updated: '2024-05-17T13:25:04+00:00'
+ created: '2024-05-16T18:13:44+00:00'
+ - id: 29
+ uuid: f24aebac-016c-4139-afcf-5dbfeda54fc8
+ name: OVS BHV 1
+ commissioned: 3
+ owner: 1
+ hypervisorId: 6
+ suspended: false
+ protected: false
+ updated: '2024-05-17T13:25:00+00:00'
+ created: '2024-05-17T11:25:13+00:00'
+ - id: 30
+ uuid: 67486d4d-d974-45c3-a680-980bc84635d8
+ name: Test 10
+ commissioned: 3
+ owner: 1
+ hypervisorId: 1
+ suspended: false
+ protected: false
+ updated: '2024-06-07T16:41:45+00:00'
+ created: '2024-06-07T12:03:00+00:00'
+ - id: 36
+ uuid: a3df9e3c-893e-4f42-ad90-cf34df155589
+ name: Frail Text
+ commissioned: 3
+ owner: 1
+ hypervisorId: 13
+ suspended: false
+ protected: false
+ updated: '2024-06-28T21:25:57+00:00'
+ created: '2024-06-28T13:39:55+00:00'
+ - id: 37
+ uuid: a3b2e9f8-9b5c-44a3-bcb6-bbadf9bd83e2
+ name: Stark Brown
+ commissioned: 3
+ owner: 1
+ hypervisorId: 13
+ suspended: false
+ protected: false
+ updated: '2024-08-23T20:15:25+00:00'
+ created: '2024-06-28T21:36:23+00:00'
+ - id: 38
+ uuid: 8c6f63d1-ec53-4e1a-a52f-d50f03b05c70
+ name: ''
+ commissioned: 0
+ owner: 1
+ hypervisorId: 14
+ suspended: false
+ protected: false
+ updated: '2024-08-23T20:17:42+00:00'
+ created: '2024-08-23T20:17:42+00:00'
+ - id: 39
+ uuid: 539bff72-f6cd-4260-96f1-b7523fd890c5
+ name: Thorny Impression
+ commissioned: 3
+ owner: 1
+ hypervisorId: 14
+ suspended: false
+ protected: false
+ updated: '2024-08-23T20:20:32+00:00'
+ created: '2024-08-23T20:18:39+00:00'
+ - id: 40
+ uuid: ce445459-c716-4f88-a7c6-a0ffd29eb9b2
+ name: Present Charge
+ commissioned: 2
+ owner: 1
+ hypervisorId: 14
+ suspended: false
+ protected: false
+ updated: '2024-08-23T20:57:22+00:00'
+ created: '2024-08-23T20:56:04+00:00'
+ - id: 41
+ uuid: 6fce272f-c6ea-45bd-bf24-d4d357d9a788
+ name: CP Test
+ commissioned: 3
+ owner: 1
+ hypervisorId: 13
+ suspended: false
+ protected: false
+ updated: '2024-08-27T11:10:48+00:00'
+ created: '2024-08-27T11:09:54+00:00'
+ first_page_url: https://192.168.3.11/api/v1/servers?page=1
+ from: 1
+ last_page: 2
+ last_page_url: https://192.168.3.11/api/v1/servers?page=2
+ links:
+ - url: null
+ label: '« Previous'
+ active: false
+ - url: https://192.168.3.11/api/v1/servers?page=1
+ label: '1'
+ active: true
+ - url: https://192.168.3.11/api/v1/servers?page=2
+ label: '2'
+ active: false
+ - url: https://192.168.3.11/api/v1/servers?page=2
+ label: Next »
+ active: false
+ next_page_url: https://192.168.3.11/api/v1/servers?page=2
+ path: https://192.168.3.11/api/v1/servers
+ per_page: 20
+ prev_page_url: null
+ to: 20
+ total: 27
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/modify/name:
+ put:
+ summary: Modify name
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ name:
+ type: string
+ description: The new name of the server.
+ required:
+ - name
+ example:
+ name: Server 1
+ responses:
+ '201':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/resetPassword:
+ post:
+ summary: Reset a server password
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ user:
+ type: string
+ description: Either root or Administrator.
+ sendMail:
+ type: boolean
+ description: >-
+ Optional (default true) Email the password to the user.
+ (true|false).
+ required:
+ - user
+ example:
+ user: root
+ sendMail: true
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ queueId: 176
+ expectedPassword: l1LMzm2JGhWYdjjn8JkC
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/user/{userId}:
+ get:
+ summary: Retrieve a users servers
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: userId
+ in: path
+ description: A valid user ID as shown in VirtFusion.
+ required: true
+ example: 3
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ - id: 9
+ ownerId: 3
+ hypervisorId: 6
+ name: server 1
+ hostname: server1.domain.com
+ commissionStatus: 2
+ uuid: 5de5a89b-b707-41bf-a051-7af1a4e67795
+ state: failed
+ rebuild: false
+ suspended: false
+ protected: false
+ buildFailed: false
+ backup_level: 0
+ backup_plan: null
+ os:
+ screen: >-
+ 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
+ server_info:
+ show: false
+ icon: null
+ name: null
+ label: null
+ vnc:
+ expose_details: true
+ ip: 192.168.4.2
+ hostname: null
+ port: 5901
+ enabled: 0
+ resources:
+ memory: 2048
+ storage: 10
+ traffic: 200
+ cpuCores: 1
+ cpu_model: null
+ network:
+ interfaces:
+ - order: 1
+ enabled: true
+ tag: 4238114467
+ name: eth0
+ mac: 00:C3:BA:23:37:B3
+ inAverage: 0
+ inPeak: 0
+ inBurst: 0
+ outAverage: 0
+ outPeak: 0
+ outBurst: 0
+ isNat: false
+ ipv4:
+ - order: 1
+ enabled: true
+ address: 192.168.4.21
+ gateway: 192.168.4.1
+ netmask: 255.255.254.0
+ resolver1: 8.8.8.8
+ resolver2: 8.8.4.4
+ - order: 2
+ enabled: true
+ address: 192.168.4.36
+ gateway: 192.168.4.1
+ netmask: 255.255.254.0
+ resolver1: 8.8.8.8
+ resolver2: 8.8.4.4
+ - order: 3
+ enabled: true
+ address: 192.168.4.37
+ gateway: 192.168.4.1
+ netmask: 255.255.254.0
+ resolver1: 8.8.8.8
+ resolver2: 8.8.4.4
+ ipv6: []
+ config:
+ uefi: false
+ bootOrder:
+ - hd
+ - cdrom
+ media:
+ isoMounted: false
+ isoName: ''
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/templates:
+ get:
+ summary: Retrieve OS templates available to a server
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ - name: Debian
+ description: >-
+ Debian GNU/Linux, is a Linux distribution composed of free
+ and open-source software, developed by the
+ community-supported Debian Project.
+ icon: debian_logo.png
+ templates:
+ - id: 8
+ name: Debian
+ version: 11 (Bullseye)
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Debian.
+ icon: debian_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 46
+ name: Debian
+ version: 12 (Bookworm)
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Debian.
+ icon: debian_logo.png
+ eol: false
+ eol_date: '2024-04-23 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 56
+ name: Debian
+ version: 12 (Bookworm)
+ variant: Test
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Debian.
+ icon: debian_logo.png
+ eol: false
+ eol_date: '2024-04-23 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: true
+ type: linux
+ id: 1
+ - name: CentOS
+ description: >-
+ The CentOS Linux distribution is a stable, predictable,
+ manageable and reproducible platform derived from the
+ sources of Red Hat Enterprise Linux (RHEL).
+ icon: centos_logo.png
+ templates:
+ - id: 1
+ name: CentOS
+ version: '7'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Yum, the main
+ command-line package manager for CentOS.
+ icon: centos_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 2
+ name: CentOS Stream
+ version: '9'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Base installation with limited packages. New packages
+ are easily installed using DNF (yum), the main
+ command-line package manager for CentOS.
+ icon: centos_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ id: 2
+ - name: Rocky Linux
+ description: >-
+ Rocky Linux is a community enterprise operating system
+ designed to be 100% bug-for-bug compatible with America's
+ top enterprise Linux distribution now that its downstream
+ partner has shifted direction. It is under intensive
+ development by the community. Rocky Linux is led by
+ Gregory Kurtzer, founder of the CentOS project.
+ icon: rocky_linux_logo.png
+ templates:
+ - id: 7
+ name: Rocky Linux
+ version: '8'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for Rocky Linux.
+ icon: rocky_linux_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 13
+ name: Rocky Linux
+ version: '9'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for Rocky Linux.
+ icon: rocky_linux_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ id: 3
+ - name: AlmaLinux
+ description: >-
+ AlmaLinux OS is an open-source, community-driven project
+ that intends provide and alternative to the CentOS Stable
+ release. AlmaLinux is an OS that is 1:1 binary compatible
+ with RHEL® 8 and a global collaborative of the developer
+ community, industry, academia and research which build
+ upon this technology to empower humanity.
+ icon: almalinux_logo.png
+ templates:
+ - id: 6
+ name: AlmaLinux
+ version: '8'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for AlmaLinux.
+ icon: almalinux_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 12
+ name: ARM -> AlmaLinux
+ version: '9'
+ variant: Latest
+ arch: 1
+ description: >-
+ Latest version with base packages. New packages are
+ easily installed using DNF (yum), the main
+ command-line package manager for AlmaLinux.
+ icon: almalinux_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ id: 4
+ - name: Ubuntu
+ description: >-
+ The most popular server Linux in the cloud and data
+ centre, you can rely on Ubuntu Server and its five years
+ of guaranteed free upgrades.
+ icon: ubuntu_logo.png
+ templates:
+ - id: 3
+ name: Ubuntu Server
+ version: 20.04 LTS (Focal Fossa)
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Ubuntu.
+ icon: ubuntu_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 4
+ name: Ubuntu Server
+ version: 18.04 LTS (Bionic Beaver)
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Ubuntu.
+ icon: ubuntu_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 9
+ name: Ubuntu Server
+ version: 22.04 LTS (Jammy Jellyfish)
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Ubuntu.
+ icon: ubuntu_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 49
+ name: Ubuntu Server
+ version: 24.04 LTS (Noble Numbat)
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Ubuntu.
+ icon: ubuntu_logo.png
+ eol: false
+ eol_date: '2024-04-25 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ id: 5
+ - name: Fedora
+ description: >-
+ Fedora Server is a powerful, flexible operating system
+ that includes the best and latest datacenter technologies.
+ It puts you in control of all your infrastructure and
+ services.
+ icon: fedora_logo.png
+ templates:
+ - id: 11
+ name: Fedora
+ version: '37'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for Fedora.
+ icon: fedora_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 14
+ name: Fedora
+ version: '38'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for Fedora.
+ icon: fedora_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 15
+ name: Fedora
+ version: '39'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for Fedora.
+ icon: fedora_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 59
+ name: Fedora
+ version: '41'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for Fedora.
+ icon: fedora_logo.png
+ eol: false
+ eol_date: '2024-12-18 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ id: 6
+ - name: FreeBSD
+ description: >-
+ FreeBSD is an operating system used to power modern
+ servers, desktops, and embedded platforms. A large
+ community has continually developed it for more than
+ thirty years. Its advanced networking, security, and
+ storage features have made FreeBSD the platform of choice
+ for many of the busiest web sites and most pervasive
+ embedded networking and storage devices.
+ icon: freebsd_logo.png
+ templates:
+ - id: 52
+ name: FreeBSD
+ version: '13.3'
+ variant: Minimal
+ arch: 1
+ description: Minimal installation with limited packages.
+ icon: freebsd_logo.png
+ eol: false
+ eol_date: '2024-05-15 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: unix
+ - id: 53
+ name: FreeBSD
+ version: '14.0'
+ variant: Minimal
+ arch: 1
+ description: Minimal installation with limited packages.
+ icon: freebsd_logo.png
+ eol: false
+ eol_date: '2024-05-15 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: unix
+ - id: 55
+ name: FreeBSD
+ version: '14.2'
+ variant: Minimal
+ arch: 1
+ description: Minimal installation with limited packages.
+ icon: freebsd_logo.png
+ eol: false
+ eol_date: '2024-10-20 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: true
+ type: unix
+ - id: 58
+ name: FreeBSD
+ version: '13.2'
+ variant: Minimal
+ arch: 1
+ description: Minimal installation with limited packages.
+ icon: freebsd_logo.png
+ eol: false
+ eol_date: '2024-12-10 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: unix
+ id: 7
+ - name: Other
+ description: ''
+ icon: linux_logo.png
+ templates:
+ - id: 5
+ name: openSUSE
+ version: Leap 15
+ variant: Minimal
+ arch: 1
+ description: >-
+ openSUSE is a project that serves to promote the use
+ of free and open-source software.
Minimal
+ installation with limited packages. New packages are
+ easily installed using Zypper, the main command-line
+ package manager for openSUSE.
+ icon: opensuse_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ id: 0
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/suspend:
+ post:
+ summary: Suspend a server
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/modify/cpuThrottle:
+ put:
+ summary: Throttle a servers CPU
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ - name: sync
+ in: query
+ description: >-
+ Synchronise and apply the defined percentage. true|false Defaults to
+ false.
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ percent:
+ type: integer
+ description: The percentage the CPU should be throttled (0-99).
+ required:
+ - percent
+ example:
+ percent: 50
+ responses:
+ '201':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/traffic:
+ get:
+ summary: Retrieve a servers traffic statistics
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ monthly:
+ - month: 2
+ start: '2025-01-06 00:00:00'
+ end: '2025-02-05 23:59:59'
+ rx: 1847110337
+ tx: 1270421
+ total: 1848380758
+ limit: 20000
+ blocks:
+ - id: 2
+ traffic: 100
+ - month: 1
+ start: '2024-12-06 00:00:00'
+ end: '2025-01-05 23:59:59'
+ rx: 5650592916
+ tx: 42336801
+ total: 5692929717
+ limit: 20000
+ blocks: []
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/unsuspend:
+ post:
+ summary: Unsuspend a server
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/vnc:
+ post:
+ summary: Enable or disable VNC
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ action:
+ type: string
+ enum:
+ - enable
+ - disable
+ required:
+ - action
+ example:
+ action: enable
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ vnc:
+ ip: 192.168.4.2
+ hostname: null
+ port: 5903
+ password: ZNYonJeU
+ wss:
+ token: 69316231-d34a-4d36-b754-ffd3253df96d
+ url: /vnc/?token=69316231-d34a-4d36-b754-ffd3253df96d
+ enabled: false
+ queueId: null
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ get:
+ summary: Retrive VNC details
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ vnc:
+ ip: 192.168.4.2
+ hostname: null
+ port: 5903
+ password: ZNYonJeU
+ wss:
+ token: 69316231-d34a-4d36-b754-ffd3253df96d
+ url: /vnc/?token=69316231-d34a-4d36-b754-ffd3253df96d
+ enabled: false
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/owner/{newOwnerId}:
+ put:
+ summary: Change owner
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 9
+ schema:
+ type: integer
+ - name: newOwnerId
+ in: path
+ description: A vailid user ID as shown in VirtFusion.
+ required: true
+ schema:
+ type: integer
+ responses:
+ '201':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/modify/memory:
+ put:
+ summary: Modify memory
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ memory:
+ type: integer
+ description: The new memory value in MB.
+ minimum: 256
+ example: 1024
+ required:
+ - memory
+ example:
+ memory: 1024
+ responses:
+ '201':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/modify/cpuCores:
+ put:
+ summary: Modify CPU cores
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ cores:
+ type: integer
+ description: The new core value.
+ minimum: 1
+ maximum: 600
+ example: 4
+ required:
+ - cores
+ example:
+ cores: 4
+ responses:
+ '201':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /servers/{serverId}/customXML:
+ post:
+ summary: Set custom XML
+ deprecated: false
+ description: ''
+ tags:
+ - Servers
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 69
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ domain:
+ type: string
+ os:
+ type: string
+ devices:
+ type: string
+ features:
+ type: string
+ clock:
+ type: string
+ cpuTune:
+ type: string
+ domainEnabled:
+ type: boolean
+ osEnabled:
+ type: boolean
+ devicesEnabled:
+ type: boolean
+ featuresEnabled:
+ type: boolean
+ clockEnabled:
+ type: boolean
+ cpuTuneEnabled:
+ type: boolean
+ example:
+ domain:
+ os:
+ devices:
+ features:
+ clock:
+ cpuTune:
+ domainEnabled: true
+ osEnabled: true
+ devicesEnabled: true
+ featuresEnabled: true
+ clockEnabled: true
+ cpuTuneEnabled: true
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example: ''
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /compute/hypervisors:
+ get:
+ summary: Retrieve hypervisors
+ deprecated: false
+ description: ''
+ tags:
+ - Hypervisors
+ parameters:
+ - name: results
+ in: query
+ description: >-
+ Number of results to return. Range between 1 and 200. Defaults to
+ 20.
+ required: false
+ example: 20
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ current_page: 1
+ data:
+ - id: 1
+ commissioned: 3
+ ip: 192.168.4.10
+ ipAlt: null
+ hostname: null
+ port: 8892
+ sshPort: 22
+ name: PHV 1 (RED)
+ maintenance: false
+ enabled: true
+ nfType: 4
+ group:
+ id: 1
+ name: Default
+ description: Default hypervisor group
+ default: true
+ enabled: true
+ distributionType: 5
+ created: '2024-03-12T22:21:32+00:00'
+ updated: '2024-04-12T20:56:04+00:00'
+ encryptedToken: >-
+ eyJpdiI6Ik1Ua29ZSGp0QThxWVZhellzL2VTU3c9PSIsInZhbHVlIjoiNzc1eGdMMzFPUFpFZVpIbytzMDc1NzRsUHRJVnFTWFpKWS9WamJIaVJVMVZkSFZjZVM1YVB3bnlQeGt4eEhVamhrWGF4SnNqQVFES010Y3owUmJneTR4a05oRkp1R08xVXI1eHcvQ3NsbW5qU0dpUWhZbnFUMWYrTHM5L2NoZmhUQm9nRnV4b2Y0dENGLy9vanVDMnkwTG1mNXBYM1JVcE5TNWRCSGkvZS9qVEFsSWx5WXdXOU1wajIwam1DV1d4aUNXMUNGMThFNXI5THM4VWFmYnRFNkx3VHFaV3o3M0VVaEZXSHo0TVdKc0xSemJYVExUWEVlZHM0ZVNoUkk0ZEI2QnAySlVESVU2R0JDcWJMeG9YRUhIM0Vad2w2VHNGcFQ3R1BkbU1TbzU3V2JzbEJFNlUvSW90eGxNZkdqRjVmMGx6TTRIWEttYVA0Ti9JQkEwQURrWTRPL2k4VFJsNjhFTHh3UW1wSGMzUkxibEtDeDdlK2tOekQxVkh0bzhsWXY1RkxxaWRkSFBEQlNvM1l2akxqNitickp1TzR0ekhTbmdVSG5VUE5tMGh1WFJuejhscFpSS2dLcE1ZaS9NUlRKdnNUS0wzYWlDYjB1MVJhcmk4OEJoZURNQ3JROE5WcTZTdzV0Si9UeDhwMTFLK3lZV0NDdzB5b2NBZFhsM0hYMDJPMHlXS1g1MmxhNWdrOTRTSDJHbWNvODNuOUswMHJpYTVBL0YwRW9BVndsMllIdW95ZjBhZXdLUTRSR0xBelBVekViTCtKaG8wSGxPR1NOWmNSaXpxQ1hBUVdsdE9HMUhtc2YrRU14WkhOaUVVeWhXRlB2amtRRXkxZjY0cm85ekxVYWE1QU5zdlJDK2N6YmZrNHNOWk4xSTZXbUhxYklLTmgraTZFWHM9IiwibWFjIjoiOTY2ZmJkNzJkNzZmNmZmYTQzM2U4NDQzMDdhYTAzOWZhNTM0M2I1MDQyYWUwYzQ1ZGIyZTRlOGEwM2M0MTRhYiIsInRhZyI6IiJ9
+ maxServers: 0
+ maxCpu: 4
+ maxMemory: 6004
+ networks:
+ - id: 1
+ type: simpleBridge
+ bridge: br0
+ primary: true
+ default: true
+ created: '2024-03-12T22:37:15+00:00'
+ updated: '2024-03-12T22:37:40+00:00'
+ storage: []
+ created: '2024-03-12T22:37:15+00:00'
+ updated: '2024-05-10T11:27:52+00:00'
+ - id: 2
+ commissioned: 3
+ ip: 192.168.4.9
+ ipAlt: null
+ hostname: null
+ port: 8892
+ sshPort: 22
+ name: PHV 2 (BLUE)
+ maintenance: false
+ enabled: true
+ nfType: 4
+ group:
+ id: 1
+ name: Default
+ description: Default hypervisor group
+ default: true
+ enabled: true
+ distributionType: 5
+ created: '2024-03-12T22:21:32+00:00'
+ updated: '2024-04-12T20:56:04+00:00'
+ encryptedToken: >-
+ eyJpdiI6IjgyR2FZZmJwalVDYUxBR2hMdXdTNmc9PSIsInZhbHVlIjoiSFA1Tm44VzdZMUdZSXNZSTNUdmF5dGo5WjIrZEJlU04xQlVIOEZnUzc3dFZRY0ltc3pLdTZ2SFdkUXlQWUF5UEVaZUE3dXVKQXV6ajZvUTZiY0lBQmlnVllvRDZMSDBYK0ZMV0d5dzRTZlYwaDFRcllsNEdGaTljQnpnbEg5Umt6SmdBZ3ZQL0RneTZEUHhKanFGZU9hSWtvR29lYVlLdzk5NTJNZE1hbExSaWtuMkE4cTVaSGxSbWlJZ3pHejhFWnFxbEltNUcrSXVIdE4rQW9ET2R0M0MrK0RHOXNhOFFuVEw1R2k4eEpDNmZiNWJPVS9NL2xrVk40eG93NzQxaTRFN0pBR0FEL2JTclIvd2xWM3JkbnltZGhrc0xkUzV0SGtKNVoyU2JFY2M0S3dyVXEzS256b1ZHOVRvSWlmNm9OT0d6TktEWUduaVBHT2VHaFpqakU2SjFhU2lqTUZPeVdRN3dWSjhnakVQYkFiVmpCK05ja3BVU3FxakNjUUEzRHl3WUZweFJuQ0FBVkR2eTcxLzVVR2ZPNHU2bDJGRTJ6bVkrZ201akZXT0JIeHByK2VQVmMwUEJ5aDM0TWI0RmViakprM0phVXRVMFUvU1Y5M0FCRTBORm1aNWtGUklRbW51Y010NWIzUE02Vno3SkU2MVk4WTUwRy9QUndTZEgwWmRiLzhiV0w1c0ZsNkRMZkNycUlabWQrQ0F5cnYxamgxcWZjNjk3NXlMZHNMdnZqZkhKdG1sY2VLVmFPUTI3OTJ4UVdGLzF4SE83Y0N5dEhNNUhSQWhoZ29uUXMvR3dGeHVUMlRjc3dYZkVrYVVUMWZVQjhZOVRBT1RXYk84bFpqbGZ5RGQ2Rncvb2lQbVh0djBnSHUwSWJKbnAzQmQrL1VIK1JOK2N4NE09IiwibWFjIjoiNGUyNTIxYTIyNDBjZmRiYmEzNmQ5NTc4MGZmMTU4ZjgwN2Q2OTQzYzFhYTgxODVmYzkyMmU3YWNiOGRmNWZjZSIsInRhZyI6IiJ9
+ maxServers: 0
+ maxCpu: 28
+ maxMemory: 10000
+ networks:
+ - id: 2
+ type: simpleBridge
+ bridge: br0
+ primary: true
+ default: true
+ created: '2024-03-16T19:31:43+00:00'
+ updated: '2024-03-16T19:32:46+00:00'
+ storage: []
+ created: '2024-03-16T19:31:43+00:00'
+ updated: '2024-04-26T16:41:51+00:00'
+ - id: 3
+ commissioned: 3
+ ip: 192.168.4.12
+ ipAlt: null
+ hostname: null
+ port: 8892
+ sshPort: 22
+ name: BHV 9
+ maintenance: false
+ enabled: true
+ nfType: 4
+ group:
+ id: 1
+ name: Default
+ description: Default hypervisor group
+ default: true
+ enabled: true
+ distributionType: 5
+ created: '2024-03-12T22:21:32+00:00'
+ updated: '2024-04-12T20:56:04+00:00'
+ encryptedToken: >-
+ eyJpdiI6IlZ6MFN4dnlvQm9DTXNsaDM3YWg1aUE9PSIsInZhbHVlIjoiamlrbEhzRlY5d0RRaUxMYkZIUEV2UHh5eVJVMHEwOGQ2QkVIS0tydW82Um15bGFPVHJQbmUzMDMvbGxyZkEyR0MwT1JUR3ZNaDUvZWE5UFYwOExOU2xKNDhUa2g5VnNqQ2NoamptNnp3dmY0VVhzSXEwTEsxWDRwMDdtMyttdmp2UVRHOFJsb3Q3VkpKWEw0N3JmelAxNWZGWTVRQ1lCWHFpM3N5anFnaDNlcVFWazV6ci9Fem9xQTYrYXpNeUw0a3Jobm85aFRweCsxQVNoOWJrVktveWczYm5CL3VyNVhqWHlFbEpRYUtINzhwMCtEN3N4aEEwdTQ0YzdSbVhqQk9BTDVkN3F0aDFHWngwQU1iNDJKT1BRT25LYjZacklPM1llL2hQRWJab1l5QVdTQUtiVkZXcXROZC9xOWxLdzROTUprRkUxWkNjY2l3TnIzYXk5YiswNkhIQTlKejI3YXhPc2xXRklETmtYRkNNWlIzT1RHZkZTVGMvY1lra2JaemNQcW8vUEFLbEROS3dJQkorSVNUeTJESzZtV2tUV0Q0Nk5QVWRvUnJUbWhkVFlwZmphNXZXanFUTi9SbnVacTJXUzhYZW8zby95RG9jVWJDT25UMHU3dVZSN1UrS3RxRFhlM3diYkhxL1g3OXZIdmwzUzhCZmpjN3ZpMkhlRlNSMmNPMzduektWRGpYOFQ2UktIQjdnaEVoZy95MmZYK0c1dTZOemZ0VXpxbHpneVlndkp0anNuN2Y4bXlScXhoWFQrai9yL2wrWWhLNGlGWGVhc09iSEQrRzYrOThCY1czUTdnd0pOTFdSZ05uNUU5QUZPVmtHOENBRDljOFN1UjBteUdacmZYZWdtM2RodXg4dEx5cExGZVZ0TTNrQTVVTFlTZU0vZ28xLzA9IiwibWFjIjoiNzdmZTc5MDI2NjY3OTc2NzhmMjJiMWY3ZGNjNGI4YmNkZTNiNzE0MmNlODdkYzNlNzIxNDU5NmVlMjJmODNhYSIsInRhZyI6IiJ9
+ maxServers: 0
+ maxCpu: 64
+ maxMemory: 27913
+ networks:
+ - id: 3
+ type: simpleBridge
+ bridge: br0
+ primary: true
+ default: true
+ created: '2024-03-29T20:10:22+00:00'
+ updated: '2024-04-09T11:32:14+00:00'
+ storage: []
+ created: '2024-03-29T20:10:22+00:00'
+ updated: '2024-04-16T10:44:21+00:00'
+ - id: 4
+ commissioned: 3
+ ip: 192.168.4.11
+ ipAlt: null
+ hostname: null
+ port: 8892
+ sshPort: 22
+ name: BHV 8
+ maintenance: false
+ enabled: true
+ nfType: 4
+ group:
+ id: 1
+ name: Default
+ description: Default hypervisor group
+ default: true
+ enabled: true
+ distributionType: 5
+ created: '2024-03-12T22:21:32+00:00'
+ updated: '2024-04-12T20:56:04+00:00'
+ encryptedToken: >-
+ eyJpdiI6ImpjS3JqNWhlOHl6Rm5RUk80WkRVQkE9PSIsInZhbHVlIjoiUXNSVEhXMWhJM2hrZ2gza3hBVGtQUjJMenp4bThNL2d0ajYyUGNTQ2s2TjMxZEZ3ZVJVYzQxbUhjSXZMd2greWY5MEl3ajFLK3RrL1BpSzdZbCtzRkpObisvNktxanpZZzBORFpHRUdnN2t3cmN2YXJBbnhQbWRkQ0FUVkozQTVwanlYZHJxVlF2Y3VBOWVBb21FdytUT3Z0cUdrMTU0V3YxM0w1VUh2NER4VkpESngvK0kwNmp6eHFVSDloSWxEd2t4aHV4UnM2c1kyRFRjTDJ5TXJ0dFZPRjZNL3YxKzFpODlzRHFtak5PRm1pVDFBdHJwNGhqNEZiV05Fd1c2OWlkeWxuTWdUT1Z1STE4MjFIMnBoaDA1WWhmSitFMFdnZGdqZ0lZSlBzODd5Y3hDVzNCYWFwSHlHV1hDU0lXZDJKS3RsYWN4VU9EUmJqeTM3Vy9RSXFKTGxkRnZlMnhjWm5mekRrd0VZVjEzeVFhMDFGazJKbXNOVTdCUzdTcW9PbzFsdkEzZE9nK0k4dW5ndXB6OTJDbUFWZk5hU1JveExMSGFzMnNsQzFUSzRDSHVaQkkvR2JseFFwT1BDTWcvZjlqaU5IdDJPMnRTRjJrVmxuYjJzeDRBT2NTNjl5V2hVc3c3UC9ucG11UFozZjErOFovcXVZQlJHSkt0RWJrcVFvY2NyMDdDZ0JFOE5SVklJa0loSVIvSStwVWh6b0twV1NLT0tOaXF3N1EvQkJUTmhYRit3eFR2VGxMc3NMSDVSUWtyMlZCck43ZkFYVXMrVEpoVXhHSVJlN2pMOENnL1R4SzVIeHkrWkVWKzlhRmN5RWdmK1IzaGpJZ0VtbUMvTzJvRnI2TW93RmpyNXlITXB3TGpteGZ6NmZpUEh4NlNVMytsd0hsS0kxRDA9IiwibWFjIjoiNWFkMTQ4YmQ1MGJjMTE3N2QzN2JhOGJkOTM1NzBlNjIzYjFkM2UyMjkxYjI3OWJmMTkxMmVmYjcxNzEwZTNkNCIsInRhZyI6IiJ9
+ maxServers: 0
+ maxCpu: 16
+ maxMemory: 27913
+ networks:
+ - id: 4
+ type: macVTap
+ bridge: eth0
+ primary: true
+ default: true
+ created: '2024-03-29T20:10:42+00:00'
+ updated: '2024-03-29T20:10:42+00:00'
+ storage: []
+ created: '2024-03-29T20:10:42+00:00'
+ updated: '2024-04-16T10:44:21+00:00'
+ - id: 6
+ commissioned: 3
+ ip: 192.168.4.2
+ ipAlt: 123.123.123.121
+ hostname: null
+ port: 8892
+ sshPort: 22
+ name: BHV 1
+ maintenance: false
+ enabled: true
+ nfType: 4
+ group:
+ id: 2
+ name: Test
+ description: null
+ default: false
+ enabled: true
+ distributionType: 13
+ created: '2024-10-08T13:23:28+00:00'
+ updated: '2024-10-08T13:23:42+00:00'
+ encryptedToken: >-
+ eyJpdiI6ImQ0M1hybkc5bDJaQ2IrakJFUGZ0MEE9PSIsInZhbHVlIjoiNW1ETjRDeGMxZDlDOWx3M1ZmRkFBZG84dGRwbEZVRVlwc0JJT202UXhHekJ0cS9wNWpIUjJiUzJhaG0ySCs4aHpLakF2RnNJTjVPZ09hN0ttcEg4bkJrdjRqd2pxNHlPcTBaNnBDZ2VwTllUNzNnRTdBUlVHM245VDVhWkxhYkZ5MnRmQXZJMjZkQWxkV3BmbVdZNWt0clR2UlNGTEZES0kzaksyd2xmZFJITlRRMU0yUkp2WkNRU0lYUlRkWWF3NWxxY1cyUFo1WFByczZIak4wMnl4VmdSbUs0b0RjVWNacmZmcDM1VTgyWlo1OGYydnBXVGNOdHZIRXA3YnNIZFIzTXJiUmorcVExc216R3VyeTQ0U2JTeDZZbzlBcHN2MFNyczlNZGZPM1M5K2FuUVQrNVc1UHVuTEZUSC8yMi9FWHVOYUphblNPVnZsQ2RhVGdrSE5zczlyTEF6QTM5cTBrci8yRy9DM204NWJxOUZBZjdhTmRFZnc1UWcwVUM1L3dveGpvb2tleEd2eVF0amlSN2VRYzdlS3kzQUtMRVk2WkFma25aVjN5OWRURDZFN3JnWU5UVDRkTjRWc0Rib1JIdXAwSlZQTVViWHJTNlIrbFBvb1M0MHVOOEU4VGlBdGZ4dVI0V1BwS3dnempYSC94bmRXdHdET2FEUGZHVXptNzFQQjM3UnRwbWtSQW1wY2xscGxTTmRvZzJpQ0pEWXdoYWRGTk03aytWbGJyVUh3ZGliVWN1NGVEM1lRNjFVV3oxYkNOL0NJUFUycVlQQ212S0NsYitIK2p5QkxwdUk2bk4vL0l6QktraCtqR2lnYkYzNU1IazBPVG42RGlCVkVBV2JKcGI4My9lNDl4N29vQUNJempjaGtlQU1tVWlHZDBDUFkwVU1lTmM9IiwibWFjIjoiMTk1MWEwNGQyYzdiOGM5ZTQ4NDBjZWI2N2JjYTJjYmFhNThhOGUyMDE1MTdiZDdmN2E2YjE4MjZmZjk1OTcxYiIsInRhZyI6IiJ9
+ maxServers: 0
+ maxCpu: 128
+ maxMemory: 29419
+ networks:
+ - id: 6
+ type: simpleBridge
+ bridge: br0
+ primary: true
+ default: true
+ created: '2024-03-30T09:53:38+00:00'
+ updated: '2025-01-15T13:31:56+00:00'
+ - id: 17
+ type: lvBridgeOVS
+ bridge: bhv1
+ primary: false
+ default: false
+ created: '2024-05-17T11:25:57+00:00'
+ updated: '2024-05-17T11:25:57+00:00'
+ storage: []
+ created: '2024-03-30T09:53:38+00:00'
+ updated: '2024-12-06T21:25:54+00:00'
+ first_page_url: >-
+ https://192.168.3.11/api/v1/compute/hypervisors?results=5&page=1
+ from: 1
+ last_page: 3
+ last_page_url: >-
+ https://192.168.3.11/api/v1/compute/hypervisors?results=5&page=3
+ links:
+ - url: null
+ label: '« Previous'
+ active: false
+ - url: >-
+ https://192.168.3.11/api/v1/compute/hypervisors?results=5&page=1
+ label: '1'
+ active: true
+ - url: >-
+ https://192.168.3.11/api/v1/compute/hypervisors?results=5&page=2
+ label: '2'
+ active: false
+ - url: >-
+ https://192.168.3.11/api/v1/compute/hypervisors?results=5&page=3
+ label: '3'
+ active: false
+ - url: >-
+ https://192.168.3.11/api/v1/compute/hypervisors?results=5&page=2
+ label: Next »
+ active: false
+ next_page_url: >-
+ https://192.168.3.11/api/v1/compute/hypervisors?results=5&page=2
+ path: https://192.168.3.11/api/v1/compute/hypervisors
+ per_page: 5
+ prev_page_url: null
+ to: 5
+ total: 14
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /compute/hypervisors/{hypervisorId}:
+ get:
+ summary: Retrive a Hypervisor
+ deprecated: false
+ description: ''
+ tags:
+ - Hypervisors
+ parameters:
+ - name: hypervisorId
+ in: path
+ description: A valid hypervisor ID as shown in VirtFusion.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 1
+ commissioned: 3
+ ip: 192.168.4.10
+ ipAlt: null
+ hostname: null
+ port: 8892
+ sshPort: 22
+ name: PHV 1 (RED)
+ maintenance: false
+ enabled: true
+ nfType: 4
+ group:
+ id: 1
+ name: Default
+ description: Default hypervisor group
+ default: true
+ enabled: true
+ distributionType: 5
+ created: '2024-03-12T22:21:32+00:00'
+ updated: '2024-04-12T20:56:04+00:00'
+ encryptedToken: >-
+ eyJpdiI6Ik1Ua29ZSGp0QThxWVZhellzL2VTU3c9PSIsInZhbHVlIjoiNzc1eGdMMzFPUFpFZVpIbytzMDc1NzRsUHRJVnFTWFpKWS9WamJIaVJVMVZkSFZjZVM1YVB3bnlQeGt4eEhVamhrWGF4SnNqQVFES010Y3owUmJneTR4a05oRkp1R08xVXI1eHcvQ3NsbW5qU0dpUWhZbnFUMWYrTHM5L2NoZmhUQm9nRnV4b2Y0dENGLy9vanVDMnkwTG1mNXBYM1JVcE5TNWRCSGkvZS9qVEFsSWx5WXdXOU1wajIwam1DV1d4aUNXMUNGMThFNXI5THM4VWFmYnRFNkx3VHFaV3o3M0VVaEZXSHo0TVdKc0xSemJYVExUWEVlZHM0ZVNoUkk0ZEI2QnAySlVESVU2R0JDcWJMeG9YRUhIM0Vad2w2VHNGcFQ3R1BkbU1TbzU3V2JzbEJFNlUvSW90eGxNZkdqRjVmMGx6TTRIWEttYVA0Ti9JQkEwQURrWTRPL2k4VFJsNjhFTHh3UW1wSGMzUkxibEtDeDdlK2tOekQxVkh0bzhsWXY1RkxxaWRkSFBEQlNvM1l2akxqNitickp1TzR0ekhTbmdVSG5VUE5tMGh1WFJuejhscFpSS2dLcE1ZaS9NUlRKdnNUS0wzYWlDYjB1MVJhcmk4OEJoZURNQ3JROE5WcTZTdzV0Si9UeDhwMTFLK3lZV0NDdzB5b2NBZFhsM0hYMDJPMHlXS1g1MmxhNWdrOTRTSDJHbWNvODNuOUswMHJpYTVBL0YwRW9BVndsMllIdW95ZjBhZXdLUTRSR0xBelBVekViTCtKaG8wSGxPR1NOWmNSaXpxQ1hBUVdsdE9HMUhtc2YrRU14WkhOaUVVeWhXRlB2amtRRXkxZjY0cm85ekxVYWE1QU5zdlJDK2N6YmZrNHNOWk4xSTZXbUhxYklLTmgraTZFWHM9IiwibWFjIjoiOTY2ZmJkNzJkNzZmNmZmYTQzM2U4NDQzMDdhYTAzOWZhNTM0M2I1MDQyYWUwYzQ1ZGIyZTRlOGEwM2M0MTRhYiIsInRhZyI6IiJ9
+ maxServers: 0
+ maxCpu: 4
+ maxMemory: 6004
+ created: '2024-03-12T22:37:15+00:00'
+ updated: '2024-05-10T11:27:52+00:00'
+ networks:
+ - id: 1
+ type: simpleBridge
+ bridge: br0
+ primary: true
+ default: true
+ created: '2024-03-12T22:37:15+00:00'
+ updated: '2024-03-12T22:37:40+00:00'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /connectivity/ipblocks/{blockId}/ipv4:
+ post:
+ summary: Add an IPv4 range to an IP block
+ deprecated: false
+ description: ''
+ tags:
+ - IP Blocks
+ parameters:
+ - name: blockId
+ in: path
+ description: A valid IPv4 block ID as shown in VirtFusion.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ type:
+ type: string
+ description: Must be set to range.
+ start:
+ type: string
+ description: Start of IPv4 range.
+ end:
+ type: string
+ description: End of IPv4 range.
+ required:
+ - type
+ - start
+ - end
+ example:
+ type: range
+ start: 192.168.1.2
+ end: 192.168.1.10
+ responses:
+ '204':
+ description: ''
+ content:
+ text/css:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /connectivity/ipblocks:
+ get:
+ summary: Retrieve IP blocks
+ deprecated: false
+ description: ''
+ tags:
+ - IP Blocks
+ parameters:
+ - name: results
+ in: query
+ description: >-
+ Number of results to return. Range between 1 and 200. Defaults to
+ 20.
+ required: false
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ current_page: 1
+ data:
+ - id: 1
+ type: 4
+ name: 192.168.4.0/23
+ ipv4:
+ gateway: 192.168.4.1
+ netmask: 255.255.254.0
+ resolvers:
+ primary: 8.8.8.8
+ secondary: 8.8.4.4
+ total: 521
+ usedTotal: 21
+ freeTotal: 500
+ ipv6:
+ gateway: null
+ resolvers:
+ primary: null
+ secondary: null
+ subnet: null
+ from: 48
+ to: 64
+ restricted: []
+ total: 0
+ generatedTotal: 0
+ usedTotal: 0
+ freeTotal: 0
+ freeGenerated: 0
+ blacklistedTotal: 0
+ rdnsType: 0
+ rdnsZoneId: null
+ networkProfile: 0
+ routeBlock: null
+ dhcp: 1
+ enabled: true
+ created: '2024-03-12T22:40:23+00:00'
+ updated: '2024-12-06T21:53:15+00:00'
+ - id: 2
+ type: 6
+ name: PDNS TEST
+ ipv4:
+ gateway: null
+ netmask: null
+ resolvers:
+ primary: null
+ secondary: null
+ total: 0
+ usedTotal: 0
+ freeTotal: 0
+ ipv6:
+ gateway: 2a03:3a61:a1::1
+ resolvers:
+ primary: 2001:4860:4860::8888
+ secondary: 2001:4860:4860::8844
+ subnet: '2a03:3a61:a1::'
+ from: 48
+ to: 64
+ restricted: []
+ total: 65535
+ generatedTotal: 300
+ usedTotal: 0
+ freeTotal: 65535
+ freeGenerated: 300
+ blacklistedTotal: 0
+ rdnsType: 2
+ rdnsZoneId: 1
+ networkProfile: 0
+ routeBlock: null
+ dhcp: 1
+ enabled: true
+ created: '2024-04-26T11:41:41+00:00'
+ updated: '2024-12-31T10:23:33+00:00'
+ - id: 3
+ type: 4
+ name: 192.168.30.200-240
+ ipv4:
+ gateway: 192.168.30.1
+ netmask: 255.255.255.0
+ resolvers:
+ primary: 8.8.8.8
+ secondary: 8.8.4.4
+ total: 41
+ usedTotal: 8
+ freeTotal: 33
+ ipv6:
+ gateway: null
+ resolvers:
+ primary: null
+ secondary: null
+ subnet: null
+ from: 48
+ to: 64
+ restricted: []
+ total: 0
+ generatedTotal: 0
+ usedTotal: 0
+ freeTotal: 0
+ freeGenerated: 0
+ blacklistedTotal: 0
+ rdnsType: 0
+ rdnsZoneId: null
+ networkProfile: 0
+ routeBlock: null
+ dhcp: 1
+ enabled: true
+ created: '2024-05-14T10:43:52+00:00'
+ updated: '2024-05-14T10:44:25+00:00'
+ - id: 4
+ type: 4
+ name: 10.1.1.0/24
+ ipv4:
+ gateway: null
+ netmask: 255.255.255.255
+ resolvers:
+ primary: 8.8.8.8
+ secondary: 8.8.4.4
+ total: 0
+ usedTotal: 0
+ freeTotal: 0
+ ipv6:
+ gateway: null
+ resolvers:
+ primary: null
+ secondary: null
+ subnet: null
+ from: 48
+ to: 64
+ restricted: []
+ total: 0
+ generatedTotal: 0
+ usedTotal: 0
+ freeTotal: 0
+ freeGenerated: 0
+ blacklistedTotal: 0
+ rdnsType: 0
+ rdnsZoneId: null
+ networkProfile: 0
+ routeBlock: null
+ dhcp: 1
+ enabled: true
+ created: '2024-05-16T18:11:03+00:00'
+ updated: '2024-05-17T13:22:04+00:00'
+ - id: 5
+ type: 6
+ name: V6 For BHV 1,3
+ ipv4:
+ gateway: null
+ netmask: null
+ resolvers:
+ primary: null
+ secondary: null
+ total: 0
+ usedTotal: 0
+ freeTotal: 0
+ ipv6:
+ gateway: 2001:db8:abcd:12::1
+ resolvers:
+ primary: 2001:4860:4860::8888
+ secondary: 2001:4860:4860::8844
+ subnet: '2001:db8:abcd:12::'
+ from: 64
+ to: 80
+ restricted: []
+ total: 65535
+ generatedTotal: 1100
+ usedTotal: 9
+ freeTotal: 65526
+ freeGenerated: 1091
+ blacklistedTotal: 0
+ rdnsType: 0
+ rdnsZoneId: null
+ networkProfile: 0
+ routeBlock: null
+ dhcp: 1
+ enabled: true
+ created: '2024-09-19T17:23:05+00:00'
+ updated: '2024-12-06T21:23:55+00:00'
+ first_page_url: https://192.168.3.11/api/v1/connectivity/ipblocks?page=1
+ from: 1
+ last_page: 1
+ last_page_url: https://192.168.3.11/api/v1/connectivity/ipblocks?page=1
+ links:
+ - url: null
+ label: '« Previous'
+ active: false
+ - url: https://192.168.3.11/api/v1/connectivity/ipblocks?page=1
+ label: '1'
+ active: true
+ - url: null
+ label: Next »
+ active: false
+ next_page_url: null
+ path: https://192.168.3.11/api/v1/connectivity/ipblocks
+ per_page: 20
+ prev_page_url: null
+ to: 5
+ total: 5
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /connectivity/ipblocks/{blockId}:
+ get:
+ summary: Retrieve an IP block
+ deprecated: false
+ description: ''
+ tags:
+ - IP Blocks
+ parameters:
+ - name: blockId
+ in: path
+ description: A valid IP block ID as shown in VirtFusion.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 1
+ type: 4
+ name: 192.168.4.0/23
+ ipv4:
+ gateway: 192.168.4.1
+ netmask: 255.255.254.0
+ resolvers:
+ primary: 8.8.8.8
+ secondary: 8.8.4.4
+ total: 521
+ usedTotal: 21
+ freeTotal: 500
+ ipv6:
+ gateway: null
+ resolvers:
+ primary: null
+ secondary: null
+ subnet: null
+ from: 48
+ to: 64
+ restricted: []
+ total: 0
+ generatedTotal: 0
+ usedTotal: 0
+ freeTotal: 0
+ freeGenerated: 0
+ blacklistedTotal: 0
+ rdnsType: 0
+ rdnsZoneId: null
+ networkProfile: 0
+ routeBlock: null
+ dhcp: 1
+ enabled: true
+ created: '2024-03-12T22:40:23+00:00'
+ updated: '2024-12-06T21:53:15+00:00'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /backups/server/{serverId}:
+ get:
+ summary: Retrieve a server backups
+ deprecated: false
+ description: ''
+ tags:
+ - Backups
+ parameters:
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ - id: 42
+ serverId: 202
+ storage:
+ id: 5
+ name: Backup Server 1
+ enabled: true
+ deleting: false
+ restoring: false
+ progress: false
+ complete: true
+ deleteAfter: null
+ created: '2022-03-03T20:25:01+00:00'
+ updated: '2022-03-03T20:26:01+00:00'
+ - id: 49
+ serverId: 202
+ storage:
+ id: 5
+ name: Backup Server 1
+ enabled: true
+ deleting: false
+ restoring: false
+ progress: false
+ complete: true
+ deleteAfter: null
+ created: '2022-03-04T20:25:01+00:00'
+ updated: '2022-03-04T20:26:01+00:00'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /dns/services/{serviceId}:
+ get:
+ summary: Retrieve a DNS service
+ deprecated: false
+ description: ''
+ tags:
+ - DNS
+ parameters:
+ - name: serviceId
+ in: path
+ description: A valid DNS service ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 4
+ type: 1
+ name: ClouDNS
+ username: '456754'
+ url: https://api.cloudns.net
+ ip: null
+ port: 443
+ password: >-
+ eyJpdiI6IjVUOU11S09KNmFtNnlqLzRzR0FYd1E9PSIsInZhbHVlIjoiS01SNjdhbEt1TzFVMHM0Nk1lY2Z0bnl5cUJJUDlxeUF0VXdtTTUwWW41QT0iLCJtYWMiOiI4NTBlNzFhNzJmNTkwMTA1ODQ0MjU4OTUzNjM0MzAxN2QwYzY5OTdiMTgzNDg3ZGFjMmU5NjE0Y2E3YTE1NWVjIiwidGFnIjoiIn0=
+ config: {}
+ subAccount: false
+ capabilities: 1
+ enabled: true
+ created: '2022-02-11T11:55:49+00:00'
+ updated: '2022-02-14T22:45:43+00:00'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /media/iso/{isoId}:
+ get:
+ summary: Retrieve an ISO
+ deprecated: false
+ description: ''
+ tags:
+ - Media
+ parameters:
+ - name: isoId
+ in: path
+ description: A valid ISO ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 1
+ name: Deb Arch
+ description: null
+ arch: 2
+ url: >-
+ https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-12.5.0-arm64-netinst.iso
+ filename: deb-arc
+ enabled: true
+ config: '[]'
+ global: true
+ download: true
+ users: []
+ created: '2024-03-13T09:34:54+00:00'
+ updated: '2024-04-01T20:34:05+00:00'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /media/templates/fromServerPackageSpec/{serverPackageId}:
+ get:
+ summary: Retrieve operating system templates that are available for a package
+ deprecated: false
+ description: ''
+ tags:
+ - Media
+ parameters:
+ - name: serverPackageId
+ in: path
+ description: A valid server package ID as shown in VirtFusion.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ - name: Debian
+ description: >-
+ Debian GNU/Linux, is a Linux distribution composed of free
+ and open-source software, developed by the
+ community-supported Debian Project.
+ icon: debian_logo.png
+ templates:
+ - id: 8
+ name: Debian
+ version: 11 (Bullseye)
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Debian.
+ icon: debian_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 44
+ name: Debian
+ version: 12 (Bookworm)
+ variant: null
+ arch: 2
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Debian.
+ icon: debian_logo.png
+ eol: false
+ eol_date: '2024-04-02 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 46
+ name: Debian
+ version: 12 (Bookworm)
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Debian.
+ icon: debian_logo.png
+ eol: false
+ eol_date: '2024-04-23 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 56
+ name: Debian
+ version: 12 (Bookworm)
+ variant: Test
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Debian.
+ icon: debian_logo.png
+ eol: false
+ eol_date: '2024-04-23 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: true
+ type: linux
+ id: 1
+ - name: CentOS
+ description: >-
+ The CentOS Linux distribution is a stable, predictable,
+ manageable and reproducible platform derived from the
+ sources of Red Hat Enterprise Linux (RHEL).
+ icon: centos_logo.png
+ templates:
+ - id: 1
+ name: CentOS
+ version: '7'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Yum, the main
+ command-line package manager for CentOS.
+ icon: centos_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 2
+ name: CentOS Stream
+ version: '9'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Base installation with limited packages. New packages
+ are easily installed using DNF (yum), the main
+ command-line package manager for CentOS.
+ icon: centos_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ id: 2
+ - name: Rocky Linux
+ description: >-
+ Rocky Linux is a community enterprise operating system
+ designed to be 100% bug-for-bug compatible with America's
+ top enterprise Linux distribution now that its downstream
+ partner has shifted direction. It is under intensive
+ development by the community. Rocky Linux is led by
+ Gregory Kurtzer, founder of the CentOS project.
+ icon: rocky_linux_logo.png
+ templates:
+ - id: 7
+ name: Rocky Linux
+ version: '8'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for Rocky Linux.
+ icon: rocky_linux_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 13
+ name: Rocky Linux
+ version: '9'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for Rocky Linux.
+ icon: rocky_linux_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 40
+ name: Rocky Linux
+ version: '9'
+ variant: ''
+ arch: 2
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for Rocky Linux.
+ icon: rocky_linux_logo.png
+ eol: false
+ eol_date: '2024-03-28 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ id: 3
+ - name: AlmaLinux
+ description: >-
+ AlmaLinux OS is an open-source, community-driven project
+ that intends provide and alternative to the CentOS Stable
+ release. AlmaLinux is an OS that is 1:1 binary compatible
+ with RHEL® 8 and a global collaborative of the developer
+ community, industry, academia and research which build
+ upon this technology to empower humanity.
+ icon: almalinux_logo.png
+ templates:
+ - id: 6
+ name: AlmaLinux
+ version: '8'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for AlmaLinux.
+ icon: almalinux_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 12
+ name: ARM -> AlmaLinux
+ version: '9'
+ variant: Latest
+ arch: 1
+ description: >-
+ Latest version with base packages. New packages are
+ easily installed using DNF (yum), the main
+ command-line package manager for AlmaLinux.
+ icon: almalinux_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 39
+ name: AlmaLinux
+ version: '9'
+ variant: null
+ arch: 2
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for AlmaLinux.
+ icon: almalinux_logo.png
+ eol: false
+ eol_date: '2024-03-28 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ id: 4
+ - name: Ubuntu
+ description: >-
+ The most popular server Linux in the cloud and data
+ centre, you can rely on Ubuntu Server and its five years
+ of guaranteed free upgrades.
+ icon: ubuntu_logo.png
+ templates:
+ - id: 3
+ name: Ubuntu Server
+ version: 20.04 LTS (Focal Fossa)
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Ubuntu.
+ icon: ubuntu_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 4
+ name: Ubuntu Server
+ version: 18.04 LTS (Bionic Beaver)
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Ubuntu.
+ icon: ubuntu_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 9
+ name: Ubuntu Server
+ version: 22.04 LTS (Jammy Jellyfish)
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Ubuntu.
+ icon: ubuntu_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 41
+ name: Ubuntu
+ version: 22.04 LTS (Jammy Jellyfish)
+ variant: ''
+ arch: 2
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Ubuntu.
+ icon: ubuntu_logo.png
+ eol: false
+ eol_date: '2024-03-28 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 49
+ name: Ubuntu Server
+ version: 24.04 LTS (Noble Numbat)
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Ubuntu.
+ icon: ubuntu_logo.png
+ eol: false
+ eol_date: '2024-04-25 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 51
+ name: Ubuntu
+ version: 24.04 LTS (Noble Numbat)
+ variant: null
+ arch: 2
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using Advanced Package
+ Tool (APT), the main command-line package manager for
+ Ubuntu.
+ icon: ubuntu_logo.png
+ eol: false
+ eol_date: '2024-05-02 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ id: 5
+ - name: Fedora
+ description: >-
+ Fedora Server is a powerful, flexible operating system
+ that includes the best and latest datacenter technologies.
+ It puts you in control of all your infrastructure and
+ services.
+ icon: fedora_logo.png
+ templates:
+ - id: 11
+ name: Fedora
+ version: '37'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for Fedora.
+ icon: fedora_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 14
+ name: Fedora
+ version: '38'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for Fedora.
+ icon: fedora_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 15
+ name: Fedora
+ version: '39'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for Fedora.
+ icon: fedora_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 59
+ name: Fedora
+ version: '41'
+ variant: Minimal
+ arch: 1
+ description: >-
+ Minimal installation with limited packages. New
+ packages are easily installed using DNF (yum), the
+ main command-line package manager for Fedora.
+ icon: fedora_logo.png
+ eol: false
+ eol_date: '2024-12-18 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ id: 6
+ - name: FreeBSD
+ description: >-
+ FreeBSD is an operating system used to power modern
+ servers, desktops, and embedded platforms. A large
+ community has continually developed it for more than
+ thirty years. Its advanced networking, security, and
+ storage features have made FreeBSD the platform of choice
+ for many of the busiest web sites and most pervasive
+ embedded networking and storage devices.
+ icon: freebsd_logo.png
+ templates:
+ - id: 52
+ name: FreeBSD
+ version: '13.3'
+ variant: Minimal
+ arch: 1
+ description: Minimal installation with limited packages.
+ icon: freebsd_logo.png
+ eol: false
+ eol_date: '2024-05-15 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: unix
+ - id: 53
+ name: FreeBSD
+ version: '14.0'
+ variant: Minimal
+ arch: 1
+ description: Minimal installation with limited packages.
+ icon: freebsd_logo.png
+ eol: false
+ eol_date: '2024-05-15 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: unix
+ - id: 55
+ name: FreeBSD
+ version: '14.2'
+ variant: Minimal
+ arch: 1
+ description: Minimal installation with limited packages.
+ icon: freebsd_logo.png
+ eol: false
+ eol_date: '2024-10-20 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: true
+ type: unix
+ - id: 58
+ name: FreeBSD
+ version: '13.2'
+ variant: Minimal
+ arch: 1
+ description: Minimal installation with limited packages.
+ icon: freebsd_logo.png
+ eol: false
+ eol_date: '2024-12-10 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: unix
+ id: 7
+ - name: Other
+ description: ''
+ icon: linux_logo.png
+ templates:
+ - id: 5
+ name: openSUSE
+ version: Leap 15
+ variant: Minimal
+ arch: 1
+ description: >-
+ openSUSE is a project that serves to promote the use
+ of free and open-source software.
Minimal
+ installation with limited packages. New packages are
+ easily installed using Zypper, the main command-line
+ package manager for openSUSE.
+ icon: opensuse_logo.png
+ eol: false
+ eol_date: '2024-03-12 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ - id: 36
+ name: openSUSE
+ version: Leap 15.6
+ variant: ''
+ arch: 2
+ description: >-
+ openSUSE is a project that serves to promote the use
+ of free and open-source software.
Minimal
+ installation with limited packages. New packages are
+ easily installed using Zypper, the main command-line
+ package manager for openSUSE.
+ icon: opensuse_logo.png
+ eol: false
+ eol_date: '2024-03-14 00:00:00'
+ eol_warning: false
+ deploy_type: 1
+ vnc: false
+ type: linux
+ id: 0
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /packages:
+ get:
+ summary: Retrieve packages
+ deprecated: false
+ description: ''
+ tags:
+ - Packages
+ parameters: []
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ - id: 1
+ name: Test
+ description: null
+ enabled: true
+ memory: 1024
+ primaryStorage: 10
+ traffic: 200
+ cpuCores: 1
+ primaryNetworkSpeedIn: 0
+ primaryNetworkSpeedOut: 0
+ primaryDiskType: inherit
+ backupPlanId: 0
+ primaryStorageReadBytesSec: null
+ primaryStorageWriteBytesSec: null
+ primaryStorageReadIopsSec: null
+ primaryStorageWriteIopsSec: null
+ primaryStorageProfile: 1
+ primaryNetworkProfile: 0
+ created: '2024-03-12T22:41:31.000000Z'
+ - id: 2
+ name: Test Only
+ description: null
+ enabled: true
+ memory: 1024
+ primaryStorage: 10
+ traffic: 200
+ cpuCores: 1
+ primaryNetworkSpeedIn: 0
+ primaryNetworkSpeedOut: 0
+ primaryDiskType: inherit
+ backupPlanId: 0
+ primaryStorageReadBytesSec: null
+ primaryStorageWriteBytesSec: null
+ primaryStorageReadIopsSec: null
+ primaryStorageWriteIopsSec: null
+ primaryStorageProfile: 0
+ primaryNetworkProfile: 0
+ created: '2024-06-28T12:36:16.000000Z'
+ - id: 3
+ name: BASIC
+ description: null
+ enabled: true
+ memory: 1024
+ primaryStorage: 10
+ traffic: 20000
+ cpuCores: 2
+ primaryNetworkSpeedIn: 0
+ primaryNetworkSpeedOut: 0
+ primaryDiskType: inherit
+ backupPlanId: 0
+ primaryStorageReadBytesSec: null
+ primaryStorageWriteBytesSec: null
+ primaryStorageReadIopsSec: null
+ primaryStorageWriteIopsSec: null
+ primaryStorageProfile: 1
+ primaryNetworkProfile: 0
+ created: '2024-10-12T15:54:54.000000Z'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /packages/{packageId}:
+ get:
+ summary: Retrieve a packge
+ deprecated: false
+ description: ''
+ tags:
+ - Packages
+ parameters:
+ - name: packageId
+ in: path
+ description: A valid package ID as shown in VirtFusion.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 1
+ name: Test
+ description: null
+ enabled: true
+ memory: 1024
+ primaryStorage: 10
+ traffic: 200
+ cpuCores: 1
+ primaryNetworkSpeedIn: 0
+ primaryNetworkSpeedOut: 0
+ primaryDiskType: inherit
+ backupPlanId: 0
+ primaryStorageReadBytesSec: null
+ primaryStorageWriteBytesSec: null
+ primaryStorageReadIopsSec: null
+ primaryStorageWriteIopsSec: null
+ primaryStorageProfile: 1
+ primaryNetworkProfile: 0
+ created: '2024-03-12T22:41:31.000000Z'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /queue/{queueId}:
+ get:
+ summary: Retrieve a queue item
+ deprecated: false
+ description: ''
+ tags:
+ - Queue & Tasks
+ parameters:
+ - name: queueId
+ in: path
+ description: A valid queue ID as shown in VirtFusion.
+ required: true
+ example: 158
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 158
+ jobId: '852'
+ job: App\Jobs\Server\KVM\Build
+ hypervisorId: 6
+ serverId: 69
+ action: build_server
+ queue: default
+ started: '2025-01-15T15:00:26+00:00'
+ updated: '2025-01-15T15:00:49+00:00'
+ finished: '2025-01-15T15:00:49+00:00'
+ failed: false
+ progress: 100
+ errors:
+ exception:
+ stringable: false
+ errors: []
+ type: null
+ trace: null
+ message: null
+ primaryActions:
+ - type: server.get.status
+ dataType: object
+ data:
+ success: true
+ version: '{{VERSION}}'
+ setOpts:
+ failOnVersionCheck: true
+ failOnDisasterRecovery: true
+ createDirStructure: true
+ writeXMLConfiguration: false
+ failOnCustomXML: false
+ failOnPriorityXML: false
+ failOnElevateXML: true
+ actions:
+ createDirStructure:
+ requested: true
+ output: server directory structure set. No action required
+ msg: null
+ success: true
+ statusTree:
+ disasterRecoveryActive: false
+ customXML: false
+ priorityXML: false
+ elevateXML: false
+ created: '2025-01-15T15:00:26+00:00'
+ updated: '2025-01-15T15:00:26+00:00'
+ - type: server.config.dhcp
+ dataType: object
+ data:
+ system:
+ success: true
+ commandline: []
+ data: []
+ created: '2025-01-15T15:00:26+00:00'
+ updated: '2025-01-15T15:00:26+00:00'
+ - type: server.os.template.exists
+ dataType: object
+ data:
+ success: false
+ remote:
+ info:
+ url: >-
+ https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
+ content_type: application/octet-stream
+ http_code: 200
+ header_size: 255
+ request_size: 176
+ filetime: -1
+ ssl_verify_result: 20
+ redirect_count: 0
+ total_time: 0.070349
+ namelookup_time: 0.016706
+ connect_time: 0.03088
+ pretransfer_time: 0.054076
+ size_upload: 0
+ size_download: 0
+ speed_download: 0
+ speed_upload: 0
+ download_content_length: 609856512
+ upload_content_length: 0
+ starttransfer_time: 0.070305
+ redirect_time: 0
+ redirect_url: ''
+ primary_ip: 185.125.190.37
+ certinfo: []
+ primary_port: 443
+ local_ip: 192.168.4.2
+ local_port: 34728
+ http_version: 2
+ protocol: 2
+ ssl_verifyresult: 0
+ scheme: HTTPS
+ appconnect_time_us: 54015
+ connect_time_us: 30880
+ namelookup_time_us: 16706
+ pretransfer_time_us: 54076
+ redirect_time_us: 0
+ starttransfer_time_us: 70305
+ total_time_us: 70349
+ effective_method: HEAD
+ exitCode: 0
+ error: null
+ completed: true
+ created: '2025-01-15T15:00:27+00:00'
+ updated: '2025-01-15T15:00:27+00:00'
+ - type: server.os.template.download
+ dataType: object
+ data:
+ system:
+ success: true
+ errors: []
+ commandline: []
+ data:
+ - sourceUrl: >-
+ https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
+ sourceDecompress: ''
+ destinationPath: >-
+ /home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2
+ exitCode: null
+ pid: null
+ finished: false
+ error: null
+ errorOutput: null
+ success: 0
+ updated: 1736953227
+ created: '2025-01-15T15:00:27+00:00'
+ updated: '2025-01-15T15:00:27+00:00'
+ - type: server.os.template.download.check
+ dataType: object
+ data:
+ success: true
+ filesize: 609856512
+ remote: |-
+ {
+ "sourceUrl": "https:\/\/cloud-images.ubuntu.com\/noble\/current\/noble-server-cloudimg-amd64.img",
+ "sourceDecompress": "",
+ "destinationPath": "\/home\/vf-data\/os\/template\/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2",
+ "exitCode": 0,
+ "pid": 387093,
+ "finished": true,
+ "error": null,
+ "errorOutput": null,
+ "success": true,
+ "updated": 1736953235,
+ "decompressOutput": null
+ }
+ created: '2025-01-15T15:00:35+00:00'
+ updated: '2025-01-15T15:00:35+00:00'
+ - type: server.create.ci
+ dataType: object
+ data:
+ network:
+ version: 2
+ ethernets:
+ ens3:
+ match:
+ macaddress: 00:e7:fb:01:87:14
+ addresses:
+ - 192.168.4.32/23
+ - 192.168.4.35/23
+ gateway4: 192.168.4.1
+ nameservers:
+ addresses:
+ - 8.8.8.8
+ - 8.8.4.4
+ routes:
+ - to: 192.168.4.1
+ via: 0.0.0.0
+ scope: link
+ ens4:
+ match:
+ macaddress: 00:f0:4a:c6:3f:08
+ addresses:
+ - 192.168.4.33/23
+ - 192.168.4.34/23
+ gateway4: 192.168.4.1
+ nameservers:
+ addresses:
+ - 8.8.8.8
+ - 8.8.4.4
+ user:
+ timezone: Europe/London
+ ssh_pwauth: false
+ users:
+ - name: root
+ ssh-authorized-keys:
+ - >-
+ ssh-rsa
+ AAAAB3NzaC1yc2EAAAADAQABAAACAQC+JdL4fWELBWGAknSu0PwVpDDOlORxy9z7eVnZphZXBzYLMnux+ZogVLns6+O6NDE8JmWvP9RIg3SIga7RDOkW9UCdLzRu0jF2ALL7CK1huo1Ih0PDM9ZbFDy2Fd7a4DTvUX6923fQyW0PWRtyL11R4c9NUqzejKp5kW8vHfPQjzwb1hGIKvkSYkI0Auq4JJhlvjjnoK7Z8t5mpDrVfNTrVqevPgsW5Xwnq8R+02XywrY+Q/wnpxDs3Wjb2aA61A0x5J0xcZQpTQHoJNj77J3VmPI7Ry7Q8hPbTSLGZbN+gODr0lOaL5TdbvM3bnus5JvoqgRoszzPcTiNMZAe3v9UM8hiXise54b8rsc2M9MQ4olPu7TrROZbcw+9q4m6cV+dfVU/NRFkf27YRa4oZNKehHsMiupDyoISgSl4qSB8YXAWsX03oC/gzpB2YJIqEL1Y/SmKYEhgr0cplkvGZy6C/Q9cJHyHlMPtEBPexgcjXC9QrVK4n2cmde3TuSRMctawcat7Nuq08C8fGHaGHr8iAeage3o/ODVOt0rhBu69PknzQeVBdlwK3+p1dH6PnMzNNBhWyNZT/NqB2eS6K8lYpOQ47byXPwYsRLvStUjpZRdikOT7D31T5g8FwOThQ+6WX+xfMD7CSLsSKCn/FhlinbVbG2IhCLH3B30Akw5bUw==
+ hashed_passwd: ''
+ lock_passwd: true
+ runcmd:
+ - >-
+ DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
+ --option=Dpkg::Options::=--force-confold
+ --option=Dpkg::options::=--force-unsafe-io
+ --assume-yes --quiet update
+ - >-
+ DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
+ --option=Dpkg::Options::=--force-confold
+ --option=Dpkg::options::=--force-unsafe-io
+ --assume-yes --quiet install qemu-guest-agent
+ - /usr/bin/systemctl enable qemu-guest-agent
+ - /usr/bin/systemctl start qemu-guest-agent
+ - >-
+ DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
+ --option=Dpkg::Options::=--force-confold
+ --option=Dpkg::options::=--force-unsafe-io
+ --assume-yes --quiet dist-upgrade
+ meta:
+ instance-id: b9fd9092-7200-4a24-96d4-76aedd664274
+ local-hostname: elliptical-way
+ created: '2025-01-15T15:00:35+00:00'
+ updated: '2025-01-15T15:00:35+00:00'
+ - type: server.disk.create.os
+ dataType: object
+ data:
+ system:
+ success: true
+ commandline:
+ - result:
+ success: true
+ exitOnZero: false
+ command: >-
+ 'virsh' 'destroy'
+ 'b9fd9092-7200-4a24-96d4-76aedd664274'
+ exit_code: 1
+ pid: 387131
+ started: 1736953235.403454
+ env:
+ PATH: >-
+ /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ timeout: 180
+ output: ''
+ error: >-
+ error: failed to get domain
+ 'b9fd9092-7200-4a24-96d4-76aedd664274'
+ - command: >-
+ qemu-img info
+ '/home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2'
+ | grep -v grep | grep -w "file format:" | awk '{
+ print $3 }'
+ exit_code: 0
+ output: qcow2
+ error: ''
+ - command: >-
+ 'cloud-localds'
+ '/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/cloud-drive.img'
+ '--network-config=/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/network-config-v2.yaml'
+ '/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/user-data.yaml'
+ '/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/meta-data.yaml'
+ exit_code: 0
+ output: ''
+ error: ''
+ data:
+ success: true
+ forkData:
+ status: true
+ errors: []
+ commandline: []
+ output:
+ - sourcePath: >-
+ /home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2
+ destinationPath: >-
+ /home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img
+ convertProcess:
+ - qemu-img
+ - convert
+ - '-f'
+ - qcow2
+ - '-O'
+ - qcow2
+ - >-
+ /home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2
+ - >-
+ /home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img
+ resizeProcess:
+ - qemu-img
+ - resize
+ - '-f'
+ - qcow2
+ - >-
+ /home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img
+ - 11G
+ resizeProcessPid: null
+ convertProcessPid: null
+ finished: false
+ convertProcessOutput: null
+ resizeProcessOutput: null
+ convertProcessExitCode: null
+ resizeProcessExitCode: null
+ convertProcessError: null
+ resizeProcessError: null
+ error: null
+ success: false
+ updated: 1736953238
+ abort: false
+ error: null
+ errorException: null
+ created: '2025-01-15T15:00:38+00:00'
+ updated: '2025-01-15T15:00:38+00:00'
+ - type: server.os.install.check
+ dataType: object
+ data:
+ success: true
+ sourceFilesize: 609856512
+ destinationFilesize: 1832517808
+ remote:
+ sourcePath: >-
+ /home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2
+ destinationPath: >-
+ /home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img
+ convertProcess:
+ - qemu-img
+ - convert
+ - '-f'
+ - qcow2
+ - '-O'
+ - qcow2
+ - >-
+ /home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2
+ - >-
+ /home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img
+ resizeProcess:
+ - qemu-img
+ - resize
+ - '-f'
+ - qcow2
+ - >-
+ /home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img
+ - 11G
+ resizeProcessPid: 387270
+ convertProcessPid: 387168
+ finished: true
+ convertProcessOutput: ''
+ resizeProcessOutput: |
+ Image resized.
+ convertProcessExitCode: 0
+ resizeProcessExitCode: 0
+ convertProcessError: null
+ resizeProcessError: null
+ error: null
+ success: true
+ updated: 1736953244
+ created: '2025-01-15T15:00:44+00:00'
+ updated: '2025-01-15T15:00:44+00:00'
+ - type: server.vnc.disable
+ dataType: object
+ data:
+ system:
+ success: true
+ commandline:
+ - command: '''/usr/sbin/ufw'' ''deny'' ''5903'''
+ exit_code: 0
+ output: |-
+ Skipping adding existing rule
+ Skipping adding existing rule (v6)
+ error: ''
+ data: []
+ created: '2025-01-15T15:00:45+00:00'
+ updated: '2025-01-15T15:00:45+00:00'
+ - type: server.boot
+ dataType: object
+ data:
+ system:
+ success: true
+ errors: []
+ commandline:
+ - success: true
+ exitOnZero: false
+ command: >-
+ 'virsh' '-q' 'domstate'
+ 'b9fd9092-7200-4a24-96d4-76aedd664274'
+ exit_code: 1
+ pid: 387301
+ started: 1736953245.165795
+ env:
+ PATH: >-
+ /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ timeout: 60
+ output: ''
+ error: >-
+ error: failed to get domain
+ 'b9fd9092-7200-4a24-96d4-76aedd664274'
+ - success: true
+ exitOnZero: true
+ command: >-
+ 'virsh' 'create'
+ '/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/server.xml'
+ exit_code: 0
+ pid: 387303
+ started: 1736953245.190122
+ env:
+ PATH: >-
+ /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ timeout: 360
+ output: >-
+ Domain 'b9fd9092-7200-4a24-96d4-76aedd664274'
+ created from
+ /home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/server.xml
+ error: ''
+ - result:
+ success: true
+ exitOnZero: true
+ command: >-
+ 'virsh' 'attach-disk'
+ 'b9fd9092-7200-4a24-96d4-76aedd664274'
+ '/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/cloud-drive.img'
+ 'sdx' '--mode' 'readonly'
+ exit_code: 0
+ pid: 387457
+ started: 1736953246.67152
+ env:
+ PATH: >-
+ /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ timeout: 60
+ output: Disk attached successfully
+ error: ''
+ data:
+ - - filter_list: null
+ filter_apply: null
+ filter_apply_success: true
+ filter_apply_error: false
+ filter_apply_error_trace: false
+ filter_apply_cli: null
+ filter_apply_code: null
+ tmp_filter_1: >-
+ /home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/networkFilter-3933491695.xml
+ tmp_filter_2: >-
+ /home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/networkFilter-3933491695.xml-tmp
+ sha1: bd9ce80d8372e025e5de8757ec63c042986a48fa
+ sha1_last: bd9ce80d8372e025e5de8757ec63c042986a48fa
+ native:
+ primary: []
+ secondary:
+ sha1: 801b6632cbb50f2c8c6dd15037ba9c9d4e03cf50
+ sha1_last: 801b6632cbb50f2c8c6dd15037ba9c9d4e03cf50
+ created: '2025-01-15T15:00:46+00:00'
+ updated: '2025-01-15T15:00:46+00:00'
+ - type: server.config.statistics
+ dataType: object
+ data: []
+ created: '2025-01-15T15:00:48+00:00'
+ updated: '2025-01-15T15:00:48+00:00'
+ subActions: []
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /ssh_keys:
+ post:
+ summary: Add an SSH key to a user account
+ deprecated: false
+ description: ''
+ tags:
+ - SSH Keys
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ userId:
+ type: integer
+ name:
+ type: string
+ publicKey:
+ type: string
+ required:
+ - userId
+ - name
+ - publicKey
+ example:
+ userId: 1
+ name: Key 1
+ publicKey: >-
+ ssh-rsa
+ AAAAB3NzaC1yc2EAAAADAQABAAABAQDF6O4Evybdywpi6PImTE5aJ75+5OpJKyd2QR2LSl0bVxhZjQOqN/4msCp/UjUpFDSeC1SQXeKQb4o7OZ7bUC8k2JbNxnArsYSGi/XhqczKOX/uYOMA/V8gb1e+uishQSzjYrneC0PufFYwNGStjYf0QXCsgQcYLsHbjV2g9j0FhVYxj5endy7Z1K1RMP7IzF5lh3KgtbqKhdJ8XK1fqXCcPHxEuAzjq7G2W+I9xOs8GqftxYGS4XAiOe7YLKfWM00dUdYMJ81R8lZFj5UzP0MOT9qxPNBNiB0MEQX8hc0+2nQdaQYkg8mbCJQxhT9Cr0rXyYdbaNnYWIJql3SVgigJ
+ responses:
+ '201':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 2
+ name: Key 1
+ type: OpenSSH
+ createdAt: '2025-01-20T12:16:23.000000Z'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /ssh_keys/{keyId}:
+ delete:
+ summary: Delete an SSH key from a user
+ deprecated: false
+ description: ''
+ tags:
+ - SSH Keys
+ parameters:
+ - name: keyId
+ in: path
+ description: A valid SSH key ID as shown in VirtFusion.
+ required: true
+ example: 2
+ schema:
+ type: integer
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ get:
+ summary: Retrieve an SSH key
+ deprecated: false
+ description: ''
+ tags:
+ - SSH Keys
+ parameters:
+ - name: keyId
+ in: path
+ description: A valid SSH key ID as shown in VirtFusion.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 1
+ name: MY SSH Key
+ publicKey: >-
+ ssh-rsa
+ AAAAB3NzaC1yc2EAAAADAQABAAACAQC+JdL4fWELBWGAknSu0PwVpDDOlORxy9z7eVnZphZXBzYLMnux+ZogVLns6+O6NDE8JmWvP9RIg3SIga7RDOkW9UCdLzRu0jF2ALL7CK1huo1Ih0PDM9ZbFDy2Fd7a4DTvUX6923fQyW0PWRtyL11R4c9NUqzejKp5kW8vHfPQjzwb1hGIKvkSYkI0Auq4JJhlvjjnoK7Z8t5mpDrVfNTrVqevPgsW5Xwnq8R+02XywrY+Q/wnpxDs4Ujb2aA61A0x5J0xcZQpTQHoJNj77J3VmPI7Ry7Q8hPbTSLGZbN+gODr0lOaL5TdbvM3bnus5JvoqgRoszzPcTiAQZAe3v9UM8hiXise54b8rsc2M9MQ4olPu7TrROZbcw+9q4m6cV+dfVU/NRFkf27YRa4oZNKehHsMiupDyoISgSl4qSB8YXAWsX03oC/gzpB2YJIqEL1Y/SmKYEhgr0cplkvGZy6C/Q9cJHyHlMPtEBPexgcjXC9QrVK4n2cmde3TuSRMctawcat7Nuq08C8fGHaGHr8iAeage3o/ODVOt0rhBu69PknzQeVBdlwK3+p1dH6PnMzNNBhWyNZT/NqB2eS6K8lYpOQ47byXPwYsRLvStUjpZRdikOT7D31T5g8FwOThQ+6WX+xfMD7CSLsSKCn/FhlinbVbG2IhCLH3B30Akw5bUw==
+ type: OpenSSH
+ enabled: true
+ created: '2024-03-13T20:28:32+00:00'
+ updated: '2024-03-13T20:28:32+00:00'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /ssh_keys/user/{userId}:
+ get:
+ summary: Retrieve a users SSH keys
+ deprecated: false
+ description: ''
+ tags:
+ - SSH Keys
+ parameters:
+ - name: userId
+ in: path
+ description: A valid user ID as shown in VirtFusion.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ - id: 1
+ name: My SSH Key
+ publicKey: >-
+ ssh-rsa
+ AAAAB3NzaC1yc2EAAAADAQABAAACAQC+JdL4fWELBWGAknSu0PwVpDDOlORxy9z7eVnZphZXBzYLMnux+ZogVLns6+O6NDE8JmWvP9RIg3SIga7RDOkW9UCdLzRu0jF2ALL7CK1huo1Ih0PDM9ZbFDy2Fd7a4DTvUX6923fQyW0PWRtyL11R4c9NUqzejKp5kW8vHfPQjzwb1hGIKvkSYkI0Auq4JJhlvjjnoK7Z8t5mpDrVfNTrVqevPgsW5Xwnq8R+02XywrY+Q/wnpxDs4Ujb2aA61A0x5J0xcRTpTQHoJNj77J3VmPI7Ry7Q8hPbTSLGZbN+gODr0lOaL5TdbvM3bnus5JvoqgRoszzPcTiNMZAe3v9UM8hiXise54b8rsc2M9MQ4olPu7TrROZbcw+9q4m6cV+dfVU/NRFkf27YRa4oZNKehHsMiupDyoISgSl4qSB8YXAWsX03oC/gzpB2YJIqEL1Y/SmKYEhgr0cplkvGZy6C/Q9cJHyHlMPtEBPexgcjXC9QrVK4n2cmde3TuSRMctawcat7Nuq08C8fGHaGHr8iAeage3o/ODVOt0rhBu69PknzQeVBdlwK3+p1dH6PnMzNNBhWyNZT/NqB2eS6K8lYpOQ47byXPwYsRLvStUjpZRdikOT7D31T5g8FwOThQ+6WX+xfMD7CSLsSKCn/FhlinbVbG2IhCLH3B30Akw5bUw==
+ type: OpenSSH
+ enabled: true
+ created: '2024-03-13T20:28:32+00:00'
+ updated: '2024-03-13T20:28:32+00:00'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /users/{extRelationId}/byExtRelation:
+ delete:
+ summary: Delete a user
+ deprecated: false
+ description: ''
+ tags:
+ - Users/External Rel ID & Rel Str
+ parameters:
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ default: false
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ put:
+ summary: Modify a user
+ deprecated: false
+ description: ''
+ tags:
+ - Users/External Rel ID & Rel Str
+ parameters:
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ schema:
+ type: boolean
+ default: false
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ name:
+ type: string
+ description: Full name of the user.
+ email:
+ type: string
+ description: Email address of the user.
+ selfService:
+ type: integer
+ description: >-
+ default disabled) 0 = disabled, 1 = hourly, 2 = resource
+ packs, 3 = hourly & resource packs.
+ selfServiceHourlyCredit:
+ type: boolean
+ description: >-
+ Enable/disable credit balance billing for hourly self
+ service. (true|false).
+ selfServiceHourlyGroupProfiles:
+ type: array
+ items:
+ type: integer
+ description: >-
+ (default none) array of self service hourly group profile
+ ids.
+ selfServiceResourceGroupProfiles:
+ type: array
+ items:
+ type: integer
+ description: >-
+ (default none) array of self service resource group profile
+ ids.
+ selfServiceHourlyResourcePack:
+ type: integer
+ description: (default none) ID of an hourly self service resource pack.
+ enabled:
+ type: boolean
+ description: >-
+ (default false) Email the access credentials to the user.
+ (true|false).
+ example:
+ name: jon Doe
+ email: jon@doe.com
+ selfService: 3
+ selfServiceHourlyCredit: true
+ selfServiceHourlyGroupProfiles:
+ - 1
+ - 2
+ - 3
+ selfServiceResourceGroupProfiles:
+ - 4
+ - 5
+ - 6
+ selfServiceHourlyResourcePack: 1
+ enabled: true
+ responses:
+ '201':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ name: jon Doe
+ email: jon@doe.com
+ selfService: 3
+ enabled: true
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ get:
+ summary: Retrieve a user
+ deprecated: false
+ description: ''
+ tags:
+ - Users/External Rel ID & Rel Str
+ parameters:
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ schema:
+ type: boolean
+ default: false
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 3
+ admin: false
+ extRelationId: 1
+ selfService: 3
+ selfServiceHourlyGroupProfiles: []
+ selfServiceResourceGroupProfiles: []
+ selfServiceHourlyResourcePack: null
+ name: jon Doe
+ email: jon@doe.com
+ timezone: Europe/London
+ suspended: false
+ twoFactorAuth: false
+ created: '2025-01-20T12:48:20.000000Z'
+ updated: '2025-01-20T13:00:38.000000Z'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /users/{extRelationId}/authenticationTokens:
+ post:
+ summary: Generate a set of login tokens
+ deprecated: false
+ description: ''
+ tags:
+ - Users/External Rel ID & Rel Str
+ parameters:
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ schema:
+ type: boolean
+ default: false
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ authentication:
+ tokens:
+ '1': >-
+ zYpEXpWEeXR4LfogW3xIomIJS5YW8woOjo18h9st6Sh23ReeTEeQNI1RSQWXYv1AImtQzFm0CLrn6Ve8VtIP3MfDnoRWHxQ334UU
+ '2': >-
+ RGzuQDFt0KsWgPozaTZDpuXy3aSsbj6VHWbz4JrhGoj0ZOvaGHUcXM6WGeGuNgfTUPLcy0SYMNJWmI1idC8uR88ZSs00XRnEtbG9
+ endpoint: /token_authenticate
+ endpoint_complete: >-
+ /token_authenticate/?1=zYpEXpWEeXR4LfogW3xIomIJS5YW8woOjo18h9st6Sh23ReeTEeQNI1RSQWXYv1AImtQzFm0CLrn6Ve8VtIP3MfDnoRWHxQ334UU&2=RGzuQDFt0KsWgPozaTZDpuXy3aSsbj6VHWbz4JrhGoj0ZOvaGHUcXM6WGeGuNgfTUPLcy0SYMNJWmI1idC8uR88ZSs00XRnEtbG9
+ expiry:
+ ttl: 60
+ expires: '2025-01-20T12:49:52.170943Z'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /users/{extRelationId}/serverAuthenticationTokens/{serverId}:
+ post:
+ summary: Generate a set of login tokens using a server ID
+ deprecated: false
+ description: ''
+ tags:
+ - Users/External Rel ID & Rel Str
+ parameters:
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: serverId
+ in: path
+ description: A valid server ID as shown in VirtFusion.
+ required: true
+ example: 9
+ schema:
+ type: integer
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ schema:
+ type: boolean
+ default: false
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ authentication:
+ tokens:
+ '1': >-
+ oIGBk2qEYTXKMGbaDVbpRFqwQC57Rzl5zWKhwQkgDbRBeXSTH865Bvv0Fm8oY6b0xYpH22xbLAKarOAy28PnToxRu5InfmkIHmo0
+ '2': >-
+ WwiZ9XwqKM5jNGgCsCsUD4B6DDxAKeolJu3dBN7lsK1uGDVvElvfH77sDyukRIzTbbEI6fggKBXuSYRaYc5FqMab4L6PB0QcOxr9
+ endpoint: /token_authenticate
+ endpoint_complete: >-
+ /token_authenticate/?1=oIGBk2qEYTXKMGbaDVbpRFqwQC57Rzl5zWKhwQkgDbRBeXSTH865Bvv0Fm8oY6b0xYpH22xbLAKarOAy28PnToxRu5InfmkIHmo0&2=WwiZ9XwqKM5jNGgCsCsUD4B6DDxAKeolJu3dBN7lsK1uGDVvElvfH77sDyukRIzTbbEI6fggKBXuSYRaYc5FqMab4L6PB0QcOxr9
+ expiry:
+ ttl: 60
+ expires: '2025-01-20T12:52:59.761522Z'
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /users/{extRelationId}/byExtRelation/resetPassword:
+ post:
+ summary: Change a user passowrd
+ deprecated: false
+ description: ''
+ tags:
+ - Users/External Rel ID & Rel Str
+ parameters:
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ schema:
+ type: boolean
+ default: false
+ responses:
+ '201':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ email: jon@doe.com
+ password: zD2VqFKO554tdfWKOmGhw
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /users:
+ post:
+ summary: Create a user
+ deprecated: false
+ description: ''
+ tags:
+ - Users
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ name:
+ type: string
+ description: Full name of the user.
+ email:
+ type: string
+ description: Email address of the user.
+ extRelationId:
+ type: integer
+ description: Relation ID.
+ relStr:
+ type: string
+ description: Relational string.
+ selfService:
+ type: integer
+ description: >-
+ (default disabled) 0 = disabled, 1 = hourly, 2 = resource
+ packs, 3 = hourly & resource packs.
+ selfServiceHourlyCredit:
+ type: boolean
+ description: ' Enable/disable credit balance billing for hourly self service. (true|false).'
+ selfServiceHourlyGroupProfiles:
+ type: array
+ items:
+ type: integer
+ description: >-
+ (default none) array of self service hourly group profile
+ ids.
+ selfServiceResourceGroupProfiles:
+ type: array
+ items:
+ type: integer
+ description: ' (default none) array of self service resource group profile ids.'
+ selfServiceHourlyResourcePack:
+ type: integer
+ description: ' (default none) ID of an hourly self service resource pack.'
+ sendMail:
+ type: boolean
+ description: >-
+ (default false) Email the access credentials to the user.
+ (true|false).
+ required:
+ - name
+ - email
+ example:
+ name: Jon Doe
+ email: jon@doe.com
+ extRelationId: 1
+ selfService: 3
+ selfServiceHourlyCredit: true
+ selfServiceHourlyGroupProfiles:
+ - 1
+ - 2
+ - 3
+ selfServiceResourceGroupProfiles:
+ - 4
+ - 5
+ - 6
+ selfServiceHourlyResourcePack: 1
+ sendMail: false
+ responses:
+ '201':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 2
+ admin: false
+ extRelationId: 1
+ selfService: 3
+ selfServiceHourlyGroupProfiles: []
+ selfServiceResourceGroupProfiles: []
+ selfServiceHourlyResourcePack: null
+ name: Jon Doe
+ email: jon@doe.com
+ timezone: Europe/London
+ suspended: false
+ twoFactorAuth: false
+ created: '2025-01-20T12:41:28.000000Z'
+ updated: '2025-01-20T12:41:28.000000Z'
+ password: 0hPZSAmj8Tgq1noGoenxpxlC9xf1tc
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/credit/byUserExtRelationId/{extRelationId}:
+ post:
+ summary: Add credit to user
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service/External Relational ID
+ parameters:
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ tokens:
+ type: number
+ description: A numeric token value.
+ reference_1:
+ type: integer
+ description: ' An optional reference number. Max 64-bit integer.'
+ reference_2:
+ type: string
+ description: An optional reference in string format. Max 1000 character.
+ required:
+ - tokens
+ example:
+ tokens: 100
+ reference_1: 400
+ reference_2: This is a string reference with a 1000 character limit.
+ responses:
+ '201':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 2
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/hourlyGroupProfile/byUserExtRelationId/{extRelationId}:
+ post:
+ summary: Add an hourly group profile to a user
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service/External Relational ID
+ parameters:
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ profileId:
+ type: integer
+ description: ID of an hourly group profile.
+ required:
+ - profileId
+ example:
+ profileId: 1
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/resourceGroupProfile/byUserExtRelationId/{extRelationId}:
+ post:
+ summary: Add a resource group profile to a user
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service/External Relational ID
+ parameters:
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ profileId:
+ type: integer
+ description: ID a resource group profile.
+ required:
+ - profileId
+ example:
+ profileId: 1
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/resourcePack/byUserExtRelationId/{extRelationId}:
+ post:
+ summary: Add a resource pack to a user
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service/External Relational ID
+ parameters:
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ packId:
+ type: integer
+ description: ID of a resource pack.
+ enabled:
+ type: boolean
+ description: Enable the pack. true|false defaults too true.
+ required:
+ - packId
+ - enabled
+ example:
+ packId: 1
+ enabled: true
+ responses:
+ '201':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ id: 17
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/hourlyStats/byUserExtRelationId/{extRelationId}:
+ get:
+ summary: Retrieve hourly statistics
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service/External Relational ID
+ parameters:
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: period[]
+ in: query
+ description: 'Example: period[]=YYYY-MM-DD&period[]=YYYY-MM-D'
+ required: false
+ example: YYYY-MM-DD
+ schema:
+ type: string
+ - name: range
+ in: query
+ description: range=m
+ required: false
+ example: m
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ periodId: 0
+ period: January 2025
+ previousPeriod: December 2024
+ nextPeriod: February 2025
+ monthlyTotal:
+ hours: 0
+ value: '0.00'
+ tokens: false
+ servers: 0
+ credit:
+ value: 0
+ currency:
+ code: ''
+ prefix: ''
+ suffix: ''
+ value: 0
+ currentValue: 0
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/access/byUserExtRelationId/{extRelationId}:
+ put:
+ summary: Modify user access
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service/External Relational ID
+ parameters:
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ syncToProfiles:
+ type: boolean
+ description: >-
+ true|false Default false. If true, the self service access
+ level will be set based on profiles.
+ required:
+ - syncToProfiles
+ example:
+ syncToProfiles: true
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/hourlyGroupProfile/{profileId}/byUserExtRelationId/{extRelationId}:
+ delete:
+ summary: Remove hourly group profile from a user
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service/External Relational ID
+ parameters:
+ - name: profileId
+ in: path
+ description: ID of a hourly group profile.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/resourceGroupProfile/{profileId}/byUserExtRelationId/{extRelationId}:
+ delete:
+ summary: Remove resource group from a user
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service/External Relational ID
+ parameters:
+ - name: profileId
+ in: path
+ description: ID of a hourly group profile.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/report/byUserExtRelationId/{extRelationId}:
+ get:
+ summary: Generate a report
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service/External Relational ID
+ parameters:
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: period
+ in: query
+ description: >-
+ A single period in the range of 0-24 (0 being the currently defined
+ month in the self service settings | optional and will default to
+ the current month if not defined).
+ required: false
+ example: '0'
+ schema:
+ type: string
+ - name: currency
+ in: query
+ description: >-
+ A three letter currency code that is defined in the self service
+ settings. (optional and will default to the user defined currency if
+ not defined).
+ required: false
+ example: USD
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ usage:
+ servers: []
+ serversTotal:
+ hours: false
+ value: false
+ tokens: false
+ hourConversionRate: false
+ monthlyTotal:
+ hours: false
+ value: false
+ tokens: false
+ addonsTotal:
+ hours: 0
+ value: 0
+ tokens: false
+ taxStatus: 3
+ success: false
+ history: '0'
+ breakdown: true
+ term: January 2025
+ previousTerm: December 2024
+ nextTerm: February 2025
+ period:
+ ymd: '2025-01-01'
+ start: '2025-01-01T00:00:00+00:00'
+ end: '2025-01-31T00:00:00+00:00'
+ showHourlyRate: false
+ showMonthlyRate: false
+ currency:
+ prefix: ''
+ suffix: ''
+ code: ''
+ currentValue: 0
+ value: 0
+ default:
+ prefix: ''
+ suffix: ''
+ code: ''
+ limits:
+ success: true
+ packs: []
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/hourlyResourcePack/byUserExtRelationId/{extRelationId}:
+ put:
+ summary: Set an hourly resource pack
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service/External Relational ID
+ parameters:
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ packId:
+ type: integer
+ description: ID of an hourly resource pack.
+ required:
+ - packId
+ example:
+ packId: 1
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/usage/byUserExtRelationId/{extRelationId}:
+ get:
+ summary: Retrieve a users usage
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service/External Relational ID
+ parameters:
+ - name: extRelationId
+ in: path
+ description: A valid external relational ID as shown in VirtFusion.
+ required: true
+ example: '1'
+ schema:
+ type: string
+ - name: period[]
+ in: query
+ description: Array of periods or a single period. (YYYY-MM-DD).
+ required: false
+ example: '2025-01-01'
+ schema:
+ type: string
+ - name: range
+ in: query
+ description: >-
+ Length of period. Defaults to 1 month. Possible values d = day, w =
+ week, 2w = 2 weeks, 3w = 3 weeks, m = month.
+ required: false
+ example: m
+ schema:
+ type: string
+ - name: relStr
+ in: query
+ description: ''
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ user:
+ id: 3
+ relationalId: 1
+ currency: null
+ timezone: Europe/London
+ name: jon Doe
+ email: jon@doe.com
+ usageServers:
+ hours: 0
+ token: 0
+ tokenReal: 0
+ usageServersBillable:
+ hours: 0
+ token: 0
+ tokenReal: 0
+ usageAddons:
+ hours: 0
+ token: 0
+ tokenReal: 0
+ usageAddonsBillable:
+ hours: 0
+ token: 0
+ tokenReal: 0
+ periods:
+ - period: '2025-01-01'
+ range: month
+ start: '2025-01-01T00:00:00+00:00'
+ end: '2025-01-31T23:59:59+00:00'
+ timezone: UTC
+ currentPeriod: true
+ hoursInMonthPeriod: 744
+ monthToHourRate: 730
+ monthToHourRateType: 1
+ days: 31
+ hours: 744
+ minutes: 44640
+ seconds: 2678400
+ usageServers:
+ hours: 0
+ token: 0
+ tokenReal: 0
+ usageServersBillable:
+ hours: 0
+ token: 0
+ tokenReal: 0
+ usageAddons:
+ hours: 0
+ token: 0
+ tokenReal: 0
+ usageAddonsBillable:
+ hours: 0
+ token: 0
+ tokenReal: 0
+ servers: []
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/credit/{creditId}:
+ delete:
+ summary: Cancel credit that was applied to a user
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service
+ parameters:
+ - name: creditId
+ in: path
+ description: A valid credit ID.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/resourcePackServers/{packId}:
+ delete:
+ summary: Delete all servers attached to a pack ID
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service
+ parameters:
+ - name: packId
+ in: path
+ description: ID of a resource pack.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ - name: delay
+ in: query
+ description: The delay in minutes. Defaults to 30 (0 - 43800).
+ required: false
+ example: 30
+ schema:
+ type: integer
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/resourcePack/{packId}:
+ delete:
+ summary: Delete a user resource pack
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service
+ parameters:
+ - name: packId
+ in: path
+ description: ID of a resource pack.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ - name: disable
+ in: query
+ description: >-
+ Disable the pack if it can't be deleted. true|false Defaults to
+ false.
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ get:
+ summary: Retrieve a user resource pack
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service
+ parameters:
+ - name: packId
+ in: path
+ description: ID of a resource pack.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ - name: withServers
+ in: query
+ description: include a list of assigned servers. true|false Defaults to false.
+ required: false
+ example: 'true'
+ schema:
+ type: boolean
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ type: pack
+ id: 18
+ pid: 9
+ label: null
+ name: Pack 2 · 2 / 4096 / 250
+ limits:
+ total_servers: 2
+ total_memory: 4096
+ total_storage: 200
+ total_cpu: 24
+ total_traffic: 1000000
+ max_memory: 4096
+ max_storage: 10
+ max_cpu: 8
+ max_traffic: 500000
+ used:
+ servers: 0
+ memory: 0
+ storage: 0
+ cpu: 0
+ traffic: 0
+ usage:
+ servers:
+ t: 2
+ u: 0
+ f: 2
+ p: 0
+ l: true
+ memory:
+ t: 4096
+ u: 0
+ f: 4096
+ p: 0
+ l: true
+ storage:
+ t: 200
+ u: 0
+ f: 200
+ p: 0
+ l: true
+ cpu:
+ t: 24
+ u: 0
+ p: 0
+ f: 24
+ l: true
+ traffic:
+ t: 1000000
+ u: 0
+ f: 1000000
+ p: 0
+ l: true
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ put:
+ summary: Modify user resource pack
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service
+ parameters:
+ - name: packId
+ in: path
+ description: ID of a resource pack.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ example:
+ enabled: true
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/currencies:
+ get:
+ summary: Retrieve currencies
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service
+ parameters: []
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ properties: {}
+ example:
+ data:
+ - id: 11
+ code: USD
+ value: '0.0100000000'
+ prefix: $
+ suffix: null
+ default: true
+ enabled: true
+ - id: 12
+ code: GBP
+ value: '0.0200000000'
+ prefix: £
+ suffix: null
+ default: false
+ enabled: true
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/resourcePackServers/{packId}/suspend:
+ post:
+ summary: Suspend all servers assigned to a reosurce pack
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service
+ parameters:
+ - name: packId
+ in: path
+ description: ID of a resource pack.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+ /selfService/resourcePackServers/{packId}/unsuspend:
+ post:
+ summary: Unsuspend all servers assigned to a reosurce pack
+ deprecated: false
+ description: ''
+ tags:
+ - Self Service
+ parameters:
+ - name: packId
+ in: path
+ description: ID of a resource pack.
+ required: true
+ example: 1
+ schema:
+ type: integer
+ responses:
+ '204':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ headers: {}
+ '401':
+ $ref: '#/components/responses/401'
+ description: ''
+ security:
+ - bearer: []
+components:
+ schemas: {}
+ responses:
+ '401':
+ description: ''
+ content:
+ application/octet-stream:
+ schema:
+ type: object
+ properties: {}
+ examples:
+ '401':
+ summary: '401'
+ value: 401 Unauthorized
+ securitySchemes:
+ bearer:
+ type: http
+ scheme: bearer
+servers:
+ - url: https://cp.domain.com/api/v1
+ description: Example URL
+security:
+ - bearer: []