Allowed HTTP methods

Method Description
GET get the capabilities object


See RFC 2616 for more details on HTTP methods semantics

The capabilities API call is used to gather all the basic, sensible limits of the API, to prevent applying static limits inside the client application.

GET /capabilities/
statuscode 200:no error

Example request:

GET /api/2.0/capabilities/?limit=0 HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop


HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

    "drives": {
        "dssd": {
            "max_size": 4391067795456,
            "min_size": 536870912
        "zadara": {
            "max_size": 5905580032000,
            "min_size": 1073741824
    "servers": {
        "cpu": {
            "max": 40000,
            "min": 250
        "cpu_per_smp": {
            "max": 2500,
            "min": 1000
        "mem": {
            "max": 68719476736,
            "min": 268435456
        "smp": {
            "max": 24,
            "min": 1
    "snapshots": {
        "current": 0,
        "max": 600


Bare in mind, that these capabilities are dynamic - they are based on the cloud usage, location, etc. For example a location might not support lssd, but support magnetic disk option, or vise versa. If a feature is not supported or is disabled, it will disappear from the result of this call. Most of the limits are straight forward and easy to figure out - they match options on servers and drives. There are some exceptions like:

cpu_per_smp:this means that the cpu, divided by the smp value, if smp > 1, should be in the range between 1000 and 2200 MHz. For example a server with 2000MHz cpu and 2 smp has 1000MHz per smp and is within the range, but a server with 8000MHz cpu and 2 smp has a 4000MHz per smp, which is outside of the allowed range.