General

OpenAPI documentation for the i3D.net API.

Get the data usage for a uplinkId in a cross connect, by default, past 24 hours

get
Authorizations
Path parameters
crossConnectIdintegerRequired

The Id of the cross connect

uplinkIdintegerRequired

The Id of the uplink

Query parameters
startTimeintegerOptional

Start unix timestamp

endTimeintegerOptional

End unix timestamp

Responses
200
OK
application/json
get
GET /v3/telemetry/crossConnect/{crossConnectId}/usage/{uplinkId}/raw HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "unit": "text",
    "data": [
      {
        "timestamp": 1,
        "ingress": "text",
        "egress": "text",
        "sum": "text"
      }
    ]
  }
]

Gets the network telemetry for a given colocation on hourly basis (default = last 24 hours)

get
Authorizations
Path parameters
colocationIdintegerRequired
Query parameters
startTimeintegerOptional

Start unix timestamp

endTimeintegerOptional

End unix timestamp

Responses
200
OK
application/json
get
GET /v3/telemetry/colocation/{colocationId}/network HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "unit": "text",
    "data": [
      {
        "timestamp": 1,
        "networkIngress": 1,
        "networkEgress": 1
      }
    ]
  }
]

Get the history list of power usage for all colocation

get
Authorizations
Query parameters
startTimeintegerOptional

Unix timestamp. Filter from time, default value is -1 day

endTimeintegerOptional

Unix timestamp. Filter to time, default value is now

Responses
200
OK
application/json
get
GET /v3/telemetry/colocation/powerUsage HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "unit": "text",
    "data": [
      {
        "timestamp": 1,
        "amps": 1,
        "volts": 1,
        "kwh": 1,
        "powerMeter": 1
      }
    ]
  }
]

Get the list of all colocation current power usage

get
Authorizations
Header parameters
RANGED-DATAstringRequired

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/telemetry/colocation/powerUsage/current HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
RANGED-DATA: text
Accept: */*
[
  {
    "id": 1,
    "name": "text",
    "kwh": 1
  }
]
Deprecated

Get the history list of power usage for a colocation and pdu

get
Authorizations
Path parameters
colocationIdintegerRequired
pduIdintegerRequired
Query parameters
startTimeintegerOptional

Unix timestamp. Filter from time, default value is -1 day

endTimeintegerOptional

Unix timestamp. Filter to time, default value is now

Header parameters
RANGED-DATAstringRequired

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/telemetry/colocation/{colocationId}/pdu/{pduId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
RANGED-DATA: text
Accept: */*
[
  {
    "timestamp": 1,
    "amps": 1,
    "volts": 1,
    "kwh": 1,
    "powerMeter": 1
  }
]

List of overuse host

get
Authorizations
Header parameters
RANGED-DATAstringRequired

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/telemetry/colocation/overuse/current HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
RANGED-DATA: text
Accept: */*
[
  {
    "coloId": 1,
    "coloName": "text",
    "orderedBandwidth": 1,
    "usedBandwidth": 1
  }
]

Get the history list of power usage for a pdu

get
Authorizations
Path parameters
pduIdintegerRequired
Query parameters
startTimeintegerOptional

Unix timestamp. Filter from time, default value is -1 day

endTimeintegerOptional

Unix timestamp. Filter to time, default value is now

Responses
200
OK
application/json
get
GET /v3/telemetry/pdu/{pduId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "unit": "text",
    "data": [
      {
        "timestamp": 1,
        "amps": 1,
        "volts": 1,
        "kwh": 1,
        "powerMeter": 1
      }
    ]
  }
]

Get health of the API

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/health HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
{
  "status": "text"
}

Get basic details of the logged in user

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/session/user HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
{
  "userId": 1,
  "userName": "text",
  "email": "text",
  "firstName": "text",
  "lastName": "text",
  "gender": "text",
  "phone": "text",
  "accessLevel": 1,
  "validateEmail": 1,
  "isTrialAccount": 1,
  "trialAccountExpirationDate": "text",
  "requestIp": "text",
  "requestIpCountry": "text",
  "requestIpCountryCode": "text",
  "details": {
    "accountType": 1,
    "companyName": "text",
    "vatNumber": "text",
    "cocNumber": "text",
    "firstName": "text",
    "lastName": "text",
    "address": "text",
    "streetNumber": "text",
    "zipCode": "text",
    "city": "text",
    "countryCode": "text",
    "emailAddress": "text",
    "unconfirmedEmail": {
      "email": "text",
      "expiresAt": 1
    },
    "emailAddressValidated": 1,
    "phoneNumber": "text",
    "phoneNumberMobile": "text",
    "language": 1,
    "emailAddressAbuse": "text",
    "newsletter": 1,
    "agreeToc": 1,
    "agreeAup": 1,
    "agreeDpa": 1,
    "isAllowedFlexMetal": 1
  },
  "billingDetails": {
    "firstName": "text",
    "lastName": "text",
    "address": "text",
    "streetNumber": "text",
    "zipCode": "text",
    "city": "text",
    "countryCode": "text",
    "phoneNumber": "text",
    "phoneNumberMobile": "text",
    "emailAddressBilling": "text",
    "bundleInvoicesOfSameCategory": 1,
    "receivePaymentConfirmationsViaEmail": 1,
    "preferredPaymentMethod": 1
  }
}

Log in

post
Authorizations
Body
userNamestringRequired

User name

passwordstringRequired

Password

rememberMeinteger · integerOptional

Remember me

Responses
200
OK
application/json
post
POST /v3/session/login HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 52

{
  "userName": "text",
  "password": "text",
  "rememberMe": 1
}
{
  "requiresOtp": true,
  "expiresAt": 1,
  "otpSessionExpiresAt": 1
}

Provide 2FA One-Time Password after a successful login (if requiresOtp is true in SessionAuthReq, as returned by /session/login)

post
Authorizations
Body
otpstringRequired

6 digit One-Time Password

Responses
204
No Content
post
POST /v3/session/login/otp HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 14

{
  "otp": "text"
}

No content

Log out

post
Authorizations
Responses
204
No Content
post
POST /v3/session/logout HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Request the VAT percentage for a shop category, for your specific user

get
Authorizations
Path parameters
serviceNamestringRequired
Body
taxPercentnumber · floatRequired

VAT percentage

Responses
200
OK
get
GET /v3/calc/utilities/servicevatpercentage/{serviceName} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 16

{
  "taxPercent": 1
}

No content

Request the user / reseller group margin factors for a calc category

get
Authorizations
Path parameters
categoryNamestringRequired
Body
resellerTypeIdinteger · integerRequired

ID of a reseller type

resellerTypeNamestringRequired

Name of a reseller type

categoryIdinteger · integerRequired

ID of the category

marginFactornumber · floatRequired

ID of a category

Responses
200
OK
get
GET /v3/calc/utilities/marginfactors/{categoryName} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 78

{
  "resellerTypeId": 1,
  "resellerTypeName": "text",
  "categoryId": 1,
  "marginFactor": 1
}

No content

Get all shop categories

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/calc/categories HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "name": "text"
  }
]

Get all configurations for the given shop category

get
Authorizations
Path parameters
categoryNamestringRequired

Category name, one of /calc/categories

Responses
200
OK
application/json
get
GET /v3/calc/configs/{categoryName} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "tag": 1,
    "locationId": 1,
    "price": 1,
    "setup": 1,
    "flags": 1,
    "bwPriceDedi": 1,
    "bwPriceColo": 1,
    "fixed": true,
    "noDowngrade": true,
    "instantDeliverable": true,
    "groups": [
      {
        "id": 1,
        "name": "text",
        "code": "text",
        "type": "text",
        "fixed": true,
        "step": 1,
        "flags": 1,
        "noDowngrade": true,
        "displayOrder": 1,
        "dependencyGroupId": 1,
        "dependencyItemIds": [
          1
        ],
        "notes": "text",
        "items": [
          {
            "id": 1,
            "code": "text",
            "name": "text",
            "shortName": "text",
            "ident": "text",
            "quantity": 1,
            "specifications": [
              {
                "id": 1,
                "name": "text",
                "value": "text",
                "dataType": "text",
                "mandatory": 1
              }
            ],
            "flags": 1,
            "price": 1,
            "setupPrice": 1,
            "priceLinkGroupId": 1,
            "priceLinkPercentage": 1,
            "displayOrder": 1,
            "excludeConfigs": [
              1
            ],
            "excludeLocationIds": [
              1
            ]
          }
        ],
        "defaultItemId": 1
      }
    ]
  }
]

Get all groups and items of the given category

get
Authorizations
Path parameters
categoryNamestringRequired

Category name, one of /calc/categories

Responses
200
OK
application/json
get
GET /v3/calc/items/{categoryName} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "name": "text",
    "code": "text",
    "type": "text",
    "fixed": true,
    "step": 1,
    "flags": 1,
    "noDowngrade": true,
    "displayOrder": 1,
    "dependencyGroupId": 1,
    "dependencyItemIds": [
      1
    ],
    "notes": "text",
    "items": [
      {
        "id": 1,
        "code": "text",
        "name": "text",
        "shortName": "text",
        "ident": "text",
        "quantity": 1,
        "specifications": [
          {
            "id": 1,
            "name": "text",
            "value": "text",
            "dataType": "text",
            "mandatory": 1
          }
        ],
        "flags": 1,
        "price": 1,
        "setupPrice": 1,
        "priceLinkGroupId": 1,
        "priceLinkPercentage": 1,
        "displayOrder": 1,
        "excludeConfigs": [
          1
        ],
        "excludeLocationIds": [
          1
        ]
      }
    ],
    "defaultItemId": 1
  }
]

Get all the availability locations per calc category

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/calc/locations HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "categoryIds": [
      1
    ],
    "locationId": 1,
    "countryName": "text",
    "countryNameShort": "text",
    "regionId": 1,
    "regionName": "text",
    "continent": "text",
    "city": "text",
    "locationBwPriceDedi": 1,
    "locationBwOverusePriceDedi": 1,
    "locationBwPriceColo": 1,
    "locationBwOverusePriceColo": 1
  }
]

Get all order IDs (and meta data) from your cart

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/calc/orders HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "finalized": true,
    "instantDeliverable": true
  }
]

Create an order from a config (tag)

post
Authorizations
Body
configTagstringRequired

Configuration tag to create an order from.

couponTagstringRequired

Coupon tag to apply to the order.

instantFinalizebooleanRequired

Whether you want to immediately make the order available for checkout.

Responses
200
OK
application/json
post
POST /v3/calc/orders HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 62

{
  "configTag": "text",
  "couponTag": "text",
  "instantFinalize": true
}
{
  "id": 1,
  "finalized": true,
  "createdAt": 1,
  "modifiedAt": 1,
  "quantity": 1,
  "title": "text",
  "categoryId": 1,
  "categoryName": "text",
  "configTag": "text",
  "configName": "text",
  "configFlags": 1,
  "instantDeliverable": true,
  "price": 1,
  "setup": 1,
  "vat": 1,
  "vatPercentage": 1,
  "items": [
    {
      "itemId": 1,
      "groupId": 1,
      "quantity": 1
    }
  ]
}

Submit a quote request for your current cart

post
Authorizations
Body
userIdinteger · integerOptional

Customer's user ID

firstNamestring · min: 2 · max: 64Required

Customer's first name

lastNamestring · min: 2 · max: 128Required

Customer's last name

companyNamestring · max: 120Optional

Customer's company name (optional)

emailstring · max: 128Required

Customer's email address

phonestring · min: 5 · max: 15Required

Customer's phone number

remarksstring · max: 4000Optional

Remarks contain specific question(s) regarding the quote

Responses
200
OK
post
POST /v3/calc/orders/quote HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 117

{
  "userId": 1,
  "firstName": "text",
  "lastName": "text",
  "companyName": "text",
  "email": "text",
  "phone": "text",
  "remarks": "text"
}

No content

Get an order from the cart

get
Authorizations
Path parameters
orderIdintegerRequired

Order ID

Responses
200
OK
application/json
get
GET /v3/calc/orders/{orderId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
{
  "id": 1,
  "finalized": true,
  "createdAt": 1,
  "modifiedAt": 1,
  "quantity": 1,
  "title": "text",
  "categoryId": 1,
  "categoryName": "text",
  "configTag": "text",
  "configName": "text",
  "configFlags": 1,
  "instantDeliverable": true,
  "price": 1,
  "setup": 1,
  "vat": 1,
  "vatPercentage": 1,
  "items": [
    {
      "itemId": 1,
      "groupId": 1,
      "quantity": 1
    }
  ]
}

Update an order

put
Authorizations
Path parameters
orderIdintegerRequired

Order ID

Body
quantityinteger · integerRequired

Order quantity

Responses
200
OK
application/json
put
PUT /v3/calc/orders/{orderId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 62

{
  "quantity": 1,
  "items": [
    {
      "itemId": 1,
      "groupId": 1,
      "quantity": 1
    }
  ]
}
{
  "id": 1,
  "finalized": true,
  "createdAt": 1,
  "modifiedAt": 1,
  "quantity": 1,
  "title": "text",
  "categoryId": 1,
  "categoryName": "text",
  "configTag": "text",
  "configName": "text",
  "configFlags": 1,
  "instantDeliverable": true,
  "price": 1,
  "setup": 1,
  "vat": 1,
  "vatPercentage": 1,
  "items": [
    {
      "itemId": 1,
      "groupId": 1,
      "quantity": 1
    }
  ]
}

Delete an order from the cart

delete
Authorizations
Path parameters
orderIdintegerRequired

Order ID

Responses
204
No Content
delete
DELETE /v3/calc/orders/{orderId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Set an order in the cart to "checkout" (which means it will show up on the checkout page). Updating the order is still allowed after finalization

put
Authorizations
Path parameters
orderIdintegerRequired

Order ID

Responses
204
No Content
put
PUT /v3/calc/orders/finalize/{orderId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Get all jobs

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/jobs HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "slug": "text",
    "title": "text",
    "headerImage": "text",
    "tileImage": "text",
    "introText": "text",
    "text": "text",
    "intakeDate": 1
  }
]

Get the details of a job

get
Authorizations
Path parameters
jobIdintegerRequired

The Id of the jobs you are requesting

Responses
200
OK
application/json
get
GET /v3/jobs/{jobId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "slug": "text",
    "title": "text",
    "headerImage": "text",
    "tileImage": "text",
    "introText": "text",
    "text": "text",
    "intakeDate": 1
  }
]

Solicit for a job

post
Authorizations
Path parameters
jobIdintegerRequired

The Id of the jobs you are soliciting for

Responses
200
OK
post
POST /v3/jobs/{jobId}/solicit HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Add files to the solicitation

post
Authorizations
Path parameters
jobIdintegerRequired

The Id of the jobs you are soliciting for

solicitIdintegerRequired

The Id of the solicitation you are uploading files for

Responses
200
OK
post
POST /v3/jobs/{jobId}/solicit/{solicitId}/files HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Get user remote information

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/user/getUserRemoteInfo HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
{
  "ipAddressFromServerVariable": "text",
  "ipAddressFromRequest": "text",
  "xForwardFor": "text",
  "xForwardHost": "text",
  "userAgent": "text"
}

Sign up for the newsletter. This will send a confirmation email with a validation url to follow.

post
Authorizations
Body
emailstring · max: 128Required

Customer's email address

languagestringRequired

Customer's preferred language

Responses
204
No Content
post
POST /v3/newsletter/optin HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 34

{
  "email": "text",
  "language": "text"
}

No content

Newsletter sign up confirmation, with the token from the confirmation email.

post
Authorizations
Body
tokenstring · uuidRequired

The confirmation token from the opt-in email.

Responses
204
No Content
post
POST /v3/newsletter/confirm HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 48

{
  "token": "123e4567-e89b-12d3-a456-426614174000"
}

No content

Unsubscribe from the newsletter, using the unsubscribe url in a newsletter.

post
Authorizations
Body
mailhashstringRequired

A hash, as provided in the newsletter unsubscribe url

keystringRequired

A key, as provided in the newsletter unsubscribe url

Responses
204
No Content
post
POST /v3/newsletter/unsubscribe HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 32

{
  "mailhash": "text",
  "key": "text"
}

No content

Request a colocation quote

post
Authorizations
Body
firstNamestring · min: 2 · max: 64Required

Customer's first name

lastNamestring · min: 2 · max: 128Required

Customer's last name

companyNamestring · max: 120Optional

Customer's company name (optional)

emailstring · max: 128Required

Customer's email address

phonestring · min: 5 · max: 15Required

Customer's phone number

rackstringRequired

Rack space volume of interest

locationstringRequired

Location of interest

remarksstringRequired

Quote remarks (the actual question and additional details)

Responses
204
No Content
post
POST /v3/colocation/quote HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 138

{
  "firstName": "text",
  "lastName": "text",
  "companyName": "text",
  "email": "text",
  "phone": "text",
  "rack": "text",
  "location": "text",
  "remarks": "text"
}

No content

Get a list of all ticket categories

get
Authorizations
Responses
200
OK
application/json
Responsestring[]
get
GET /v3/tickets/categories HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  "text"
]

Get a list of all ticket meta data (no actual contents)

get
Authorizations
Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/tickets HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "hash": "text",
    "readHash": "text",
    "title": "text",
    "categoryName": "text",
    "priorityName": "text",
    "createdAt": 1,
    "updatedAt": 1,
    "clientLastRepliedAt": 1,
    "clientLastReadAt": 1,
    "status": "text",
    "numUserReplies": 1,
    "replies": [
      {
        "id": 1,
        "title": "text",
        "fullUserName": "text",
        "content": "text",
        "createdAt": 1,
        "replyByI3d": 1,
        "attachments": [
          {
            "id": 1,
            "name": "text",
            "mime": "text",
            "size": 1,
            "uploadedTime": 1
          }
        ]
      }
    ]
  }
]

Create a new ticket

post
Authorizations
Body
titlestringRequired

Ticket title

contentstringRequired

Ticket content

categorystringRequired

Ticket category name, must be one of GET /v3/tickets/categories

departmentstringRequired

Ticket department name

emailCcstringRequired

Ticket's "Carbon Copy" email addresses in CSV format

emailTostringRequired

Ticket's destination email addresses in CSV format

attachmentIdsinteger · integer[]Optional

The IDs of attachments that have been uploaded through POST /v3/tickets/attachment

Responses
200
OK
application/json
post
POST /v3/tickets HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 125

{
  "title": "text",
  "content": "text",
  "category": "text",
  "department": "text",
  "emailCc": "text",
  "emailTo": "text",
  "attachmentIds": [
    1
  ]
}
{
  "id": 1,
  "hash": "text",
  "readHash": "text",
  "title": "text",
  "categoryName": "text",
  "priorityName": "text",
  "createdAt": 1,
  "updatedAt": 1,
  "clientLastRepliedAt": 1,
  "clientLastReadAt": 1,
  "status": "text",
  "numUserReplies": 1,
  "replies": [
    {
      "id": 1,
      "title": "text",
      "fullUserName": "text",
      "content": "text",
      "createdAt": 1,
      "replyByI3d": 1,
      "attachments": [
        {
          "id": 1,
          "name": "text",
          "mime": "text",
          "size": 1,
          "uploadedTime": 1
        }
      ]
    }
  ]
}

Get a list of all ticket meta data (no actual contents) that are open or unread

get
Authorizations
Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/tickets/openOrUnread HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "hash": "text",
    "readHash": "text",
    "title": "text",
    "categoryName": "text",
    "priorityName": "text",
    "createdAt": 1,
    "updatedAt": 1,
    "clientLastRepliedAt": 1,
    "clientLastReadAt": 1,
    "status": "text",
    "numUserReplies": 1,
    "replies": [
      {
        "id": 1,
        "title": "text",
        "fullUserName": "text",
        "content": "text",
        "createdAt": 1,
        "replyByI3d": 1,
        "attachments": [
          {
            "id": 1,
            "name": "text",
            "mime": "text",
            "size": 1,
            "uploadedTime": 1
          }
        ]
      }
    ]
  }
]

Get a specific ticket with all replies.

get
Authorizations
Path parameters
ticketIdintegerRequired

Ticket ID

Responses
200
OK
application/json
get
GET /v3/tickets/{ticketId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
{
  "id": 1,
  "hash": "text",
  "readHash": "text",
  "title": "text",
  "categoryName": "text",
  "priorityName": "text",
  "createdAt": 1,
  "updatedAt": 1,
  "clientLastRepliedAt": 1,
  "clientLastReadAt": 1,
  "status": "text",
  "numUserReplies": 1,
  "replies": [
    {
      "id": 1,
      "title": "text",
      "fullUserName": "text",
      "content": "text",
      "createdAt": 1,
      "replyByI3d": 1,
      "attachments": [
        {
          "id": 1,
          "name": "text",
          "mime": "text",
          "size": 1,
          "uploadedTime": 1
        }
      ]
    }
  ]
}

Get a ticket attachment

get
Authorizations
Path parameters
ticketIdintegerRequired

Ticket ID

attachmentIdintegerRequired

Attachment ID

Responses
200
OK
application/json
Responsestring
get
GET /v3/tickets/{ticketId}/attachment/{attachmentId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
text

Create a new ticket without being logged in (public contact form)

post
Authorizations
Body
firstNamestring · min: 2 · max: 64Required

Contact first name

lastNamestring · min: 2 · max: 128Required

Contact last name

companyNamestring · max: 120Optional

Customer's company name (optional)

emailstring · max: 128Required

Contact email address

phonestring · min: 5 · max: 15Required

Contact phone number

titlestring · min: 2 · max: 250Required

Ticket title

contentstringOptional

Ticket content

categorystringRequired

Ticket category name, must be one of GET /v3/tickets/categories

Responses
200
OK
application/json
post
POST /v3/tickets/contact HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 139

{
  "firstName": "text",
  "lastName": "text",
  "companyName": "text",
  "email": "text",
  "phone": "text",
  "title": "text",
  "content": "text",
  "category": "text"
}
{
  "id": 1,
  "hash": "text",
  "readHash": "text",
  "title": "text",
  "categoryName": "text",
  "priorityName": "text",
  "createdAt": 1,
  "updatedAt": 1,
  "clientLastRepliedAt": 1,
  "clientLastReadAt": 1,
  "status": "text",
  "numUserReplies": 1,
  "replies": [
    {
      "id": 1,
      "title": "text",
      "fullUserName": "text",
      "content": "text",
      "createdAt": 1,
      "replyByI3d": 1,
      "attachments": [
        {
          "id": 1,
          "name": "text",
          "mime": "text",
          "size": 1,
          "uploadedTime": 1
        }
      ]
    }
  ]
}

Post a reply to an existing ticket

post
Authorizations
Path parameters
ticketIdintegerRequired

Ticket ID

Body
titlestringRequired

Reply title

contentstringRequired

Reply content

attachmentIdsinteger · integer[]Optional

The IDs of attachments that have been uploaded through POST /v3/tickets/attachment

Responses
200
OK
application/json
post
POST /v3/tickets/{ticketId}/reply HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 53

{
  "title": "text",
  "content": "text",
  "attachmentIds": [
    1
  ]
}
{
  "id": 1,
  "hash": "text",
  "readHash": "text",
  "title": "text",
  "categoryName": "text",
  "priorityName": "text",
  "createdAt": 1,
  "updatedAt": 1,
  "clientLastRepliedAt": 1,
  "clientLastReadAt": 1,
  "status": "text",
  "numUserReplies": 1,
  "replies": [
    {
      "id": 1,
      "title": "text",
      "fullUserName": "text",
      "content": "text",
      "createdAt": 1,
      "replyByI3d": 1,
      "attachments": [
        {
          "id": 1,
          "name": "text",
          "mime": "text",
          "size": 1,
          "uploadedTime": 1
        }
      ]
    }
  ]
}

Upload an attachment to the system

post
Authorizations
Body
attachmentobjectRequired

The attachment that is uploaded through your multipart/form-data request.

Responses
200
OK
application/json
post
POST /v3/tickets/attachment HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17

{
  "attachment": {}
}
{
  "attachmentId": 1
}

Delete an attachment *that is not coupled to a ticket or reply yet*

delete
Authorizations
Path parameters
attachmentIdintegerRequired

Attachment ID

Responses
204
No Content
delete
DELETE /v3/tickets/attachment/{attachmentId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Open a ticket (if it isn't force-closed)

put
Authorizations
Path parameters
ticketIdintegerRequired

Ticket ID

Responses
204
No Content
put
PUT /v3/tickets/{ticketId}/open HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Close a ticket

put
Authorizations
Path parameters
ticketIdintegerRequired

Ticket ID

Responses
204
No Content
put
PUT /v3/tickets/{ticketId}/close HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Get all your dedicated servers (can be bare metal servers or VMs) and their main details

get
Authorizations
Query parameters
labelsstringOptional

Label expressions can be used to apply more specific search parameters and can be written in standard SQL query language. E.g. region_id=123 or multiple filters: region_id=123 and fleet_id=456 or host_id=46256 The provided filter query needs to be url encoded. E.g. region_id%3D123 or multiple filters: region_id%3D123%20and%20fleet_id%3D456%20or%20host_id%3D46256 The total would look like: /dedicatedServer?labels=region_id%3D123%20and%20fleet_id%3D456%20or%20host_id%3D46256 If you want to filter on a non-numeric label such as region_name, you have to wrap the value in double quotes: region_name="Rotterdam" Warning: the labels query parameter is ignored when passing a PAGE-TOKEN and the original labels string will be used for that request instead. For more information about labels check details

Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/dedicatedServer HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "userId": 1,
    "serverId": 1,
    "serverName": "text",
    "serverType": 1,
    "projectName": "text",
    "clientServerName": "text",
    "clientState": "text",
    "liveHostName": "text",
    "category": "text",
    "osId": 1,
    "locationId": 1,
    "dcLocationId": 1,
    "instanceType": "text",
    "fleetId": "text",
    "newFleetId": "text",
    "fleetAssociatedSince": 1,
    "rackName": "text",
    "dateStart": "text",
    "dateEnd": "text",
    "dateCancelled": "text",
    "dateEndContract": "text",
    "contractPeriod": 1,
    "extendPeriod": 1,
    "cancellationPeriod": 1,
    "purchaseOrder": "text",
    "paymentTerm": 1,
    "pricePerMonth": "text",
    "pricePerTbOveruse": "text",
    "currencyId": 1,
    "bandwidthBillingType": 1,
    "bandwidthContractual": 1,
    "ipAddress": [
      {
        "ipAddress": "text",
        "version": 1,
        "type": 1,
        "private": 1,
        "interface": 1,
        "macAddress": "text",
        "rDns": "text",
        "vlanId": 1,
        "gateway": "text",
        "netmask": "text",
        "prefix": 1
      }
    ],
    "brand": "text",
    "model": "text",
    "numCpu": 1,
    "cpuInfo": "text",
    "cpuType": "text",
    "cpuLoad": 1,
    "cpu": {
      "socket": 1,
      "cores": 1,
      "threads": 1,
      "info": "text",
      "type": "text"
    },
    "memUsed": 1,
    "memMax": 1,
    "memFree": 1,
    "disk": [
      {
        "diskType": "text",
        "diskMedium": "text",
        "model": "text",
        "product": "text",
        "diskSerial": "text",
        "firmwareVersion": "text",
        "rotationRate": 1,
        "sectorSizeLogical": 1,
        "sectorSizePhysical": 1,
        "size": 1
      }
    ],
    "memory": [
      {
        "brand": "text",
        "model": "text",
        "size": 1,
        "speed": 1,
        "ecc": 1,
        "memoryBank": 1,
        "memoryType": "text",
        "memorySlot": "text",
        "memorySerial": "text"
      }
    ],
    "isReserve": 1,
    "labels": [
      {
        "key": "text",
        "value": "text"
      }
    ],
    "serviceTag": "text",
    "isODP": 1,
    "fmOrderId": "text",
    "installStatus": "text",
    "status": "text",
    "uptime": 1,
    "trafficSum": 1,
    "uplinks": [
      {
        "uplinkId": 1,
        "aggregate": true
      }
    ],
    "freeIncomingTraffic": true,
    "outgoingTrafficSum": 1,
    "incomingTrafficSum": 1
  }
]

Get all your dedicated servers (can be bare metal servers or VMs) and their main details

get
Authorizations
Query parameters
fieldsstringOptional

Fields return in response, only fields available in model can be filter out

Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/dedicatedServer/summary HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "serverId": 1,
    "serverName": "text",
    "serverType": 1,
    "projectName": "text",
    "clientServerName": "text",
    "clientState": "text",
    "liveHostName": "text",
    "category": "text",
    "osId": 1,
    "locationId": 1,
    "dcLocationId": 1,
    "instanceType": "text",
    "fleetId": "text",
    "newFleetId": "text",
    "fleetAssociatedSince": 1,
    "rackName": "text",
    "dateStart": "text",
    "dateEnd": "text",
    "dateCancelled": "text",
    "dateEndContract": "text",
    "contractPeriod": 1,
    "extendPeriod": 1,
    "cancellationPeriod": 1,
    "purchaseOrder": "text",
    "paymentTerm": 1,
    "pricePerMonth": "text",
    "pricePerTbOveruse": "text",
    "currencyId": 1,
    "bandwidthBillingType": 1,
    "bandwidthContractual": 1,
    "brand": "text",
    "model": "text",
    "isReserve": 1,
    "serviceTag": "text",
    "isODP": 1,
    "fmOrderId": "text",
    "installStatus": "text",
    "status": "text",
    "uptime": 1,
    "trafficSum": 1,
    "freeIncomingTraffic": true,
    "outgoingTrafficSum": 1,
    "incomingTrafficSum": 1
  }
]

Get a dedicated server (can be bare metal servers or VMs) and their main details

get
Authorizations
Path parameters
dedicatedServerIdintegerRequired
Responses
200
OK
application/json
get
GET /v3/dedicatedServer/{dedicatedServerId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "userId": 1,
    "serverId": 1,
    "serverName": "text",
    "serverType": 1,
    "projectName": "text",
    "clientServerName": "text",
    "clientState": "text",
    "liveHostName": "text",
    "category": "text",
    "osId": 1,
    "locationId": 1,
    "dcLocationId": 1,
    "instanceType": "text",
    "fleetId": "text",
    "newFleetId": "text",
    "fleetAssociatedSince": 1,
    "rackName": "text",
    "dateStart": "text",
    "dateEnd": "text",
    "dateCancelled": "text",
    "dateEndContract": "text",
    "contractPeriod": 1,
    "extendPeriod": 1,
    "cancellationPeriod": 1,
    "purchaseOrder": "text",
    "paymentTerm": 1,
    "pricePerMonth": "text",
    "pricePerTbOveruse": "text",
    "currencyId": 1,
    "bandwidthBillingType": 1,
    "bandwidthContractual": 1,
    "ipAddress": [
      {
        "ipAddress": "text",
        "version": 1,
        "type": 1,
        "private": 1,
        "interface": 1,
        "macAddress": "text",
        "rDns": "text",
        "vlanId": 1,
        "gateway": "text",
        "netmask": "text",
        "prefix": 1
      }
    ],
    "brand": "text",
    "model": "text",
    "numCpu": 1,
    "cpuInfo": "text",
    "cpuType": "text",
    "cpuLoad": 1,
    "cpu": {
      "socket": 1,
      "cores": 1,
      "threads": 1,
      "info": "text",
      "type": "text"
    },
    "memUsed": 1,
    "memMax": 1,
    "memFree": 1,
    "disk": [
      {
        "diskType": "text",
        "diskMedium": "text",
        "model": "text",
        "product": "text",
        "diskSerial": "text",
        "firmwareVersion": "text",
        "rotationRate": 1,
        "sectorSizeLogical": 1,
        "sectorSizePhysical": 1,
        "size": 1
      }
    ],
    "memory": [
      {
        "brand": "text",
        "model": "text",
        "size": 1,
        "speed": 1,
        "ecc": 1,
        "memoryBank": 1,
        "memoryType": "text",
        "memorySlot": "text",
        "memorySerial": "text"
      }
    ],
    "isReserve": 1,
    "labels": [
      {
        "key": "text",
        "value": "text"
      }
    ],
    "serviceTag": "text",
    "isODP": 1,
    "fmOrderId": "text",
    "installStatus": "text",
    "status": "text",
    "uptime": 1,
    "trafficSum": 1,
    "uplinks": [
      {
        "uplinkId": 1,
        "aggregate": true
      }
    ],
    "freeIncomingTraffic": true,
    "outgoingTrafficSum": 1,
    "incomingTrafficSum": 1
  }
]

Can add, edit or delete dedicated server labels. To delete label need to provide key with null value.

put
Authorizations
Path parameters
dedicatedServerIdintegerRequired
Body
idinteger · integerRead-onlyRequired

The ID of this host

userIdinteger · integerRead-onlyRequired

The ID of the user who owns this server

serverIdinteger · integerRead-onlyRequired

The ID of the physical machine

serverNamestringRead-onlyRequired

The name of the physical machine

serverTypeinteger · integerRead-onlyRequired

The type of the server:

  • 1: Bare metal server
  • 2: Flex metal server
  • 3: Virtual machine
projectNamestringOptional

The name of the project for the host

clientServerNamestringOptional

The name of the server defined by client

clientStatestringOptional

Client statement for the host

liveHostNamestringRead-onlyRequired

The host name

isVirtualinteger · integerRead-onlyRequiredDeprecated

0 if this is a bare metal server, 1 if it's a VM. Use serverType instead

categorystringRead-onlyRequired

Host category. Normally "Dedicated Game Servers" or "Dedicated Servers", but can be "Broken" if the server is in a degraded state

osIdinteger · integerRead-onlyRequired

Operating system ID, must be one of GET /v3/operatingsystem

locationIdinteger · integerRead-onlyRequired

Legacy location ID (not used for ODP)

dcLocationIdinteger · integerRead-onlyRequired

Datacenter location ID. Points to one of GET /v3/cloud/dcLocation

instanceTypestringRead-onlyRequired

The instance type of this server, which is one of GET /v3/host/instanceType for a bare metal, or one of GET /v3/cloud/instanceType for a virtual machine

fleetIdstringRead-onlyRequired

The fleet ID, if this host has been assigned to a fleet If 0, the host has not been assigned to a fleet, otherwise, the fleet is assigned to this host and the host can serve application instances for that fleet.

newFleetIdstring | nullableRead-onlyRequired

The ID of a new fleet that is to be assigned to this host after performing a bulkReserve operation at POST /v3/fleet/host/bulkReserve

fleetAssociatedSinceinteger · integerRead-onlyRequired

Unix timestamp when fleet assigned to the host

rackNamestringRead-onlyRequired

The name of the rack the host is located

dateStartstringRead-onlyRequired

The date at which this host became active

dateEndstringRead-onlyRequired

The date at which this host will expire

dateCancelledstringRead-onlyRequired

The date at which this host was cancelled

dateEndContractstringRead-onlyRequired

The date at which the contract ends (if applicable)

contractPeriodinteger · integerRead-onlyRequired

The contract period in months

extendPeriodinteger · integerRead-onlyRequired

The service extend period in months

cancellationPeriodinteger · integerRead-onlyRequired

The cancellation period in months

purchaseOrderstringRead-onlyRequired

Purchase order, if one has been supplied via our billing department

paymentTerminteger · integerRead-onlyRequired

The payment term in days (how many days are invoices generated before dateEnd)

pricePerMonthstringRead-onlyRequired

The price of this host per month in cents (see currencyId for currency)

pricePerTbOverusestringRead-onlyRequired

The price of traffic overuse in cents (per TB) (see currencyId for currency)

currencyIdinteger · integerRead-onlyRequired

The currency of the pricePerMonth field:

  • 0: EURO
  • 1: USD
  • 9: YEN
bandwidthBillingTypeinteger · integerRead-onlyRequired

The bandwidth billing method for this service:

  • 1: unmetered connection
  • 2: measured in TB per month
  • 3: measured in mbit 95th percentile
bandwidthContractualinteger · integerRead-onlyRequired

The contractual maximum bandwidth usage value. In GB if bandwidthBillingType equals 2, in mbit otherwise

brandstringRead-onlyRequired

The server manufacturer brand name

modelstringRead-onlyRequired

The model of the server

numCpuinteger · integerRead-onlyRequired

Number of CPUs in this host

cpuInfostringRead-onlyRequired
cpuTypestringRead-onlyRequired
cpuLoadnumber · floatRead-onlyRequired

Percentage of cpu used across all cores

cpuall ofRead-onlyRequired
memUsedinteger · integerRead-onlyRequired

The amount of memory that is used by the host (in megabytes)

memMaxinteger · integerRead-onlyRequired

The amount of memory that is available on the host (in megabytes)

memFreeinteger · integerRead-onlyRequired

The amount of free memory that is available on the host (in megabytes)

isReserveinteger · integerRead-onlyRequired

If the host is reserved for a fleet isReserve set to 1

serviceTagstringRead-onlyRequired

The service tag of the host

isODPinteger · integerRead-onlyRequired

If the host is available for game hosting platform isODP set to 1

fmOrderIdstring | nullableRead-onlyRequired

ID of Flex Metal order if this is a flex metal server

installStatusstring | nullableRead-onlyRequired

Status of server auto install if it was started by one. (created / installing / finished / failed)

statusstringRead-onlyRequired

Whether the host is running or not

uptimeinteger · integerOptional

The uptime of the host. Read-only. Only provided if the server checked-in recently

trafficSuminteger · integerRead-onlyRequired

Monthly traffic of all incoming and outgoing bandwidth in GB or Mbit depending on host configuration

freeIncomingTrafficbooleanRead-onlyRequired

Whether the host has free incoming traffic or not

outgoingTrafficSuminteger · integerRead-onlyRequired

The outgoing traffic (Mbit or GB)

incomingTrafficSuminteger · integerRead-onlyRequired

The incoming traffic (Mbit or GB)

Responses
200
OK
application/json
put
PUT /v3/dedicatedServer/{dedicatedServerId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 121

{
  "projectName": "text",
  "clientServerName": "text",
  "clientState": "text",
  "labels": [
    {
      "key": "text",
      "value": "text"
    }
  ],
  "uptime": 1
}
[
  {
    "id": 1,
    "userId": 1,
    "serverId": 1,
    "serverName": "text",
    "serverType": 1,
    "projectName": "text",
    "clientServerName": "text",
    "clientState": "text",
    "liveHostName": "text",
    "category": "text",
    "osId": 1,
    "locationId": 1,
    "dcLocationId": 1,
    "instanceType": "text",
    "fleetId": "text",
    "newFleetId": "text",
    "fleetAssociatedSince": 1,
    "rackName": "text",
    "dateStart": "text",
    "dateEnd": "text",
    "dateCancelled": "text",
    "dateEndContract": "text",
    "contractPeriod": 1,
    "extendPeriod": 1,
    "cancellationPeriod": 1,
    "purchaseOrder": "text",
    "paymentTerm": 1,
    "pricePerMonth": "text",
    "pricePerTbOveruse": "text",
    "currencyId": 1,
    "bandwidthBillingType": 1,
    "bandwidthContractual": 1,
    "ipAddress": [
      {
        "ipAddress": "text",
        "version": 1,
        "type": 1,
        "private": 1,
        "interface": 1,
        "macAddress": "text",
        "rDns": "text",
        "vlanId": 1,
        "gateway": "text",
        "netmask": "text",
        "prefix": 1
      }
    ],
    "brand": "text",
    "model": "text",
    "numCpu": 1,
    "cpuInfo": "text",
    "cpuType": "text",
    "cpuLoad": 1,
    "cpu": {
      "socket": 1,
      "cores": 1,
      "threads": 1,
      "info": "text",
      "type": "text"
    },
    "memUsed": 1,
    "memMax": 1,
    "memFree": 1,
    "disk": [
      {
        "diskType": "text",
        "diskMedium": "text",
        "model": "text",
        "product": "text",
        "diskSerial": "text",
        "firmwareVersion": "text",
        "rotationRate": 1,
        "sectorSizeLogical": 1,
        "sectorSizePhysical": 1,
        "size": 1
      }
    ],
    "memory": [
      {
        "brand": "text",
        "model": "text",
        "size": 1,
        "speed": 1,
        "ecc": 1,
        "memoryBank": 1,
        "memoryType": "text",
        "memorySlot": "text",
        "memorySerial": "text"
      }
    ],
    "isReserve": 1,
    "labels": [
      {
        "key": "text",
        "value": "text"
      }
    ],
    "serviceTag": "text",
    "isODP": 1,
    "fmOrderId": "text",
    "installStatus": "text",
    "status": "text",
    "uptime": 1,
    "trafficSum": 1,
    "uplinks": [
      {
        "uplinkId": 1,
        "aggregate": true
      }
    ],
    "freeIncomingTraffic": true,
    "outgoingTrafficSum": 1,
    "incomingTrafficSum": 1
  }
]

Get list of all colocated servers

get
Authorizations
Header parameters
RANGED-DATAstringRequired

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/colocation HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
RANGED-DATA: text
Accept: */*
[
  {
    "id": 1,
    "name": "text",
    "datacenter": {
      "address": {
        "name": "text",
        "address": "text",
        "zipCode": "text",
        "city": "text",
        "country": "text"
      },
      "contact": {
        "phoneNumber": "text",
        "emergencyPhoneNumber": "text",
        "faxNumber": "text",
        "emailAddress": "text"
      },
      "wifi": {
        "networkName": "text",
        "userName": "text",
        "password": "text"
      }
    },
    "rack": {
      "rack": "text",
      "rentedUnits": 1
    },
    "dateStart": "text",
    "dateEnd": "text",
    "dateCancelled": "text",
    "dateEndContract": "text",
    "contractPeriod": 1,
    "extendPeriod": 1,
    "cancellationPeriod": 1,
    "purchaseOrder": "text",
    "paymentTerm": 1,
    "pricePerMonth": "text",
    "pricePerTbOveruse": "text",
    "currencyId": 1,
    "bandwidthBillingType": 1,
    "bandwidthContractual": 1,
    "trafficSum": 1,
    "trafficSumMonthMbit": 1,
    "outgoingTrafficSum": 1,
    "incomingTrafficSum": 1,
    "powerMaxAmpere": "text",
    "powerKwhPrice": "text",
    "powerMeter": 1,
    "powerSumHistory": [
      {
        "date": "text",
        "powerMeter": "text",
        "powerUsed": "text"
      }
    ],
    "network": [
      {
        "vlanId": 1,
        "ipRange": [
          {
            "network": "text",
            "netmask": "text",
            "prefix": "text",
            "gateway": "text",
            "vrrp1": "text",
            "vrrp2": "text",
            "rDns": [
              {
                "hostname": "text",
                "ip": "text"
              }
            ]
          }
        ],
        "ipRangeCustom": [
          {
            "networkStart": "text",
            "networkEnd": "text",
            "gateway": "text",
            "vrrp1": "text",
            "vrrp2": "text",
            "rDns": [
              {
                "hostname": "text",
                "ip": "text"
              }
            ]
          }
        ]
      }
    ],
    "uplinks": [
      {
        "uplinkId": 1,
        "aggregate": true
      }
    ],
    "unlimitedIngress": 1
  }
]

Get the colocated server by ID

get
Authorizations
Path parameters
colocationIdintegerRequired
Responses
200
OK
application/json
get
GET /v3/colocation/{colocationId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "name": "text",
    "datacenter": {
      "address": {
        "name": "text",
        "address": "text",
        "zipCode": "text",
        "city": "text",
        "country": "text"
      },
      "contact": {
        "phoneNumber": "text",
        "emergencyPhoneNumber": "text",
        "faxNumber": "text",
        "emailAddress": "text"
      },
      "wifi": {
        "networkName": "text",
        "userName": "text",
        "password": "text"
      }
    },
    "rack": {
      "rack": "text",
      "rentedUnits": 1
    },
    "dateStart": "text",
    "dateEnd": "text",
    "dateCancelled": "text",
    "dateEndContract": "text",
    "contractPeriod": 1,
    "extendPeriod": 1,
    "cancellationPeriod": 1,
    "purchaseOrder": "text",
    "paymentTerm": 1,
    "pricePerMonth": "text",
    "pricePerTbOveruse": "text",
    "currencyId": 1,
    "bandwidthBillingType": 1,
    "bandwidthContractual": 1,
    "trafficSum": 1,
    "trafficSumMonthMbit": 1,
    "outgoingTrafficSum": 1,
    "incomingTrafficSum": 1,
    "powerMaxAmpere": "text",
    "powerKwhPrice": "text",
    "powerMeter": 1,
    "powerSumHistory": [
      {
        "date": "text",
        "powerMeter": "text",
        "powerUsed": "text"
      }
    ],
    "network": [
      {
        "vlanId": 1,
        "ipRange": [
          {
            "network": "text",
            "netmask": "text",
            "prefix": "text",
            "gateway": "text",
            "vrrp1": "text",
            "vrrp2": "text",
            "rDns": [
              {
                "hostname": "text",
                "ip": "text"
              }
            ]
          }
        ],
        "ipRangeCustom": [
          {
            "networkStart": "text",
            "networkEnd": "text",
            "gateway": "text",
            "vrrp1": "text",
            "vrrp2": "text",
            "rDns": [
              {
                "hostname": "text",
                "ip": "text"
              }
            ]
          }
        ]
      }
    ],
    "uplinks": [
      {
        "uplinkId": 1,
        "aggregate": true
      }
    ],
    "unlimitedIngress": 1
  }
]

Update the colocated server by ID

put
Authorizations
Path parameters
colocationIdintegerRequired
Body
idinteger · integerRead-onlyRequired

The ID of the colocation service

namestringOptional

The name of the colocation service

datacenterall ofRead-onlyRequired

The data center details

rackall ofRead-onlyRequired

The rack details in which the server is installed

dateStartstringRead-onlyRequired

Contract start date

dateEndstringRead-onlyRequired

The date until which the service is paid

dateCancelledstringRead-onlyRequired

Contract cancel date if contract is cancelled

dateEndContractstringRead-onlyRequired

Contract end date

contractPeriodinteger · integerRead-onlyRequired

The duration of the contract in months

extendPeriodinteger · integerRead-onlyRequired

The extended period of the contract in months

cancellationPeriodinteger · integerRead-onlyRequired

The cancellation period in months

purchaseOrderstringOptional

The order-name to which the server belongs

paymentTerminteger · integerRead-onlyRequired

The duration in which the invoice has to be paid after receiving.

pricePerMonthstringRead-onlyRequired

The price of this colocated server per month in cents

pricePerTbOverusestringRead-onlyRequired

The price of traffic overuse in cents (per TB) (see currencyId for currency)

currencyIdinteger · integerRead-onlyRequired

The currency in which the various 'price' fields are:

  • 0: EURO
  • 1: USD
  • 9: YEN
bandwidthBillingTypeinteger · integerRead-onlyRequired

The bandwidth billing method for this service:

  • 1: unmetered connection
  • 2: measured in TB per month
  • 3: measured in mbit 95th percentile
bandwidthContractualinteger · integerRead-onlyRequired

The contractual maximum bandwidth usage value. In GB if bandwidthBillingType equals 2, in mbit otherwise

trafficSuminteger · integerRead-onlyRequired

The total used traffic (Mbit or GB, incoming + outgoing)

trafficSumMonthMbitinteger · integerRead-onlyRequired

The total used traffic (Mbit) for 95th percentile

outgoingTrafficSuminteger · integerRead-onlyRequired

The outgoing traffic (Mbit or GB)

incomingTrafficSuminteger · integerRead-onlyRequired

The incoming traffic (Mbit or GB)

powerMaxAmperestringRead-onlyRequired

Contractual maximum usable amperage

powerKwhPricestringRead-onlyRequired

The power price per kWh in cents

powerMeterinteger · integerRead-onlyRequired

The current power meter(kWh)

unlimitedIngressinteger · integerRead-onlyRequired

Does the service have free incoming traffic?

Responses
200
OK
application/json
put
PUT /v3/colocation/{colocationId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 38

{
  "name": "text",
  "purchaseOrder": "text"
}
[
  {
    "id": 1,
    "name": "text",
    "datacenter": {
      "address": {
        "name": "text",
        "address": "text",
        "zipCode": "text",
        "city": "text",
        "country": "text"
      },
      "contact": {
        "phoneNumber": "text",
        "emergencyPhoneNumber": "text",
        "faxNumber": "text",
        "emailAddress": "text"
      },
      "wifi": {
        "networkName": "text",
        "userName": "text",
        "password": "text"
      }
    },
    "rack": {
      "rack": "text",
      "rentedUnits": 1
    },
    "dateStart": "text",
    "dateEnd": "text",
    "dateCancelled": "text",
    "dateEndContract": "text",
    "contractPeriod": 1,
    "extendPeriod": 1,
    "cancellationPeriod": 1,
    "purchaseOrder": "text",
    "paymentTerm": 1,
    "pricePerMonth": "text",
    "pricePerTbOveruse": "text",
    "currencyId": 1,
    "bandwidthBillingType": 1,
    "bandwidthContractual": 1,
    "trafficSum": 1,
    "trafficSumMonthMbit": 1,
    "outgoingTrafficSum": 1,
    "incomingTrafficSum": 1,
    "powerMaxAmpere": "text",
    "powerKwhPrice": "text",
    "powerMeter": 1,
    "powerSumHistory": [
      {
        "date": "text",
        "powerMeter": "text",
        "powerUsed": "text"
      }
    ],
    "network": [
      {
        "vlanId": 1,
        "ipRange": [
          {
            "network": "text",
            "netmask": "text",
            "prefix": "text",
            "gateway": "text",
            "vrrp1": "text",
            "vrrp2": "text",
            "rDns": [
              {
                "hostname": "text",
                "ip": "text"
              }
            ]
          }
        ],
        "ipRangeCustom": [
          {
            "networkStart": "text",
            "networkEnd": "text",
            "gateway": "text",
            "vrrp1": "text",
            "vrrp2": "text",
            "rDns": [
              {
                "hostname": "text",
                "ip": "text"
              }
            ]
          }
        ]
      }
    ],
    "uplinks": [
      {
        "uplinkId": 1,
        "aggregate": true
      }
    ],
    "unlimitedIngress": 1
  }
]

Get all the invoices for a specific colocated service

get
Authorizations
Path parameters
colocationIdintegerRequired

ID of the colocated service to fetch invoices for

Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/colocation/{colocationId}/invoice HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": "text",
    "creationDate": 1,
    "dueDate": 1,
    "invoiceNumber": "text",
    "invoiceHash": "text",
    "description": "text",
    "currency": "text",
    "currencySign": "text",
    "amountIncVAT": "text",
    "amountExclVAT": "text",
    "paymentStatus": 1,
    "paymentDate": 1,
    "isCredit": 1,
    "remainingAmount": "text",
    "totalPaidAmount": "text"
  }
]

Get all the PDUs for a specific colocated service

get
Authorizations
Path parameters
colocationIdintegerRequired

ID of the colocated service to fetch PDUs for

Responses
200
OK
application/json
get
GET /v3/colocation/{colocationId}/pdu HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "name": "text",
    "serial": "text",
    "updatedAt": 1,
    "inputFeedType": "text",
    "outlets": 1,
    "phases": 1,
    "powerMeter": 1,
    "powerFactor": 1,
    "amperage": 1,
    "peakAmperage": 1,
    "voltage": 1,
    "minVoltage": 1,
    "conduits": [
      {
        "conduitName": "text",
        "powerMeter": 1,
        "amperage": 1,
        "peakAmperage": 1
      }
    ]
  }
]

Get the traffic usage data for the last day

get
Authorizations
Path parameters
colocationIdintegerRequired

ID of the colocated server to fetch traffic for

upLinkIdintegerRequired

ID of the uplink to fetch traffic for

Query parameters
startTimeintegerOptional

Start unix timestamp

endTimeintegerOptional

End unix timestamp

Responses
200
OK
application/json
get
GET /v3/colocation/{colocationId}/network/usage/{upLinkId}/raw HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "unit": "text",
    "data": [
      {
        "timestamp": 1,
        "ingress": "text",
        "egress": "text",
        "sum": "text"
      }
    ]
  }
]

Get the traffic usage graph (last year)

get
Authorizations
Path parameters
colocationIdintegerRequired

ID of the colocated server to fetch traffic for

upLinkIdintegerRequired

ID of the uplink to fetch traffic for

Responses
200
Base64 encoded image string
application/json
Responsestring[]
get
GET /v3/colocation/{colocationId}/network/usage/{upLinkId}/graph/year HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  "text"
]

Get the traffic usage graph (last 30 days)

get
Authorizations
Path parameters
colocationIdintegerRequired

ID of the colocated server to fetch traffic for

upLinkIdintegerRequired

ID of the uplink to fetch traffic for

Responses
200
Base64 encoded image string
application/json
Responsestring[]
get
GET /v3/colocation/{colocationId}/network/usage/{upLinkId}/graph/month HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  "text"
]

Get the traffic usage graph (last 7 days)

get
Authorizations
Path parameters
colocationIdintegerRequired

ID of the colocated server to fetch traffic for

upLinkIdintegerRequired

ID of the uplink to fetch traffic for

Responses
200
Base64 encoded image string
application/json
Responsestring[]
get
GET /v3/colocation/{colocationId}/network/usage/{upLinkId}/graph/week HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  "text"
]

Get the traffic usage graph (last 24 hours)

get
Authorizations
Path parameters
colocationIdintegerRequired

ID of the colocated server to fetch traffic for

upLinkIdintegerRequired

ID of the uplink to fetch traffic for

Responses
200
Base64 encoded image string
application/json
Responsestring[]
get
GET /v3/colocation/{colocationId}/network/usage/{upLinkId}/graph/day HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  "text"
]

Get all the alerts linked to the colocated server

get
Authorizations
Path parameters
colocationIdintegerRequired

ID of the colocated server to get the alerts for

Responses
200
OK
application/json
get
GET /v3/colocation/{colocationId}/alert HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "percentage": 1,
    "sendMail": 1,
    "sendTicket": 1,
    "triggered": 1,
    "createdAt": 1
  }
]

Create alert for the colocated server

post
Authorizations
Path parameters
colocationIdintegerRequired

ID of the colocated server to create an alert for

Body
idinteger · integerRead-onlyRequired

Colocation alert ID

percentageinteger · integerRequired

At what percentage of bandwidth usage to trigger the alert

sendMailinteger · integerRequired

Will send an email notification when alert is triggered

sendTicketinteger · integerRequired

WIll create a ticket notification when alert is triggered

triggeredinteger · integerRead-onlyRequired

UNIX timestamp of the last time the alert was triggered

createdAtinteger · integerRead-onlyRequired

UNIX timestamp of the time the alert was created

Responses
200
OK
application/json
post
POST /v3/colocation/{colocationId}/alert HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 44

{
  "percentage": 1,
  "sendMail": 1,
  "sendTicket": 1
}
[
  {
    "id": 1,
    "percentage": 1,
    "sendMail": 1,
    "sendTicket": 1,
    "triggered": 1,
    "createdAt": 1
  }
]

Update colocated server alert

put
Authorizations
Path parameters
colocationIdintegerRequired

ID of the colocated server that the alert belongs to

colocationAlertIdintegerRequired

ID of the host alert to update

Body
idinteger · integerRead-onlyRequired

Colocation alert ID

percentageinteger · integerRequired

At what percentage of bandwidth usage to trigger the alert

sendMailinteger · integerRequired

Will send an email notification when alert is triggered

sendTicketinteger · integerRequired

WIll create a ticket notification when alert is triggered

triggeredinteger · integerRead-onlyRequired

UNIX timestamp of the last time the alert was triggered

createdAtinteger · integerRead-onlyRequired

UNIX timestamp of the time the alert was created

Responses
200
OK
application/json
put
PUT /v3/colocation/{colocationId}/alert/{colocationAlertId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 44

{
  "percentage": 1,
  "sendMail": 1,
  "sendTicket": 1
}
[
  {
    "id": 1,
    "percentage": 1,
    "sendMail": 1,
    "sendTicket": 1,
    "triggered": 1,
    "createdAt": 1
  }
]

Delete colocated server alert

delete
Authorizations
Path parameters
colocationIdintegerRequired

ID of the colocated server that the alert belongs to

colocationAlertIdintegerRequired

ID of the alert to delete

Responses
204
No Content
delete
DELETE /v3/colocation/{colocationId}/alert/{colocationAlertId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Cancel the colocated server

put
Authorizations
Path parameters
colocationIdintegerRequired

ID of the colocated server that the cancellation should applied to

Responses
204
No Content
put
PUT /v3/colocation/{colocationId}/cancel HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Revert the cancellation of a colocated server

put
Authorizations
Path parameters
colocationIdintegerRequired

ID of the cancelled colocated server that should be reverted

Responses
204
No Content
put
PUT /v3/colocation/{colocationId}/cancel/revert HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Get the list of all cross connect

get
Authorizations
Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/crossConnect HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "dateStart": "text",
    "dateEnd": "text",
    "dateCancelled": "text",
    "dateEndContract": "text",
    "contractPeriod": 1,
    "extendPeriod": 1,
    "cancellationPeriod": 1,
    "paymentTerm": 1,
    "purchaseOrder": "text",
    "monthlyFee": "text",
    "setupFee": "text",
    "currencyId": 1,
    "colocatedServerId": 1,
    "hostId": 1,
    "locationIdSideA": 1,
    "locationIdSideAName": "text",
    "locationIdSideZ": 1,
    "locationIdSideZName": "text",
    "locationDetails": "text",
    "rackIdSideA": 1,
    "rackIdSideAName": "text",
    "rackIdSideZ": 1,
    "rackIdSideZName": "text",
    "goLiveDate": "text",
    "internalId": "text",
    "patchInternalName": "text",
    "patchCustomerName": "text",
    "thirdPartyId": "text",
    "vendorId": 1,
    "cableType": 1,
    "cableSpeed": 1,
    "connectorSideAType": 1,
    "connectorSideZType": 1,
    "diverseFromPatchId": 1,
    "customerNotes": "text",
    "uplinks": [
      {
        "side": "text",
        "uplinkId": 1
      }
    ],
    "connectivityType": "text",
    "outgoingTrafficSum": 1,
    "incomingTrafficSum": 1,
    "bandwidthBillingType": 1
  }
]

Get the list of all cross connect

get
Authorizations
Path parameters
crossConnectIdintegerRequired

The ID of the cross connect

Responses
200
OK
application/json
get
GET /v3/crossConnect/{crossConnectId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "dateStart": "text",
    "dateEnd": "text",
    "dateCancelled": "text",
    "dateEndContract": "text",
    "contractPeriod": 1,
    "extendPeriod": 1,
    "cancellationPeriod": 1,
    "paymentTerm": 1,
    "purchaseOrder": "text",
    "monthlyFee": "text",
    "setupFee": "text",
    "currencyId": 1,
    "colocatedServerId": 1,
    "hostId": 1,
    "locationIdSideA": 1,
    "locationIdSideAName": "text",
    "locationIdSideZ": 1,
    "locationIdSideZName": "text",
    "locationDetails": "text",
    "rackIdSideA": 1,
    "rackIdSideAName": "text",
    "rackIdSideZ": 1,
    "rackIdSideZName": "text",
    "goLiveDate": "text",
    "internalId": "text",
    "patchInternalName": "text",
    "patchCustomerName": "text",
    "thirdPartyId": "text",
    "vendorId": 1,
    "cableType": 1,
    "cableSpeed": 1,
    "connectorSideAType": 1,
    "connectorSideZType": 1,
    "diverseFromPatchId": 1,
    "customerNotes": "text",
    "uplinks": [
      {
        "side": "text",
        "uplinkId": 1
      }
    ],
    "connectivityType": "text",
    "outgoingTrafficSum": 1,
    "incomingTrafficSum": 1,
    "bandwidthBillingType": 1
  }
]

Update the cross connect by ID

put
Authorizations
Path parameters
crossConnectIdintegerRequired
Body
idinteger · integerRead-onlyRequired

Cross connect ID

dateStartstringRead-onlyRequired

Start date of the cross connect

dateEndstringRead-onlyRequired

End date of the cross connect

dateCancelledstringRead-onlyRequired

Cancelled date of the cross connect

dateEndContractstringRead-onlyRequired

End contract date of the cross connect

contractPeriodinteger · integerRead-onlyRequired

Contract period of the cross connect

extendPeriodinteger · integerRead-onlyRequired

Extend period of the cross connect

cancellationPeriodinteger · integerRead-onlyRequired

The cancellation period in months

paymentTerminteger · integerRead-onlyRequired

Payment term of the cross connect

purchaseOrderstringOptional

Purchase order of the cross connect

monthlyFeestringRead-onlyRequired

Monthly fee of the cross connect in cents

setupFeestringRead-onlyRequired

Setup fee of the cross connect in cents

currencyIdinteger · integerRead-onlyRequired

The currency ID

  • 0: EURO
  • 1: USD
  • 9: YEN
colocatedServerIdinteger · integerRead-onlyRequired

Colocated server ID

hostIdinteger · integerRead-onlyRequired

Host ID

locationIdSideAinteger · integerRead-onlyRequired

Location ID of the Side A

locationIdSideANamestringRead-onlyRequired

Location name of the Side A

locationIdSideZinteger · integerRead-onlyRequired

Location ID of the Side B

locationIdSideZNamestringRead-onlyRequired

Location name of the Side B

locationDetailsstringRead-onlyRequired

Location details

rackIdSideAinteger · integerRead-onlyRequired

Rack ID of the Side A

rackIdSideANamestringRead-onlyRequired

Rack Name of the Side A

rackIdSideZinteger · integerRead-onlyRequired

Rack ID of the Side B

rackIdSideZNamestringRead-onlyRequired

Rack Name of the Side B

goLiveDatestringRead-onlyRequired

Go live date

internalIdstringRead-onlyRequired

Internal ID of the service

patchInternalNamestringRead-onlyRequired

Internal name of the patch

patchCustomerNamestringOptional

Customer name of the patch

thirdPartyIdstringRead-onlyRequired

Third party ID of the service

vendorIdinteger · integerRead-onlyRequired

Vendor ID of the service

cableTypeinteger · integerRead-onlyRequired

Type of cable

cableSpeedinteger · integerRead-onlyRequired

Cable speed

connectorSideATypeinteger · integerRead-onlyRequired

Connector of Side A

connectorSideZTypeinteger · integerRead-onlyRequired

Connector of Side Z

diverseFromPatchIdinteger · integerRead-onlyRequired

Diverse from patch id

customerNotesstringRead-onlyRequired

Notes of the customer

connectivityTypestringRead-onlyRequired

The type of connectivity service Following will be possible values:

  • Connectivity: Transport
  • Connectivity: IP connectivity
  • Connectivity: Crossconnect
outgoingTrafficSuminteger · integerRead-onlyRequired

The outgoing traffic (Mbit or GB - defined by "bandwidthBillingType")

incomingTrafficSuminteger · integerRead-onlyRequired

The incoming traffic (Mbit or GB - defined by "bandwidthBillingType")

bandwidthBillingTypeinteger · integerRead-onlyRequired

The bandwidth billing method for this service:

  • 1: unmetered connection
  • 2: measured in TB per month
  • 3: measured in mbit 95th percentile
Responses
200
OK
application/json
put
PUT /v3/crossConnect/{crossConnectId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 51

{
  "purchaseOrder": "text",
  "patchCustomerName": "text"
}
[
  {
    "id": 1,
    "dateStart": "text",
    "dateEnd": "text",
    "dateCancelled": "text",
    "dateEndContract": "text",
    "contractPeriod": 1,
    "extendPeriod": 1,
    "cancellationPeriod": 1,
    "paymentTerm": 1,
    "purchaseOrder": "text",
    "monthlyFee": "text",
    "setupFee": "text",
    "currencyId": 1,
    "colocatedServerId": 1,
    "hostId": 1,
    "locationIdSideA": 1,
    "locationIdSideAName": "text",
    "locationIdSideZ": 1,
    "locationIdSideZName": "text",
    "locationDetails": "text",
    "rackIdSideA": 1,
    "rackIdSideAName": "text",
    "rackIdSideZ": 1,
    "rackIdSideZName": "text",
    "goLiveDate": "text",
    "internalId": "text",
    "patchInternalName": "text",
    "patchCustomerName": "text",
    "thirdPartyId": "text",
    "vendorId": 1,
    "cableType": 1,
    "cableSpeed": 1,
    "connectorSideAType": 1,
    "connectorSideZType": 1,
    "diverseFromPatchId": 1,
    "customerNotes": "text",
    "uplinks": [
      {
        "side": "text",
        "uplinkId": 1
      }
    ],
    "connectivityType": "text",
    "outgoingTrafficSum": 1,
    "incomingTrafficSum": 1,
    "bandwidthBillingType": 1
  }
]

Get all the invoices for a specific cross connect

get
Authorizations
Path parameters
crossConnectIdintegerRequired

The ID of the cross connect

Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/crossConnect/{crossConnectId}/invoice HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "dateStart": "text",
    "dateEnd": "text",
    "dateCancelled": "text",
    "dateEndContract": "text",
    "contractPeriod": 1,
    "extendPeriod": 1,
    "cancellationPeriod": 1,
    "paymentTerm": 1,
    "purchaseOrder": "text",
    "monthlyFee": "text",
    "setupFee": "text",
    "currencyId": 1,
    "colocatedServerId": 1,
    "hostId": 1,
    "locationIdSideA": 1,
    "locationIdSideAName": "text",
    "locationIdSideZ": 1,
    "locationIdSideZName": "text",
    "locationDetails": "text",
    "rackIdSideA": 1,
    "rackIdSideAName": "text",
    "rackIdSideZ": 1,
    "rackIdSideZName": "text",
    "goLiveDate": "text",
    "internalId": "text",
    "patchInternalName": "text",
    "patchCustomerName": "text",
    "thirdPartyId": "text",
    "vendorId": 1,
    "cableType": 1,
    "cableSpeed": 1,
    "connectorSideAType": 1,
    "connectorSideZType": 1,
    "diverseFromPatchId": 1,
    "customerNotes": "text",
    "uplinks": [
      {
        "side": "text",
        "uplinkId": 1
      }
    ],
    "connectivityType": "text",
    "outgoingTrafficSum": 1,
    "incomingTrafficSum": 1,
    "bandwidthBillingType": 1
  }
]

cancel the cross connect by ID

put
Authorizations
Path parameters
crossConnectIdintegerRequired
Body
idinteger · integerRead-onlyRequired

Cross connect ID

dateStartstringRead-onlyRequired

Start date of the cross connect

dateEndstringRead-onlyRequired

End date of the cross connect

dateCancelledstringRead-onlyRequired

Cancelled date of the cross connect

dateEndContractstringRead-onlyRequired

End contract date of the cross connect

contractPeriodinteger · integerRead-onlyRequired

Contract period of the cross connect

extendPeriodinteger · integerRead-onlyRequired

Extend period of the cross connect

cancellationPeriodinteger · integerRead-onlyRequired

The cancellation period in months

paymentTerminteger · integerRead-onlyRequired

Payment term of the cross connect

purchaseOrderstringOptional

Purchase order of the cross connect

monthlyFeestringRead-onlyRequired

Monthly fee of the cross connect in cents

setupFeestringRead-onlyRequired

Setup fee of the cross connect in cents

currencyIdinteger · integerRead-onlyRequired

The currency ID

  • 0: EURO
  • 1: USD
  • 9: YEN
colocatedServerIdinteger · integerRead-onlyRequired

Colocated server ID

hostIdinteger · integerRead-onlyRequired

Host ID

locationIdSideAinteger · integerRead-onlyRequired

Location ID of the Side A

locationIdSideANamestringRead-onlyRequired

Location name of the Side A

locationIdSideZinteger · integerRead-onlyRequired

Location ID of the Side B

locationIdSideZNamestringRead-onlyRequired

Location name of the Side B

locationDetailsstringRead-onlyRequired

Location details

rackIdSideAinteger · integerRead-onlyRequired

Rack ID of the Side A

rackIdSideANamestringRead-onlyRequired

Rack Name of the Side A

rackIdSideZinteger · integerRead-onlyRequired

Rack ID of the Side B

rackIdSideZNamestringRead-onlyRequired

Rack Name of the Side B

goLiveDatestringRead-onlyRequired

Go live date

internalIdstringRead-onlyRequired

Internal ID of the service

patchInternalNamestringRead-onlyRequired

Internal name of the patch

patchCustomerNamestringOptional

Customer name of the patch

thirdPartyIdstringRead-onlyRequired

Third party ID of the service

vendorIdinteger · integerRead-onlyRequired

Vendor ID of the service

cableTypeinteger · integerRead-onlyRequired

Type of cable

cableSpeedinteger · integerRead-onlyRequired

Cable speed

connectorSideATypeinteger · integerRead-onlyRequired

Connector of Side A

connectorSideZTypeinteger · integerRead-onlyRequired

Connector of Side Z

diverseFromPatchIdinteger · integerRead-onlyRequired

Diverse from patch id

customerNotesstringRead-onlyRequired

Notes of the customer

connectivityTypestringRead-onlyRequired

The type of connectivity service Following will be possible values:

  • Connectivity: Transport
  • Connectivity: IP connectivity
  • Connectivity: Crossconnect
outgoingTrafficSuminteger · integerRead-onlyRequired

The outgoing traffic (Mbit or GB - defined by "bandwidthBillingType")

incomingTrafficSuminteger · integerRead-onlyRequired

The incoming traffic (Mbit or GB - defined by "bandwidthBillingType")

bandwidthBillingTypeinteger · integerRead-onlyRequired

The bandwidth billing method for this service:

  • 1: unmetered connection
  • 2: measured in TB per month
  • 3: measured in mbit 95th percentile
Responses
204
No Content
put
PUT /v3/crossConnect/{crossConnectId}/cancel HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 51

{
  "purchaseOrder": "text",
  "patchCustomerName": "text"
}

No content

Revert the cancellation of a cross connect by ID

put
Authorizations
Path parameters
crossConnectIdintegerRequired
Body
idinteger · integerRead-onlyRequired

Cross connect ID

dateStartstringRead-onlyRequired

Start date of the cross connect

dateEndstringRead-onlyRequired

End date of the cross connect

dateCancelledstringRead-onlyRequired

Cancelled date of the cross connect

dateEndContractstringRead-onlyRequired

End contract date of the cross connect

contractPeriodinteger · integerRead-onlyRequired

Contract period of the cross connect

extendPeriodinteger · integerRead-onlyRequired

Extend period of the cross connect

cancellationPeriodinteger · integerRead-onlyRequired

The cancellation period in months

paymentTerminteger · integerRead-onlyRequired

Payment term of the cross connect

purchaseOrderstringOptional

Purchase order of the cross connect

monthlyFeestringRead-onlyRequired

Monthly fee of the cross connect in cents

setupFeestringRead-onlyRequired

Setup fee of the cross connect in cents

currencyIdinteger · integerRead-onlyRequired

The currency ID

  • 0: EURO
  • 1: USD
  • 9: YEN
colocatedServerIdinteger · integerRead-onlyRequired

Colocated server ID

hostIdinteger · integerRead-onlyRequired

Host ID

locationIdSideAinteger · integerRead-onlyRequired

Location ID of the Side A

locationIdSideANamestringRead-onlyRequired

Location name of the Side A

locationIdSideZinteger · integerRead-onlyRequired

Location ID of the Side B

locationIdSideZNamestringRead-onlyRequired

Location name of the Side B

locationDetailsstringRead-onlyRequired

Location details

rackIdSideAinteger · integerRead-onlyRequired

Rack ID of the Side A

rackIdSideANamestringRead-onlyRequired

Rack Name of the Side A

rackIdSideZinteger · integerRead-onlyRequired

Rack ID of the Side B

rackIdSideZNamestringRead-onlyRequired

Rack Name of the Side B

goLiveDatestringRead-onlyRequired

Go live date

internalIdstringRead-onlyRequired

Internal ID of the service

patchInternalNamestringRead-onlyRequired

Internal name of the patch

patchCustomerNamestringOptional

Customer name of the patch

thirdPartyIdstringRead-onlyRequired

Third party ID of the service

vendorIdinteger · integerRead-onlyRequired

Vendor ID of the service

cableTypeinteger · integerRead-onlyRequired

Type of cable

cableSpeedinteger · integerRead-onlyRequired

Cable speed

connectorSideATypeinteger · integerRead-onlyRequired

Connector of Side A

connectorSideZTypeinteger · integerRead-onlyRequired

Connector of Side Z

diverseFromPatchIdinteger · integerRead-onlyRequired

Diverse from patch id

customerNotesstringRead-onlyRequired

Notes of the customer

connectivityTypestringRead-onlyRequired

The type of connectivity service Following will be possible values:

  • Connectivity: Transport
  • Connectivity: IP connectivity
  • Connectivity: Crossconnect
outgoingTrafficSuminteger · integerRead-onlyRequired

The outgoing traffic (Mbit or GB - defined by "bandwidthBillingType")

incomingTrafficSuminteger · integerRead-onlyRequired

The incoming traffic (Mbit or GB - defined by "bandwidthBillingType")

bandwidthBillingTypeinteger · integerRead-onlyRequired

The bandwidth billing method for this service:

  • 1: unmetered connection
  • 2: measured in TB per month
  • 3: measured in mbit 95th percentile
Responses
200
OK
application/json
put
PUT /v3/crossConnect/{crossConnectId}/cancel/revert HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 51

{
  "purchaseOrder": "text",
  "patchCustomerName": "text"
}
[
  {
    "id": 1,
    "dateStart": "text",
    "dateEnd": "text",
    "dateCancelled": "text",
    "dateEndContract": "text",
    "contractPeriod": 1,
    "extendPeriod": 1,
    "cancellationPeriod": 1,
    "paymentTerm": 1,
    "purchaseOrder": "text",
    "monthlyFee": "text",
    "setupFee": "text",
    "currencyId": 1,
    "colocatedServerId": 1,
    "hostId": 1,
    "locationIdSideA": 1,
    "locationIdSideAName": "text",
    "locationIdSideZ": 1,
    "locationIdSideZName": "text",
    "locationDetails": "text",
    "rackIdSideA": 1,
    "rackIdSideAName": "text",
    "rackIdSideZ": 1,
    "rackIdSideZName": "text",
    "goLiveDate": "text",
    "internalId": "text",
    "patchInternalName": "text",
    "patchCustomerName": "text",
    "thirdPartyId": "text",
    "vendorId": 1,
    "cableType": 1,
    "cableSpeed": 1,
    "connectorSideAType": 1,
    "connectorSideZType": 1,
    "diverseFromPatchId": 1,
    "customerNotes": "text",
    "uplinks": [
      {
        "side": "text",
        "uplinkId": 1
      }
    ],
    "connectivityType": "text",
    "outgoingTrafficSum": 1,
    "incomingTrafficSum": 1,
    "bandwidthBillingType": 1
  }
]

Get the traffic usage graph (last year)

get
Authorizations
Path parameters
crossConnectIdintegerRequired

ID of the cross connect to fetch traffic for

upLinkIdintegerRequired

ID of the uplink to fetch traffic for

Responses
200
Base64 encoded image string
application/json
Responsestring[]
get
GET /v3/crossConnect/{crossConnectId}/network/usage/{upLinkId}/graph/year HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  "text"
]

Get the traffic usage graph (last 30 days)

get
Authorizations
Path parameters
crossConnectIdintegerRequired

ID of the cross connect to fetch traffic for

upLinkIdintegerRequired

ID of the uplink to fetch traffic for

Responses
200
Base64 encoded image string
application/json
Responsestring[]
get
GET /v3/crossConnect/{crossConnectId}/network/usage/{upLinkId}/graph/month HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  "text"
]

Get the traffic usage graph (last 7 days)

get
Authorizations
Path parameters
crossConnectIdintegerRequired

ID of the cross connect to fetch traffic for

upLinkIdintegerRequired

ID of the uplink to fetch traffic for

Responses
200
Base64 encoded image string
application/json
Responsestring[]
get
GET /v3/crossConnect/{crossConnectId}/network/usage/{upLinkId}/graph/week HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  "text"
]

Get the traffic usage graph (last 24 hours)

get
Authorizations
Path parameters
crossConnectIdintegerRequired

ID of the cross connect to fetch traffic for

upLinkIdintegerRequired

ID of the uplink to fetch traffic for

Responses
200
Base64 encoded image string
application/json
Responsestring[]
get
GET /v3/crossConnect/{crossConnectId}/network/usage/{upLinkId}/graph/day HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  "text"
]

Set RDNS hostname for IP

put
Authorizations
Path parameters
colocationIdintegerRequired

ID of the colocation-service to which IP address belongs to

ipAddressstringRequired

IP address to set RDNS entry for

Body
hostnamestringRequired

The hostname

ipstringRead-onlyRequired

The corresponding ip for the host

Responses
204
No Content
put
PUT /v3/colocation/{colocationId}/network/rdns/{ipAddress} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 19

{
  "hostname": "text"
}

No content

Switch server port rate limit

put
Authorizations
Path parameters
serverIdintegerRequired

ID of the server

Body
serverIdinteger · integerRequired

Server ID

networkInterfaceIdinteger · integerRequired

Network Interface ID or graphUrl

rateLimitinteger · integerRequired

Port rate limit

Responses
204
No Content
put
PUT /v3/server/{serverId}/pxe/switchportratelimit HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 51

{
  "serverId": 1,
  "networkInterfaceId": 1,
  "rateLimit": 1
}

No content

Switch server port speed

put
Authorizations
Path parameters
serverIdintegerRequired

ID of the server

Body
serverIdinteger · integerRequired

Server ID

networkInterfaceIdinteger · integerRequired

Network Interface ID or graphUrl

portSpeedinteger · integerRequired

Port Speed

Responses
204
No Content
put
PUT /v3/server/{serverId}/pxe/switchportspeed HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 51

{
  "serverId": 1,
  "networkInterfaceId": 1,
  "portSpeed": 1
}

No content

Switch server port admin state

put
Authorizations
Path parameters
serverIdintegerRequired

ID of the server

Body
serverIdinteger · integerRequired

Server ID

networkInterfaceIdinteger · integerRequired

Network Interface ID or graphUrl

stateinteger · integerRequired

Port admin state

Responses
204
No Content
put
PUT /v3/server/{serverId}/pxe/switchportadminstate HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 47

{
  "serverId": 1,
  "networkInterfaceId": 1,
  "state": 1
}

No content

Get all the available operating systems

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/operatingsystem HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "name": "text",
    "slug": "text",
    "osGroup": 1,
    "isOdp": 1,
    "availableForFlexMetal": 1,
    "active": 1
  }
]

Get the list of all your slack settings

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/slackSetting HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": "text",
    "name": "text",
    "webHookUrl": "text",
    "channel": "text",
    "userName": "text"
  }
]

Create a slack setting

post
Authorizations
Body
idstringRead-onlyRequired

The ID of the slack setting

namestringRequired

The slack setting name

webHookUrlstringRequired
channelstringRequired

The slack setting channel name

userNamestringRequired

The slack setting channel username

Responses
200
OK
application/json
post
POST /v3/slackSetting HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 70

{
  "name": "text",
  "webHookUrl": "text",
  "channel": "text",
  "userName": "text"
}
[
  {
    "id": "text",
    "name": "text",
    "webHookUrl": "text",
    "channel": "text",
    "userName": "text"
  }
]

Get a single slack setting

get
Authorizations
Path parameters
slackSettingIdstringRequired

The Id of the slack setting

Responses
200
OK
application/json
get
GET /v3/slackSetting/{slackSettingId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": "text",
    "name": "text",
    "webHookUrl": "text",
    "channel": "text",
    "userName": "text"
  }
]

Update a slack setting

put
Authorizations
Path parameters
slackSettingIdstringRequired

The Id of the slack setting

Body
idstringRead-onlyRequired

The ID of the slack setting

namestringRequired

The slack setting name

webHookUrlstringRequired
channelstringRequired

The slack setting channel name

userNamestringRequired

The slack setting channel username

Responses
200
OK
application/json
put
PUT /v3/slackSetting/{slackSettingId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 70

{
  "name": "text",
  "webHookUrl": "text",
  "channel": "text",
  "userName": "text"
}
[
  {
    "id": "text",
    "name": "text",
    "webHookUrl": "text",
    "channel": "text",
    "userName": "text"
  }
]

Remove a slack setting

delete
Authorizations
Path parameters
slackSettingIdstringRequired

The Id of the slack setting

Responses
204
No Content
delete
DELETE /v3/slackSetting/{slackSettingId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Get details of all invoices of a user

get
Authorizations
Query parameters
filterstringOptional

The filter to search for the description The filter parameter can be used to apply a more specific search, the only element that can be filtered is 'description'. The filter will be done on a part of the provided description (it should contain the searched element). E.g. we need to filter for a string "this is an example" Remember to urlencode the provided filter The final call would look like: /billing/invoice?filter=this%20is%20an%20example

Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/account/invoice HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": "text",
    "creationDate": 1,
    "dueDate": 1,
    "invoiceNumber": "text",
    "invoiceHash": "text",
    "description": "text",
    "currency": "text",
    "currencySign": "text",
    "amountIncVAT": "text",
    "amountExclVAT": "text",
    "paymentStatus": 1,
    "paymentDate": 1,
    "isCredit": 1,
    "remainingAmount": "text",
    "totalPaidAmount": "text"
  }
]

Get details of all unpaid invoices for a user (excluding credit invoices)

get
Authorizations
Query parameters
filterstringOptional

The filter to search for the description The filter parameter can be used to apply a more specific search, the only element that can be filtered is 'description'. The filter will be done on a part of the provided description (it should contain the searched element). E.g. we need to filter for a string "this is an example" Remember to urlencode the provided filter The final call would look like: /billing/invoice?filter=this%20is%20an%20example

Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/account/invoice/unpaid HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": "text",
    "creationDate": 1,
    "dueDate": 1,
    "invoiceNumber": "text",
    "invoiceHash": "text",
    "description": "text",
    "currency": "text",
    "currencySign": "text",
    "amountIncVAT": "text",
    "amountExclVAT": "text",
    "paymentStatus": 1,
    "paymentDate": 1,
    "isCredit": 1,
    "remainingAmount": "text",
    "totalPaidAmount": "text"
  }
]

Get invoice details by invoice ID

get
Authorizations
Path parameters
invoiceIdintegerRequired

ID of the invoice to fetch details about

Responses
200
OK
application/json
get
GET /v3/account/invoice/{invoiceId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "invoiceNumber": "text",
    "invoiceHash": "text",
    "clientNumber": "text",
    "creationDate": "text",
    "dueDate": "text",
    "paymentStatus": 1,
    "paymentDate": 1,
    "isCredit": 1,
    "paymentTerm": 1,
    "currency": "text",
    "currencySign": "text",
    "vatPercentage": 1,
    "vatAmount": "text",
    "amountIncVat": "text",
    "amountExclVat": "text",
    "items": [
      {
        "orderId": "text",
        "description": "text",
        "periodFrom": "text",
        "periodTo": "text",
        "remarks": "text",
        "quantity": 1,
        "setupCosts": "text",
        "unitPrice": "text",
        "vatPercentage": 1,
        "vatAmount": "text",
        "amountIncVat": "text",
        "amountExclVat": "text"
      }
    ],
    "clientDetails": {
      "fullName": "text",
      "companyName": "text",
      "email": "text",
      "address": "text",
      "zip": "text",
      "city": "text",
      "country": "text",
      "vatNumber": "text",
      "iban": "text",
      "bic": "text"
    },
    "companyDetails": {
      "name": "text",
      "address": "text",
      "zip": "text",
      "city": "text",
      "country": "text",
      "phone": "text",
      "email": "text",
      "url": "text",
      "iban": "text",
      "bic": "text"
    }
  }
]

Get invoice details by invoice number

get
Authorizations
Path parameters
invoiceNumberstringRequired

Number of the invoice to fetch details about

Responses
200
OK
application/json
get
GET /v3/account/invoice/number/{invoiceNumber} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "invoiceNumber": "text",
    "invoiceHash": "text",
    "clientNumber": "text",
    "creationDate": "text",
    "dueDate": "text",
    "paymentStatus": 1,
    "paymentDate": 1,
    "isCredit": 1,
    "paymentTerm": 1,
    "currency": "text",
    "currencySign": "text",
    "vatPercentage": 1,
    "vatAmount": "text",
    "amountIncVat": "text",
    "amountExclVat": "text",
    "items": [
      {
        "orderId": "text",
        "description": "text",
        "periodFrom": "text",
        "periodTo": "text",
        "remarks": "text",
        "quantity": 1,
        "setupCosts": "text",
        "unitPrice": "text",
        "vatPercentage": 1,
        "vatAmount": "text",
        "amountIncVat": "text",
        "amountExclVat": "text"
      }
    ],
    "clientDetails": {
      "fullName": "text",
      "companyName": "text",
      "email": "text",
      "address": "text",
      "zip": "text",
      "city": "text",
      "country": "text",
      "vatNumber": "text",
      "iban": "text",
      "bic": "text"
    },
    "companyDetails": {
      "name": "text",
      "address": "text",
      "zip": "text",
      "city": "text",
      "country": "text",
      "phone": "text",
      "email": "text",
      "url": "text",
      "iban": "text",
      "bic": "text"
    }
  }
]

Get invoice as PDF

get
Authorizations
Path parameters
invoiceIdintegerRequired

ID of the invoice to fetch details about

Responses
200
OK
application/pdf
Responsestring · binary
get
GET /v3/account/invoice/{invoiceId}/pdf HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
binary

Get prepared data for the front-end to begin the pay process of invoice(s)

get
Authorizations
Query parameters
invoiceIdsstringRequired

The invoiceId(s) to prepare pay data for separated by comma (,) Remember to urlencode the provided invoiceIds The invoiceIds call would look like: /v3/account/invoice/pay/prepare?invoiceIds=111111%2C22222%2C33333%2C44444

Responses
200
OK
application/json
get
GET /v3/account/invoice/pay/prepare HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "totalAmount": "text",
    "currency": "text",
    "currencySign": "text",
    "totalSelectedInvoiceForPay": 1,
    "totalSelectedCreditForSettle": 1,
    "accountCredit": "text",
    "invoicesForPay": [
      {
        "id": "text",
        "creationDate": 1,
        "dueDate": 1,
        "invoiceNumber": "text",
        "invoiceHash": "text",
        "description": "text",
        "currency": "text",
        "currencySign": "text",
        "amountIncVAT": "text",
        "amountExclVAT": "text",
        "paymentStatus": 1,
        "paymentDate": 1,
        "isCredit": 1,
        "remainingAmount": "text",
        "totalPaidAmount": "text"
      }
    ],
    "creditInvoices": [
      {
        "id": "text",
        "creationDate": 1,
        "dueDate": 1,
        "invoiceNumber": "text",
        "invoiceHash": "text",
        "description": "text",
        "currency": "text",
        "currencySign": "text",
        "amountIncVAT": "text",
        "amountExclVAT": "text",
        "paymentStatus": 1,
        "paymentDate": 1,
        "isCredit": 1,
        "remainingAmount": "text",
        "totalPaidAmount": "text"
      }
    ],
    "paymentMethod": [
      {
        "id": 1,
        "name": "text",
        "isSelectable": 1,
        "paymentProviderId": 1,
        "issuers": [
          {
            "id": "text",
            "name": "text"
          }
        ]
      }
    ]
  }
]

post invoice(s) data to register the transaction with the selected payment provider

post
Authorizations
Body
invoiceIdsstringRequired
paymentMethodIdinteger · integerRequired
issuerIdstringRequired
Responses
200
OK
application/json
post
POST /v3/account/invoice/pay/register HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 59

{
  "invoiceIds": "text",
  "paymentMethodId": 1,
  "issuerId": "text"
}
{
  "requestUrl": "text",
  "postFormInputs": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "accountCredit": "text",
  "totalAmount": "text",
  "paymentMethod": {
    "id": 1,
    "name": "text",
    "isSelectable": 1,
    "paymentProviderId": 1,
    "issuers": [
      {
        "id": "text",
        "name": "text"
      }
    ]
  },
  "invoicesForPay": [
    {
      "id": "text",
      "creationDate": 1,
      "dueDate": 1,
      "invoiceNumber": "text",
      "invoiceHash": "text",
      "description": "text",
      "currency": "text",
      "currencySign": "text",
      "amountIncVAT": "text",
      "amountExclVAT": "text",
      "paymentStatus": 1,
      "paymentDate": 1,
      "isCredit": 1,
      "remainingAmount": "text",
      "totalPaidAmount": "text"
    }
  ]
}

Get invoice plus extra information to show on landing page after payment

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/account/invoice/pay/paymentLanding HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
{
  "message": "text",
  "status": "text",
  "paymentMethod": "text",
  "invoices": [
    {
      "id": "text",
      "creationDate": 1,
      "dueDate": 1,
      "invoiceNumber": "text",
      "invoiceHash": "text",
      "description": "text",
      "currency": "text",
      "currencySign": "text",
      "amountIncVAT": "text",
      "amountExclVAT": "text",
      "paymentStatus": 1,
      "paymentDate": 1,
      "isCredit": 1,
      "remainingAmount": "text",
      "totalPaidAmount": "text"
    }
  ]
}

Get all available ping site

get
Authorizations
Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/pingsite HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "continentId": 1,
    "continentName": "text",
    "countryId": 1,
    "country": "text",
    "dcLocationId": 1,
    "dcLocationName": "text",
    "hostname": "text"
  }
]

Get all available ping site its detail beacon information

get
Authorizations
Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/pingsite/detail HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "continentId": 1,
    "continentName": "text",
    "countryId": 1,
    "countryName": "text",
    "dcLocationId": 1,
    "dcLocationName": "text",
    "regionName": "text",
    "beacons": [
      {
        "hostName": "text",
        "state": "text",
        "ip": "text"
      }
    ]
  }
]

Get all available ping site latency

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/pingsite/latency HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "authStatus": true,
    "authservice": true,
    "authuser": true,
    "responseTime": 1,
    "status": "text",
    "response": {
      "rpmRaw": [
        {
          "link": "text",
          "latency5m": "text",
          "latency1d": "text",
          "latency1w": "text",
          "latency30d": "text",
          "jitter": "text",
          "packetloss5m": "text",
          "packetloss1d": "text",
          "packetloss1w": "text",
          "packetloss30d": "text",
          "sourceRegion": true,
          "source": {
            "lat": "text",
            "lng": "text"
          },
          "destinationRegion": true,
          "destination": {
            "lat": "text",
            "lng": "text"
          }
        }
      ],
      "features": {
        "ok": [
          {
            "type": "text",
            "properties": {
              "link": "text",
              "description": "text"
            },
            "geometry": {
              "type": "text",
              "coordinates": [
                [
                  1
                ]
              ]
            }
          }
        ],
        "down": [
          {
            "type": "text",
            "properties": {
              "link": "text",
              "description": "text"
            },
            "geometry": {
              "type": "text",
              "coordinates": [
                [
                  1
                ]
              ]
            }
          }
        ],
        "loss": [
          {
            "type": "text",
            "properties": {
              "link": "text",
              "description": "text"
            },
            "geometry": {
              "type": "text",
              "coordinates": [
                [
                  1
                ]
              ]
            }
          }
        ]
      },
      "routerPoints": [
        {
          "type": "text",
          "properties": {
            "link": "text",
            "description": "text"
          },
          "geometry": {
            "type": "text",
            "coordinates": [
              1
            ]
          }
        }
      ]
    },
    "serverTime": "text"
  }
]

Get all available callback endpoints

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/callback HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "url": "text",
    "urlDescription": "text",
    "headers": "text"
  }
]

Create a callback

post
Authorizations
Body
idinteger · integerRead-onlyRequired

Callback setting ID, can be used as callbackSettingId in other endpoints.

urlstringRequired

This is the url that the system will use when the callback is executed.

urlDescriptionstringOptional

Description of the callback setting.

headersstringOptional

For sending additional meta information about the callback request.

Responses
200
OK
application/json
post
POST /v3/callback HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 55

{
  "url": "text",
  "urlDescription": "text",
  "headers": "text"
}
[
  {
    "id": 1,
    "url": "text",
    "urlDescription": "text",
    "headers": "text"
  }
]

Get a callback for a given callbackSettingId

get
Authorizations
Path parameters
callbackSettingIdintegerRequired

The Id of the callback setting

Responses
200
OK
application/json
get
GET /v3/callback/{callbackSettingId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "url": "text",
    "urlDescription": "text",
    "headers": "text"
  }
]

Update given callback

put
Authorizations
Path parameters
callbackSettingIdintegerRequired

The Id of the callback setting

Body
idinteger · integerRead-onlyRequired

Callback setting ID, can be used as callbackSettingId in other endpoints.

urlstringRequired

This is the url that the system will use when the callback is executed.

urlDescriptionstringOptional

Description of the callback setting.

headersstringOptional

For sending additional meta information about the callback request.

Responses
200
OK
application/json
put
PUT /v3/callback/{callbackSettingId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 55

{
  "url": "text",
  "urlDescription": "text",
  "headers": "text"
}
[
  {
    "id": 1,
    "url": "text",
    "urlDescription": "text",
    "headers": "text"
  }
]

Delete given callback

delete
Authorizations
Path parameters
callbackSettingIdintegerRequired

The Id of the callback setting

Responses
204
No Content
delete
DELETE /v3/callback/{callbackSettingId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Get logs of all API v3 request

get
Authorizations
Header parameters
RANGED-DATAstringRequired

Example header: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/account/apiLog HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
RANGED-DATA: text
Accept: */*
[
  {
    "request": {
      "url": "text",
      "method": "text",
      "header": {},
      "queryParameter": "text",
      "ipAddress": "text",
      "requestTimestamp": 1,
      "body": {}
    },
    "response": {
      "responseTime": 1,
      "code": 1,
      "body": {}
    }
  }
]

Get logs of all API v3 request for the given requestType

get
Authorizations
Path parameters
requestTypestringRequired

The Http method that was used in the call. Possible values are {GET, POST, PUT and DELETE}

Header parameters
RANGED-DATAstringRequired

Example header: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/account/apiLog/{requestType} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
RANGED-DATA: text
Accept: */*
[
  {
    "request": {
      "url": "text",
      "method": "text",
      "header": {},
      "queryParameter": "text",
      "ipAddress": "text",
      "requestTimestamp": 1,
      "body": {}
    },
    "response": {
      "responseTime": 1,
      "code": 1,
      "body": {}
    }
  }
]

Get list of all countries

get
Authorizations
Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/country HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "code": "text",
    "name": "text",
    "continent": "text"
  }
]

Sign up a new account

post
Authorizations
Body
emailAddressstringRequired

New Account Email Address

passwordstringRequired

New Account Password

firstNamestringRequired

First name.

lastNamestringRequired

Last name.

newsletterinteger · integerRequired

Whether or not newsletter is subscribed to

agreeTocinteger · integerRequired

Whether or not Terms and Conditions are agreed to. Cannot be changed after agreeing.

agreeAupinteger · integerRequired

Whether or not Acceptable Use Policy is agreed to. Cannot be changed after agreeing.

agreeDpainteger · integerRequired

Whether or not Data Processing Agreement is agreed to. Cannot be changed after agreeing.

Responses
200
OK
application/json
post
POST /v3/account/signUp HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 132

{
  "emailAddress": "text",
  "password": "text",
  "firstName": "text",
  "lastName": "text",
  "newsletter": 1,
  "agreeToc": 1,
  "agreeAup": 1,
  "agreeDpa": 1
}
[
  {
    "id": 1,
    "username": "text",
    "email": "text",
    "firstName": "text",
    "lastName": "text",
    "newsletter": 1,
    "agreeToc": 1,
    "agreeAup": 1,
    "agreeDpa": 1
  }
]

Change the password

put
Authorizations
Body
currentPasswordstringRequired

Current Password

newPasswordstringRequired

New Password

Responses
204
No Content
put
PUT /v3/account/password HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 47

{
  "currentPassword": "text",
  "newPassword": "text"
}

No content

Reset the password

post
Authorizations
Body
emailAddressstringRequired

Main Email Address

Responses
204
No Content
post
POST /v3/account/password/reset HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 23

{
  "emailAddress": "text"
}

No content

Validate the reset password

put
Authorizations
Body
newPasswordstringRequired

New Password

resetHashstringRequired

Reset Hash

Responses
204
No Content
put
PUT /v3/account/password/reset/validate HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 41

{
  "newPassword": "text",
  "resetHash": "text"
}

No content

Confirm email

put
Authorizations
Body
userIdinteger · integerRequired

UserId

hashstringRequired

Hash

Responses
200
OK
application/json
put
PUT /v3/account/email/confirm HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 26

{
  "userId": 1,
  "hash": "text"
}
{
  "emailAddress": "[email protected]",
  "emailType": "billing"
}

Resend email confirmation

post
Authorizations
Body
emailstringRequired

Email to resend the confirmation for

Responses
204
No Content
post
POST /v3/account/email/confirm/resend HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 16

{
  "email": "text"
}

No content

Resend email confirmation

post
Authorizations
Body
emailstringRequired

Email to resend the confirmation for

Responses
204
No Content
post
POST /v3/account/email/confirm/resend/oauth HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 16

{
  "email": "text"
}

No content

Get account details

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/account/details HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "accountType": 1,
    "companyName": "text",
    "vatNumber": "text",
    "cocNumber": "text",
    "firstName": "text",
    "lastName": "text",
    "address": "text",
    "streetNumber": "text",
    "zipCode": "text",
    "city": "text",
    "countryCode": "text",
    "emailAddress": "text",
    "unconfirmedEmail": {
      "email": "text",
      "expiresAt": 1
    },
    "emailAddressValidated": 1,
    "phoneNumber": "text",
    "phoneNumberMobile": "text",
    "language": 1,
    "emailAddressAbuse": "text",
    "newsletter": 1,
    "agreeToc": 1,
    "agreeAup": 1,
    "agreeDpa": 1,
    "isAllowedFlexMetal": 1
  }
]

Update account details

put
Authorizations
Body
accountTypeinteger · integerRequired

Account type: 1 - consumer, 2 - business. Can only be updated by submitting a support ticket.

companyNamestring | nullableOptional

Company name (for business accounts). Can only be updated by submitting a support ticket.

vatNumberstring | nullableOptional

VAT number (for business accounts). Can only be updated by submitting a support ticket.

cocNumberstring | nullableOptional

CoC number (only for Netherlands accounts). Can only be updated by submitting a support ticket.

firstNamestringRequired

First name.

lastNamestringRequired

Last name.

addressstringRequired

Address - street name.

streetNumberstringRequired

House number

zipCodestringRequired

ZIP / Post code.

citystringRequired

City.

countryCodestringRequired

Country code in ISO 3166-1 alpha-2 format.

emailAddressstringRead-onlyRequired

Email address

unconfirmedEmailall of | nullableRead-onlyRequired

Email address which is not confirmed yet

emailAddressValidatedinteger · integer | nullableRead-onlyRequired

Whether or not email address has been confirmed

phoneNumberstring | nullableOptional

Phone number. Either this or phoneNumberMobile is required

phoneNumberMobilestring | nullableOptional

Mobile phone number. Either this or phoneNumber is required

languageinteger · integerRequired

Preferred language: 0 - english, 1 - dutch

emailAddressAbusestring | nullableOptional

Email address for abuse emails

newsletterinteger · integer | nullableOptional

Whether or not newsletter is subscribed to

agreeTocinteger · integer | nullableOptional

Whether or not Terms and Conditions are agreed to. Cannot be changed after agreeing.

agreeAupinteger · integer | nullableOptional

Whether or not Acceptable Use Policy is agreed to. Cannot be changed after agreeing.

agreeDpainteger · integer | nullableRequired

Whether or not Data Processing Agreement is agreed to. Cannot be changed after agreeing.

isAllowedFlexMetalinteger · integerRequired

Whether or not the user is allowed to order flexmetal servers.

Responses
200
OK
application/json
put
PUT /v3/account/details HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 369

{
  "accountType": 1,
  "companyName": "text",
  "vatNumber": "text",
  "cocNumber": "text",
  "firstName": "text",
  "lastName": "text",
  "address": "text",
  "streetNumber": "text",
  "zipCode": "text",
  "city": "text",
  "countryCode": "text",
  "phoneNumber": "text",
  "phoneNumberMobile": "text",
  "language": 1,
  "emailAddressAbuse": "text",
  "newsletter": 1,
  "agreeToc": 1,
  "agreeAup": 1,
  "agreeDpa": 1,
  "isAllowedFlexMetal": 1
}
[
  {
    "accountType": 1,
    "companyName": "text",
    "vatNumber": "text",
    "cocNumber": "text",
    "firstName": "text",
    "lastName": "text",
    "address": "text",
    "streetNumber": "text",
    "zipCode": "text",
    "city": "text",
    "countryCode": "text",
    "emailAddress": "text",
    "unconfirmedEmail": {
      "email": "text",
      "expiresAt": 1
    },
    "emailAddressValidated": 1,
    "phoneNumber": "text",
    "phoneNumberMobile": "text",
    "language": 1,
    "emailAddressAbuse": "text",
    "newsletter": 1,
    "agreeToc": 1,
    "agreeAup": 1,
    "agreeDpa": 1,
    "isAllowedFlexMetal": 1
  }
]

Update the primary email address

put
Authorizations
Body
emailAddressstringRequired

New email address

passwordstringRequired

Password of the user account

Responses
204
No Content
put
PUT /v3/account/email/change HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 41

{
  "emailAddress": "text",
  "password": "text"
}

No content

Fetch account billing details

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/account/billing HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "firstName": "text",
    "lastName": "text",
    "address": "text",
    "streetNumber": "text",
    "zipCode": "text",
    "city": "text",
    "countryCode": "text",
    "phoneNumber": "text",
    "phoneNumberMobile": "text",
    "emailAddressBilling": "text",
    "bundleInvoicesOfSameCategory": 1,
    "receivePaymentConfirmationsViaEmail": 1,
    "preferredPaymentMethod": 1
  }
]

Update account billing details

put
Authorizations
Body
firstNamestringRequired

Billing first name.

lastNamestringRequired

Billing last name.

addressstringRequired

Billing address.

streetNumberstringRequired

Billing street number.

zipCodestringRequired

Billing ZIP code.

citystringRequired

Billing city.

countryCodestringRequired

Country code in ISO 3166-1 alpha-2 format.

phoneNumberstring | nullableOptional

Billing phone number. Either this or phoneNumberMobile is required.

phoneNumberMobilestring | nullableOptional

Billing mobile phone number. Either this or phoneNumber is required.

emailAddressBillingstring | nullableOptional

Email address for billing emails

bundleInvoicesOfSameCategoryinteger · integerRequired

Whether or not to bundle invoices of the same category

receivePaymentConfirmationsViaEmailinteger · integerRequired

Whether or not to send email confirmations via email

preferredPaymentMethodinteger · integerRequired

Preferred payment method

Responses
200
OK
application/json
put
PUT /v3/account/billing HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 306

{
  "firstName": "text",
  "lastName": "text",
  "address": "text",
  "streetNumber": "text",
  "zipCode": "text",
  "city": "text",
  "countryCode": "text",
  "phoneNumber": "text",
  "phoneNumberMobile": "text",
  "emailAddressBilling": "text",
  "bundleInvoicesOfSameCategory": 1,
  "receivePaymentConfirmationsViaEmail": 1,
  "preferredPaymentMethod": 1
}
[
  {
    "firstName": "text",
    "lastName": "text",
    "address": "text",
    "streetNumber": "text",
    "zipCode": "text",
    "city": "text",
    "countryCode": "text",
    "phoneNumber": "text",
    "phoneNumberMobile": "text",
    "emailAddressBilling": "text",
    "bundleInvoicesOfSameCategory": 1,
    "receivePaymentConfirmationsViaEmail": 1,
    "preferredPaymentMethod": 1
  }
]

Get a list of account action log

get
Authorizations
Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/account/log HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "remoteIP": "text",
    "title": "text",
    "description": "text",
    "timestamp": 1
  }
]

List all API keys

get
Authorizations
Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/account/apiKey HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "category": 1,
    "key": "text",
    "note": "text",
    "assignOdpServerIps": 1,
    "used": 1,
    "expiresAt": 1
  }
]

Generate API key

post
Authorizations
Body
idinteger · integerRead-onlyRequired

API key ID

categoryinteger · integerRequired

API key access category

keystringRead-onlyRequired

API key

notestring | nullableOptional

API key note

assignOdpServerIpsinteger · integerRequired

Whether or not to assign ODP server IPs

usedinteger · integerRead-onlyRequired

Number of times that the API key was used

expiresAtinteger · integer | nullableOptional

API key expiration time as UNIX timestamp

Responses
200
OK
application/json
post
POST /v3/account/apiKey HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 65

{
  "category": 1,
  "note": "text",
  "assignOdpServerIps": 1,
  "expiresAt": 1
}
[
  {
    "id": 1,
    "category": 1,
    "key": "text",
    "note": "text",
    "assignOdpServerIps": 1,
    "used": 1,
    "expiresAt": 1
  }
]

Update API key

put
Authorizations
Path parameters
apiKeyIdintegerRequired

ID of API key to update

Body
idinteger · integerRead-onlyRequired

API key ID

categoryinteger · integerRequired

API key access category

keystringRead-onlyRequired

API key

notestring | nullableOptional

API key note

assignOdpServerIpsinteger · integerRequired

Whether or not to assign ODP server IPs

usedinteger · integerRead-onlyRequired

Number of times that the API key was used

expiresAtinteger · integer | nullableOptional

API key expiration time as UNIX timestamp

Responses
200
OK
application/json
put
PUT /v3/account/apiKey/{apiKeyId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 65

{
  "category": 1,
  "note": "text",
  "assignOdpServerIps": 1,
  "expiresAt": 1
}
[
  {
    "id": 1,
    "category": 1,
    "key": "text",
    "note": "text",
    "assignOdpServerIps": 1,
    "used": 1,
    "expiresAt": 1
  }
]

Delete API key

delete
Authorizations
Path parameters
apiKeyIdintegerRequired

ID of API key to delete

Responses
204
No Content
delete
DELETE /v3/account/apiKey/{apiKeyId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Get all whitelist IP ranges

get
Authorizations
Path parameters
apiKeyIdintegerRequired

ID of API key

Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/account/apiKey/{apiKeyId}/whitelist HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "ipStart": "text",
    "ipEnd": "text",
    "ipRange": "text",
    "comments": "text",
    "active": 1,
    "updatedAt": 1
  }
]

Add IP range to the whitelist

post
Authorizations
Path parameters
apiKeyIdintegerRequired

ID of API key

Body
idinteger · integerRead-onlyRequired

Whitelist ID

ipStartstring | nullableOptional

Start IP of API key IP whitelist range

ipEndstring | nullableOptional

End IP of API key IP whitelist range

ipRangestring | nullableOptional

CIDR IP range of API key whitelist

commentsstring | nullableOptional

IP whitelist range comments

activeinteger · integerRequired

Whether or not this IP whitelist range is active

updatedAtinteger · integerRead-onlyRequired

Last time this IP whitelist range was updated

Responses
200
OK
application/json
post
POST /v3/account/apiKey/{apiKeyId}/whitelist HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 79

{
  "ipStart": "text",
  "ipEnd": "text",
  "ipRange": "text",
  "comments": "text",
  "active": 1
}
[
  {
    "id": 1,
    "ipStart": "text",
    "ipEnd": "text",
    "ipRange": "text",
    "comments": "text",
    "active": 1,
    "updatedAt": 1
  }
]

Update whitelisted IP range

put
Authorizations
Path parameters
apiKeyIdintegerRequired

ID of API key

apiKeyWhitelistIdintegerRequired

Whitelisted IP range ID

Body
idinteger · integerRead-onlyRequired

Whitelist ID

ipStartstring | nullableOptional

Start IP of API key IP whitelist range

ipEndstring | nullableOptional

End IP of API key IP whitelist range

ipRangestring | nullableOptional

CIDR IP range of API key whitelist

commentsstring | nullableOptional

IP whitelist range comments

activeinteger · integerRequired

Whether or not this IP whitelist range is active

updatedAtinteger · integerRead-onlyRequired

Last time this IP whitelist range was updated

Responses
200
OK
application/json
put
PUT /v3/account/apiKey/{apiKeyId}/whitelist/{apiKeyWhitelistId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 79

{
  "ipStart": "text",
  "ipEnd": "text",
  "ipRange": "text",
  "comments": "text",
  "active": 1
}
[
  {
    "id": 1,
    "ipStart": "text",
    "ipEnd": "text",
    "ipRange": "text",
    "comments": "text",
    "active": 1,
    "updatedAt": 1
  }
]

Delete whitelisted IP range

delete
Authorizations
Path parameters
apiKeyIdintegerRequired

ID of API key

apiKeyWhitelistIdintegerRequired

Whitelisted IP range ID

Responses
204
No Content
delete
DELETE /v3/account/apiKey/{apiKeyId}/whitelist/{apiKeyWhitelistId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Get all whitelist IP ranges

get
Authorizations
Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/account/whitelist HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "ipStart": "text",
    "ipEnd": "text",
    "ipRange": "text",
    "description": "text",
    "active": 1,
    "createdAt": 1
  }
]

Add IP range to the whitelist

post
Authorizations
Body
idinteger · integerRead-onlyRequired

IP whitelist ID

ipStartstring | nullableOptional

First IP in range

ipEndstring | nullableOptional

Last IP in range

ipRangestring | nullableOptional

IP range with network suffix such as /24, /32, etc.

descriptionstringOptional

Description of whitelisted IP or range

activeinteger · integerRequired

Whether or not this whitelist entry is active

createdAtinteger · integerRead-onlyRequired

Unix timestamp of when the IP whitelisting was created

Responses
200
OK
application/json
post
POST /v3/account/whitelist HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 82

{
  "ipStart": "text",
  "ipEnd": "text",
  "ipRange": "text",
  "description": "text",
  "active": 1
}
[
  {
    "id": 1,
    "ipStart": "text",
    "ipEnd": "text",
    "ipRange": "text",
    "description": "text",
    "active": 1,
    "createdAt": 1
  }
]

Update whitelisted IP range

put
Authorizations
Path parameters
whitelistIdintegerRequired

Whitelisted IP range ID

Body
idinteger · integerRead-onlyRequired

IP whitelist ID

ipStartstring | nullableOptional

First IP in range

ipEndstring | nullableOptional

Last IP in range

ipRangestring | nullableOptional

IP range with network suffix such as /24, /32, etc.

descriptionstringOptional

Description of whitelisted IP or range

activeinteger · integerRequired

Whether or not this whitelist entry is active

createdAtinteger · integerRead-onlyRequired

Unix timestamp of when the IP whitelisting was created

Responses
200
OK
application/json
put
PUT /v3/account/whitelist/{whitelistId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 82

{
  "ipStart": "text",
  "ipEnd": "text",
  "ipRange": "text",
  "description": "text",
  "active": 1
}
[
  {
    "id": 1,
    "ipStart": "text",
    "ipEnd": "text",
    "ipRange": "text",
    "description": "text",
    "active": 1,
    "createdAt": 1
  }
]

Delete whitelisted IP range

delete
Authorizations
Path parameters
whitelistIdintegerRequired

Whitelisted IP range ID

Responses
204
No Content
delete
DELETE /v3/account/whitelist/{whitelistId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Check user whitelist

post
Authorizations
Responses
204
No Content
post
POST /v3/account/whitelist/check HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

List all files

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/account/files HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "category": 1,
    "name": "text",
    "filename": "text",
    "type": "text",
    "size": 1,
    "uploadedAt": 1
  }
]

Download the file

get
Authorizations
Path parameters
fileIdintegerRequired

ID of the file to download

Responses
200
fileContent
application/json
Responsestring
get
GET /v3/account/files/{fileId}/download HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
text

Get all the documents

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/account/document HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "documentType": 1,
    "documentNumber": "text",
    "documentExpiration": "text"
  }
]

Create a new document

post
Authorizations
Body
idinteger · integerRead-onlyRequired

ID of the document

documentTypeinteger · integerRequired

Type of the document

documentNumberstringRequired

Number of document

documentExpirationstringRequired

Expiration date of document

Responses
200
OK
application/json
post
POST /v3/account/document HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 70

{
  "documentType": 1,
  "documentNumber": "text",
  "documentExpiration": "text"
}
[
  {
    "id": 1,
    "documentType": 1,
    "documentNumber": "text",
    "documentExpiration": "text"
  }
]

Delete a document.

delete
Authorizations
Path parameters
documentIdintegerRequired

Id of the document to delete.

Responses
204
No Content
delete
DELETE /v3/account/document/{documentId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Get list of all colocation access

get
Authorizations
Query parameters
statusstringOptional

Example /v3/colocation/access?status=revoked

Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/colocation/access HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "visitorId": 1,
    "datacenterId": 1,
    "dateverified": "text",
    "dateonlist": "text",
    "dateofflist": "text",
    "email": "text",
    "mobile": "text",
    "firstName": "text",
    "lastName": "text",
    "birthDate": "text",
    "companyName": "text",
    "city": "text",
    "countryEn": "text",
    "colocatedAccessServers": [
      {
        "coloserverId": 1,
        "rackname": "text"
      }
    ],
    "adminNotesReadOnly": "text",
    "accountDocument": [
      {
        "id": 1,
        "documentType": 1,
        "documentNumber": "text",
        "documentExpiration": "text"
      }
    ],
    "checked": "text",
    "createdBy": 1,
    "newEntry": 1,
    "temporaryAccess": 1,
    "fingerPrintId": 1,
    "printMade": "text",
    "visitRequester": 1,
    "permanentRequester": 1,
    "syntegroEmployeeCode": "text",
    "status": "text"
  }
]

Create a new colocation access request

post
Authorizations
Body
idinteger · integerRead-onlyRequired

The ID of colocation access request

visitorIdinteger · integerOptional

The ID of the visitor

emailstringRequired

The e-mail address of the visitor

mobilestringRequired

The mobile phone number of the visitor

firstNamestringRequired

The first name of the visitor

lastNamestringRequired

The last name of the visitor

birthDatestringRequired

The birth date of the visitor

companyNamestringRequired

The company name of visitor

temporaryAccessinteger · integer | nullableOptional

If this field is set to 1, then the visitor has a temporary access

visitRequesterinteger · integer | nullableOptional

If this field is set to 1, then this visitor can add a temporary access for other visitor

permanentRequesterinteger · integer | nullableOptional

If this field is set to 1, then this visitor can request a permanent access for other visitor

Responses
200
OK
application/json
post
POST /v3/colocation/access HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 248

{
  "visitorId": 1,
  "email": "text",
  "mobile": "text",
  "firstName": "text",
  "lastName": "text",
  "birthDate": "text",
  "companyName": "text",
  "colocatedAccessServer": [
    {
      "coloserverId": 1,
      "rackname": "text"
    }
  ],
  "temporaryAccess": 1,
  "visitRequester": 1,
  "permanentRequester": 1
}
[
  {
    "id": 1,
    "visitorId": 1,
    "datacenterId": 1,
    "dateverified": "text",
    "dateonlist": "text",
    "dateofflist": "text",
    "email": "text",
    "mobile": "text",
    "firstName": "text",
    "lastName": "text",
    "birthDate": "text",
    "companyName": "text",
    "city": "text",
    "countryEn": "text",
    "colocatedAccessServers": [
      {
        "coloserverId": 1,
        "rackname": "text"
      }
    ],
    "adminNotesReadOnly": "text",
    "accountDocument": [
      {
        "id": 1,
        "documentType": 1,
        "documentNumber": "text",
        "documentExpiration": "text"
      }
    ],
    "checked": "text",
    "createdBy": 1,
    "newEntry": 1,
    "temporaryAccess": 1,
    "fingerPrintId": 1,
    "printMade": "text",
    "visitRequester": 1,
    "permanentRequester": 1,
    "syntegroEmployeeCode": "text",
    "status": "text"
  }
]

Get colocation access by ID

get
Authorizations
Path parameters
accessIdintegerRequired

ID of the access

Responses
200
OK
application/json
get
GET /v3/colocation/access/{accessId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "visitorId": 1,
    "datacenterId": 1,
    "dateverified": "text",
    "dateonlist": "text",
    "dateofflist": "text",
    "email": "text",
    "mobile": "text",
    "firstName": "text",
    "lastName": "text",
    "birthDate": "text",
    "companyName": "text",
    "city": "text",
    "countryEn": "text",
    "colocatedAccessServers": [
      {
        "coloserverId": 1,
        "rackname": "text"
      }
    ],
    "adminNotesReadOnly": "text",
    "accountDocument": [
      {
        "id": 1,
        "documentType": 1,
        "documentNumber": "text",
        "documentExpiration": "text"
      }
    ],
    "checked": "text",
    "createdBy": 1,
    "newEntry": 1,
    "temporaryAccess": 1,
    "fingerPrintId": 1,
    "printMade": "text",
    "visitRequester": 1,
    "permanentRequester": 1,
    "syntegroEmployeeCode": "text",
    "status": "text"
  }
]

Update colocation access

put
Authorizations
Path parameters
accessIdintegerRequired

ID of the access

Body
idinteger · integerRead-onlyRequired

The ID of colocation access request

visitorIdinteger · integerOptional

The ID of the visitor

emailstringRequired

The e-mail address of the visitor

mobilestringRequired

The mobile phone number of the visitor

firstNamestringRequired

The first name of the visitor

lastNamestringRequired

The last name of the visitor

birthDatestringRequired

The birth date of the visitor

companyNamestringRequired

The company name of visitor

temporaryAccessinteger · integer | nullableOptional

If this field is set to 1, then the visitor has a temporary access

visitRequesterinteger · integer | nullableOptional

If this field is set to 1, then this visitor can add a temporary access for other visitor

permanentRequesterinteger · integer | nullableOptional

If this field is set to 1, then this visitor can request a permanent access for other visitor

Responses
200
OK
application/json
put
PUT /v3/colocation/access/{accessId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 248

{
  "visitorId": 1,
  "email": "text",
  "mobile": "text",
  "firstName": "text",
  "lastName": "text",
  "birthDate": "text",
  "companyName": "text",
  "colocatedAccessServer": [
    {
      "coloserverId": 1,
      "rackname": "text"
    }
  ],
  "temporaryAccess": 1,
  "visitRequester": 1,
  "permanentRequester": 1
}
[
  {
    "id": 1,
    "visitorId": 1,
    "datacenterId": 1,
    "dateverified": "text",
    "dateonlist": "text",
    "dateofflist": "text",
    "email": "text",
    "mobile": "text",
    "firstName": "text",
    "lastName": "text",
    "birthDate": "text",
    "companyName": "text",
    "city": "text",
    "countryEn": "text",
    "colocatedAccessServers": [
      {
        "coloserverId": 1,
        "rackname": "text"
      }
    ],
    "adminNotesReadOnly": "text",
    "accountDocument": [
      {
        "id": 1,
        "documentType": 1,
        "documentNumber": "text",
        "documentExpiration": "text"
      }
    ],
    "checked": "text",
    "createdBy": 1,
    "newEntry": 1,
    "temporaryAccess": 1,
    "fingerPrintId": 1,
    "printMade": "text",
    "visitRequester": 1,
    "permanentRequester": 1,
    "syntegroEmployeeCode": "text",
    "status": "text"
  }
]

Delete colocation access by ID

delete
Authorizations
Path parameters
accessIdintegerRequired

The ID of the access

Responses
204
No Content
delete
DELETE /v3/colocation/access/{accessId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Revoke access by access ID

put
Authorizations
Path parameters
accessIdintegerRequired

The ID of the access

Responses
204
No Content
put
PUT /v3/colocation/access/{accessId}/revoke HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Reactivate access by access ID

put
Authorizations
Path parameters
accessIdintegerRequired

The ID of the access

Responses
204
No Content
put
PUT /v3/colocation/access/{accessId}/reactivate HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Get all the documents of the DC access visitor

get
Authorizations
Path parameters
accessIdintegerRequired

The ID of the access

Responses
200
OK
application/json
get
GET /v3/colocation/access/{accessId}/document HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "documentType": 1,
    "documentNumber": "text",
    "documentExpiration": "text"
  }
]

Create a new document for the visitor accessing DC

post
Authorizations
Path parameters
accessIdintegerRequired

The ID of the access

Body
idinteger · integerRead-onlyRequired

ID of the document

documentTypeinteger · integerRequired

Type of the document

documentNumberstringRequired

Number of document

documentExpirationstringRequired

Expiration date of document

Responses
200
OK
application/json
post
POST /v3/colocation/access/{accessId}/document HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 70

{
  "documentType": 1,
  "documentNumber": "text",
  "documentExpiration": "text"
}
[
  {
    "id": 1,
    "documentType": 1,
    "documentNumber": "text",
    "documentExpiration": "text"
  }
]

Get a document of the DC access visitor

get
Authorizations
Path parameters
accessIdintegerRequired

The ID of the access

documentIdintegerRequired

The ID of the document to view

Responses
200
OK
application/json
get
GET /v3/colocation/access/{accessId}/document/{documentId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "documentType": 1,
    "documentNumber": "text",
    "documentExpiration": "text"
  }
]

Update document of the DC access visitor

put
Authorizations
Path parameters
accessIdintegerRequired

The ID of the access

documentIdintegerRequired

The ID of the document to update

Body
idinteger · integerRead-onlyRequired

ID of the document

documentTypeinteger · integerRequired

Type of the document

documentNumberstringRequired

Number of document

documentExpirationstringRequired

Expiration date of document

Responses
200
OK
application/json
put
PUT /v3/colocation/access/{accessId}/document/{documentId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 70

{
  "documentType": 1,
  "documentNumber": "text",
  "documentExpiration": "text"
}
[
  {
    "id": 1,
    "documentType": 1,
    "documentNumber": "text",
    "documentExpiration": "text"
  }
]

Delete a document of the visitor accessing DC

delete
Authorizations
Path parameters
accessIdintegerRequired

The ID of the access

documentIdintegerRequired

The ID of the document to delete

Responses
204
No Content
delete
DELETE /v3/colocation/access/{accessId}/document/{documentId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

List all services

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/dashboard/service HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "service": "text",
    "amount": 1
  }
]

Get the status of the platform

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/dashboard/status HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "status": 1,
    "groups": [
      {
        "name": "text",
        "status": 1,
        "components": [
          {
            "name": "text",
            "status": 1
          }
        ]
      }
    ]
  }
]

Get the detail of the trigger

get
Authorizations
Path parameters
triggerIdstringRequired

The ID of the trigger for which to fetch the information

Responses
200
OK
application/json
get
GET /v3/trigger/{triggerId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": "text",
    "name": "text",
    "description": "text",
    "conditions": [
      {
        "conditionId": 1,
        "conditionValues": [
          "text"
        ]
      }
    ],
    "rules": [
      {
        "ruleAction": 1,
        "ruleDataType": 1,
        "rule": {
          "operator": 1,
          "triggerWindow": 1,
          "threshold": 1
        }
      }
    ],
    "actions": [
      {
        "action": 1,
        "actionParameters": {
          "methodId": 1,
          "timeout": 1
        }
      }
    ],
    "createdAt": 1,
    "changedAt": 1,
    "active": 1
  }
]

Update the details of a trigger

put
Authorizations
Path parameters
triggerIdstringRequired

The ID of the trigger

Body
idstringRead-onlyRequired

ID of the the trigger

namestringRequired

The name of the trigger

descriptionstringOptional

The description of the trigger

createdAtinteger · integerRead-onlyRequired

The unix timestamp when the trigger has been created.

changedAtinteger · integerRead-onlyRequired

The unix timestamp when the trigger has been changed.

activeinteger · integerRead-onlyRequired

Status of the trigger

  • 1 the trigger is enabled
  • 0 the trigger is disabled
Responses
200
OK
application/json
put
PUT /v3/trigger/{triggerId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 265

{
  "name": "text",
  "description": "text",
  "conditions": [
    {
      "conditionId": 1,
      "conditionValues": [
        "text"
      ]
    }
  ],
  "rules": [
    {
      "ruleAction": 1,
      "ruleDataType": 1,
      "rule": {
        "operator": 1,
        "triggerWindow": 1,
        "threshold": 1
      }
    }
  ],
  "actions": [
    {
      "action": 1,
      "actionParameters": {
        "methodId": 1,
        "timeout": 1
      }
    }
  ]
}
[
  {
    "id": "text",
    "name": "text",
    "description": "text",
    "conditions": [
      {
        "conditionId": 1,
        "conditionValues": [
          "text"
        ]
      }
    ],
    "rules": [
      {
        "ruleAction": 1,
        "ruleDataType": 1,
        "rule": {
          "operator": 1,
          "triggerWindow": 1,
          "threshold": 1
        }
      }
    ],
    "actions": [
      {
        "action": 1,
        "actionParameters": {
          "methodId": 1,
          "timeout": 1
        }
      }
    ],
    "createdAt": 1,
    "changedAt": 1,
    "active": 1
  }
]

Delete a trigger

delete
Authorizations
Path parameters
triggerIdstringRequired

The ID of the trigger

Responses
204
No Content
delete
DELETE /v3/trigger/{triggerId} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Get the list of all the triggers

get
Authorizations
Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/trigger/ HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": "text",
    "name": "text",
    "description": "text",
    "conditions": [
      {
        "conditionId": 1,
        "conditionValues": [
          "text"
        ]
      }
    ],
    "rules": [
      {
        "ruleAction": 1,
        "ruleDataType": 1,
        "rule": {
          "operator": 1,
          "triggerWindow": 1,
          "threshold": 1
        }
      }
    ],
    "actions": [
      {
        "action": 1,
        "actionParameters": {
          "methodId": 1,
          "timeout": 1
        }
      }
    ],
    "createdAt": 1,
    "changedAt": 1,
    "active": 1
  }
]

Get the summary of all the triggers, only id, name and description

get
Authorizations
Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/trigger/summary HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "name": "text",
    "description": "text"
  }
]

Create a trigger

post
Authorizations
Body
idstringRead-onlyRequired

ID of the the trigger

namestringRequired

The name of the trigger

descriptionstringOptional

The description of the trigger

createdAtinteger · integerRead-onlyRequired

The unix timestamp when the trigger has been created.

changedAtinteger · integerRead-onlyRequired

The unix timestamp when the trigger has been changed.

activeinteger · integerRead-onlyRequired

Status of the trigger

  • 1 the trigger is enabled
  • 0 the trigger is disabled
Responses
200
OK
application/json
post
POST /v3/trigger HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 265

{
  "name": "text",
  "description": "text",
  "conditions": [
    {
      "conditionId": 1,
      "conditionValues": [
        "text"
      ]
    }
  ],
  "rules": [
    {
      "ruleAction": 1,
      "ruleDataType": 1,
      "rule": {
        "operator": 1,
        "triggerWindow": 1,
        "threshold": 1
      }
    }
  ],
  "actions": [
    {
      "action": 1,
      "actionParameters": {
        "methodId": 1,
        "timeout": 1
      }
    }
  ]
}
[
  {
    "id": "text",
    "name": "text",
    "description": "text",
    "conditions": [
      {
        "conditionId": 1,
        "conditionValues": [
          "text"
        ]
      }
    ],
    "rules": [
      {
        "ruleAction": 1,
        "ruleDataType": 1,
        "rule": {
          "operator": 1,
          "triggerWindow": 1,
          "threshold": 1
        }
      }
    ],
    "actions": [
      {
        "action": 1,
        "actionParameters": {
          "methodId": 1,
          "timeout": 1
        }
      }
    ],
    "createdAt": 1,
    "changedAt": 1,
    "active": 1
  }
]

Enable a trigger

put
Authorizations
Path parameters
triggerIdstringRequired

The ID of the trigger

Responses
200
OK
application/json
put
PUT /v3/trigger/{triggerId}/enable HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": "text",
    "name": "text",
    "description": "text",
    "conditions": [
      {
        "conditionId": 1,
        "conditionValues": [
          "text"
        ]
      }
    ],
    "rules": [
      {
        "ruleAction": 1,
        "ruleDataType": 1,
        "rule": {
          "operator": 1,
          "triggerWindow": 1,
          "threshold": 1
        }
      }
    ],
    "actions": [
      {
        "action": 1,
        "actionParameters": {
          "methodId": 1,
          "timeout": 1
        }
      }
    ],
    "createdAt": 1,
    "changedAt": 1,
    "active": 1
  }
]

Disable a trigger

put
Authorizations
Path parameters
triggerIdstringRequired

The ID of the trigger

Responses
200
OK
application/json
put
PUT /v3/trigger/{triggerId}/disable HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": "text",
    "name": "text",
    "description": "text",
    "conditions": [
      {
        "conditionId": 1,
        "conditionValues": [
          "text"
        ]
      }
    ],
    "rules": [
      {
        "ruleAction": 1,
        "ruleDataType": 1,
        "rule": {
          "operator": 1,
          "triggerWindow": 1,
          "threshold": 1
        }
      }
    ],
    "actions": [
      {
        "action": 1,
        "actionParameters": {
          "methodId": 1,
          "timeout": 1
        }
      }
    ],
    "createdAt": 1,
    "changedAt": 1,
    "active": 1
  }
]

Get list of rule action types

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/trigger/type/ruleActions HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "description": "text"
  }
]

Get list of rule data types

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/trigger/type/ruleDataTypes HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "description": "text"
  }
]

Get list of actions types

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/trigger/type/actions HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "description": "text"
  }
]

Get list of operators

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/trigger/type/operators HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "description": "text"
  }
]

Get list of conditions

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/trigger/type/conditions HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "description": "text"
  }
]

Get list of valueTypes

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/trigger/type/valueTypes HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "description": "text"
  }
]

List SSH keys

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/sshKey HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "uuid": "7561c39d-f4df-4c46-b3f1-2ac981271e29",
    "name": "text",
    "publicKey": "text",
    "createdAt": 1
  }
]

Upload a new SSH key

post

Note: Please always upload a public(!) key and preferably in OpenSSH format.

Authorizations
Body
uuidstringRead-onlyRequired

SSH key UUID as specified in RFC 4122

Example: 7561c39d-f4df-4c46-b3f1-2ac981271e29
namestringRequired

SSH key name

publicKeystringRequired

Public SSH key contents

createdAtinteger · integerRead-onlyRequired

SSH key createdAt

Responses
200
OK
application/json
post
POST /v3/sshKey HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 34

{
  "name": "text",
  "publicKey": "text"
}
[
  {
    "uuid": "7561c39d-f4df-4c46-b3f1-2ac981271e29",
    "name": "text",
    "publicKey": "text",
    "createdAt": 1
  }
]

SSH key by ID

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/sshKey/{uuid} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "uuid": "7561c39d-f4df-4c46-b3f1-2ac981271e29",
    "name": "text",
    "publicKey": "text",
    "createdAt": 1
  }
]

Delete SSH key

delete
Authorizations
Path parameters
uuidstringRequired

SSH key UUID

Example: 7561c39d-f4df-4c46-b3f1-2ac981271e29
Responses
204
No Content
delete
DELETE /v3/sshKey/{uuid} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Get users geo heatmap data

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/internalServices/heatmapData HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "type": "text",
    "features": [
      {
        "geometry": {
          "type": "text",
          "coordinates": [
            1
          ]
        },
        "properties": {
          "value": 1
        }
      }
    ]
  }
]

Get the list of all currenties

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/currency HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "name": "text",
    "sign": "text",
    "conversionRateToEuro": 1,
    "decimals": 1
  }
]

Get all your FlexMetal servers

get
Authorizations
Query parameters
statusstringRequired

Filter by status [creating, provisioning, delivered, failed, releasing, released]

taganyRequired

Filter by one or more server tags (only servers with all tags will be returned)

Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
OK
application/json
get
GET /v3/flexMetal/servers HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "uuid": "019256ab-1554-73a7-b091-f024b0a724ea",
    "name": "host.example.com",
    "status": "delivered",
    "statusMessage": "OK",
    "location": {
      "id": 18,
      "name": "text"
    },
    "instanceType": {
      "id": 128,
      "name": "bm7.std.8"
    },
    "os": {
      "slug": "ubuntu-2404-lts"
    },
    "ipAddresses": [
      {
        "ipAddress": "1.2.3.4"
      }
    ],
    "tags": [
      "my-tag"
    ],
    "createdAt": 1728030905,
    "deliveredAt": 1728031748,
    "releasedAt": 1,
    "contractId": "MY-CONTRACT-123"
  }
]

Create a new FlexMetal server

post
Authorizations
Body

Request object for creating a new Flex Metal server

namestringRequired

Server name or hostname, depending on the chosen OS. E.g. Talos requires a hostname but regular Linux OSs work with either.

Example: host.example.com
locationstringRequired

Server location. Available locations can be obtained from /v3/flexMetal/location. Use the name field from the response.

instanceTypestringRequired

Server instance type. Available instance types can be obtained from /v3/flexMetal/location/{locationId}}/instanceTypes. Use the name field from the response.

Example: bm7.std.8
osall ofRequired

Server operating system.

sshKeystring[]Required

A list of SSH keys. You can either supply SSH key UUIDs from stored objects in /v3/sshKey or provide public keys directly. SSH keys are installed for the root user.

Example: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHo8IaPkQ6UnDZvi4F4RBSouRa6Gtysdg2EF+SIXheVF2SGBQ2uH7RfDjXRfvq4VpHJrKYs4kWfNoHQg8ZG6PH4= ecdsa-key-20240131
postInstallScriptstringOptional

Post install script. A shell script (e.g. bash) that will be executed after your OS is installed. Currently only supported for Linux based operating systems.

Example: #!/bin/bash echo "Hello world!" > /root/blah.txt
tagsstring[]Optional

A list of tags. There is a maximum of 60 tags per server. Each tag must adhere to this pattern: ^[A-Za-z0-9_:-]{1,64}$

Example: my-tag
contractIdstringOptional

Represents client contractId. Format is ^[A-Z0-9_-.]{0,240}$

Example: MY-CONTRACT-123
overflowbooleanOptional

If true, the server will be created even if the location is at commited capacity. Default is false.

Example: true
Responses
200
OK
application/json
post
POST /v3/flexMetal/servers HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 569

{
  "name": "host.example.com",
  "location": "text",
  "instanceType": "bm7.std.8",
  "os": {
    "slug": "ubuntu-2404-lts",
    "kernelParams": [
      {
        "key": "siderolink.api",
        "value": "url.to.omni"
      }
    ],
    "partitions": [
      {
        "target": "/custom",
        "filesystem": "ext4",
        "size": 10240
      }
    ]
  },
  "sshKey": [
    "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHo8IaPkQ6UnDZvi4F4RBSouRa6Gtysdg2EF+SIXheVF2SGBQ2uH7RfDjXRfvq4VpHJrKYs4kWfNoHQg8ZG6PH4= ecdsa-key-20240131"
  ],
  "postInstallScript": "#!/bin/bash\necho \"Hello world!\" > /root/blah.txt",
  "tags": [
    "my-tag"
  ],
  "contractId": "MY-CONTRACT-123",
  "overflow": true
}
[
  {
    "uuid": "019256ab-1554-73a7-b091-f024b0a724ea",
    "name": "host.example.com",
    "status": "delivered",
    "statusMessage": "OK",
    "location": {
      "id": 18,
      "name": "text"
    },
    "instanceType": {
      "id": 128,
      "name": "bm7.std.8"
    },
    "os": {
      "slug": "ubuntu-2404-lts"
    },
    "ipAddresses": [
      {
        "ipAddress": "1.2.3.4"
      }
    ],
    "tags": [
      "my-tag"
    ],
    "createdAt": 1728030905,
    "deliveredAt": 1728031748,
    "releasedAt": 1,
    "contractId": "MY-CONTRACT-123"
  }
]

Get a specific FlexMetal server

get
Authorizations
Path parameters
uuidstringRequired

The server identifier

Responses
200
OK
application/json
get
GET /v3/flexMetal/servers/{uuid} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "uuid": "019256ab-1554-73a7-b091-f024b0a724ea",
    "name": "host.example.com",
    "status": "delivered",
    "statusMessage": "OK",
    "location": {
      "id": 18,
      "name": "text"
    },
    "instanceType": {
      "id": 128,
      "name": "bm7.std.8"
    },
    "os": {
      "slug": "ubuntu-2404-lts"
    },
    "ipAddresses": [
      {
        "ipAddress": "1.2.3.4"
      }
    ],
    "tags": [
      "my-tag"
    ],
    "createdAt": 1728030905,
    "deliveredAt": 1728031748,
    "releasedAt": 1,
    "contractId": "MY-CONTRACT-123"
  }
]

Release a FlexMetal server

delete
Authorizations
Path parameters
uuidstringRequired

The server identifier

Responses
200
OK
application/json
delete
DELETE /v3/flexMetal/servers/{uuid} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "uuid": "019256ab-1554-73a7-b091-f024b0a724ea",
    "name": "host.example.com",
    "status": "delivered",
    "statusMessage": "OK",
    "location": {
      "id": 18,
      "name": "text"
    },
    "instanceType": {
      "id": 128,
      "name": "bm7.std.8"
    },
    "os": {
      "slug": "ubuntu-2404-lts"
    },
    "ipAddresses": [
      {
        "ipAddress": "1.2.3.4"
      }
    ],
    "tags": [
      "my-tag"
    ],
    "createdAt": 1728030905,
    "deliveredAt": 1728031748,
    "releasedAt": 1,
    "contractId": "MY-CONTRACT-123"
  }
]

Get a FlexMetal server's root password

get

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

Authorizations
Path parameters
uuidstringRequired

The server identifier

Responses
200
OK
application/json
get
GET /v3/flexMetal/servers/{uuid}/rootPassword HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "rootPassword": "text"
  }
]

Add a tag to a FlexMetal server

post
Authorizations
Path parameters
uuidstringRequired

The server identifier

tagstringRequired

The tag to add to the server

Responses
200
OK
application/json
post
POST /v3/flexMetal/servers/{uuid}/tag/{tag} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "uuid": "019256ab-1554-73a7-b091-f024b0a724ea",
    "name": "host.example.com",
    "status": "delivered",
    "statusMessage": "OK",
    "location": {
      "id": 18,
      "name": "text"
    },
    "instanceType": {
      "id": 128,
      "name": "bm7.std.8"
    },
    "os": {
      "slug": "ubuntu-2404-lts"
    },
    "ipAddresses": [
      {
        "ipAddress": "1.2.3.4"
      }
    ],
    "tags": [
      "my-tag"
    ],
    "createdAt": 1728030905,
    "deliveredAt": 1728031748,
    "releasedAt": 1,
    "contractId": "MY-CONTRACT-123"
  }
]

Remove a tag from a FlexMetal server

delete
Authorizations
Path parameters
uuidstringRequired

The server identifier

tagstringRequired

The tag to remove from the server

Responses
200
OK
application/json
delete
DELETE /v3/flexMetal/servers/{uuid}/tag/{tag} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "uuid": "019256ab-1554-73a7-b091-f024b0a724ea",
    "name": "host.example.com",
    "status": "delivered",
    "statusMessage": "OK",
    "location": {
      "id": 18,
      "name": "text"
    },
    "instanceType": {
      "id": 128,
      "name": "bm7.std.8"
    },
    "os": {
      "slug": "ubuntu-2404-lts"
    },
    "ipAddresses": [
      {
        "ipAddress": "1.2.3.4"
      }
    ],
    "tags": [
      "my-tag"
    ],
    "createdAt": 1728030905,
    "deliveredAt": 1728031748,
    "releasedAt": 1,
    "contractId": "MY-CONTRACT-123"
  }
]

Get your FlexMetal capacity commits and usage

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/flexMetal/capacity/commit HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "location": {
      "id": 1,
      "name": "text",
      "shortName": "text",
      "displayName": "text",
      "countryId": 1,
      "countryName": "text",
      "countryShortName": "text"
    },
    "commits": [
      {
        "instanceType": {
          "id": 1,
          "locationId": 1,
          "name": "text",
          "sockets": 1,
          "cores": 1,
          "memory": 1,
          "memoryType": "text",
          "storage": 1,
          "storageType": "text",
          "generationName": "text"
        },
        "capacity": 1,
        "inUse": 1
      }
    ]
  }
]

Get all your FlexMetal tags

get
Authorizations
Header parameters
RANGED-DATAstringOptional

Example header and default range: RANGED-DATA:start=0,results=25

Responses
200
List of tags
application/json
get
GET /v3/flexMetal/tags HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "tag": "my-tag",
    "resources": {
      "count": 1,
      "flexMetalServers": {
        "count": 1
      }
    }
  }
]

Create a FlexMetal tag

post
Authorizations
Body

A Flex Metal tag

tagstringRequired

The tag name

Example: my-tag
resourcesall ofRead-onlyRequired

A list of resources that use this tag

Responses
200
The new tag
application/json
post
POST /v3/flexMetal/tags HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 16

{
  "tag": "my-tag"
}
[
  {
    "tag": "my-tag",
    "resources": {
      "count": 1,
      "flexMetalServers": {
        "count": 1
      }
    }
  }
]

Get a tag by name

get
Authorizations
Responses
200
List of tags
application/json
get
GET /v3/flexMetal/tags/{tag} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "tag": "my-tag",
    "resources": {
      "count": 1,
      "flexMetalServers": {
        "count": 1
      }
    }
  }
]

Rename a FlexMetal tag

put
Authorizations
Body

A Flex Metal tag

tagstringRequired

The tag name

Example: my-tag
resourcesall ofRead-onlyRequired

A list of resources that use this tag

Responses
200
The updated tag model
application/json
put
PUT /v3/flexMetal/tags/{tag} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 16

{
  "tag": "my-tag"
}
[
  {
    "tag": "my-tag",
    "resources": {
      "count": 1,
      "flexMetalServers": {
        "count": 1
      }
    }
  }
]

Delete a FlexMetal tag

delete
Authorizations
Responses
204
No Content
delete
DELETE /v3/flexMetal/tags/{tag} HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*

No content

Get your FlexMetal quota and current usage numbers

get
Authorizations
Responses
200
List of quota & current usage numbers
application/json
get
GET /v3/flexMetal/quota/usage HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "location": {
      "id": 18,
      "name": "text"
    },
    "quotaUsage": [
      {
        "instanceType": {
          "id": 128,
          "name": "bm7.std.8"
        },
        "quotaType": "onDemand",
        "contractId": "JD-NB2UU6VX732",
        "quota": 5,
        "usage": 3
      }
    ]
  }
]

Retrieve a list of FlexMetal server usages

get
Authorizations
Query parameters
startDatestringOptional

Must be a valid date string. E.g. YYYY-MM-DD.

endDatestringOptional

Must be a valid date string. E.g. YYYY-MM-DD.

Responses
200
OK
application/json
get
GET /v3/flexMetal/usage HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "server": {
      "uuid": "019256ab-1554-73a7-b091-f024b0a724ea",
      "name": "host.example.com",
      "status": "delivered",
      "statusMessage": "OK",
      "location": {
        "id": 18,
        "name": "text"
      },
      "instanceType": {
        "id": 128,
        "name": "bm7.std.8"
      },
      "os": {
        "slug": "ubuntu-2404-lts"
      },
      "ipAddresses": [
        {
          "ipAddress": "1.2.3.4"
        }
      ],
      "tags": [
        "my-tag"
      ],
      "createdAt": 1728030905,
      "deliveredAt": 1728031748,
      "releasedAt": 1,
      "contractId": "MY-CONTRACT-123"
    },
    "startedAt": "2025-06-21T06:01:04.833Z",
    "endedAt": "2025-06-21T06:01:04.833Z",
    "totalHours": 1,
    "totalMinutes": 1,
    "bandwidthIn": 1
  }
]

Get all available Bare Metal locations

get
Authorizations
Responses
200
OK
application/json
get
GET /v3/flexMetal/location HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "name": "text",
    "shortName": "text",
    "displayName": "text",
    "countryId": 1,
    "countryName": "text",
    "countryShortName": "text"
  }
]

Get all instance types for a location.

get

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

Authorizations
Path parameters
locationIdintegerRequired
Responses
200
OK
application/json
get
GET /v3/flexMetal/location/{locationId}/instanceTypes HTTP/1.1
Host: api.i3d.net
PRIVATE-TOKEN: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "locationId": 1,
    "name": "text",
    "sockets": 1,
    "cores": 1,
    "memory": 1,
    "memoryType": "text",
    "storage": 1,
    "storageType": "text",
    "generationName": "text"
  }
]

Last updated

Was this helpful?