OpenAPI Fotbo.com (Specification 1.0.5)

Download OpenAPI specification:Download

Introduction

Welcome to the API documentation for Fotbo.com services. This API is documented in OpenAPI format. Explore the following sections to gain comprehensive insights into the functionalities and capabilities offered by our platform. Whether you are interested in user registration, account management, billing details, or the configuration of virtualized resources, this documentation provides detailed information and examples to facilitate your interaction with our services.

Authentication Billing offers forms of authentication - API Key. Authentication tokens are used instead of passwords and are handy when using Fotbo API from scripts or other software that you write and interacts with Fotbo. You can make simple GET, POST, PUT or DELETE HTTP requests by using curl. Make sure you include the authorization header as curl parameter:

  • 'Authorization: Token {Token}'

    Sections:

    • Instances (VPS): Dive into the world of Virtual Private Servers (VPS), covering instance creation, management, and configuration.

    • Load balancers: Understand load balancing functionalities for efficient traffic distribution and high availability.

    • Networks (VPC): Explore Virtual Private Cloud (VPC) features, including network creation, subnet configuration, and security settings.

    • Routers: Manage and optimize routing settings for your infrastructure.

    • Zones (DNS): Gain insights into Domain Name System (DNS) functionalities, managing DNS zones and domain settings.

    • Security groups: Define and apply security group rules to control inbound and outbound traffic.

    • Floating IPs: Allocate, associate, and manage floating IP addresses for flexible network configurations.

    • SSH Keys: Manage Secure Shell (SSH) keys for secure access to instances and services.

    • My images: Handle custom images, including creation, upload, and management for efficient deployment.

    • Billing: Access information on billing functionalities, including invoice management, payment methods, and billing history.

    • User: Explore user management, profile customization, and authentication options to tailor your experience.

    • Clients: Access features related to client management, usage statistics, and client experience optimization.

    • Tickets: Utilize support ticket management features, from creation to resolution.

    • Notifications: Configure notification preferences to stay informed about important events and updates.

    Explore the detailed descriptions, endpoints, features, and examples provided in each section to make the most of our hosting services. Through a GET request with create_options, data about the service options is obtained before ordering it. You can see what the characteristics may be. These options must be specified when using POST/PUT requests.

Instances (VPS)

The "Instances (VPS)" section covers everything related to Virtual Private Servers (VPS). Users can create, manage, and monitor their instances, customize configurations, and explore features for efficient virtualization. Through a GET request with create_options, data about the service options is obtained before ordering it. You can see what the characteristics may be. These options must be specified when using POST/PUT requests.

Get Instance list

Host: https://api.fotbo.com

Retrieve a list of OpenStack instances associated with the user's account. Get a list of information about instances when they don't exist yet.

Authorizations:
apikey header authorization
query Parameters
filtering
string
ordering
string
page
string
page_size
string

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "next": null,
  • "previous": null,
  • "objects": [
    ],
  • "totalCount": 0,
  • "pageNo": "string",
  • "permissions": {
    },
  • "filter_options": {
    },
  • "operations": [ ]
}

Create Instances

Host: https://api.fotbo.com

Create Instances. You can specify SSH key or password. It is recommended to use a complex password of 16 characters or more, of different case, including numbers and special characters. You can also specify the number of instances to create.

Authorizations:
apikey header authorization
Request Body schema: application/json
required
object
client
required
integer
flavor
required
string
name
required
string
nics
required
Array of strings
region
required
string
root_password
required
string
ssh_keys
required
string
number_of_instances
required
integer
user_data
required
string

Responses

Request samples

Content type
application/json
{
  • "boot_source": {
    },
  • "client": "{client_id}",
  • "flavor": "{country_name}-{flavor_id}",
  • "name": "{name}",
  • "nics": [
    ],
  • "region": "{country_name}",
  • "root_password": "{root_password}",
  • "ssh_keys": "[{id1}]",
  • "number_of_instances": "{number_of_instances}",
  • "user_data": ""
}

Response samples

Content type
application/json
{
  • "name": {
    },
  • "flavor": {
    },
  • "region": {
    },
  • "availability_zone": null,
  • "operation_id": {
    }
}

Get create Instance options

Host: https://api.fotbo.com

Retrieve options for creating a new instance. Through a GET request with create_options, data about the service options is obtained before ordering it. You can see what the characteristics may be. These options must be specified when using POST/PUT requests.

Authorizations:
apikey header authorization
query Parameters
image
string
region
string

Responses

Response samples

Content type
application/json
{
  • "bootSources": {
    },
  • "flavor": [
    ],
  • "ssh_key": [
    ],
  • "nics": [
    ],
  • "availability_zones": [ ],
  • "cinder_az": [ ],
  • "enable_volumes": false,
  • "enable_snapshots": true,
  • "hide_volume_az": true,
  • "region": [
    ],
  • "selected_region": "Staging",
  • "client": {
    }
}

Reboot Instance

Host: https://api.fotbo.com

Initiate a reboot for the specified instance.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "detail": "string"
}

List Rescue Instance

Host: https://api.fotbo.com

List recovery options for the specified instance.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "image": {
    },
  • "instance": {
    }
}

Rescue Instance

Host: https://api.fotbo.com

Activate rescue mode for the specified instance.

Authorizations:
apikey header authorization
Request Body schema: application/json
image
required
string
root_password
required
string

Responses

Request samples

Content type
application/json
{
  • "image": "string",
  • "root_password": "string"
}

Response samples

Content type
application/json
{
  • "detail": "string"
}

Shelve Instance

Host: https://api.fotbo.com

Shelve the specified instance, saving its state for later use.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "detail": "string"
}

Start Instance

Host: https://api.fotbo.com

Start the specified instance.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "detail": "string"
}

Stop Instance

Host: https://api.fotbo.com

Stop the specified instance.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "detail": "string"
}

Unrescue Instance

Host: https://api.fotbo.com

Deactivate rescue ISO-mode for the specified instance. Umount ISO-image ande reboot.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "detail": "string"
}

Select Instance for Rebuild

Host: https://api.fotbo.com

Select the specified instance for Rebuild. In this case, all current data on instance will be destroyed.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "bootSources": {
    },
  • "instance": {
    },
  • "ssh_keys": [
    ]
}

Rebuild instance

Host: https://api.fotbo.com

Rebuild the specified instance. In this case, all current data on instance will be destroyed.

Authorizations:
apikey header authorization
Request Body schema: application/json
image
required
string
ssh_keys
required
string

Responses

Request samples

Content type
application/json
{
  • "image": "string",
  • "ssh_keys": "string"
}

Response samples

Content type
application/json
{
  • "detail": "string"
}

Rename Instance

Host: https://api.fotbo.com

Change the name of the specified instance.

Authorizations:
apikey header authorization
Request Body schema: application/json
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "netbsd-3333"
}

Response samples

Content type
application/json
{
  • "detail": "Renamed"
}

Resize Instance

Host: https://api.fotbo.com

Change the size of the specified instance.

Authorizations:
apikey header authorization
Request Body schema: application/json
flavor
required
string

Responses

Request samples

Content type
application/json
{
  • "flavor": "{country_name}-{flavor_id}"
}

Response samples

Content type
application/json
{
  • "detail": "Instance resize started successfully"
}

Get Resize Options

Host: https://api.fotbo.com

Retrieve available options for resizing the specified instance.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "flavors": [
    ],
  • "instance": {
    }
}

Traffic Data

Host: https://api.fotbo.com

Retrieve traffic data for the specified instance.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "cycle_traffic": [ ],
  • "month_traffic": [ ]
}

Unshelve Instance

Host: https://api.fotbo.com

Unshelve the specified instance, restoring its state.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "detail": "string"
}

List booting from ISO

Host: https://api.fotbo.com

View a list of booting or launching an instance from an ISO image.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "image": {
    },
  • "instance": {
    }
}

Boot from iso

Authorizations:
apikey header authorization
Request Body schema: application/json
image
required
string

Responses

Request samples

Content type
application/json
{
  • "image": "string"
}

Response samples

Content type
application/json
{
  • "detail": "string"
}

Change Instance Password

Host: https://api.fotbo.com

Change the password for the specified instance.

Authorizations:
apikey header authorization
Request Body schema: application/json
password
required
string

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "detail": "string"
}

Dissociate IP Create Options

Host: https://api.fotbo.com

Retrieve options for dissociating an IP from the specified instance. Through a GET request with create_options, data about the service options is obtained before ordering it. You can see what the characteristics may be. These options must be specified when using POST/PUT requests.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "ips": [
    ]
}

Get Console URL

Host: https://api.fotbo.com

Retrieve the console URL for the specified instance.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "remote_console": {
    }
}

Get Add IP Options

Host: https://api.fotbo.com

Retrieve options for adding an IP to the specified instance. No ports found for instance

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "networks": [
    ],
  • "ports": [
    ]
}

Get Associate IP Create Options

Host: https://api.fotbo.com

Retrieve options for associating an IP with the specified instance. Through a GET request with create_options, data about the service options is obtained before ordering it. You can see what the characteristics may be. These options must be specified when using POST/PUT requests.

Authorizations:
apikey header authorization

Confirm Resize

Host: https://api.fotbo.com

Confirm the resizing of the specified instance.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "detail": "Resize confirmed"
}

Get Console Output

Host: https://api.fotbo.com

Retrieve the console output for the specified instance.

Authorizations:
apikey header authorization
query Parameters
length
string

Responses

Response samples

Content type
application/json
{
  • "console_text": "",
  • "length": 30
}

Instance Measures

Host: https://api.fotbo.com

Retrieve measures for the specified instance.

Authorizations:
apikey header authorization
query Parameters
hours
string
metric
string

Responses

Response samples

Content type
application/json
{
  • "measures": [ ]
}

Add Floating IP

Host: https://api.fotbo.com

Add a floating IP to the specified instance.

Authorizations:
apikey header authorization
Request Body schema: application/json
fixed_ip
required
string
floating_ip
required
string

Responses

Request samples

Content type
application/json
{
  • "fixed_ip": "{fixed_ip}",
  • "floating_ip": "{floating_ip}"
}

Response samples

Content type
application/json
{
  • "detail": "Floating ip associated"
}

Add Port Options

Host: https://api.fotbo.com

Retrieve options for adding a port to the specified instance.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "networks": [
    ],
  • "project_id": "73aa943377f14b5bbef095786cd9635b"
}

Create Backup

Host: https://api.fotbo.com

Create a backup for the specified instance.

Authorizations:
apikey header authorization
Request Body schema: application/json
backup_name
required
string
backup_type
required
string
rotation
required
integer

Responses

Request samples

Content type
application/json
{
  • "backup_name": "{name_image}",
  • "backup_type": "manual",
  • "rotation": 1
}

Response samples

Content type
application/json
{
  • "detail": "Backup for instance netbsd-3333 was scheduled for creation"
}

Get Backup Price

Host: https://api.fotbo.com

Retrieve the price for creating a backup of the specified instance.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "estimated_cost_display": "ESTIMATED COST<br>\n€0.0007 / hour<br>\nor €0.50 / month"
}

Get Instance Backups and Backup Schedules

Host: https://api.fotbo.com

Retrieve information about backups and backup schedules for the specified instance.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "backups": [
    ],
  • "schedules": [
    ]
}

Create Snapshot

Host: https://api.fotbo.com

Create a snapshot for the specified instance.

Authorizations:
apikey header authorization
Request Body schema: application/json
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "{name}"
}

Response samples

Content type
application/json
{
  • "image_uuid": "ede0eb63-5c8f-4c9b-95ab-c1a167cb8143"
}

Get Snapshot Price per Cycle

Host: https://api.fotbo.com

Retrieve the price per cycle for creating a snapshot of the specified instance.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "estimated_cost_display": "ESTIMATED COST<br>\n€0.0007 / hour<br>\nor €0.50 / month",
  • "estimated_cost_display_reseller": null
}

Remove Floating IP

Host: https://api.fotbo.com

Remove a floating IP from the specified instance.

Authorizations:
apikey header authorization
Request Body schema: application/json
ip
required
string

Responses

Request samples

Content type
application/json
{
  • "ip": "{floating_ip}"
}

Response samples

Content type
application/json
{
  • "detail": "Floating ip dissociated"
}

Instance Actions

Host: https://api.fotbo.com

Retrieve a list of actions available for the specified instance.

Authorizations:
apikey header authorization
query Parameters
limit
string

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "hasMore": true,
  • "objects": [
    ]
}

Create Associate Security Group

Host: https://api.fotbo.com

Associate a security group with the specified instance.

Authorizations:
apikey header authorization
Request Body schema: application/json
group
required
string

Responses

Request samples

Content type
application/json
{
  • "group": "string"
}

Response samples

Content type
application/json
{
  • "detail": "string"
}

Get Associate Security Group Options

Host: https://api.fotbo.com

Retrieve options for associating a security group with the specified instance. Through a GET request with create_options, data about the service options is obtained before ordering it. You can see what the characteristics may be. These options must be specified when using POST/PUT requests.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "groups": [
    ]
}

Dissociate Security Group

Host: https://api.fotbo.com

Dissociate a security group from the specified instance.

Authorizations:
apikey header authorization
Request Body schema: application/json
group
required
string

Responses

Request samples

Content type
application/json
{
  • "group": "string"
}

Response samples

Content type
application/json
{
  • "detail": "string"
}

List Security Groups

Host: https://api.fotbo.com

Retrieve a list of security groups associated with the specified instance.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "security_groups": [
    ]
}

Delete instance

Host: https://api.fotbo.com

Delete a specific instance, identified by its unique ID.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
null

Get Instance Details

Host: https://api.fotbo.com

Retrieve detailed information about a specific OpenStack instance identified by its unique ID.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "access_ip": "2a13:4ac0:4:0:f816:3eff:fe72:1524",
  • "allowed_actions": [
    ],
  • "availability_zone": "nova",
  • "booted_from_iso": false,
  • "client": {
    },
  • "created": "2023-11-30T12:41:48+02:00",
  • "current_cycle_traffic": 0,
  • "current_month_traffic": 0,
  • "description": null,
  • "display_status": "Running",
  • "display_task": null,
  • "flavor": {
    },
  • "hostId": "d4e0893dc4b0aac68503e0df8e6ea38ab0caac213fb331184801d7d8",
  • "host_name": "worker-node01-nl",
  • "id": "{instance_id}",
  • "image": null,
  • "locked": false,
  • "name": "{name_instance}",
  • "net_details": {
    },
  • "project": "73aa943377f14b5bbef095786cd9635b",
  • "region": "{country_name}",
  • "region_obj": {
    },
  • "status": "active",
  • "storage_details": {
    },
  • "traffic_type": "all",
  • "uuid": "{instance_id}"
}

Get Instance Price

Host: https://api.fotbo.com

Retrieve the price for creating a new instance.

Authorizations:
apikey header authorization
query Parameters
client_id
string
flavor_id
string
network_ids
string
region
string

Responses

Response samples

Content type
application/json
{
  • "estimated_cost_display": "ESTIMATED COST<br>\n€0.0069 / hour<br>\nor €5.00 / month"
}

Instance Permissions

Host: https://api.fotbo.com

Retrieve permissions related to instances.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "instances.abort-migrate": true,
  • "instances.add_floating_ip": true,
  • "instances.associate_security_group": true,
  • "instances.attach-volume": true,
  • "instances.attach_port": true,
  • "instances.boot_from_iso": true,
  • "instances.change-password": true,
  • "instances.confirm-resize": true,
  • "instances.create": true,
  • "instances.create_backup": true,
  • "instances.create_snapshot": true,
  • "instances.destroy": true,
  • "instances.detach_port": true,
  • "instances.detach_volume": true,
  • "instances.dissociate_security_group": true,
  • "instances.list": true,
  • "instances.lock": true,
  • "instances.migrate": true,
  • "instances.move": true,
  • "instances.reboot": true,
  • "instances.rebuild": true,
  • "instances.remove_floating_ip": true,
  • "instances.rename": true,
  • "instances.rescue": true,
  • "instances.reset-state": true,
  • "instances.resize": true,
  • "instances.resume": true,
  • "instances.retrieve": true,
  • "instances.revert-resize": true,
  • "instances.shelve": true,
  • "instances.start": true,
  • "instances.stop": true,
  • "instances.suspend": true,
  • "instances.unlock": true,
  • "instances.unrescue": true,
  • "instances.unshelve": true
}

Add Ports

Host: https://api.fotbo.com

Retrieve a list of ports associated with the user's account. You may not have services or there may not be funds on your balance to complete this operation.

Authorizations:
apikey header authorization
Request Body schema: application/json
attach_to
required
string
device_id
required
string
device_owner
required
string
required
Array of objects
network
required
string
project
required
string
region
required
string
subnet
required
string

Responses

Request samples

Content type
application/json
{
  • "attach_to": "string",
  • "device_id": "string",
  • "device_owner": "string",
  • "fixed_ips": [
    ],
  • "network": "string",
  • "project": "string",
  • "region": "string",
  • "subnet": "string"
}

Response samples

Content type
application/json
{
  • "name": null,
  • "admin_state_up": true,
  • "port_security_enabled": true,
  • "fixed_ips": [ ],
  • "region": "string",
  • "attach_to": "string",
  • "project": "string",
  • "host_id": null,
  • "vnic_type": null,
  • "auto_add_security_group": true,
  • "created_at": null,
  • "description": null,
  • "device_id": "string",
  • "device_owner": "string",
  • "mac_address": null,
  • "status": null,
  • "network": "string"
}

Add IP to Port

Host: https://api.fotbo.com

Add an IP address to the specified port in VPS. You may not have services or there may not be funds on your balance to complete this operation.

Authorizations:
apikey header authorization
Request Body schema: application/json
append_ip
required
boolean
device_id
required
string
device_owner
required
string
required
Array of objects
port
required
string
region
required
string
subnet
required
string

Responses

Request samples

Content type
application/json
{
  • "append_ip": true,
  • "device_id": "{instance_id}",
  • "device_owner": "compute:nova",
  • "fixed_ips": [
    ],
  • "port": "{ports_id}",
  • "region": "{country_name}",
  • "subnet": "{id_subnet}"
}

Response samples

Content type
application/json
{
  • "detail": "string"
}

Automatic IP Addition to Port

Host: https://api.fotbo.com

Automatically add IPs to the specified port in VPS.

Authorizations:
apikey header authorization
Request Body schema: application/json
required
Array of objects
region
required
string

Responses

Request samples

Content type
application/json
{
  • "fixed_ips": [
    ],
  • "region": "{country_name}"
}

Response samples

Content type
application/json
{
  • "detail": "IP(s) added"
}

Remove IP from Port

Host: https://api.fotbo.com

Remove IP from the specified port in VPS.

Authorizations:
apikey header authorization
Request Body schema: application/json
required
Array of objects
region
required
string

Responses

Request samples

Content type
application/json
{
  • "fixed_ips": [
    ],
  • "region": "{country_name}"
}

Response samples

Content type
application/json
{
  • "detail": "IP removed"
}

List Regions

Host: https://api.fotbo.com

Retrieve a list of regions available.

Authorizations:
apikey header authorization

Responses

Response samples

Content type
application/json
{
  • "count": 2,
  • "next": null,
  • "objects": [
    ],
  • "pageNo": 1,
  • "previous": null,
  • "totalCount": 2
}

Create Backup schedules

Host: https://api.fotbo.com

Access and manage OpenStack backup options and configurations.

Authorizations:
apikey header authorization
Request Body schema: application/json
backup_name
required
string
backup_type
required
string
day
integer
instance
required
string
rotation
required
integer
run_at
required
null

Responses

Request samples

Content type
application/json
{
  • "backup_name": "{name_image}",
  • "backup_type": "weekly",
  • "day": 0,
  • "instance": "{instance_id}",
  • "rotation": 1,
  • "run_at": null
}

Response samples

Content type
application/json
{
  • "backup_name": "{name_image}",
  • "backup_type": "weekly",
  • "day": 0,
  • "hour": 6,
  • "id": 181141,
  • "instance": "{instance_id}",
  • "rotation": 1,
  • "run_at": "2023-12-04T08:00:00.855745+02:00"
}

Load balancers

The "Load balancers" section offers insights into load balancing functionalities. Users can configure and manage load balancers, distribute traffic efficiently, and ensure high availability for their applications. Through a GET request with create_options, data about the service options is obtained before ordering it. You can see what the characteristics may be. These options must be specified when using POST/PUT requests.

Get Load Balancer Options

Host: https://api.fotbo.com

Retrieve options for creating a new LBAAS listener within the Load Balancer as a Service context. Through a GET request with create_options, data about the service options is obtained before ordering it. You can see what the characteristics may be. These options must be specified when using POST/PUT requests.

Authorizations:
apikey header authorization
query Parameters
region
string

Responses

Response samples

Content type
application/json
{
  • "availability_zones": [ ],
  • "certificates": [ ],
  • "flavors": [ ],
  • "listener_protocols": [
    ],
  • "monitor_http_methods": {
    },
  • "monitor_types": {
    },
  • "pool_algorithms": {
    },
  • "pool_protocols": [
    ],
  • "pool_supported_algorithms": [
    ],
  • "protocols": {
    },
  • "session_persistence_types": {
    },
  • "subnets": [
    ]
}

List Load Balancer

Host: https://api.fotbo.com

Access LBAAS load balancers within the Load Balancer as a Service context.

Authorizations:
apikey header authorization
query Parameters
filtering
string
ordering
string
page
string
page_size
string
region
string

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "next": null,
  • "previous": null,
  • "objects": [ ],
  • "totalCount": 0,
  • "pageNo": 0,
  • "onePage": true,
  • "disableCreate": true,
  • "permissions": { }
}

Load Balancer Policies

Host: https://api.fotbo.com

Access L7 policies within the Load Balancer as a Service context.

Authorizations:
apikey header authorization
query Parameters
listener_id
string
page
string
region
string

Responses