Budgets and Budget Subscriptions
The Budget Object
id (string) - UUID for the budget
viewId (string) - The viewId the budget is applied against
name (string) - The name of the budget
basis (string) - Cost basis. One of "cash," "amortized," "adjusted", "adjustedAmortized" and "list"
ownerId (string) - The unique id of the person who created the budget
months (array) - list of month objects for those having defined budgets.
month (string) - month of spend YYYY-MM
threshold (integer) - budget limit for that month
Example Budget Object
{
"result": {
"id": "8a028d91-1234-abcd-54fc-0a131052b72f",
"viewId": "0",
"name": "Q4 Amortized",
"basis": "amortized",
"ownerId": "11235",
"months": [
{
"month": "2017-10",
"threshold": 19500
},
{
"month": "2017-11",
"threshold": 20500
},
{
"month": "2017-12",
"threshold": 21500
}
]
}
}
Example Budget Requests
Create a Budget
curl -X POST "https://api.cloudability.com/v3/budgets" \\
-H 'Content-Type: application/json' \\
-u ‘[auth_token]:’ \\
-d @- << EOF
{
"name": "TesterTon",
"basis": "cash",
"viewId": "0",
"months": [
{
"month": "2018-01",
"threshold": 19500
},
{
"month": "2018-02",
"threshold": 20500
},
{
"month": "2018-03",
"threshold": 21500
}
]
}
EOF
A successful operation will result in the object being created and returned to the client.
Retrieve a Budget
curl "https://api.cloudability.com/v3/budgets/0643ce32-ca2b-4776-6492-2397a0e96c7f" \\
-u ‘[auth_token]:’
Update a Budget
curl -X PUT https://api.cloudability.com/v3/budgets/0643ce32-ca2b-4776-6492-2397a0e96c7f \\
-H 'Content-Type: application/json' \\
-u ‘[auth_token]:’ \\
-d @- << EOF
{
"name": "TesterTon",
"basis": "amortized",
"viewId": "0",
"months": [
{
"month": "2018-01",
"threshold": 29500
}
]
}
EOF
Delete a Budget
curl -X DELETE https://api.cloudability.com/v3/budgets/0643ce32-ca2b-4776-6492-2397a0e96c7f
\\ -u ‘[auth_token]:’
List All Budgets
curl https://api.cloudability.com/v3/budgets \\
-u ‘[auth_token]:’
The Budget Subscription Object
As well as creating budgets for your cloud spend you can create subscriptions to receive an email notification if you exceed and/or are projected to exceed your budget.
id (string) - id for the subscription
budgetId (string) - budgetId that the subscription applies to
notifyExceeded (boolean) - notify when actual spend exceeds budget, true of false
notifyExpected (boolean) - notify when expected spend exceeds budget, true of false
Example Budget Subscription Object
{
"result": {
"id": "3f38dd43-f953-43d8-91bc-0184818f7598",
"budgetId": "d090e29e-2a26-4ca5-7f9a-67be3134081e",
"notifyExceeded": false,
"notifyExpected": true
}
}
Example Budget Subscription Requests
Create a Budget Subscription
curl -X POST "https://api.cloudability.com/v3/budget-subscriptions" \\
-H 'Content-Type: application/json' \\
-u ‘[auth_token]:’ \\
-d @- << EOF
{
"budgetId": "d090e29e-2a26-4ca5-7f9a-67be3134081e",
"notifyExpected": true,
"notifyExceeded": true
}\t
EOF
Retrieve a Budget Subscription
curl https://api.cloudability.com/v3/budget-subscriptions/3f38dd43-f953-43d8-91bc-0184818f7598 \\
-u ‘[auth_token]:’
Update a Budget Subscription
curl -X PUT https://api.cloudability.com/v3/budget-subscriptions/3f38dd43-f953-43d8-91bc-0184818f7598 \\
-H 'Content-Type: application/json' \\
-u ‘[auth_token]:’ \\
-d @- << EOF
{
"budgetId": "d090e29e-2a26-4ca5-7f9a-67be3134081e",
"notifyExpected": true,
"notifyExceeded": false
}\t
EOF
Delete a Budget Subscription
curl -X DELETE https://api.cloudability.com/v3/budget-subscriptions/3f38dd43-f953-43d8-91bc-0184818f7598 \\
-u ‘[auth_token]:’
List All Budget Subscriptions
curl https://api.cloudability.com/v3/budget-subscriptions \\
-u ‘[auth_token]:’