Billing

Balance

Allowed HTTP methods

Method Description
GET get / list object/s

Note

See RFC 2616 for more details on HTTP methods semantics

Listing

GET /balance/

Get the balance and currency of the current account.

Status Codes:
  • 200 – no error

Example request:

GET /api/2.0/balance/ HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop

Example response:

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

{
    "balance": "189.82406289729143017134",
    "currency": "USD"
}

Schema

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

{
    "allowed_detail_http_methods": [
        "get"
    ],
    "allowed_list_http_methods": [],
    "default_format": "application/json",
    "default_limit": 20,
    "fields": {
        "balance": {
            "default": "No default provided.",
            "help_text": "Amount of money in account",
            "readonly": true,
            "required": true,
            "type": "decimal"
        },
        "currency": {
            "default": "No default provided.",
            "help_text": "Currency of the account",
            "readonly": true,
            "required": true,
            "type": "string"
        }
    }
}

Pricing

Allowed HTTP methods

Method Description
GET get / list object/s

Note

See RFC 2616 for more details on HTTP methods semantics

Listing

GET /pricing/

Gets the pricing information that are applicable to the cloud. Subscription prices use a burst level of 0.

Status Codes:
  • 200 – no error

Example request:

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

Example response:

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

{
    "current": {
        "cpu": 2,
        "dssd": 1,
        "ip": 1,
        "mem": 1,
        "msft_7jq_00341": 1,
        "msft_7nq_00302": 1,
        "msft_lwa_00135": 1,
        "msft_p71_01031": 1,
        "msft_p73_04837": 1,
        "msft_p73_04837_core": 1,
        "msft_tfa_00009": 1,
        "msft_tfa_00523": 1,
        "sms": 1,
        "ssd": 1,
        "tx": 9,
        "vlan": 1
    },
    "meta": {
        "limit": 5,
        "offset": 0,
        "total_count": 384
    },
    "next": {
        "cpu": 2,
        "dssd": 1,
        "ip": 1,
        "mem": 1,
        "msft_7jq_00341": 1,
        "msft_7nq_00302": 1,
        "msft_lwa_00135": 1,
        "msft_p71_01031": 1,
        "msft_p73_04837": 1,
        "msft_p73_04837_core": 1,
        "msft_tfa_00009": 1,
        "msft_tfa_00523": 1,
        "sms": 1,
        "ssd": 1,
        "tx": 9,
        "vlan": 1
    },
    "objects": [
        {
            "currency": "GBP",
            "id": "688",
            "level": 20,
            "multiplier": 2783138807808000,
            "price": "0.18390000000000000000",
            "resource": "dssd",
            "unit": "GB/month"
        },
        {
            "currency": "GBP",
            "id": "687",
            "level": 19,
            "multiplier": 2783138807808000,
            "price": "0.18380000000000000000",
            "resource": "dssd",
            "unit": "GB/month"
        },
        {
            "currency": "GBP",
            "id": "686",
            "level": 18,
            "multiplier": 2783138807808000,
            "price": "0.18370000000000000000",
            "resource": "dssd",
            "unit": "GB/month"
        },
        {
            "currency": "GBP",
            "id": "685",
            "level": 17,
            "multiplier": 2783138807808000,
            "price": "0.18360000000000000000",
            "resource": "dssd",
            "unit": "GB/month"
        },
        {
            "currency": "GBP",
            "id": "684",
            "level": 16,
            "multiplier": 2783138807808000,
            "price": "0.18350000000000000000",
            "resource": "dssd",
            "unit": "GB/month"
        }
    ]
}

Burst levels

The current and future burst levels are provided in objects at the root of the response. The burst levels are calculated every 5 minutes based on the usage of the cloud and are applied 5 minutes later (when the next burst levels are calculated)

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

{
    "current": {
        "cpu": 2,
        "dssd": 1,
        "ip": 1,
        "mem": 1,
        "msft_7jq_00341": 1,
        "msft_7nq_00302": 1,
        "msft_lwa_00135": 1,
        "msft_p71_01031": 1,
        "msft_p73_04837": 1,
        "msft_p73_04837_core": 1,
        "msft_tfa_00009": 1,
        "msft_tfa_00523": 1,
        "sms": 1,
        "ssd": 1,
        "tx": 9,
        "vlan": 1
    },
    "next": {
        "cpu": 2,
        "dssd": 1,
        "ip": 1,
        "mem": 1,
        "msft_7jq_00341": 1,
        "msft_7nq_00302": 1,
        "msft_lwa_00135": 1,
        "msft_p71_01031": 1,
        "msft_p73_04837": 1,
        "msft_p73_04837_core": 1,
        "msft_tfa_00009": 1,
        "msft_tfa_00523": 1,
        "sms": 1,
        "ssd": 1,
        "tx": 9,
        "vlan": 1
    }
}

Schema

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

{
    "allowed_detail_http_methods": [
        "get"
    ],
    "allowed_list_http_methods": [
        "get"
    ],
    "default_format": "application/json",
    "default_limit": 0,
    "fields": {
        "currency": {
            "blank": false,
            "default": "No default provided.",
            "help_text": "The currency of the price",
            "nullable": false,
            "readonly": true,
            "type": "string",
            "unique": false
        },
        "id": {
            "blank": false,
            "default": "",
            "help_text": "Unicode string data. Ex: \"Hello World\"",
            "nullable": false,
            "readonly": false,
            "type": "string",
            "unique": true
        },
        "level": {
            "blank": false,
            "default": 0,
            "help_text": "The burst level the price applies to",
            "nullable": false,
            "readonly": false,
            "type": "integer",
            "unique": false
        },
        "multiplier": {
            "blank": false,
            "default": "No default provided.",
            "help_text": "The multiplier applied to get the price of one unit per second, from the unit of the price",
            "nullable": false,
            "readonly": true,
            "type": "integer",
            "unique": false
        },
        "price": {
            "blank": false,
            "default": "No default provided.",
            "help_text": "Price",
            "nullable": false,
            "readonly": false,
            "type": "decimal",
            "unique": false
        },
        "resource": {
            "blank": false,
            "default": "No default provided.",
            "help_text": "The resource the price applies to",
            "nullable": false,
            "readonly": true,
            "type": "string",
            "unique": false
        },
        "unit": {
            "blank": false,
            "default": "No default provided.",
            "help_text": "The unit of the price",
            "nullable": false,
            "readonly": true,
            "type": "string",
            "unique": false
        }
    },
    "filtering": {
        "level": 1
    }
}

Discounts

Allowed HTTP methods

Method Description
GET get / list object/s

Note

See RFC 2616 for more details on HTTP methods semantics

Listing

GET /discount/

Get discount information.

statuscode 200:no error

Example request:

GET /api/2.0/discount/ HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop

Example response:

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

{
    "meta": {
        "limit": 0,
        "offset": 0,
        "total_count": 5
    },
    "objects": [
        {
            "period": "3 months",
            "value": "0.0300000000"
        },
        {
            "period": "6 months",
            "value": "0.1000000000"
        },
        {
            "period": "1 year",
            "value": "0.2500000000"
        },
        {
            "period": "2 years",
            "value": "0.3500000000"
        },
        {
            "period": "3 years",
            "value": "0.4500000000"
        }
    ]
}

Schema

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

{
    "allowed_detail_http_methods": [
        "get"
    ],
    "allowed_list_http_methods": [
        "get"
    ],
    "default_format": "application/json",
    "default_limit": 0,
    "fields": {
        "period": {
            "blank": false,
            "default": "No default provided.",
            "help_text": "The minimum period for this discount",
            "nullable": true,
            "readonly": false,
            "type": "string",
            "unique": false
        },
        "value": {
            "blank": false,
            "default": 0,
            "help_text": "The value of the discount",
            "nullable": false,
            "readonly": false,
            "type": "decimal",
            "unique": false
        }
    }
}

Transaction list

Allowed HTTP methods

Method Description
GET get / list object/s

Note

See RFC 2616 for more details on HTTP methods semantics

Listing

GET /ledger/

Get the transactions for the account.

statuscode 200:no error

Example request:

GET /api/2.0/ledger/ HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop

Example response:

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

{
    "meta": {
        "limit": 20,
        "offset": 0,
        "total_count": 10
    },
    "objects": [
        {
            "amount": "-55.00000000000000000000",
            "billing_cycle": null,
            "end": "189.82406289729143017134",
            "human_interval": null,
            "id": "60125",
            "initial": "134.82406289729143017134",
            "interval": null,
            "reason": "Payment through card - 10b10984-618d-11e3-bb0a-0025904a9b99",
            "resource_amount": "1",
            "time": "2013-12-10T11:20:28.355643+00:00"
        },
        {
            "amount": "-77.00000000000000000000",
            "billing_cycle": null,
            "end": "134.82406289729143017134",
            "human_interval": null,
            "id": "60124",
            "initial": "57.82406289729143017134",
            "interval": null,
            "reason": "Payment through card - 0c1ba4d8-618d-11e3-bb0a-0025904a9b99",
            "resource_amount": "1",
            "time": "2013-12-10T11:20:24.327744+00:00"
        },
        {
            "amount": "0.00302250000000000000",
            "billing_cycle": 95388,
            "end": "57.82406289729143017134",
            "human_interval": "1 minutes",
            "id": "48579",
            "initial": "57.82708539729143017134",
            "interval": 62,
            "reason": "Burst: 15.00 GHz of cpu for 1 minutes at 2013-12-09 16:09",
            "resource_amount": "15000",
            "time": "2013-12-09T16:10:59.864271+00:00"
        },
        {
            "amount": "0.00003705232124522696",
            "billing_cycle": 95388,
            "end": "57.82708539729143017134",
            "human_interval": "49 seconds",
            "id": "48486",
            "initial": "57.82712244961267539830",
            "interval": 49,
            "reason": "Burst: 7.00 GB of dssd for 49 seconds at 2013-12-09 16:02",
            "resource_amount": "7516162768",
            "time": "2013-12-09T16:03:02.690900+00:00"
        },
        {
            "amount": "0.00311006944444444444",
            "billing_cycle": 95388,
            "end": "57.82712244961267539830",
            "human_interval": "53 seconds",
            "id": "47577",
            "initial": "57.83023251905711984274",
            "interval": 53,
            "reason": "Burst: 12.50 GHz of cpu for 53 seconds at 2013-12-09 14:46",
            "resource_amount": "12500",
            "time": "2013-12-09T14:47:29.005985+00:00"
        },
        {
            "amount": "0.00186041666666666667",
            "billing_cycle": 95388,
            "end": "57.83023251905711984274",
            "human_interval": "47 seconds",
            "id": "47563",
            "initial": "57.83209293572378650941",
            "interval": 47,
            "reason": "Burst: 12.50 GHz of cpu for 47 seconds at 2013-12-09 14:45",
            "resource_amount": "12500",
            "time": "2013-12-09T14:46:36.520183+00:00"
        },
        {
            "amount": "0.00002344126446126604",
            "billing_cycle": 95388,
            "end": "57.83209293572378650941",
            "human_interval": "31 seconds",
            "id": "47462",
            "initial": "57.83211637698824777545",
            "interval": 31,
            "reason": "Burst: 7.00 GB of dssd for 31 seconds at 2013-12-09 14:39",
            "resource_amount": "7516162768",
            "time": "2013-12-09T14:39:45.605181+00:00"
        },
        {
            "amount": "0.00002419743428259720",
            "billing_cycle": 95388,
            "end": "57.83211637698824777545",
            "human_interval": "32 seconds",
            "id": "47452",
            "initial": "57.83214057442253037265",
            "interval": 32,
            "reason": "Burst: 7.00 GB of dssd for 32 seconds at 2013-12-09 14:38",
            "resource_amount": "7516162768",
            "time": "2013-12-09T14:39:08.121192+00:00"
        },
        {
            "amount": "0.00022533860675668643",
            "billing_cycle": 95384,
            "end": "57.83214057442253037265",
            "human_interval": "5 minutes",
            "id": "47189",
            "initial": "57.83236591302928705908",
            "interval": 298,
            "reason": "Burst: 7.00 GB of dssd for 5 minutes at 2013-12-09 13:55",
            "resource_amount": "7516162768",
            "time": "2013-12-09T13:57:09.219410+00:00"
        },
        {
            "amount": "0.00000403749420204096",
            "billing_cycle": null,
            "end": "57.83236591302928705908",
            "human_interval": null,
            "id": "14",
            "initial": "57.83236995052348910004",
            "interval": null,
            "reason": "Auto renewing subscriptions 3742",
            "resource_amount": "1",
            "time": "2013-11-27T12:49:05.409283+00:00"
        }
    ]
}

Schema

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

{
    "allowed_detail_http_methods": [
        "get"
    ],
    "allowed_list_http_methods": [
        "get"
    ],
    "default_format": "application/json",
    "default_limit": 20,
    "fields": {
        "amount": {
            "blank": false,
            "default": 0,
            "help_text": "Amount of the operation, positive for debits, negative for credits",
            "nullable": false,
            "readonly": false,
            "type": "decimal",
            "unique": false
        },
        "billing_cycle": {
            "blank": false,
            "default": "No default provided.",
            "help_text": "Billing cycle that generated this charge",
            "nullable": true,
            "readonly": false,
            "type": "integer",
            "unique": false
        },
        "end": {
            "blank": false,
            "default": 0,
            "help_text": "Amount of money after the operation",
            "nullable": false,
            "readonly": false,
            "type": "decimal",
            "unique": false
        },
        "human_interval": {
            "blank": false,
            "default": "No default provided.",
            "help_text": "Human readable interval of bill entry",
            "nullable": true,
            "readonly": false,
            "type": "string",
            "unique": false
        },
        "id": {
            "blank": false,
            "default": "",
            "help_text": "Unicode string data. Ex: \"Hello World\"",
            "nullable": false,
            "readonly": false,
            "type": "string",
            "unique": true
        },
        "initial": {
            "blank": false,
            "default": 0,
            "help_text": "Amount of money before the operation",
            "nullable": false,
            "readonly": false,
            "type": "decimal",
            "unique": false
        },
        "interval": {
            "blank": false,
            "default": "No default provided.",
            "help_text": "Interval of bill entry",
            "nullable": true,
            "readonly": false,
            "type": "integer",
            "unique": false
        },
        "reason": {
            "blank": false,
            "default": "No default provided.",
            "help_text": "Description of the operation",
            "nullable": false,
            "readonly": false,
            "type": "string",
            "unique": false
        },
        "resource_amount": {
            "blank": false,
            "default": 1,
            "help_text": "Resource amount",
            "nullable": true,
            "readonly": false,
            "type": "string",
            "unique": false
        },
        "time": {
            "blank": false,
            "default": "2013-12-10T11:20:35.251567+00:00",
            "help_text": "A date & time as a string. Ex: \"2010-11-10T03:07:43\"",
            "nullable": false,
            "readonly": false,
            "type": "datetime",
            "unique": false
        }
    },
    "filtering": {
        "billing_cycle": 1,
        "time": 1
    },
    "ordering": [
        "time"
    ]
}

Discounts

Allowed HTTP methods

Method Description
GET get / list object/s

Note

See RFC 2616 for more details on HTTP methods semantics

Listing

GET /discount/

Get discount information.

statuscode 200:no error

Example request:

GET /api/2.0/discount/ HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop

Example response:

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

{
    "meta": {
        "limit": 0,
        "offset": 0,
        "total_count": 5
    },
    "objects": [
        {
            "period": "3 months",
            "value": "0.0300000000"
        },
        {
            "period": "6 months",
            "value": "0.1000000000"
        },
        {
            "period": "1 year",
            "value": "0.2500000000"
        },
        {
            "period": "2 years",
            "value": "0.3500000000"
        },
        {
            "period": "3 years",
            "value": "0.4500000000"
        }
    ]
}

Schema

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

{
    "allowed_detail_http_methods": [
        "get"
    ],
    "allowed_list_http_methods": [
        "get"
    ],
    "default_format": "application/json",
    "default_limit": 0,
    "fields": {
        "period": {
            "blank": false,
            "default": "No default provided.",
            "help_text": "The minimum period for this discount",
            "nullable": true,
            "readonly": false,
            "type": "string",
            "unique": false
        },
        "value": {
            "blank": false,
            "default": 0,
            "help_text": "The value of the discount",
            "nullable": false,
            "readonly": false,
            "type": "decimal",
            "unique": false
        }
    }
}

Current usage

Allowed HTTP methods

Method Description
GET get / list object/s

Note

See RFC 2616 for more details on HTTP methods semantics

Listing

GET /currentusage/

Get the current usage of the user.

Status Codes:
  • 200 – no error

Example request:

GET /api/2.0/currentusage/ HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop

Example response:

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

{
    "balance": {
        "balance": "189.82406289729143017134",
        "currency": "USD"
    },
    "usage": {
        "cpu": {
            "burst": 0,
            "subscribed": 5000,
            "using": 2000
        },
        "dssd": {
            "burst": 0,
            "subscribed": 53687121200,
            "using": 37580963840
        },
        "ip": {
            "burst": 0,
            "subscribed": 1,
            "using": 1
        },
        "mem": {
            "burst": 0,
            "subscribed": 34359738368,
            "using": 2147483648
        },
        "msft_7jq_00341": {
            "burst": 0,
            "subscribed": 0,
            "using": 0
        },
        "msft_7nq_00302": {
            "burst": 0,
            "subscribed": 0,
            "using": 0
        },
        "msft_lwa_00135": {
            "burst": 0,
            "subscribed": 0,
            "using": 0
        },
        "msft_p71_01031": {
            "burst": 0,
            "subscribed": 0,
            "using": 0
        },
        "msft_p73_04837": {
            "burst": 0,
            "subscribed": 0,
            "using": 0
        },
        "msft_p73_04837_core": {
            "burst": 0,
            "subscribed": 0,
            "using": 0
        },
        "msft_tfa_00009": {
            "burst": 0,
            "subscribed": 0,
            "using": 0
        },
        "msft_tfa_00523": {
            "burst": 0,
            "subscribed": 0,
            "using": 0
        },
        "sms": {
            "burst": 0,
            "subscribed": 0,
            "using": 0
        },
        "ssd": {
            "burst": 0,
            "subscribed": 0,
            "using": 0
        },
        "tx": {
            "burst": 0,
            "subscribed": 2147467856,
            "using": 0
        },
        "vlan": {
            "burst": 0,
            "subscribed": 1,
            "using": 1
        }
    }
}

Schema

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

{
    "allowed_detail_http_methods": [
        "get",
        "put",
        "delete"
    ],
    "allowed_list_http_methods": [
        "get",
        "put",
        "delete",
        "post"
    ],
    "default_format": "application/json",
    "default_limit": 20,
    "fields": {
        "balance": {
            "default": "No default provided.",
            "help_text": "A dictionary of data. Ex: {'price': 26.73, 'name': 'Daniel'}",
            "readonly": false,
            "required": true,
            "type": "dict"
        },
        "usage": {
            "default": "No default provided.",
            "help_text": "A dictionary of data. Ex: {'price': 26.73, 'name': 'Daniel'}",
            "readonly": false,
            "required": true,
            "type": "dict"
        }
    }
}

Licenses list

Allowed HTTP methods

Method Description
GET get / list object/s

Note

See RFC 2616 for more details on HTTP methods semantics

Listing

GET /licenses/

Get the licenses available on the cloud. The type of the license can be one of:

Status Codes:
  • 200 – no error
  • install - These licenses are billed per installation, regardless of whether it is attached to a running guests or not.
  • instance - These licenses are billed per running instance of a guest. A license attached to a guest that’s stopped is not billed.
  • stub - These licenses are billed per a metric specified by the customer (i.e. per number of users license)

The user metric field specifies what attribute on the instance of the guest is used for determining the number of licenses. For example, “smp” will count one license for each CPU/core in the virtual machine.

Example request:

GET /api/2.0/licenses/ HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop

Example response:

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

{
    "meta": {
        "limit": 20,
        "offset": 0,
        "total_count": 5
    },
    "objects": [
        {
            "burstable": false,
            "long_name": "SQL Server Enterprise Edition",
            "name": "msft_7jq_00341",
            "resource_uri": "/api/2.0/licenses/16/",
            "type": "instance",
            "user_metric": "smp"
        },
        {
            "burstable": false,
            "long_name": "SQL Server Standard Edition",
            "name": "msft_7nq_00302",
            "resource_uri": "/api/2.0/licenses/17/",
            "type": "instance",
            "user_metric": "smp"
        },
        {
            "burstable": false,
            "long_name": "Windows Server Datacenter",
            "name": "msft_p71_01031",
            "resource_uri": "/api/2.0/licenses/19/",
            "type": "instance",
            "user_metric": "smp"
        },
        {
            "burstable": false,
            "long_name": "Windows Server Standard",
            "name": "msft_p73_04837_core",
            "resource_uri": "/api/2.0/licenses/15/",
            "type": "instance",
            "user_metric": "smp"
        },
        {
            "burstable": false,
            "long_name": "SQL Server Web",
            "name": "msft_tfa_00523",
            "resource_uri": "/api/2.0/licenses/18/",
            "type": "instance",
            "user_metric": "smp"
        }
    ]
}

Schema

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

{
    "allowed_detail_http_methods": [
        "get"
    ],
    "allowed_list_http_methods": [
        "get"
    ],
    "default_format": "application/json",
    "default_limit": 20,
    "fields": {
        "burstable": {
            "blank": false,
            "default": false,
            "help_text": "Whether this resource can be used on burst",
            "nullable": false,
            "readonly": false,
            "type": "boolean",
            "unique": false
        },
        "long_name": {
            "blank": false,
            "default": "",
            "help_text": "A human readable name for the resource.",
            "nullable": false,
            "readonly": false,
            "type": "string",
            "unique": false
        },
        "name": {
            "blank": false,
            "default": "No default provided.",
            "help_text": "Name that should be used when purchasing",
            "nullable": false,
            "readonly": false,
            "type": "string",
            "unique": false
        },
        "resource_uri": {
            "blank": false,
            "default": "No default provided.",
            "help_text": "Unicode string data. Ex: \"Hello World\"",
            "nullable": false,
            "readonly": true,
            "type": "string",
            "unique": false
        },
        "type": {
            "blank": false,
            "default": "instance",
            "help_text": "Type of billing",
            "nullable": false,
            "readonly": false,
            "type": "string",
            "unique": false
        },
        "user_metric": {
            "blank": false,
            "default": "No default provided.",
            "help_text": "The metric that the user is charged for",
            "nullable": false,
            "readonly": false,
            "type": "string",
            "unique": false
        }
    }
}