IONOS Cloud Billing API (3.8.1)

Download OpenAPI specification:Download

Overview

The IONOS Billing API is a REST API that can be used to retrieve information about resource usage and invoices. Please note that only Contract Holders can log in and retrieve data. Information on usage is provided without liability.

What's New?

The following features have been added to the Billing API:

  • Different response codes for wrong credentials and having lack of grants (401 Unauthorized and 403 Forbidden)
  • Profiles have no subsidiary field anymore
  • /{contractId}/invoices returns amount of each invoice (if permissions allow)
  • Breaking change: IP address instead of MAC address in traffic reports
  • Utilization endpoint with detailed reports of usage over all types of resources
  • Products have a deprecated field that points out if the product item is considered as deprecated
  • New CUBEs and load balancer products were introduced

Available Products

IP Address, CPU Cores, RAM, NAT

Location MeterID Meter Description Unit
EU / US A01000 30d per static IP address 30 days
EU / US C01000 1h core AMD 1 hour
EU C010EU 1h core AMD - EU 1 hour
US C010US 1h core AMD - US 1 hour
EU / US C02000 1h core Intel Broadwell (+1 hyperthread core) 1 hour
EU / US C03000 1h core Intel Skylake (+1 hyperthread core) 1 hour
EU / US C04000 1h core Intel Ice Lake (+1 hyperthread core) 1 hour
EU / US C05000 1h core AMD EPYC (+1 hyperthread core) 1 hour
EU / US CW1000 1 MS core - per hour 1 hour
EU / US CW1000 1 MS core - per hour 1 hour
EU CW10EU 1 MS core - per hour EU 1 hour
US CW10US 1 MS core - per hour US 1 hour
EU / US R01000 1h per GB RAM 1G * 1 hour
EU R010EU 1h per GB RAM - EU 1G * 1 hour
US R010US 1h per GB RAM - US 1G * 1 hour
EU / US CWSQL1001 1h per 2 cores License MS SQL Standard 1hour
EU / US CWSQL2001 1h per 2 cores License MS SQL Enterprise 1hour
EU / US CWSQL3001 1h per 2 cores License MS SQL Web 1hour
EU / US NAT1000 1h per NAT 1 hour
EU / US NLB1000 1h of first 5 forwarding rules for network load balancer 1 hour
EU / US NLB1100 1h of additional forwarding rule for network load balancer 1 hour
EU / US ALB1000 1h of first 5 forwarding rules for application load balancer 1 hour
EU / US ALB1100 1h of additional forwarding rule for application load balancer 1 hour

Storage

Location MeterID Meter Description Unit
EU / US S01000 30d per 1 GB HDD Storage 1 GB * 30 days
EU / US S02000 30d per 1 GB SSD Storage Premium 1 GB * 30 days
EU / US S03000 30d per 1 GB HDD Snapshot 1 GB * 30 days
EU / US S05000 30d per 1 GB SSD Storage Standard 1 GB * 30 days

CUBEs

Location MeterID Meter Description Unit
EU / US CUBExxxx * 1h of IONOS cloud Cubes with a certain configuration 1 hour
EU / US CC1000 ** 1h Cubes core 1 hour
EU / US CR1000 ** 1h per GB Cubes RAM 1G * 1 hour
EU / US DAS1000 ** 30d per 1 GB Cubes Directly Attached Storage 1 GB * 30 days

*) Dynamically generated product item (e.g. CUBE1100, CUBE1200 etc.), it references to a certain CUBE template (VM preset with overprovisioning) **) Non-billable items, provided just for estimation the consuming

Backup Storage

Location MeterID Meter Description Unit
EU BU1100 30d per 1GB Backup Storage for Orphaned Backup 1 GB * 30 days
EU BU1200 30d per 1GB Backup Storage for Win. or Mac WS Backup 1 GB * 30 days
EU BU1300 30d per 1GB Backup Storage for Win. or Linux Server Backup 1 GB * 30 days
EU BU1400 30d per 1GB Backup Storage for Virtual Machine Backup 1 GB * 30 days
EU BU1500 30d per 1GB Backup Storage for Office365 1 GB * 30 days

IONOS S3 Object Storage

Location MeterID Meter Description Unit
EU S3AU1100 Count of PUT/COPY/POST/LOST S3 API request per 1,000 calls 1,000 calls
EU S3AU1200 Count of GET S3 API request per 10,000 calls 10,000 calls
EU S3AU1300 Count of DELETE S3 API request per 10,000 calls 10,000 calls
EU S3SU1100 30d per 1 GB IONOS S3 Object Storage for first 50 TB 1 GB x 30 days
EU S3SU1200 30d per 1 GB IONOS S3 Object Storage for next 450 TB 1 GB x 30 days
EU S3SU1300 30d per 1 GB IONOS S3 Object Storage above 500 TB 1 GB x 30 days

Traffic In/Out

Location MeterID Meter Description Unit
EU / US CTI1000 1 GB cumulative traffic inbound 1 GB
EU / US CTO1100 1 GB cumulative traffic outbound for first 10 TB 1 GB
EU / US CTO1200 1 GB cumulative traffic outbound for next 40 TB 1 GB
EU / US CTO1300 1 GB cumulative traffic outbound for next 100 TB 1 GB
EU / US CTO1400 1 GB cumulative traffic outbound for above 150 TB 1 GB

Traffic Usage

These values report total traffic for Virtual Data Centers and IONOS S3 Object Storage.

Location MeterID Meter Description Unit
EU / US TI1000 1 GB traffic inbound 1 GB
EU / US TO1000 1 GB traffic outbound 1 GB
EU S3TI1000 1 GB S3 total traffic inbound 1 GB
EU S3TO1000 1 GB S3 total traffic outbound 1 GB

License

Location MeterID Meter Description Unit
EU / US WL1000 1h per core AMD MS Windows license 1 hour
EU / US WL2000 1h per core Intel MS Windows license Intel (+1 hyper-thread core) 1 hour
EU / US WL3000 1h per core AMD MS Windows 2016 license 1 hour
EU / US WL4000 1h per core Intel MS Windows 2016 license Intel (+1 hyper-thread core) 1 hour
EU / US WL5000 1h per Cube core MS Windows license 1 hour
EU / US WL6000 1h per Cube core MS Windows 2016 license 1 hour

evn

EVN data

evnGet

Returns provisioning itemized data for a current month

Authorizations:
basicAuthbearerAuth
path Parameters
contract
required
string <int32> [0-9]{5,10}

Contract number

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "datacenters": [
    ],
  • "evnCSV": [
    ]
}

evnFindByPeriod

Returns provisioning itemized data for a certain period

Authorizations:
basicAuthbearerAuth
path Parameters
contract
required
string <int32> [0-9]{5,10}

Contract number

period
required
string or null^(\d{4}-\d{2}|null)$
Example: 2020-01

Period of interest in format YYYY-MM

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "datacenters": [
    ],
  • "evnCSV": [
    ]
}

internal

Internal data

internalPingGet

Check the API health

Authorizations:
basicAuthbearerAuth

Responses

invoices

Invoice data

invoicesGet

Returns a list of all invoices.

Authorizations:
basicAuthbearerAuth
path Parameters
contract
required
string <int32> [0-9]{5,10}

Contract number

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "invoices": [
    ]
}

invoicesFindById

Returns the invoice for a given invoice ID.

Authorizations:
basicAuthbearerAuth
path Parameters
contract
required
string <int32> [0-9]{5,10}

Contract number

id
required
string

Invoice ID

query Parameters
dateformat
string

Vendor date format

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "datacenters": [
    ],
  • "total": {
    }
}

invoicesFindByPeriod

Returns invoices of billing profiles of a use.

Authorizations:
basicAuthbearerAuth
path Parameters
period
required
string^\d{4}-\d{2}$
Example: 2020-01

Period of interest in format YYYY-MM

query Parameters
contractid
string

Filter out the exact contractID

dateformat
string

Vendor date format

Responses

Response samples

Content type
application/json
[
  • {
    }
]

traffic

Traffic data

trafficGet

Get a high-granularity list of utilization resources for current month by default

Authorizations:
basicAuthbearerAuth
path Parameters
contract
required
string <int32> [0-9]{5,10}

Contract number

query Parameters
ip
boolean

Provide report grouped by IPs

output
string
Default: "all"
Enum: "all" "obj" "arr" "csv"

The output format (object, array, CSV or all of them)

Responses

Response samples

Content type
application/json
{
  • "type": "vdc",
  • "trafficObj": {
    },
  • "trafficArr": [
    ],
  • "traffic": [
    ]
}

trafficFindByPeriod

Get a high-granularity list of utilization resources for a certain period

Authorizations:
basicAuthbearerAuth
path Parameters
contract
required
string <int32> [0-9]{5,10}

Contract number

period
required
string or null^(\d{4}-\d{2}|null)$
Example: 2020-01

Period of interest in format YYYY-MM

query Parameters
ip
boolean

Provide report grouped by IPs

output
string
Default: "all"
Enum: "all" "obj" "arr" "csv"

The output format (object, array, CSV or all of them)

Responses

Response samples

Content type
application/json
{
  • "type": "vdc",
  • "trafficObj": {
    },
  • "trafficArr": [
    ],
  • "traffic": [
    ]
}

utilization

Utilization data

utilizationGet

Get a high-granularity data of resources utilization

Authorizations:
basicAuthbearerAuth
path Parameters
contract
required
string <int32> [0-9]{5,10}

Contract number

query Parameters
dc
string <uuid>

Filter out by particular VDC UUID (or "Bucket" UUID for non-vdc related resources)

resource
string <uuid>

Filter out by particular resource UUID (e.g.VM UUID, NIC UUID)

type
string (ResourceTypes)
Enum: "SERVER" "STORAGE" "SNAPSHOT" "NATGATEWAY" "NIC" "IP" "IP_ADDRESS" "CUBETEMPLATE" "LOADBALANCER" "BACKUP" "S3" "TRAFFIC" "DB" "BMC" "DBAAS" "CRAAS" "LAAS" "DSAAS" "DNS"

Filter out by particular type of items

Responses

Response samples

Content type
application/json
{
  • "startDate": "2020-01-01",
  • "endDate": "2020-01-12",
  • "datacenters": [
    ],
  • "metadata": {
    }
}

utilizationFindByPeriod

Get a high-granularity data of resources utilization for a certain period

Authorizations:
basicAuthbearerAuth
path Parameters
contract
required
string <int32> [0-9]{5,10}

Contract number

period
required
string or null^(\d{4}-\d{2}|null)$
Example: 2020-01

Period of interest in format YYYY-MM

query Parameters
dc
string <uuid>

Filter out by particular VDC UUID (or "Bucket" UUID for non-vdc related resources)

resource
string <uuid>

Filter out by particular resource UUID (e.g.VM UUID, NIC UUID)

type
string (ResourceTypes)
Enum: "SERVER" "STORAGE" "SNAPSHOT" "NATGATEWAY" "NIC" "IP" "IP_ADDRESS" "CUBETEMPLATE" "LOADBALANCER" "BACKUP" "S3" "TRAFFIC" "DB" "BMC" "DBAAS" "CRAAS" "LAAS" "DSAAS" "DNS"

Filter out by particular type of items

Responses

Response samples

Content type
application/json
{
  • "startDate": "2020-01-01",
  • "endDate": "2020-01-12",
  • "datacenters": [
    ],
  • "metadata": {
    }
}

profile

Profile data

profileGet

Retrieves the billing profile(s) of the authenticated account

Authorizations:
basicAuthbearerAuth

Responses

Response samples

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

products

Product data

productsGet

Returns a list of products available for the given contract (only billable and active)

Authorizations:
basicAuthbearerAuth
path Parameters
contract
required
string <int32> [0-9]{5,10}

contract number

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "liability": "Please double check your contract for prices.",
  • "products": [
    ]
}

usage

Usage data

usageGet

Returns the usage of a contract

Authorizations:
basicAuthbearerAuth
path Parameters
contract
required
string <int32> [0-9]{5,10}

Contract number

query Parameters
period
string^\d{4}-\d{2}$

Period of interest in format YYYY-MM (current month by default if not specified)

Responses

Response samples

Content type
application/json
{
  • "startDate": "2020-01-01",
  • "endDate": "2020-01-12",
  • "datacenters": [
    ],
  • "metadata": {
    }
}

usageFindByDC

Returns the usage of a contract for a given data-center

Authorizations:
basicAuthbearerAuth
path Parameters
contract
required
string <int32> [0-9]{5,10}

Contract number

dc
required
string or null^([a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4...
Example: ad34b997-43c7-4666-889b-57acbeaeeb8b

Get data for the particular data-center ID (VDC UUID)

query Parameters
period
string^\d{4}-\d{2}$

Period of interest in format YYYY-MM (current month by default if not specified)

Responses

Response samples

Content type
application/json
{
  • "startDate": "2020-01-01",
  • "endDate": "2020-01-12",
  • "datacenters": [
    ],
  • "metadata": {
    }
}