InterCloud REST API (v1)

The InterCloud API is organized around REST. Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients. JSON is returned by all API responses, including errors.

Authentication

The InterCloud API uses OpenID Connect protocol for authentication.

Basic

Security Scheme Type HTTP
HTTP Authorization Scheme basic

Bearer

Security Scheme Type API Key
Header parameter name: Authorization

API token generation

API Access tokens can be obtained by two different ways :

Access tokens

API access tokens are generated programatically via the (/auth/token) route. More information can be found in the OIDC section of the documentation.

Personal Access Tokens

Personal Access Tokens are managed in the Account Section of the InterCloud portal or via the (/auth/token) route. They best suited for scripts and single-use applications. Your PATs carry many privileges, so be sure to keep them secret. Do not share your tokens in publicly accessible areas such as GitHub, client-side code, and so forth.

API token usage

Authentication to the API is performed via Bearer Authentication. Regardless of the way they've been generated with, access token are used the same way : They should be provided as a Bearer value through an "Authorization" header: -H "Authorization: Bearer UabvhLHcRr2dF9zhun4JBQ"

Protocol

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail, except the token creation requests.

Cross-Origin Resource Sharing

The InterCloud API features Cross-Origin Resource Sharing (CORS) implemented in compliance with W3C spec. And that allows cross-domain communication from the browser. All responses have a wildcard same-origin which makes them completely public and accessible to everyone, including any code on any site.

Verbs

The InterCloud API follows the REST (REpresentational State Transfer) design pattern. This means that the CRUD (Create, Read, Update, and Delete) operations are specified by using HTTP methods. These are referred to as RESTful verbs.

Verbs Description
GET Use the HTTP GET method to obtain data.
POST Use the HTTP POST method to add new resources in a collection.
PUT Use the HTTP PUT method to modify data.
DELETE Use the HTTP DELETE method to remove data.

System fields

In addition to the fields provided by the dataset owner, InterCloud also provides a number of useful system fields you can make use of. They’re very useful for detecting when datasets have changed.

Field Description
:id The internal InterCloud identifier for this record.
:created_at A Fixed Timestamp representing when this record was created.
:updated_at A Fixed Timestamp representing when this record was last updated.

System fields are always included by default.

The :id field is an Version 4 UUID. A Version 4 UUID is a universally unique identifier that is generated using random numbers. The Version 4 UUIDs produced by this site were generated using a secure random number generator.

Special header fields

*Header * Description
InterCloud-Scope The InterCloud scope is a notion useful only if you are an InterCloud services reseller. It is a header you can include
in your requests to emulate one of your child organizations, while being logged in as the reseller.
If this header is omitted, the default value is your own organization ID.

Versioning

Api Version header

InterCloud API version is defined by the api-version header returned by any the api call.

HTTP/2.0 200 OK
date: Wed, 10 Jul 2019 09:27:04 GMT
content-type: application/json; charset=utf-8
content-length: 138
api-version: 1.0

Access Privileges

TBC

Pagination

Requests that return collection of resources will be paginated to 50 items by default. You can specify further pages with the ?page parameter. You can also set a custom page size up to 100 with the ?limit parameter (100 is the maximum item per page you can fetch).

curl 'https://console.intercloud.io/users?page=2&limit=100'

Note that page numbering is 1-based and that omitting the ?page parameter (or setting it to 0) will return the first page.

Content-Range header

The content-range header includes pagination information:

Content-Range: [Index of the first element of the page - index of the last element of the page / Total number of elements in the request]

For example:

Content-Range: 0-4/10

Errors

InterCloud REST API uses conventional HTTP response codes to indicate the success or failure of an API request.

In general:

  • 2xx (Successful): The request was successfully received, understood, and accepted
  • 3xx (Redirection): Further action needs to be taken in order to complete the request
  • 4xx (Client Error): The request contains bad syntax or cannot be fulfilled
  • 5xx (Server Error): The server failed to fulfill an apparently valid request

Some 4xx errors that could be handled programmatically include an error message and an error code that briefly explains the reported error.

Here is some specific codes explained:

Status Code Description
200 - OK Standard response for successful HTTP requests.
201 - Created Resource created.
204 - No Content Typically sent after a resource deletion.
400 - Bad Request The request was not processed, probably due to bad format or a missing parameter.
401 - Unauthorized No valid API token provided.
402 - Payment Required No more available resources in product pool.
403 - Forbidden The request was valid, but the user might not have the needed permissions.
404 - Not Found The requested resource doesn't exist.
405 - Method Not Allowed The request method is known, but is not supported by the target resource at current state.
409 - Conflict The request conflicts with another request.
429 - Too Many Requests Too many requests hit the API too quickly.
500, 502, 503, 504 - Server Errors Something went wrong on InterCloud's end.

IRN

IRN stands for InterCloud Resource Name. An IRN is an unique identifier (string format) that helps in a specific resource identification. It gathers the resource family information, the resource owner and a unique identifier. Please find below an example of IRN:

irn:geoentrypoint:1hv0g4w1k2rkg::t2cxj9

organisations

Endpoints for organisations management

Retrieves current organisation's children

get /organisations

Production platform

https://api-console.intercloud.io/organisations

Technical Preview platform

https://api-console-lab.intercloud.io/organisations

Retrieves all organisations whose parent is the current user's organisation

Authorizations:
query Parameters
offset
integer <int32>

offset of the page (multiple of limit) to start at (default is 0)

limit
integer <int32>

maximum number of results to return (default is 10)

sort
Array of strings

sort order, format column[,ASC|DESC] default ASC (sort=name,desc&sort=other)

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

creates a new organisation, child of the current organisation

post /organisations

Production platform

https://api-console.intercloud.io/organisations

Technical Preview platform

https://api-console-lab.intercloud.io/organisations
Authorizations:
query Parameters
offset
integer <int32>

offset of the page (multiple of limit) to start at (default is 0)

limit
integer <int32>

maximum number of results to return (default is 10)

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "address":
    {
    },
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "id": "DC6CFA95-04B9-4CA9-A692-58DEC0E8BA70",
  • "invoice":
    {
    },
  • "name": "Intercloud",
  • "parent_id": null,
  • "phone": "+33 1 22 97 18 77",
  • "reseller": true,
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Retrieves an organisation from its unique identifier.

get /organisations/{organisationId}

Production platform

https://api-console.intercloud.io/organisations/{organisationId}

Technical Preview platform

https://api-console-lab.intercloud.io/organisations/{organisationId}

The organisation unique identifier can be retrieved with the route GET /me/info (field organisationId)

Authorizations:
path Parameters
organisationId
required
string <uuid>

Unique ID of the organisation to be fetched.

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "address":
    {
    },
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "id": "DC6CFA95-04B9-4CA9-A692-58DEC0E8BA70",
  • "invoice":
    {
    },
  • "name": "Intercloud",
  • "parent_id": null,
  • "phone": "+33 1 22 97 18 77",
  • "reseller": true,
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Updates organisation information

put /organisations/{organisationId}

Production platform

https://api-console.intercloud.io/organisations/{organisationId}

Technical Preview platform

https://api-console-lab.intercloud.io/organisations/{organisationId}
Authorizations:
path Parameters
organisationId
required
string <uuid>

ID of the organisation to return

Request Body schema: application/json

Organisation's information object that needs to be updated in the datastore

address
object
invoice
object
name
string
phone
string

Responses

200

OK

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "address":
    {
    },
  • "invoice":
    {
    },
  • "name": "Intercloud",
  • "phone": "+33 1 22 97 18 77"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "address":
    {
    },
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "id": "DC6CFA95-04B9-4CA9-A692-58DEC0E8BA70",
  • "invoice":
    {
    },
  • "name": "Intercloud",
  • "parent_id": null,
  • "phone": "+33 1 22 97 18 77",
  • "reseller": true,
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

organisations-pool

Endpoints for organisations pool management

Retrieves current organisation's pool

get /organisations/{organisationId}/pool

Production platform

https://api-console.intercloud.io/organisations/{organisationId}/pool

Technical Preview platform

https://api-console-lab.intercloud.io/organisations/{organisationId}/pool

Retrieves all products available for the organisation specified in path

Authorizations:
path Parameters
organisationId
required
string <uuid>

Unique ID of the organisation to be fetched.

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "family": "string",
  • "intercloudRegion": "string",
  • "service": "string",
  • "total": 0,
  • "type": "string",
  • "used": 0
}

Retrieves current organisation's pool

get /organisations/{organisationId}/pool/connectors

Production platform

https://api-console.intercloud.io/organisations/{organisationId}/pool/connectors

Technical Preview platform

https://api-console-lab.intercloud.io/organisations/{organisationId}/pool/connectors

Retrieves all products available for the organisation specified in path

Authorizations:
path Parameters
organisationId
required
string <uuid>

Unique ID of the organisation to be fetched.

query Parameters
shortname
required
string

Family shortname that the connector products belongs to

intercloudRegion
required
string

Slug of the intercloudRegion needed to fetch

Responses

200

OK

404

Product not found for organisationId and intercloudRegion

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "family": "string",
  • "intercloudRegion": "string",
  • "service": "string",
  • "total": 0,
  • "type": "string",
  • "used": 0
}

organisations-capacity

Endpoints for organisations capacity management

Retrieves all subscribed capacities of an organisation from its Id

get /organisations/{organisationId}/capacities

Production platform

https://api-console.intercloud.io/organisations/{organisationId}/capacities

Technical Preview platform

https://api-console-lab.intercloud.io/organisations/{organisationId}/capacities

The organisation unique identifier can be retrieved with the route GET /me/info (field organisationId) The subscribed capacity is the total capacity from all its groups an organisation can consume within a single InterCloud region.

  • capacity is given in bps
  • duration is given is monthes
  • isRegional is set to true if the capacity is bounded to a single intercloudRegion (regional capacity)
Authorizations:
path Parameters
organisationId
required
string <uuid>

ID of the organisation to return

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Retrieves an organisation's subscribed capacity from its id

get /organisations/{organisationId}/capacities/{capacityId}

Production platform

https://api-console.intercloud.io/organisations/{organisationId}/capacities/{capacityId}

Technical Preview platform

https://api-console-lab.intercloud.io/organisations/{organisationId}/capacities/{capacityId}

The organisation unique identifier can be retrieved with the route GET /me/info (field organisationId) The subscribed capacity is the total capacity from all its groups an organisation can consume within a single InterCloud region.

  • capacity is given in Gbps
  • duration is given is monthes
  • isRegional is set to true if the capacity is bounded to a single intercloudRegion (regional capacity)
Authorizations:
path Parameters
organisationId
required
string <uuid>

ID of the organisation to fetch

capacityId
required
string <uuid>

ID of the capacity to fetch

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "capacity": 10,
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "duration": 12,
  • "id": "aeaf42dd-a907-41a7-89cb-a22bdaf1662d",
  • "isRegional": false,
  • "region1Id": "41ef7524-1381-4d54-93ec-a33328f2e576",
  • "region2Id": "65764943-a1e9-4909-b7fa-4d6b6c3df78a",
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Audit-logs management

Endpoints for audit-logs management

Retrieves past years logs from the portal of the current organisation

get /audit-logs

Production platform

https://api-console.intercloud.io/audit-logs

Technical Preview platform

https://api-console-lab.intercloud.io/audit-logs
Authorizations:

Responses

200

OK

default

(empty)

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

users

Endpoints for users management

Retrieves current user's information

get /me/info

Production platform

https://api-console.intercloud.io/me/info

Technical Preview platform

https://api-console-lab.intercloud.io/me/info

The user is identified from the authentication token passed in authentication header.

Authorizations:

Responses

200

OK

Request samples

Copy
curl https://console.intercloud.io/me/info -H 'Authorization: Bearer <YOUR_ACCESS_TOKEN>'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "contact":
    {
    },
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "email": "admin@intercloud.com",
  • "firstName": "John",
  • "id": "DC6CFA95-04B9-4CA9-A692-58DEC0E8BA70",
  • "lastName": "Mayal",
  • "organisationId": "DC6CFA95-04B9-4CA9-A692-58DEC0E8BA70",
  • "preference":
    {
    },
  • "role": "admin",
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Updates user information for current user

put /me/info

Production platform

https://api-console.intercloud.io/me/info

Technical Preview platform

https://api-console-lab.intercloud.io/me/info

The role and organisationId fields can not be updated.

Authorizations:
Request Body schema: application/json

User's information object that needs to be updated in the datastore

contact
object
email
string
firstName
string
lastName
string
login
object
password
string
preference
object

Responses

200

OK

400

Trying to update a user with an email already existing, or password provided is too weak

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "contact":
    {
    },
  • "email": "admin@intercloud.com",
  • "firstName": "John",
  • "lastName": "Mayal",
  • "password": "test",
  • "preference":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "contact":
    {
    },
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "email": "admin@intercloud.com",
  • "firstName": "John",
  • "id": "DC6CFA95-04B9-4CA9-A692-58DEC0E8BA70",
  • "lastName": "Mayal",
  • "organisationId": "DC6CFA95-04B9-4CA9-A692-58DEC0E8BA70",
  • "preference":
    {
    },
  • "role": "admin",
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Retrieves all users.

get /users

Production platform

https://api-console.intercloud.io/users

Technical Preview platform

https://api-console-lab.intercloud.io/users
Authorizations:

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Adds a new user

post /users

Production platform

https://api-console.intercloud.io/users

Technical Preview platform

https://api-console-lab.intercloud.io/users

The field role shall be one of the existing roles provided by a request to the route /acl/roles

Authorizations:
Request Body schema: application/json

User's information object that needs to be added to the datastore

email
required
string
lastName
required
string
password
required
string
contact
object
firstName
string
preference
object
role
string

Responses

201

User created

400

Email or Password needed, or trying to create a user with an email already existing, or password too weak, or invalid role

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "contact":
    {
    },
  • "email": "admin@intercloud.com",
  • "firstName": "John",
  • "lastName": "Mayal",
  • "password": "test",
  • "preference":
    {
    },
  • "role": "admin"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "contact":
    {
    },
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "email": "admin@intercloud.com",
  • "firstName": "John",
  • "id": "DC6CFA95-04B9-4CA9-A692-58DEC0E8BA70",
  • "lastName": "Mayal",
  • "organisationId": "DC6CFA95-04B9-4CA9-A692-58DEC0E8BA70",
  • "preference":
    {
    },
  • "role": "admin",
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Retrieves a user from its unique id

get /users/{userId}

Production platform

https://api-console.intercloud.io/users/{userId}

Technical Preview platform

https://api-console-lab.intercloud.io/users/{userId}

The user unique identifier can be retrieved with the route GET /me/info (field id)

Authorizations:
path Parameters
userId
required
integer <int64>

ID of user to return

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "contact":
    {
    },
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "email": "admin@intercloud.com",
  • "firstName": "John",
  • "id": "DC6CFA95-04B9-4CA9-A692-58DEC0E8BA70",
  • "lastName": "Mayal",
  • "organisationId": "DC6CFA95-04B9-4CA9-A692-58DEC0E8BA70",
  • "preference":
    {
    },
  • "role": "admin",
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Updates user information for given uuid

put /users/{userId}

Production platform

https://api-console.intercloud.io/users/{userId}

Technical Preview platform

https://api-console-lab.intercloud.io/users/{userId}

The organisationId field can not be updated. The field role shall be one of the existing roles provided by a request to the route /acl/roles

Authorizations:
path Parameters
userId
required
integer <int64>

ID of user to update

Request Body schema: application/json

User's information object that needs to be updated in the datastore

contact
object
email
string
firstName
string
lastName
string
login
object
password
string
preference
object
role
string

Responses

200

OK

400

Trying to update a user with an email already existing, or password provided is too weak

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "contact":
    {
    },
  • "email": "admin@intercloud.com",
  • "firstName": "John",
  • "lastName": "Mayal",
  • "password": "test",
  • "preference":
    {
    },
  • "role": "admin"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "contact":
    {
    },
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "email": "admin@intercloud.com",
  • "firstName": "John",
  • "id": "DC6CFA95-04B9-4CA9-A692-58DEC0E8BA70",
  • "lastName": "Mayal",
  • "organisationId": "DC6CFA95-04B9-4CA9-A692-58DEC0E8BA70",
  • "preference":
    {
    },
  • "role": "admin",
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Deletes a User

delete /users/{userId}

Production platform

https://api-console.intercloud.io/users/{userId}

Technical Preview platform

https://api-console-lab.intercloud.io/users/{userId}
Authorizations:
path Parameters
userId
required
integer <int64>

ID of user to delete

Responses

204

No Content

oidc

Endpoints for OpenID Connect management

Generates an access or refresh token

post /auth/token

Production platform

https://api-console.intercloud.io/auth/token

Technical Preview platform

https://api-console-lab.intercloud.io/auth/token

This endpoint generates an OpenID Connect token based on password grant flow. This token should be used as a Bearer value in all your other API calls. The access or refresh token expires after 1 hour. Basic authentication credentials are provided by InterCloud to users who need them to develop their own API clients.

Authorizations:
Request Body schema: application/json

User credentials for token creation or refresh

grant_type
required
string

grant_type shall be password for token creation, and refresh_token to token refresh

scope
required
string

scope must be everything

username
required
string

email address of the user requesting a new token or a refresh token

password
required
string

password of the user requesting a new token or a refresh token

Responses

200

access granted

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "grant_type": "password",
  • "password": "horse bottle sidecar computer",
  • "scope": "everything",
  • "username": "john.lennon@apple.uk.co"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "access_token": "XS12zK1pTMS8VegiHkcvtA",
  • "expires_in": 3600,
  • "refresh_token": "8oBxvcomQVK3yEywJI8akQ",
  • "scope": "everything",
  • "token_type": "Bearer"
}

Generates a reset token for a user

post /auth/token/reset

Production platform

https://api-console.intercloud.io/auth/token/reset

Technical Preview platform

https://api-console-lab.intercloud.io/auth/token/reset

This endpoint generates an OpenID Connect reset token. The token is sent to the user by email. The reset token expires after 15 mn.

Authorizations:
Request Body schema: application/json

User's credential for token reset

grant_type
required
string

grant_type must be client_credentials

scope
required
string

scope must be reset

username
required
string

email address of the user requesting a reset token

Responses

200

email sent

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "grant_type": "client_credentials",
  • "password": "horse bottle sidecar computer",
  • "scope": "reset",
  • "username": "john.lennon@apple.uk.co"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "status": "ok"
}

Lists all Personal Access Token stored

get /personal/tokens

Production platform

https://api-console.intercloud.io/personal/tokens

Technical Preview platform

https://api-console-lab.intercloud.io/personal/tokens

This endpoint lists all existing Personal Access Tokens. Warning - the token values are never fetched.

Authorizations:

Responses

200

OK

Request samples

Copy
curl -ivv https://api-console.intercloud.io/personal/tokens -H 'Authorization: Bearer <TOKEN>'

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Generates a Personal Access Token to be used programatically with the API

post /personal/tokens

Production platform

https://api-console.intercloud.io/personal/tokens

Technical Preview platform

https://api-console-lab.intercloud.io/personal/tokens

This endpoint generates an OpenID Connect Personal Access Token based on the OAuth 2.0 password grant flow. You can use the generated token as a Bearer value in all your other API calls. Warning - the token value generated can never be retrieved. End user shall make sure the token is stored securely.

Authorizations:
Request Body schema: application/json

User's information of token usage

expiresIn
required
integer
name
required
string

name given to the personal access token

comment
string

user comment to provide useful information on the personal access token

Responses

200

token generated

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "comment": "This token is used by the CICD system",
  • "expiresIn": 3600,
  • "name": "ContinuousIntegration"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "accessToken": "XS12zK1pTMS8VegiHkcvtA",
  • "expiresIn": 3600,
  • "scope": "everything",
  • "tokenType": "Bearer"
}

Deletes all Personal Access Tokens of the current user

delete /personal/tokens

Production platform

https://api-console.intercloud.io/personal/tokens

Technical Preview platform

https://api-console-lab.intercloud.io/personal/tokens

This endpoint deletes all Personal Access Tokens of the current user.

Authorizations:

Responses

204

OK

Request samples

Copy
curl -ivv -X DELETE https://api-console.intercloud.io/personal/tokens -H 'Authorization: Bearer <TOKEN>'

Deletes a Personal Access Token by its unique id

delete /personal/tokens:{tokenId}

Production platform

https://api-console.intercloud.io/personal/tokens:{tokenId}

Technical Preview platform

https://api-console-lab.intercloud.io/personal/tokens:{tokenId}

This endpoint deletes a Personal Access Token by its ID.

Authorizations:
path Parameters
tokenId
required
string

ID of token to delete

Responses

204

OK

Request samples

Copy
curl -ivv -X DELETE https://api-console.intercloud.io/personal/tokens/62e51d04-116f-4422-b491-4a47883d5b2d -H 'Authorization: Bearer <TOKEN>'

acl

Endpoints for user access right and permission management

Get all roles

get /acl/roles

Production platform

https://api-console.intercloud.io/acl/roles

Technical Preview platform

https://api-console-lab.intercloud.io/acl/roles

Get available roles and associated policies for a given organization

Authorizations:

Responses

200

ok

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get a role

get /acl/roles/{roleName}

Production platform

https://api-console.intercloud.io/acl/roles/{roleName}

Technical Preview platform

https://api-console-lab.intercloud.io/acl/roles/{roleName}

Return role policies for a given role name

Authorizations:
path Parameters
roleName
required
string

name of the role

header Parameters
InterCloud-Scope
required
string <uuid>

Oraganization's ID

Kong-Request-ID
string

request's ID

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "policies":
    [
    ],
  • "role": "string"
}

Get all policies for a user

get /acl/user/{id}

Production platform

https://api-console.intercloud.io/acl/user/{id}

Technical Preview platform

https://api-console-lab.intercloud.io/acl/user/{id}
Authorizations:
path Parameters
id
required
string <uuid>

id of the user

header Parameters
InterCloud-Scope
required
string <uuid>

Oraganization's ID

Kong-Request-ID
string

request's ID

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

edges

Endpoints for edges management

Retrieves all InterCloud cities

get /cities

Production platform

https://api-console.intercloud.io/cities

Technical Preview platform

https://api-console-lab.intercloud.io/cities
Authorizations:

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Retrieves all InterCloud regions

get /regions

Production platform

https://api-console.intercloud.io/regions

Technical Preview platform

https://api-console-lab.intercloud.io/regions
Authorizations:

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

groups

Endpoints for groups management

Retrieves the aggregated capacities of an organization including its groups and its sub organisations per region

get /aggregated-capacities

Production platform

https://api-console.intercloud.io/aggregated-capacities

Technical Preview platform

https://api-console-lab.intercloud.io/aggregated-capacities
Authorizations:
query Parameters
region
required
string

slug of the region from /regions

start-d
string

start date time of the range

end-d
string

end date time of the range

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "childrenOrganizations":
    [
    ],
  • "groups":
    [
    ],
  • "name": "MyOrganization",
  • "organizationID": "8a0973ce-5694-436f-8bb3-34b6a0e5ee22",
  • "regionalMetrics":
    [
    ]
}

Retrieves the allocated capacities per subscribed capacity id

get /available-capacities

Production platform

https://api-console.intercloud.io/available-capacities

Technical Preview platform

https://api-console-lab.intercloud.io/available-capacities
Authorizations:

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Retrieves the available capacity for the given subscribed capacity id

get /available-capacity/{subscribedCapacityId}

Production platform

https://api-console.intercloud.io/available-capacity/{subscribedCapacityId}

Technical Preview platform

https://api-console-lab.intercloud.io/available-capacity/{subscribedCapacityId}
Authorizations:
path Parameters
subscribedCapacityId
required
string <uuid>

ID of the subscribed capacity

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "availableCapacity": 2000000,
  • "subscribedCapacityId": "b3f366c2-e57d-44f9-aaa9-1344e3b21d04"
}

Retrieves all groups

get /groups

Production platform

https://api-console.intercloud.io/groups

Technical Preview platform

https://api-console-lab.intercloud.io/groups
Authorizations:

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Retrieves a group from its Id

get /groups/{groupId}

Production platform

https://api-console.intercloud.io/groups/{groupId}

Technical Preview platform

https://api-console-lab.intercloud.io/groups/{groupId}
Authorizations:
path Parameters
groupId
required
string <uuid>

ID of group to return

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "allocatedCapacity": 32,
  • "countConnectors": 3,
  • "countFlowConnectors": 0,
  • "countFlowLinks": 0,
  • "countLinks": 2,
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "description": "Connector specifi to group 1",
  • "id": "DC6CFA95-04B9-4CA9-A692-58DEC0E8BA70",
  • "irn": "irn:group:7b3d43dc4892::ayel09",
  • "name": "Connector Group 1",
  • "organisationid": "1bde7885-7eb2-40fa-81b9-80b43028968d",
  • "tagIds":
    [
    ],
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Retrieves allocated capacities of a group from its id

get /groups/{groupId}/capacities

Production platform

https://api-console.intercloud.io/groups/{groupId}/capacities

Technical Preview platform

https://api-console-lab.intercloud.io/groups/{groupId}/capacities
Authorizations:
path Parameters
groupId
required
string <uuid>

ID of group to get capacities

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Connectors management

Endpoints for legacy connectors management

Retrieves all connectors

get /connectors

Production platform

https://api-console.intercloud.io/connectors

Technical Preview platform

https://api-console-lab.intercloud.io/connectors
Authorizations:
query Parameters
legacy
string

This parameter makes the request fetch legacy connectors (?legacy=legacy)

Responses

200

OK

default

(empty)

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Retrieves a connector from its groups Id

get /connectors/group/{groupid}

Production platform

https://api-console.intercloud.io/connectors/group/{groupid}

Technical Preview platform

https://api-console-lab.intercloud.io/connectors/group/{groupid}
Authorizations:
path Parameters
groupid
required
string <uuid>

ID of the group to which connector belongs

query Parameters
flow
string

This parameter makes the request fetch flow connectors (?flow=flow)

Responses

200

OK

default

(empty)

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "bandwidth": 100,
  • "connectorType": "cloudGateway",
  • "connectorTypeId": "0583aec4-5a16-4dc6-9d4f-3bdda916a998",
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "description": "Test pour swagger",
  • "groupId": "1878f0c2-0f1b-4828-9fb5-bf6fcc321a30",
  • "id": "c771c189-ffae-4d55-b86c-d0e3d4f9f48a",
  • "irn": "irn:connectors:vevvu7bed7kk::9deb7p",
  • "kind": "single",
  • "name": "Test_Example",
  • "organisationId": "1878f0c2-0f1b-4828-9fb5-bf6fcc321a30",
  • "status": 0,
  • "tagIds":
    [
    ],
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Search trough all connectors

get /connectors/search

Production platform

https://api-console.intercloud.io/connectors/search

Technical Preview platform

https://api-console-lab.intercloud.io/connectors/search
Authorizations:
query Parameters
groupID
string <uuid>

filter connectors by groupID (?groupID=group_uuid')

family
string

filter connectors by family name in aws, gcp, azure ect... (?family=aws')

destinationID
string <uuid>

filter connectors by destinationID (?destinationID=destination_uuid')

linkedTo
string

filter connectors that are linked to a specific IRN of connector or IRE (?linkedTo=irn')

slacity
string <uuid>

filter connectors by sla city (?slacity=London')

tags
Array of strings <uuid>

filter connectors by tags (?tags=tag1_uuid,tag2_uuid')

edgeCode
string

filter connectors by related edge code (?edgeCode=edge-code')

status
string
Enum: "OK" "KO"

filter connectors by status (?status=connector-status')

Responses

200

OK

default

(empty)

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Retrieves a connector from its Id

get /connectors/{connid}

Production platform

https://api-console.intercloud.io/connectors/{connid}

Technical Preview platform

https://api-console-lab.intercloud.io/connectors/{connid}
Authorizations:
path Parameters
connid
required
string <uuid>

ID of connectors to return

Responses

200

OK

default

(empty)

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "bandwidth": 100,
  • "connectorType": "cloudGateway",
  • "connectorTypeId": "0583aec4-5a16-4dc6-9d4f-3bdda916a998",
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "description": "Test pour swagger",
  • "groupId": "1878f0c2-0f1b-4828-9fb5-bf6fcc321a30",
  • "id": "c771c189-ffae-4d55-b86c-d0e3d4f9f48a",
  • "irn": "irn:connectors:vevvu7bed7kk::9deb7p",
  • "kind": "single",
  • "name": "Test_Example",
  • "organisationId": "1878f0c2-0f1b-4828-9fb5-bf6fcc321a30",
  • "status": 0,
  • "tagIds":
    [
    ],
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Display routing informations of a connectors

get /connectors/{connid}/ip-prefixes

Production platform

https://api-console.intercloud.io/connectors/{connid}/ip-prefixes

Technical Preview platform

https://api-console-lab.intercloud.io/connectors/{connid}/ip-prefixes
Authorizations:
path Parameters
connid
required
string <uuid>

ID of connectors you want informations to

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "prefixes":
    [
    ],
  • "requestDate": "string"
}

Connectors flow management

Endpoints for new connectors flow management

Creates a connector and launches automated provisioning

post /flow/connectors/auto-deploy

Production platform

https://api-console.intercloud.io/flow/connectors/auto-deploy

Technical Preview platform

https://api-console-lab.intercloud.io/flow/connectors/auto-deploy
Authorizations:
Request Body schema: application/json
csp
object
description
string
entreprise
object
groupId
string
name
string
tagIds
Array of strings

Responses

200

OK

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "csp":
    {
    },
  • "description": "string",
  • "entreprise":
    {
    },
  • "groupId": "string",
  • "name": "string",
  • "tagIds":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "connectorType": "cloudGateway",
  • "connectorTypeId": "0583aec4-5a16-4dc6-9d4f-3bdda916a998",
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "description": "Test pour swagger",
  • "groupId": "1878f0c2-0f1b-4828-9fb5-bf6fcc321a30",
  • "id": "c771c189-ffae-4d55-b86c-d0e3d4f9f48a",
  • "irn": "irn:connectors:vevvu7bed7kk::9deb7p",
  • "name": "Test_Example",
  • "organisationId": "1878f0c2-0f1b-4828-9fb5-bf6fcc321a30",
  • "tagIds":
    [
    ],
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Registers a connector for automated provisioning

post /flow/connectors/register

Production platform

https://api-console.intercloud.io/flow/connectors/register

Technical Preview platform

https://api-console-lab.intercloud.io/flow/connectors/register
Authorizations:
Request Body schema: application/json
csp
object
description
string
entreprise
object
groupId
string
name
string
tagIds
Array of strings

Responses

200

OK

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "csp":
    {
    },
  • "description": "string",
  • "entreprise":
    {
    },
  • "groupId": "string",
  • "name": "string",
  • "tagIds":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "connectorType": "cloudGateway",
  • "connectorTypeId": "0583aec4-5a16-4dc6-9d4f-3bdda916a998",
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "description": "Test pour swagger",
  • "groupId": "1878f0c2-0f1b-4828-9fb5-bf6fcc321a30",
  • "id": "c771c189-ffae-4d55-b86c-d0e3d4f9f48a",
  • "irn": "irn:connectors:vevvu7bed7kk::9deb7p",
  • "name": "Test_Example",
  • "organisationId": "1878f0c2-0f1b-4828-9fb5-bf6fcc321a30",
  • "tagIds":
    [
    ],
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Validate fields of the form before registering a flow connector

post /flow/connectors/register/validate

Production platform

https://api-console.intercloud.io/flow/connectors/register/validate

Technical Preview platform

https://api-console-lab.intercloud.io/flow/connectors/register/validate
Authorizations:
Request Body schema: application/json
name
string

Responses

200

OK connector can be created with this name

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string"
}

Retrieve an automatically provisioned connector

get /flow/connectors/{connid}

Production platform

https://api-console.intercloud.io/flow/connectors/{connid}

Technical Preview platform

https://api-console-lab.intercloud.io/flow/connectors/{connid}
Authorizations:
path Parameters
connid
required
string <uuid>

ID of connectors to return

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "actions": { },
  • "read":
    {
    },
  • "write":
    {
    }
}

Updates an automatically provisioned connector

put /flow/connectors/{connid}

Production platform

https://api-console.intercloud.io/flow/connectors/{connid}

Technical Preview platform

https://api-console-lab.intercloud.io/flow/connectors/{connid}
Authorizations:
path Parameters
connid
required
string <uuid>

ID of connectors to return

Request Body schema: application/json
csp
object
description
string
entreprise
object
groupId
string
name
string
tagIds
Array of strings

Responses

200

OK

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "csp":
    {
    },
  • "description": "string",
  • "entreprise":
    {
    },
  • "groupId": "string",
  • "name": "string",
  • "tagIds":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "bandwidth": 100,
  • "connectorType": "cloudGateway",
  • "connectorTypeId": "0583aec4-5a16-4dc6-9d4f-3bdda916a998",
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "description": "Test pour swagger",
  • "groupId": "1878f0c2-0f1b-4828-9fb5-bf6fcc321a30",
  • "id": "c771c189-ffae-4d55-b86c-d0e3d4f9f48a",
  • "irn": "irn:connectors:vevvu7bed7kk::9deb7p",
  • "kind": "single",
  • "name": "Test_Example",
  • "organisationId": "1878f0c2-0f1b-4828-9fb5-bf6fcc321a30",
  • "status": 0,
  • "tagIds":
    [
    ],
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Deletes an automatically provisioned connector

delete /flow/connectors/{connid}

Production platform

https://api-console.intercloud.io/flow/connectors/{connid}

Technical Preview platform

https://api-console-lab.intercloud.io/flow/connectors/{connid}
Authorizations:
path Parameters
connid
required
string <uuid>

ID of connectors to delete

Responses

200

OK

405

Method not allowed, check if connector is linked (it is forbidden to delete a linked connector)

Deploys a previously registered connector

post /flow/connectors/{connid}/deploy

Production platform

https://api-console.intercloud.io/flow/connectors/{connid}/deploy

Technical Preview platform

https://api-console-lab.intercloud.io/flow/connectors/{connid}/deploy
Authorizations:
path Parameters
connid
required
string <uuid>

ID of connectors to return

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "connectorType": "cloudGateway",
  • "connectorTypeId": "0583aec4-5a16-4dc6-9d4f-3bdda916a998",
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "description": "Test pour swagger",
  • "groupId": "1878f0c2-0f1b-4828-9fb5-bf6fcc321a30",
  • "id": "c771c189-ffae-4d55-b86c-d0e3d4f9f48a",
  • "irn": "irn:connectors:vevvu7bed7kk::9deb7p",
  • "name": "Test_Example",
  • "organisationId": "1878f0c2-0f1b-4828-9fb5-bf6fcc321a30",
  • "tagIds":
    [
    ],
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Retrieves a list of links from its groups Id objects linked are display with their IRN

get /links/group/irn-links/{groupid}

Production platform

https://api-console.intercloud.io/links/group/irn-links/{groupid}

Technical Preview platform

https://api-console-lab.intercloud.io/links/group/irn-links/{groupid}
Authorizations:
path Parameters
groupid
required
string <uuid>

ID of the group to which link belongs

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "from": "irn:connector:fb9d10ad6f8b::18mz09b",
  • "id": "c771c189-ffae-4d55-b86c-d0e3d4f9f48a",
  • "name": "Connector To IRGW",
  • "tagIds":
    [
    ],
  • "to": "irn:ire:7b2e43bc4892::1lblhtm",
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Retrieves a list of links from its groups Id objects linked are display with their UUID

get /links/group/{groupid}

Production platform

https://api-console.intercloud.io/links/group/{groupid}

Technical Preview platform

https://api-console-lab.intercloud.io/links/group/{groupid}
Authorizations:
path Parameters
groupid
required
string <uuid>

ID of the group to which link belongs

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "from": "878f0c2-0f1b-4828-9fb5-bf6fcc321a30",
  • "id": "c771c189-ffae-4d55-b86c-d0e3d4f9f48a",
  • "name": "Cloud To Cloud",
  • "tagIds":
    [
    ],
  • "to": "0583aec4-5a16-4dc6-9d4f-3bdda916a998",
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Retrieves a link from its Id

get /links/{linkid}

Production platform

https://api-console.intercloud.io/links/{linkid}

Technical Preview platform

https://api-console-lab.intercloud.io/links/{linkid}
Authorizations:
path Parameters
linkid
required
string <uuid>

ID of link to return

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "description": "This link is dedicated to check data consistency after version upgrade",
  • "from": "1878f0c2-0f1b-4828-9fb5-bf6fcc321a30",
  • "id": "c771c189-ffae-4d55-b86c-d0e3d4f9f48a",
  • "irn": "irn:link:skstok62tbks::1s2w551",
  • "name": "TEST LINK 1",
  • "tagIds":
    [
    ],
  • "to": "1878f0c2-0f1b-4828-9fb5-bf6fcc321a30"
}

cloud-appliances

Endpoints for cloud appliances management

Retrieves all cloud appliances

get /cloud-appliances

Production platform

https://api-console.intercloud.io/cloud-appliances

Technical Preview platform

https://api-console-lab.intercloud.io/cloud-appliances
Authorizations:
query Parameters
cloudApplianceOnly
boolean

Filter cloud appliances Incompatible with routingApplianceOnly

routingApplianceOnly
boolean

Filter routing appliances Incompatible with cloudApplianceOnly

virtualInterfacesIds
Array of strings <uuid>

Filter routing appliances with cloud virtual interface id

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Retrieves a cloud appliances from its Id

get /cloud-appliances/{cloudAppliancesId}

Production platform

https://api-console.intercloud.io/cloud-appliances/{cloudAppliancesId}

Technical Preview platform

https://api-console-lab.intercloud.io/cloud-appliances/{cloudAppliancesId}
Authorizations:
path Parameters
cloudAppliancesId
required
string <uuid>

ID of the cloud appliances to retrieve

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cloudApplianceManagementIP": "http://cpe1.intercloud.network/",
  • "cloudApplianceModel": null,
  • "cloudApplianceModelID": "51899811-3c62-493c-84e8-329575d72213",
  • "cloudVirtualInterfaces":
    {
    },
  • "createdAt": "2018-05-16 08:40:51.161299+02:00",
  • "custCloudApplianceInterface": "ge-0/0/0",
  • "description": "The gateway of toto",
  • "icCloudApplianceInterface": "ge-0/0/8",
  • "id": "aeaf42dd-a907-41a7-89cb-a22bdaf1662d",
  • "irn": "irn:cpe:s13be8hfbbk8::shsycn",
  • "kind": "cloudAppliance",
  • "name": "Toto Gateway",
  • "organisationId": "d4beb608-b6c7-429b-a209-59a1710140f1",
  • "siteName": "REAUMUR 88-90 Boulevard de Sébastopol, 75003 Paris",
  • "tagIds": null,
  • "updatedAt": "2018-05-16 08:40:51.161299+02:00"
}

Retrieves all cloud virtual interfaces from cloud appliance ID

get /cloud-appliances/{cloudAppliancesId}/cloud-virtual-interfaces

Production platform

https://api-console.intercloud.io/cloud-appliances/{cloudAppliancesId}/cloud-virtual-interfaces

Technical Preview platform

https://api-console-lab.intercloud.io/cloud-appliances/{cloudAppliancesId}/cloud-virtual-interfaces
Authorizations:
path Parameters
cloudAppliancesId
required
string <uuid>

ID of the GW that the virtualGW belongs to

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cloudApplianceId": "aeaf42dd-a907-41a7-89cb-a22bdaf1662d",
  • "cmeIfDescription": "CST:L3-CONNECTOR-INTERCLOUD-036-AWS",
  • "custParameters":
    {
    },
  • "description": "Cool Description of my cloud virtual interface",
  • "irn": "51899811-3c62-493c-84e8-329575d72213",
  • "linkedEntrepriseConnectorName": "Entreprise Connector Toto",
  • "organisationId": "8e1e0fc1-f11d-47a7-8264-d835f2f30523"
}

Retrieves a cloud virtual interface from its id

get /cloud-appliances/{cloudAppliancesId}/cloud-virtual-interfaces/{cloudVirtualInterfacesId}

Production platform

https://api-console.intercloud.io/cloud-appliances/{cloudAppliancesId}/cloud-virtual-interfaces/{cloudVirtualInterfacesId}

Technical Preview platform

https://api-console-lab.intercloud.io/cloud-appliances/{cloudAppliancesId}/cloud-virtual-interfaces/{cloudVirtualInterfacesId}
Authorizations:
path Parameters
cloudAppliancesId
required
string <uuid>

ID of cloud appliance to retrieve

cloudVirtualInterfacesId
required
string <uuid>

ID of virtualGateway to return

Responses

200

OK

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cloudApplianceId": "aeaf42dd-a907-41a7-89cb-a22bdaf1662d",
  • "cmeIfDescription": "CST:L3-CONNECTOR-INTERCLOUD-036-AWS",
  • "custParameters":
    {
    },
  • "description": "Cool Description of my cloud virtual interface",
  • "irn": "51899811-3c62-493c-84e8-329575d72213",
  • "linkedEntrepriseConnectorName": "Entreprise Connector Toto",
  • "organisationId": "8e1e0fc1-f11d-47a7-8264-d835f2f30523"
}

metrics

Endpoints for monitoring and visualization management.

Timestamp formatting

All timestamps used below are formatted according to the RFC 3339 standard, as follows:

YYYY-MM-DDTHH:MM:SS+hh:mm (with locale) YYYY-MM-DDTHH:MM:SSZ (in UTC)

'T' is a separator. 'Z' means that the timestamp is in UTC. If it's not, you should omit the 'Z' and use the plus or minus sign to give the difference compared to UTC timezone. hh:mm is the difference between UTC and your timezone.

Please note that special characters, such as the plus sign, should be escaped in the URLs.

Example in UTC: 2020-06-24T19:13:35Z

Example with a different locale: 2020-06-24T19:13:35+02:00 With escape character: 2020-06-24T19:13:35%2B02:00

Retrieves all metric types for a given resource (irn).

get /GET /metrics/query/irn/{irn}

Production platform

https://api-console.intercloud.io/GET /metrics/query/irn/{irn}

Technical Preview platform

https://api-console-lab.intercloud.io/GET /metrics/query/irn/{irn}

The resource is identified from its IRN. The metric types define the category of the measurement. The different metric types are:

  • bits_send (timeserie)
  • bits_received (timeserie)
  • used capacity per InterCloud region (timeserie), for example "europe", "japan", "latin-america", "north-america", "pacific", "south-africa", "southeast-asia"
  • average used capacity per InterCloud region (average), for example "europe", "japan", "latin-america", "north-america", "pacific", "south-africa", "southeast-asia"
  • jitter (timeserie)
  • latency (timeserie)
  • packet_loss (timeserie)
  • connStatus (status)
  • bgpStatus (status)
  • hostStatus (status)
  • connStatusHistory (timeserie)
  • connEventHistory (timeserie)
  • orga-avg
  • local-loop-packet-loss
  • local-loop-latency
  • local-loop-jitter
Authorizations:
path Parameters
irn
required
string

InterCloud Resource Identifier

Responses

200

OK

Request samples

Copy
curl https://console.intercloud.io/metrics/query/irn/irn:group:e0e815aaa216::ngpmsf -H 'Authorization: Bearer <YOUR_ACCESS_TOKEN>'

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Retrieves monitoring data for a given resource and metric type.

get /GET /metrics/query/irn/{irn}/{metricType}/run

Production platform

https://api-console.intercloud.io/GET /metrics/query/irn/{irn}/{metricType}/run

Technical Preview platform

https://api-console-lab.intercloud.io/GET /metrics/query/irn/{irn}/{metricType}/run

The route run an identified metrics by IRN or ID which will return KPIS or status depending the ressources. The user is identified from the authentication token passed in authentication header. Note: the format of the data is specific to the origin backend. It will not be described in this document. You can consult backend providers for get a description of the measurement data format:

Authorizations:
path Parameters
irn
required
string

InterCloud Resource Identifier

metricType
required
string

Category of measurement to retrieve

query Parameters
start-d
string <date-time>

Timestamp of the starting point of measurement. It should be in UTC according to the RFC 3339 standard. (https://tools.ietf.org/html/rfc3339)

end-d
string <date-time>

Timestamp of the ending point of measurement. It should be in UTC according to the RFC 3339 standard. (https://tools.ietf.org/html/rfc3339)

interv
string <integer>

(optional) time between samples in minutes

region
string

(for region metrics only) the region associated to the given metrics

Responses

200

OK

400

Bad Request, return when date query argument are malformed

Request samples

Copy
curl https://console.intercloud.io/metrics/query/irn/irn:group:e0e815aaa216::ngpmsf/europe/run?start-d=2020-06-17T19:13:35%2B02:00&end-d=2020-06-24T19:13:35%2B02:00 -H 'Authorization: Bearer <YOUR_ACCESS_TOKEN>'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "results":
    [
    ],
  • "type": "JSONSchemeForConnectors"
}