API Reference Guide (AWS)
- Using Access Keys
- API Pagination
- Preferred HTTP Methods
- API Calls
- Add Cost Allocator
- Add Third Party Account
- Add Third Party Accounts
- Delete Third Party Account
- Delete Third Party Accounts
- Edit Third Party Account
- Edit Third Party Accounts
- Get Third Party Account
- Get Third Party Accounts
- Get Improperly Tagged Resources
- Get All API Endpoints
- List Of Changes From Change Monitoring
- List Results From An Advanced Grouping Saved Filter
- RI Upfront Cost Amortization
- Create Customers For The Invoice Generator
- Get Billing Detailed Grouped PDF
- Edit Payee Support Charges
- CloudWatch Statistics
- Add Cost Alert
- Delete Cost Alert
- Delete Cost Allocator
- Edit Cost Allocator
- Get Publicly Accessible Resources
- Inventory Summary
- Get Cost Savings Report Results
- Get Billing And Cost Management Dashboard
- Get Monthly Bill
- Get CloudTrail Custom Metrics
- Create Detailed Billing Grouped Filter V2
- Create Group
- Schedule Report Email Advanced Grouping
- Get Tag Rules
- Add Tag Rule
- Delete Tag Rule
- Schedule Invoice
- Get All Tag Mappings
- Get Tag Mapping
- Delete Tag Mapping
- Add Cost Alert Percent
- Delete Cost Alert Percent
- Edit Cost Alert Percent
- Get Cost Alerts Percent
- Delete Detailed Billing Grouped Filter
- Update Tag Rule
- Get AWS Billing Configuration
- Edit AWS Billing Configuration
- Forgot Password
- Edit Custom Billing Charge – Percent All Charges V2
- Delete Custom Billing Charge – Percent All Charges
- Add Tag Mapping
- AWS Billing Report Get Status
- AWS Billing Report Unlock Month
- AWS Billing Report Reprocess Month
- AU: https://au.cloudcheckr.com
- EU: https://eu.cloudcheckr.com
- GOV: https://gov.cloudcheckr.com
- FED: https://fed.cloudcheckr.com
Below is the list of CloudCheckr API calls. Most calls can be made against general CloudCheckr accounts, or against CloudCheckr Multi-Account Views where noted.
Section | Description |
Input Parameters | Options that you pass with the endpoint to influence a response.
Identifies if a parameter is required or optional, the data type, and the parameter description. |
API Call URL | Identifies the common path for the API (highlighted in yellow) and the end path of the endpoint (highlighted in light blue).
|
Request Example | Includes a sample request that shows the endpoint and a few key parameters.
Formatted in curl since it’s language-agnostic. Includes the header information and the method (GET or POST in most cases). |
Response Example | Shows a sample response for all of the parameters passed in the request example.
Includes examples in XML and JSON. |
Using Access Keys
CloudCheckr requires an access key to be passed as a parameter to all API calls.
Click here for details on creating and managing access keys.
Example of Using an Access Key:
https://api.cloudcheckr.com/api/change_monitoring.json/get_changes?access_key=[access_key]
Putting It All Together:
https://api.cloudcheckr.com/api/change_monitoring.json/get_changes?access_key=XXXXXXXXXXXXXXXXXXXXXXXXXX
API Pagination
When you select from the API, it returns up to 100 results. If the output of your call contains more than 100 results, CloudCheckr will pass back a token allowing you to get the next 100 results, which you should pass to the API to get the next set of 100 results.
For more information on using pagination with the CloudCheckr API please go here.
Preferred HTTP Methods
When using libraries such as curl, you may need to indicate the HTTP method to use (POST or GET). The CloudCheckr API accepts both POST and GET in most API calls. However, we recommend you use the preferred HTTP method.
The preferred HTTP method for each call is GET unless specifically note in the API CALLS section.
For more information on HTTP methods, click here: http://www.w3schools.com/tags/ref_httpmethods.asp
API Calls
Add Cost Allocator
The API method, “add_cost_allocator”, is used to create Cost Allocator settings in CloudCheckr, so you can allocate usage costs and report on shared services more accurately.
CloudCheckr’s Cost Allocator is a powerful tool that is designed to help Managed Service Providers (MSPs), resellers, and enterprises untangle and manage cost allocation in a multi-tenant implementation. Cost Allocator allows you to re-allocate costs from shared resources and services, by usage, across projects, customers, and departments. This helps ensure accurate invoicing and chargebacks each billing period.
Cost Allocator allows you to easily:
- match shared resources or services from your billing reports
- divide the costs from those resources or services based on usage
- apply the split costs across multiple tag keys and values
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level or account-level access key |
name_for_cost_allocator | string | required; the unique name of the tagging structure for your selected Cost Allocator configuration |
tag_conditions | List <string> | required/optional; identifies the costs that match an attribute and a given value EX: Your company uses an You must use the tag_conditions or property_conditions parameter when defining your tagging structure.
|
property_conditions | List <string> | required/optional; identifies any additional characteristics that allow you to further limit what costs are included in your tagging structure In AWS accounts, you can select one or more of the following properties:
You must use the tag_conditions or property_conditions parameter when defining your tagging structure.
|
all_conditions_met | boolean | required; indicates that the cost data must meet all the conditions before CloudCheckr will apply the divisions |
divisions | List <string> | required; indicates how you want CloudCheckr to allocate your costs, by percentage, across your tag mappings CloudCheckr will only apply the divisions if your tagging structure meets the previous conditions. Your cost allocations should add up to 100%.
Parameter: key_to_map; Type: string; required: enter the tag key you intend to map.
Parameter: value_to_map; Type: string; required: enter the tag value you intend to map.
Parameter: match_tag_key_exactly; Type: boolean; *optional/required; select if you intend to perform an exact tag key match.
Parameter: match_tag_value_exactly; Type: boolean; *optional/required; select if you intend to perform an exact tag value match.
Parameter: match_resources_without_tagKey; Type: boolean; *optional/required; select if you intend to match the resources without provided key_to_map
|
use_aws_account_id | string | *optional/required; the 12-digit AWS account ID of the CloudCheckr account you are making the call for |
use_account | string | *optional/required; the name of the CloudCheckr account you are making the call for |
use_cc_account_id | string | *optional/required; the CloudCheckr ID of the account you are making the call for |
- use_aws_account_id
- use_account
- use_cc_account_id
API CALL URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/add_cost_allocator
REQUEST EXAMPLE:
curl -- request POST \
-- 'https://api.cloudcheckr.com/api/billing.[json|xml]/add_cost_allocator' \
-- header 'cache-control: no-cache' \
-- header 'access_key: [access key]' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"use_cc_account_id": "3",
"name_for_cost_allocator" : "sampleName",
"property_conditions" : [{"key_to_map" : "Region", "value_to_map" : "ap_east_1"}],
"divisions" : [{"map_percent_of_cost_to_tag" : "50", "map_to_tag_key" : "TagKey2", "map_to_tag_value" : "TagValue2"},
{"map_percent_of_cost_to_tag" : "50", "map_to_tag_key_exactly" : "TagKey3", "map_to_tag_value_exactly" : "TagValue3"}],
"all_conditions_met" : "true"
}'
RESPONSE EXAMPLES:
Result 200 OK (XML):
<add_cost_allocatorgResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<status>
<Code>200</Code>
<Message>Success</Message>
</status>
</add_cost_allocatorResponse>
Result 200 OK (JSON):
{
"Code": 200,
"Message": "Success"
}
Add Third Party Account
The API method, “add_third_party_account”, is used to configure a connection between CloudCheckr and an external service provider, so you can receive notifications daily or any time there is a change to a Best Practice Check or alert.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level API key |
account | string | required; the name of the third-party account
Account includes the following attributes: name, type, and settings. Click Account Attributes for more details. |
Parameter | Type | Description |
type | string | required; the type of the third-party account
Click Settings to view the supported third-party applications.
|
name | string | required; the name of the third-party account |
settings | string | required; the configuration settings that will enable you to connect the third-party application with CloudCheckr
Click Settings to view the supported third-party applications.
|
Settings
Account Type | Required Parameters | Optional Parameters |
ServiceNow | Instance ClientId ClientSecret Username Password | AssignmentGroup |
Slack | Webhook | not applicable |
PagerDuty | ServiceKey | not applicable |
sns | TargetArn | not applicable |
Syslog | HostName Port | SendRawData |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/add_third_party_account?access_key=your_account_access_key
REQUEST EXAMPLE:
curl -X POST \
-- https://api.cloudcheckr.com/api/account.[json|xml]/add_third_party_account?access_key=your_account_access_key\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"account":
{
"type": "Slack",
"name": "new account",
"settings": {
"Webhook": "https://hooks.slack.com/services/Y14WYJ858/DJMML874S/wzf4jfrHySUq93pFMpMDpmpi"
}
}
}
RESPONSE EXAMPLES:
Result 200 OK:
{
"UpdateStatuses": [
"Slack account for Account Id: 2 named: \"new account\" was created successfully."
]
}
If the name is not unique:
{
"UpdateStatuses": [
"Slack account for Account Id: 2 named: \"new account\": failed to be created. Please check your inputs."
]
}
Result 400 Bad Request:
{
"Message": "The request is invalid.",
"ModelState": {
"ErrorCode": [
"BadRequest"
],
"ErrorIdentity": [
"6366587284835855842b2b1d2f-4743-4e94-b819-abbafc212525"
],
"ErrorMessage": [
"Type not supported"
]
}
}
Add Third Party Accounts
The API method, “add_third_party_accounts”, is used to configure a connection between CloudCheckr and multiple external service providers, so you can receive notifications daily or any time there is a change to a Best Practice Check or alert.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level API key |
account | string | required; the name of the third-party account
Account includes the following attributes: name, type, and settings. Click Account Attributes for more details. |
Parameter | Type | Description |
type | string | required; the type of the third-party account
Click Settings to view the supported third-party applications .
|
name | string | required; the name of the third-party account |
settings | string | required; the configuration settings that will enable you to connect the third-party application with CloudCheckr
Click Settings to view the supported third-party applications |
Settings
Account Type | Required Parameters | Optional Parameters |
ServiceNow | Instance ClientId ClientSecret Username Password | AssignmentGroup |
Slack | Webhook | not applicable |
PagerDuty | ServiceKey | not applicable |
sns | TargetArn | not applicable |
Syslog | HostName Port | SendRawData |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/add_third_party_accounts?access_key=your_account_access_key
REQUEST EXAMPLE:
curl -X POST \
-- https://api.cloudcheckr.com/api/account.[json|xml]/add_third_party_accounts?access_key=your_account_access_key\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"account": [
{
"type": "Slack",
"name": "new account",
"settings": {
"Webhook": "https://hooks.slack.com/services/Y14WYJ858/DJMML874S/wzf4jfrHySUq93pFMpMDpmpi"
}
},
{
"type": "Slack",
"name": "new account 2",
"settings": {
"Webhook": "https://hooks.slack.com/services/Z25WYJ858/DJMML874S/wzf4jfrHySUq93pFMpMDstts"
}
}
}
RESPONSE EXAMPLES:
Result 200 OK:
{
"UpdateStatuses": [
"Slack account for Account Id: 2 named: \"new account\" was created successfully.",
"Slack account for Account Id: 2 named: \"new account 2\" was created successfully."
]
}
If the name is not unique:
{
"UpdateStatuses": [
"Slack account for Account Id: 2 named: \"new account\" failed to be created. Please check your inputs.",
"Slack account for Account Id: 2 named: \"new account 2\" failed to be created. Please check your inputs."
]
}
Result 400 Bad Request:
{
"Message": "The request is invalid.",
"ModelState": {
"ErrorCode": [
"BadRequest"
],
"ErrorIdentity": [
"6366587284835855842b2b1d2f-4743-4e94-b819-abbafc212525"
],
"ErrorMessage": [
"Type not supported"
]
}
}
Delete Third Party Account
The API method, “delete_third_party_account”, is used to delete a connection between CloudCheckr and an external service provider.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level API key |
id | string | required; the database id of the account that can be found in the return results for “get_third_party_account” calls |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/delete_third_party_account?access_key=your_account_access_key
REQUEST EXAMPLE:
curl -X POST \
-- https://api.cloudcheckr.com/api/account.[json|xml]/delete_third_party_account?access_key=your_account_access_key\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"account":
{
"id": 2054
}
RESPONSE EXAMPLES:
Result 200 OK:
{
"UpdateStatuses": [
"Slack account for Account Id: 2 named: \"new account\" was deleted successfully."
]
}
Or:
{
"UpdateStatuses": [
"Id: 2054 could not be found, and therefore was not deleted."
]
}
Delete Third Party Accounts
The API method, “delete_third_party_accounts”, is used to delete a connection between CloudCheckr and multiple external service providers.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level API key |
id | string | required; the database id of the account that can be found in the return results for “get_third_party_account” calls |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/delete_third_party_accounts?access_key=your_account_access_key
REQUEST EXAMPLE:
curl -X POST \
-- https://api.cloudcheckr.com/api/account.[json|xml]/delete_third_party_accounts?access_key=your_account_access_key\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"account":
{
"id": [
2054,
2053
]
}
RESPONSE EXAMPLES:
Result 200 OK:
{
"UpdateStatuses": [
"Slack account for Account Id: 2 named: \"new account\" was deleted successfully.",
"Slack account for Account Id: 2 named: \"new account 2\" was deleted successfully."
]
}
Or:
{ "UpdateStatuses": [
"Id: 2054 could not be found, and therefore was not deleted.",
"Id: 2053 could not be found, and therefore was not deleted."
]
}
Edit Third Party Account
The API method, “edit_third_party_account”, is used to modify a connection between CloudCheckr and an external service provider.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level API key |
account | string | required; the name of the third-party account
Account includes the following attributes: name, type, and settings. Click Account Attributes for more details. |
Account Attributes
Parameter | Type | Description |
type | string | required; the type of the third-party account Note: Click Settings to view the supported third-party applications |
name | string | required; the name of the third-party account |
settings | string | required; the configuration settings that will enable you to connect the third-party application with CloudCheckr Note: Click Settings to view the supported third-party applications |
Settings
Account Type | Required Parameters | Optional Parameters |
ServiceNow | Instance ClientId ClientSecret Username Password | AssignmentGroup |
Slack | Webhook | not applicable |
PagerDuty | ServiceKey | not applicable |
sns | TargetArn | not applicable |
Syslog | HostName Port | SendRawData |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/edit_third_party_account?access_key=your_account_access_key
REQUEST EXAMPLE:
curl -X POST \
-- https://api.cloudcheckr.com/api/account.[json|xml]/add_third_party_account?access_key=your_account_access_key\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"account":
{
"id": 38,
"type": "Slack",
"name": "new account",
"settings": {
"Webhook": "https://hooks.slack.com/services/Y14WYJ858/DJMML874S/wzf4jfrHySUq93pFMpMDpmpi"
}
}
}
RESPONSE EXAMPLES:
Result 200 OK:
{
"UpdateStatuses": [
"Slack account for Account Id: 2 named: \"new account\" was created successfully."
]
}
If the name is not unique or the ID is incorrect:
{
"UpdateStatuses": [
""Slack account for Account Id: 2 named: \"new account\" failed to be created. Please check your inputs."
]
}
Result 400 Bad Request:
{
"Message": "The request is invalid.",
"ModelState": {
"ErrorCode": [
"BadRequest"
],
"ErrorIdentity": [
"63665815800523277060f1e76c-6919-4000-865b-21454ff70e05"
],
"ErrorMessage": [
"Type not supported"
]
}
}
Edit Third Party Accounts
The API method, “edit_third_party_accounts”, is used to modify a connection between CloudCheckr and multiple external service providers.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level API key |
account | string | required; the name of the third-party account Account includes the following attributes: name, type, and settings. Click Account Attributes for more details. |
Account Attributes
Parameter | Type | Description |
type | string | required; the type of the third-party account Note: Click Settings to view the supported third-party applications |
name | string | required; the name of the third-party account |
settings | string | required; the configuration settings that will enable you to connect the third-party application with CloudCheckr Note: Click Settings to view the supported third-party applications |
Settings
Account Type | Required Parameters | Optional Parameters |
ServiceNow | Instance ClientId ClientSecret Username Password | AssignmentGroup |
Slack | Webhook | not applicable |
PagerDuty | ServiceKey | not applicable |
sns | TargetArn | not applicable |
Syslog | HostName Port | SendRawData |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/edit_third_party_accounts?access_key=your_account_access_key
REQUEST EXAMPLE:
curl -X POST \
-- https://api.cloudcheckr.com/api/account.[json|xml]/edit_third_party_accounts?access_key=your_account_access_key\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"account":
{
"id": 38,
"type": "Slack",
"name": "new account",
"settings": {
"Webhook": "https://hooks.slack.com/services/Y14WYJ858/DJMML874S/wzf4jfrHySUq93pFMpMDpmpi"
}
},
{
"id": 40,
"type": "Slack",
"name": "new account 2",
"settings": {
"Webhook": "https://hooks.slack.com/services/Z25WYJ858/DJMML874S/wzf4jfrHySUq93pFMpMDsst"
}
}
}
RESPONSE EXAMPLES:
Result 200 OK:
{
"UpdateStatuses": [
"Slack account for Account Id: 2 named: \"new account\" was created successfully.",
"Slack account for Account Id: 2 named: \"new account 2\" was created successfully."
]
}
If the name is not unique or the ID is incorrect:
{
"UpdateStatuses": [
"Slack account for Account Id: 2 named: \"new account\" failed to update. Please check your inputs.",
"Slack account for Account Id: 2 named: \"new account 2\" failed to update. Please check your inputs."
]
}
Result 400 Bad Request:
{
"Message": "The request is invalid.",
"ModelState": {
"ErrorCode": [
"BadRequest"
],
"ErrorIdentity": [
"63665815800523277060f1e76c-6919-4000-865b-21454ff70e05"
],
"ErrorMessage": [
"Type not supported"
]
}
}
Get Third Party Account
The API method, “get_third_party_account”, is used to return a specific third-party account that identifies a connection between CloudCheckr and an external service provider.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level access key |
type | string | required; the name of the external service provider integrated with CloudCheckr that you want included in your request CloudCheckr supports integrations with the following external service providers:
|
name | string | required; the name of the third-party account created as part of the CloudCheckr integration that you want included in your request |
ENDPOINT URL:
https://api.cloudcheckr.com/api/account.[json|xml]/get_third_party_account?access_key=your_account_access_key
REQUEST EXAMPLE:
curl -- request POST \
-- 'https://api.cloudcheckr.com/api/account.json/get_third_party_account' \
-- header 'cache-control: no-cache' \
-- header 'content-type: application/json' \
-- data '{
"type": "Slack",
"name":"name_of_slack_account_in_cloudcheckr"
}'
RESPONSE EXAMPLE:
{
"accounts": [
{
"id": 4,
"type": "Slack",
"name": "account1",
"settings": {
"Webhook": "https://hooks.slack.com/services/T0zzzzzzzz/Bzzzzzzzz/rzzzzzzzzzzzzzzzzzzzzzzzz"
}
}
]
}
Result 400 Bad Request:
{
"Message": "The request is invalid.",
"ModelState": {
"ErrorCode": [
"BadRequest"
],
"ErrorIdentity": [
"63665815800523277060f1e76c-6919-4000-865b-21454ff70e05"
],
"ErrorMessage": [
"Type not supported"
]
}
}
Get Third Party Accounts
The API method, “get_third_party_accounts”, is used to return a list of multiple third-party accounts that identify a connection between CloudCheckr and an external service provider.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level access key |
type | string | *required or optional; the name of the external service provider integrated with CloudCheckr that you want included in your request CloudCheckr supports integrations with the following external service providers:
|
name | string | *required or optional; the name of the third-party account created as part of the CloudCheckr integration that you want included in your request |
ENDPOINT URL:
https://api.cloudcheckr.com/api/account.[json|xml]/get_third_party_accounts?access_key=your_account_access_key
REQUEST EXAMPLE:
curl -- request POST \
-- 'https://api.cloudcheckr.com/api/account.json/get_third_party_accounts' \
-- header 'cache-control: no-cache' \
-- header 'content-type: application/json' \
-- data '{
"type": "Slack",
"name":"name_of_slack_account_in_cloudcheckr"
}'
RESPONSE EXAMPLE:
{
"accounts": [
{
"id": 4,
"type": "Slack",
"name": "account1",
"settings": {
"Webhook": "https://hooks.slack.com/services/T0zzzzzzzz/Bzzzzzzzz/rzzzzzzzzzzzzzzzzzzzzzzzz"
}
},
{
"id": 24,
"type": "Slack",
"name": "account2",
"settings": {
"Webhook": "https://hooks.slack.com/services/T0zzzzzzzz/Bzzzzzzzz/rzzzzzzzzzzzzzzzzzzzzzzzz"
}
},
{
"id": 26,
"type": "Slack",
"name": "account3",
"settings": {
"Webhook": null
}
}
]
}
Result 400 Bad Request:
{
"Message": "The request is invalid.",
"ModelState": {
"ErrorCode": [
"BadRequest"
],
"ErrorIdentity": [
"63665815800523277060f1e76c-6919-4000-865b-21454ff70e05"
],
"ErrorMessage": [
"Type not supported"
]
}
}
Get Improperly Tagged Resources
The API method, “get_improperly_tagged_resources”, is used to get the resources that were improperly tagged.
Note:
- This call can only be made using the account-level access key.
- The HTTP method for this call is GET.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level API key |
cloud_provider | string | required; name of one of the following cloud providers: Amazon AWS and Windows Azure |
date_to | DateTime | optional; identities the date that the customer wants to end the search for improperly tagged resources |
date_from | DateTime | optional; identities the date that the customer wants to begin the search for improperly tagged resources |
aws_account_id | string | required; the 12-digit AWS account ID (must be payer account)
Note: This parameter is only required for AWS accounts. |
rule_name | string | optional; the name of the rule on which to filter in the search |
resource_type | string | optional; the name of the resource on which to filter in the search |
resource_state | string | optional; the state of the resource on which to filter in the search |
subscription_id | string | required; the ID of the Azure subscription
Note: This parameter is only required for Azure accounts. |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/get_improperly_tagged_resources
REQUEST EXAMPLE:
curl -X GET \ -- https://api.cloudcheckr.com/api/account.[json|xml]/get_improperly_tagged_resources?access_key=your_account_access_key\ -- header 'cache-control: no-cache' \ -- header 'content-type: application/[json|xml]' \
RESPONSE EXAMPLE:
XML:
<GetImproperlyTaggedResourcesResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance> <results> <resource_id>null</resource_id> <aws_account_id>null</aws_account_id> <region_name>East US</region name> <creator_IAM_user>null</creator_IAM_user> <created_time>3/6/2018</created_time> <subcription>4dc76947-2789-4149-bc29-3b7bd45ce4a8 - Microsoft Azure</subscription> <consumed_service>Operation Insights</consumed_service> <exceptions>[]</exceptions> </results> </GetImproperlyTaggedResourcesResponse>
Note: The parameter, “aws_account_id” is only needed for AWS accounts. The paramters, “subscription”, and “consumed_service” are only needed for Azure accounts.
JSON:
{ "Results": [ { "ResourceId": null, "AwsAccountId": null, "RegionName": "East US", "CreatorIamUser": null, "CreatedTime": "3/6/2018", "Subscription": "4dc76947-2789-4149-bc29-3b7bd45ce4a8 - Microsoft Azure", "ConsumedService": "Operation Insights", "Exceptions": [] } ] }
Note: The parameter, “aws_account_id” is only needed for AWS accounts. The paramters, “subscription”, and “consumed_service” are only needed for Azure accounts.
Get All API Endpoints
The API method “get_all_api_endpoints” is used to return a complete list of all available CloudCheckr API calls and their parameters.
The preferred HTTP method for this call is GET.
XML call:
https://api.cloudcheckr.com/api/help.xml/get_all_api_endpoints?access_key=[access_key]
JSON call:
https://api.cloudcheckr.com/api/help.json/get_all_api_endpoints?access_key=[access_key]
INPUT PARAMETERS
This call accepts these parameters:
- access_key (required) – Either a General or Admin-Level Access Key is required for this call.
OUTPUT
XML Example:
<ArrayOfControllerContainer xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ControllerContainer> <controller_name>best_practice</controller_name> <api_calls> <ApiCall> <method_name>get_best_practices</method_name> <param_names> <string>(admin level)access_key</string> <string>date</string> <string>aws_account_ids</string> <string>all_result</string> <string>importance</string> <string>category</string> </param_names> </ApiCall> </api_calls> </ControllerContainer> <ControllerContainer> <controller_name>help</controller_name> <api_calls> <ApiCall> <method_name>get_resources_cloudformation_details</method_name> <param_names> <string>date</string> <string>aws_account_ids</string> <string>max_results</string> </param_names> </ApiCall> </api_calls> </ControllerContainer> </ArrayOfControllerContainer>
JSON Example:
[ { "controller_name": "best_practice", "api_calls": [ { "method_name": "get_best_practices", "param_names": [ "(admin level)access_key", "date", "aws_account_ids", "all_result", "importance", "category" ] } ] }, { "controller_name": "inventory", "api_calls": [ { "method_name": "get_resources_cloudformation_details", "param_names": [ "date", "aws_account_ids", "max_results" ] } ] } ]
List Of Changes From Change Monitoring
The API method “change_monitoring/get_changes” is used to pull the list of changes in your AWS account.
XML call:
https://api.cloudcheckr.com/api/change_monitoring.xml/get_changes?access_key=[access_key]&start=2013-11-08&end=2013-11-15&resource_id=i-123456
JSON call:
https://api.cloudcheckr.com/api/change_monitoring.json/get_changes?access_key=[access_key]&start=2013-11-08&end=2013-11-15&resource_id=i-123456
INPUT PARAMETERS
This call accepts these parameters:
- access_key (required) – standard Access Key required for all API calls.
- start (optional) – return changes from after this date.
- end (optional) – return changes from before this date.
-
If start and end are not defined, the last 30 days will be returned.
- resource_id (optional) – filter the list of changes to a specific resource, such as an instance ID or S3 bucket.
OUTPUT
XML Example:
<GetChangesResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Changes> <Change> <ChangeType>Modified</ChangeType> <EntityType>CloudTrailTrail</EntityType> <Identifier>Default</Identifier> <ServiceType>CloudTrail</ServiceType> <ChangeFound>2013-12-10T23:17:29</ChangeFound> <Region>us-west-2</Region> <OldState>[{"Key":"SnsTopicName","Value":""}]</OldState> <NewState>[{"Key":"SnsTopicName","Value":"CloudTrailOregon"}]</NewState> </Change> <Change> <ChangeType>Modified</ChangeType> <EntityType>CloudTrailTrail</EntityType> <Identifier>Default</Identifier> <ServiceType>CloudTrail</ServiceType> <ChangeFound>2013-12-16T23:16:01</ChangeFound> <Region>us-east-1</Region> <OldState>[{"Key":"TimeLoggingStarted","Value":"12\/6\/2013 6:27:57 PM"},{"Key":"TimeLoggingStopped","Value":"12\/5\/2013 12:03:27 AM"}]</OldState> <NewState>[{"Key":"TimeLoggingStarted","Value":"12\/16\/2013 4:53:53 PM"},{"Key":"TimeLoggingStopped","Value":"12\/16\/2013 4:53:51 PM"}]</NewState> </Change> </Changes> <FromDate>2013-11-17T00:00:00</FromDate> <ToDate>2013-12-17T23:59:59</ToDate> </GetChangesResponse>
JSON Example:
{
"Changes":[
{
"ChangeType":"Modified",
"EntityType":"CloudTrailTrail",
"Identifier":"Default",
"ServiceType":"CloudTrail",
"ChangeFound":"2013-12-10T23:17:29",
"Region":"us-west-2",
"OldState":"[{\"Key\":\"SnsTopicName\",\"Value\":\"\"}]",
"NewState":"[{\"Key\":\"SnsTopicName\",\"Value\":\"CloudTrailOregon\"}]"
},
{
"ChangeType":"Modified",
"EntityType":"CloudTrailTrail",
"Identifier":"Default",
"ServiceType":"CloudTrail",
"ChangeFound":"2013-12-16T23:16:01",
"Region":"us-east-1",
"OldState":"[{\"Key\":\"TimeLoggingStarted\",\"Value\":\"12\\/6\\/2013 6:27:57 PM\"},{\"Key\":\"TimeLoggingStopped\",\"Value\":\"12\\/5\\/2013 12:03:27 AM\"}]",
"NewState":"[{\"Key\":\"TimeLoggingStarted\",\"Value\":\"12\\/16\\/2013 4:53:53 PM\"},{\"Key\":\"TimeLoggingStopped\",\"Value\":\"12\\/16\\/2013 4:53:51 PM\"}]"
},
],
"FromDate":"2013-11-17T00:00:00",
"ToDate":"2013-12-17T23:59:59"
}
List Results From An Advanced Grouping Saved Filter
The API method “billing/get_detailed_billing_with_grouping_v2” is used to pull the results from a Saved Filter in the Advanced Grouping (w/ Tags) report. Version 2 of the call includes two additional parameters.
XML call:
https://api.cloudcheckr.com/api/billing.xml/get_detailed_billing_with_grouping_v2?access_key=[access_key]&start=2013-11-08&end=2013-11-15&saved_filter_name=aaronsfilter
JSON call:
https://api.cloudcheckr.com/api/billing.json/get_detailed_billing_with_grouping_v2?access_key=[access_key]&start=2013-11-08&end=2013-11-15&saved_filter_name=aaronsfilter
INPUT PARAMETERS
This call accepts these parameters:
- access_key (required) – standard Access Key required for all API calls.
- saved_filter_name (required) – The name of the Saved Filter from which to pull the results.
- use_account (required) – The name of the account you are making the call for, where the name is the name of the account added in CloudCheckr.
- use_cc_account_id (required — either use this or ‘use_account’) – The CloudCheckr ID of the account you are making the call for.
- emails (optional - comma seperated string) - Sends the results via email rather than api response.
- high_precision_csv (optional) - Sends the results with cost data up to 10 decimals. Accepts true/false.
- with_costs_by_group (optional – defaults to true if not specified) – Retrieves costs per group. Accepts true/false.
- with_costs_by_time (optional – defaults to true if not specified) – Retrieves costs per time period. Accepts true/false.
- start (optional) – return costs from after this date.
- end (optional) – return costs from before this date.
- NOTE: if start and end are not defined, the last 14 days will be returned.
OUTPUT
XML Example:
<GetDetailedBillingWithGroupingResponseV2 xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Total>30.7983416200</Total> <Max>30.7983416200</Max> <Min>30.7983416200</Min> <Average>30.798698086413034906518967198</Average> <CostsByGroup> <GroupingLevel> <GroupName>Service</GroupName> <GroupValue>AmazonS3</GroupValue> <FriendlyName>S3</FriendlyName> <Cost>0.1099985400</Cost> <NextLevel> <GroupingLevel> <GroupName>aws:createdBy</GroupName> <GroupValue>IAMUser:AIDAI5X7LBFKDHYABCDE:mikeb</GroupValue> <FriendlyName /> <Cost>0.1083478400</Cost> <NextLevel /> </GroupingLevel> </NextLevel> </GroupingLevel> <GroupingLevel> <GroupName>Service</GroupName> <GroupValue>AmazonEC2</GroupValue> <FriendlyName>EC2</FriendlyName> <Cost>22.6078574000</Cost> <NextLevel> <GroupingLevel> <GroupName>aws:createdBy</GroupName> <GroupValue>IAMUser:AIDAI4NZVQK6IW45ABCDE:paul.vanw</GroupValue> <FriendlyName /> <Cost>0.0750056100</Cost> <NextLevel /> </GroupingLevel> </NextLevel> </GroupingLevel> </CostsByGroup> <CostsByTime> <GroupingByTime> <Groups> <Grouping> <GroupName>Service</GroupName> <GroupValue>AmazonEC2</GroupValue> <FriendlyName>EC2</FriendlyName> </Grouping> <Grouping> <GroupName>aws:createdBy</GroupName> <GroupValue>IAMUser:AIDAI4NZVQK6IW45ABCDE:paul.vanw</GroupValue> <FriendlyName /> </Grouping> </Groups> <CostDates> <GroupCostDate> <Date>1/20/2017 12:00:00 AM</Date> <Cost>0.0750056100</Cost> <UsageQuantity>24.0000619600</UsageQuantity> </GroupCostDate> </CostDates> </GroupingByTime> <GroupingByTime> <Groups> <Grouping> <GroupName>Service</GroupName> <GroupValue>AmazonS3</GroupValue> <FriendlyName>S3</FriendlyName> </Grouping> <Grouping> <GroupName>aws:createdBy</GroupName> <GroupValue>IAMUser:AIDAI5X7LBFKDHYFABCDE:mikeb</GroupValue> <FriendlyName /> </Grouping> </Groups> <CostDates> <GroupCostDate> <Date>1/20/2017 12:00:00 AM</Date> <Cost>0.1083478400</Cost> <UsageQuantity>418.5352970600</UsageQuantity> </GroupCostDate> </CostDates> </GroupingByTime> </CostsByTime> </GetDetailedBillingWithGroupingResponseV2>
JSON Example:
{ "Total": 30.79834162, "Max": 30.79834162, "Min": 30.79834162, "Average": 30.798698086413037, "CostsByGroup": [ { "GroupName": "Service", "GroupValue": "AmazonS3", "FriendlyName": "S3", "Cost": "0.1099985400", "NextLevel": [ { "GroupName": "aws:createdBy", "GroupValue": "IAMUser:AIDAI5X7LBFKDHYFABCDE:mikeb", "FriendlyName": "", "Cost": "0.1083478400", "NextLevel": [] } ] }, { "GroupName": "Service", "GroupValue": "AmazonEC2", "FriendlyName": "EC2", "Cost": "22.6078574000", "NextLevel": [ { "GroupName": "aws:createdBy", "GroupValue": "IAMUser:AIDAI4NZVQK6IW45ABCDE:paul.vanw", "FriendlyName": "", "Cost": "0.0750056100", "NextLevel": [] } ] } ], "CostsByTime": [ { "Groups": [ { "GroupName": "Service", "GroupValue": "AmazonEC2", "FriendlyName": "EC2" }, { "GroupName": "aws:createdBy", "GroupValue": "IAMUser:AIDAI4NZVQK6IW45ABCDE:paul.vanw", "FriendlyName": "" } ], "CostDates": [ { "Date": "1/20/2017 12:00:00 AM", "Cost": "0.0750056100", "UsageQuantity": "24.0000619600" } ] }, { "Groups": [ { "GroupName": "Service", "GroupValue": "AmazonS3", "FriendlyName": "S3" }, { "GroupName": "aws:createdBy", "GroupValue": "IAMUser:AIDAI5X7LBFKDHYFABCDE:mikeb", "FriendlyName": "" } ], "CostDates": [ { "Date": "1/20/2017 12:00:00 AM", "Cost": "0.1083478400", "UsageQuantity": "418.5352970600" } ] } ] }
RI Upfront Cost Amortization
The API method “get_ri_upfront_cost_amortization” is used to gather information regarding amortization of the upfront costs of your purchased Reserved Instances.
XML call:
https://api.cloudcheckr.com/api/billing.xml/get_ri_upfront_cost_amortization?access_key[access_key]&account_name=MyAccountName
JSON call:
https://api.cloudcheckr.com/api/billing.json/get_ri_upfront_cost_amortization?access_key[access_key]&account_name=MyAccountName
This call accepts 5 parameters:
- access_key (required) – standard access key required for all API calls.
- start (optional) – Start Date.
- end (optional) – End Date.
- service (optional) – The specific service you wish to query.
- use_account (required for admin API key) – The specific account you wish to query.
OUTPUT
XML Output:
<GetRIUpfrontCostAmortizationResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <start>2014-12-23T13:07:07.2988635Z</start> <end>2016-06-23T13:07:07.2988635Z</end> <service>EC2,RDS,ElastiCache,Redshift</service> <RiItems> <ReservedInstanceAmortizationItem> <Month>2014-12-01T00:00:00</Month> <TotalUpfrontCosts>811.00</TotalUpfrontCosts> <TotalAmortizedCosts>139.95</TotalAmortizedCosts> <PurchasedRis>...</PurchasedRis> <AmortizedRis> <ReservedInstanceAmortizationItemDetail>...</ReservedInstanceAmortizationItemDetail> <ReservedInstanceAmortizationItemDetail>...</ReservedInstanceAmortizationItemDetail> <ReservedInstanceAmortizationItemDetail>...</ReservedInstanceAmortizationItemDetail> <ReservedInstanceAmortizationItemDetail> <UnqiueId>040354a6-e547-4116-939c-ea7693b33cb8</UnqiueId> <Month>2014-12-01T00:00:00</Month> <Service>EC2</Service> <InstanceType>t1.micro</InstanceType> <AvailabilityZone>us-east-1b</AvailabilityZone> <Platform>WindowsVpc</Platform> <Term>1 Year</Term> <Cost>4.9660515644977168949771689655</Cost> <AccountName>949195593353</AccountName> </ReservedInstanceAmortizationItemDetail> </AmortizedRis> </ReservedInstanceAmortizationItem> </RiItems> </GetRIUpfrontCostAmortizationResponse>
JSON Output:
{ "start":"2014-12-23T14:23:43.1871277Z", "end":"2016-06-23T14:23:43.1871277Z", "service":"EC2,RDS,ElastiCache,Redshift", "RiItems":[ { "Month":"2014-12-01T00:00:00", "TotalUpfrontCosts":811.00, "TotalAmortizedCosts":139.95, "PurchasedRis":[ { "UnqiueId":"byaaron", "Month":"2014-12-01T00:00:00", "Service":"RDS", "InstanceType":"db.m3.medium", "AvailabilityZone":"us-east-1", "Platform":"sqlserver-se(byol)", "Term":"1 Year", "Cost":0.0, "AccountName":"949195593353" }, { "UnqiueId":"376d19e5-8aed-4942-a72e-5dcdfed3ce54", "Month":"2014-12-01T00:00:00", "Service":"EC2", "InstanceType":"m3.medium", "AvailabilityZone":"us-east-1b", "Platform":"WindowsVpc", "Term":"1 Year", "Cost":749.000, "AccountName":"949195593353" }, { "UnqiueId":"142453e2-b296-4e37-a707-dc65d7bda4a3", "Month":"2014-12-01T00:00:00", "Service":"EC2", "InstanceType":"t1.micro", "AvailabilityZone":"us-west-2b", "Platform":"WindowsVpc", "Term":"1 Year", "Cost":0.000, "AccountName":"949195593353" }, { "UnqiueId":"040354a6-e547-4116-939c-ea7693b33cb8", "Month":"2014-12-01T00:00:00", "Service":"EC2", "InstanceType":"t1.micro", "AvailabilityZone":"us-east-1b", "Platform":"WindowsVpc", "Term":"1 Year", "Cost":62.000, "AccountName":"9491553353" } ], "AmortizedRis":[ { "UnqiueId":"byaaron", "Month":"2014-12-01T00:00:00", "Service":"RDS", "InstanceType":"db.m3.medium", "AvailabilityZone":"us-east-1", "Platform":"sqlserver-se(byol)", "Term":"1 Year", "Cost":75.000, "AccountName":"9491953353" }, { "UnqiueId":"376d19e5-8aed-4942-a72e-5dcdfed3ce54", "Month":"2014-12-01T00:00:00", "Service":"EC2", "InstanceType":"m3.medium", "AvailabilityZone":"us-east-1b", "Platform":"WindowsVpc", "Term":"1 Year", "Cost":59.977241379724721004566210044, "AccountName":"94915593353" }, { "UnqiueId":"142453e2-b296-4e37-a707-dc65d7bda4a3", "Month":"2014-12-01T00:00:00", "Service":"EC2", "InstanceType":"t1.micro", "AvailablityZone":"us-west-2b", "Platform":"Windowspc", "Term":"1 Year", "Cost":0.0, "AccountName":"94919593353" }, { "UnqiueId":"040354a6-e547-4116-939c-ea7693b33cb8", "Month":"2014-12-01T00:00:00", "Service":"EC2", "InstanceType":"t1.micro", "AvailabilityZone":"us-east-1b", "Platform":"WindowsVpc", "Term":"1 Year", "Cost":4.9660515644977168949771689655, "AccountName":"949195593353" } ] }, ] }
Create Customers For The Invoice Generator
The API method “create_customer” is used to create customers for use in the CloudCheckr Invoice Generator.
XML call:
https://api.cloudcheckr.com/api/billing.xml/create_customer?access_key=[access_key]&name=[name]&email=[email_address]&address=[address]&aws_accounts=[accounts]
JSON call:
https://api.cloudcheckr.com/api/billing.json/create_customer?access_key=[access_key]&name=[name]&email=[email_address]&address=[address]&aws_accounts=[accounts]
This call accepts these parameters:
“(required)name”, “(required)email”, “(required)address”, “(required)aws_accounts”]
- access_key (required) – standard access key required for all API calls.
- name (required) – the name of the customer to be used in the invoice generator.
- email (required) – the email address to be associated with the customer.
- address (required) – the mailing address to be associated with the customer.
- aws_accounts (required) – the name(s) of the AWS Account(s) that you will like to use to create the customer. Will accept multiple accounts.
OUTPUT
{"Message":"Sucessfully created customer.","Code":200}
Get Billing Detailed Grouped PDF
The API method, get_billing_detailed_grouped_pdf, is used to provide a PDF version of an Advanced Grouping report.
To access the Advanced Grouping report, go to the left navigation pane and choose Cost > AWS Billing > Custom Reporting > Advanced Grouping.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key (required) | string | standard access key required for all API calls |
saved_filter_name | string | required; name of the saved filter |
start | DateTime | required; date that you want to start to pull cost data |
end | DateTime | required; date that you want to stop pulling cost data |
ENDPOINT URL:
https://api.cloudcheckr.com/api/ReportPdfDownload.[json|xml]/get_billing_detailed_grouped_pdf
JSON/XML CALL EXAMPLE:
curl --request GET \ --'https://api.cloudcheckr.com/api/ReportPdfDownload.[json|xml]/get_billing_detailed_grouped_pdf?access_key=[project_api_access_key]&saved_filter_name=[saved_filter_name]&start=11/22/2017&end=12/06/2017'\ --header 'cache-control: no-cache' \ --header 'content-type: application/[json|xml]'
SUCCESSFUL JSON/XML RESPONSE:
{ "Code": 200, "Message": "OK" }
Edit Payee Support Charges
The edit_payee_support_charges call is used to adjust payee support charges as seen from the Cost > AWS Partner Tools > Configure > Payee Support Charges page.
This API endpoint only responds to POST requests.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level API key. must be specified in header |
aws_account_id | string | * required/optional; 12-digit AWS account ID to modify |
account_family | string | * required/optional; name of the account family to modify |
supress_aws_support | string | optional; valid values are: true/false, yes/no, y/n, and 1/0 |
recalculate_support | string | optional; valid values are: true/false, yes/no, y/n, and 1/0 |
apply_by_account | string | optional; valid values are: true/false, yes/no, y/n, and 1/0 |
ignore_100_minimum | string | optional; valid values are: true/false, yes/no, y/n, and 1/0 |
displayed_by_account | string | optional; valid values are: true/false, yes/no, y/n, and 1/0 |
* = one of these parameters must be defined
Endpoint URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/edit_payee_support_charges
Example Call:
https://api.cloudcheckr.com/api/billing.[json|xml]/edit_payee_support_charges
--header'access_key=your_access_key'\
--header'content-type:application/json'\
--data'
{
"suppress_aws_support":"true",
"recalculate_support":"true",
"apply_by_account":"true",
"ignore_100_minimum":"true",
"displayed_by_account":"true",
"aws_account_id":"0123456789"
}
Successful Response:
{
"Code": 200,
"Message": "OK"
}
CloudWatch Statistics
The API method “get_history” is used to pull CloudWatch metrics from your AWS account.
XML call:
https://api.cloudcheckr.com/api/Cloudwatch.xml/get_history?access_key=[access_key]&service=EC2:CPUUtilization
JSON call:
https://api.cloudcheckr.com/api/Cloudwatch.json/get_history?access_key=[access_key]&service=EC2:CPUUtilization
INPUT PARAMETERS
This call accepts these parameters:
- access_key (required) – standard Access Key required for all API calls.
- service (required) – the CloudWatch metric from which to pull the results.
- start (optional) – return statistics from after this date.
- end (optional) – return statistics from before this date.
- NOTE: if start and end are not defined, the last 7 days will be returned.
OUTPUT
XML Example:
<CloudWatchHistory xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Service>EC2</Service> <MetricType>CPUUtilization</MetricType> <CloudWatch> <CloudWatchDetail> <ResourceId>i-3cf3f56f</ResourceId> <Region>US East (Northern Virginia)</Region> <Value>4.76</Value> <Time>2014-06-06T15:00:00</Time> </CloudWatchDetail> </CloudWatch> <FromDate>2014-08-12T00:00:00</FromDate> <ToDate>2014-08-19T00:00:00</ToDate> </CloudWatchHistory>
JSON Example:
{ "Service": "EC2", "MetricType": "CPUUtilization", "CloudWatch": [{ "ResourceId": "i-05c10a2e", "Region": "US East (Northern Virginia)", "MetricType": null, "Value": "0.167", "Time": "2014-08-15T16:00:00" }, { "ResourceId": "i-05c10a2e", "Region": "US East (Northern Virginia)", "MetricType": null, "Value": "1.226", "Time": "2014-08-15T15:00:00" }, { "ResourceId": "i-05c10a2e", "Region": "US East (Northern Virginia)", "MetricType": null, "Value": "0.2225", "Time": "2014-08-15T14:00:00" }, { "ResourceId": "i-05c10a2e", "Region": "US East (Northern Virginia)", "MetricType": null, "Value": "0.194166666666667", "Time": "2014-08-15T13:00:00" }], "FromDate": "2014-08-12T00:00:00", "ToDate": "2014-08-19T23:59:59" }
Add Cost Alert
The API method “add_cost_alert” is used to programmatically create new cost alert within CloudCheckr.
The preferred HTTP method for this call is GET.
XML call:
https://api.cloudcheckr.com/api/alert.xml/add_cost_alert?access_key=[access_key]&alert_name=Alert&budget=10000&percent_of_budget=75&only_send_once=true&budget_period=monthly& [email protected]
JSON call:
https://api.cloudcheckr.com/api/alert.json/add_cost_alert?access_key=[access_key]&alert_name=Alert&budget=10000&percent_of_budget=75&only_send_once=true&budget_period=monthly& [email protected]
INPUT PARAMETERS
This call accepts these parameters:
- use_aws_account_id (*optional/required) – the 12-digit AWS account ID of the CloudCheckr account you are making the call for.
- use_account (*optional/required) – the name of the CloudCheckr account you are making the call for.
- use_cc_account_id (*optional/required) – the CloudCheckr ID of the account you are making the call for.
- access_key (required) – standard Access Key required for all API calls.
- account_to_filter (optional) – the AWS Payer Account ID you would like to compare create the alert against. If parameter is not used, budget will compare against all accounts.
- alert_name (required) – the name of the new alert.
- billing_customer_to_filter (optional) – the billing customer name (Azure, CSP only)
- emails (optional) – the email addresses that will receive the alert email. Separate multiple addresses using commas.
- sns_topics (optional) – the ARN for the SNS topic that you would like the alert delivered.
- pagerduty_service_key (optional) – the Key for the PagerDuty alert you would like the CloudCheckr alert to be delivered to.
- budget (required) – the dollar amount for the budget.
- percent_of_budget (required) – the percentage of costs versus budget that will trigger the alert.
- send_every_days (optional) – dictates how frequently the alert is sent.
- only_send_once (optional) – set to true to only receive one alert when the percent of budget is met.
- budget_period (optional) – enter daily to set a daily budget or monthly to have the budget align with the AWS month-to-date costs.
- budget_custom_start_date (optional) – the month/day/year you would like the budget to start comparing against.
- budget_custom_end_date (optional) – the month/day/year you would like the budget to stop comparing against.
- saved_filter (optional) – the name of the Advanced Grouping saved filter you would like to create the alert against.
OUTPUT
XML & JSON Example:
{"Code":200,"Message":"OK"}
Delete Cost Alert
The API method “delete_cost_alert” is used to programmatically delete an already-created cost alert within CloudCheckr.
The preferred HTTP method for this call is POST.
XML call:
https://api.cloudcheckr.com/api/alert.xml/delete_cost_alert?access_key=[access_key]&alert_name=Alert
JSON call:
https://api.cloudcheckr.com/api/alert.json/delete_cost_alert?access_key=[access_key]&alert_name=Alert
INPUT PARAMETERS
This call accepts these parameters:
- access_key (required) – standard Access Key required for all API calls.
- alert_name (required) – the name of the alert that you would like to delete.
OUTPUT
XML & JSON Example:
{
"Code":200,"Message":"OK"
}
Delete Cost Allocator
The API method, “delete_cost_allocator”, is used to delete Cost Allocator settings in CloudCheckr, so you can allocate usage costs and report on shared services more accurately.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level or account-level access key |
name_for_cost_allocator | string | required; the unique name of the tagging structure for your selected Cost Allocator configuration |
use_aws_account_id | string | *optional/required; the 12-digit AWS account ID of the CloudCheckr account you are making the call for |
use_account | string | *optional/required; the name of the CloudCheckr account you are making the call for |
use_cc_account_id | string | *optional/required; the CloudCheckr ID of the account you are making the call for |
- use_aws_account_id
- use_account
- use_cc_account_id
API CALL URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/delete_cost_allocator
REQUEST EXAMPLE:
curl -- request POST \
-- 'https://api.cloudcheckr.com/api/billing.[json|xml]/delete_cost_allocator' \
-- header 'cache-control: no-cache' \
-- header 'access_key: [access key]' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"use_cc_account_id": "3",
"name_for_cost_allocator" : "sampleName"
}'
RESPONSE EXAMPLES:
Result 200 OK (XML):
<delete_cost_allocatorResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<status>
<Code>200</Code>
<Message>Success</Message>
</status>
</delete_cost_allocatorResponse>
Result 200 OK (JSON):
{
"Code": 200,
"Message": "Success"
}
Edit Cost Allocator
The API method, “edit_cost_allocator”, is used to edit Cost Allocator settings in CloudCheckr, so you can allocate usage costs and report on shared services more accurately.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level or account-level access key |
name_for_cost_allocator | string | required; the unique name of the tagging structure for your selected Cost Allocator configuration |
tag_conditions | List <string> | required/optional; identifies the costs that match an attribute and a given value EX: Your company uses an You must use the tag_conditions or property_conditions parameter when defining your tagging structure.
|
property_conditions | List <string> | required/optional; identifies any additional characteristic that allows you to further limit what costs are included in your tagging structure In AWS accounts, you can select one or more of the following properties:
You must use the tag_conditions or property_conditions parameter when defining your tagging structure.
|
all_conditions_met | boolean | required; indicates that the cost data must meet all the conditions before CloudCheckr will apply the divisions |
divisions | List <string> | required; indicates how you want CloudCheckr to allocate your costs, by percentage, across your tag mappings CloudCheckr will only apply the divisions if your tagging structure meets the previous conditions. Your cost allocations should add up to 100%.
|
use_aws_account_id | string | *optional/required; the 12-digit AWS account ID of the CloudCheckr account you are making the call for |
use_account | string | *optional/required; the name of the CloudCheckr account you are making the call for |
use_cc_account_id | string | *optional/required; the CloudCheckr ID of the account you are making the call for |
- use_aws_account_id
- use_account
- use_cc_account_id
API CALL URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/edit_cost_allocator
REQUEST EXAMPLE:
curl -- request POST \
-- 'https://api.cloudcheckr.com/api/billing.[json|xml]/edit_cost_allocator' \
-- header 'cache-control: no-cache' \
-- header 'access_key: [access key]' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"use_cc_account_id": "3",
"name_for_cost_allocator" : "sampleName",
"property_conditions" : [{"key_to_map" : "Region", "value_to_map" : "ap_east_1"}],
"divisions" : [{"map_percent_of_cost_to_tag" : "50", "map_to_tag_key" : "TagKey2", "map_to_tag_value" : "TagValue2"},
{"map_percent_of_cost_to_tag" : "50", "map_to_tag_key" : "TagKey3", "map_to_tag_value" : "TagValue3"}],
"all_conditions_met" : "true"
}'
RESPONSE EXAMPLES:
Result 200 OK (XML):
<edit_cost_allocatorResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<status>
<Code>200</Code>
<Message>Success</Message>
</status>
</edit_cost_allocatorResponse>
Result 200 OK (JSON):
{
"Code": 200,
"Message": "Success"
}
Get Publicly Accessible Resources
The API method “get_publicly_accessible_resources” is used to show you the publicly accessible resources for any given account within CloudChecker.
XML call:
https://api.cloudcheckr.com/api/security.xml/get_publicly_accessible_resources?access_key=[ACCESS KEY]
JSON call:
https://api.cloudcheckr.com/api/security.json/get_publicly_accessible_resources?access_key=[ACCESS KEY]
This call accepts these parameters:
- access_key (required) – standard Access Key required for all API calls.
Note: If using an admin API key, use_account is required
OUTPUT
XML Example:
<PubliclyAccessibleResourcesResponse> <PubliclyAccessibleEc2Instances> <PubliclyAccessibleEc2Instance> <Region>US East (Northern Virginia)</Region> <AvailabilityZone>us-east-1d</AvailabilityZone> <VpcId>vpc-24343948</VpcId> <SubnetId>subnet-38343954</SubnetId> <Instance>i-ecbca690 (VPCTest)</Instance> <IpAddress>54.208.129.79</IpAddress> </PubliclyAccessibleEc2Instance> <PubliclyAccessibleEc2Instance> <Region>US East (Northern Virginia)</Region> <AvailabilityZone>us-east-1d</AvailabilityZone> <VpcId>vpc-24343948</VpcId> <SubnetId>subnet-b116b3c6</SubnetId> <Instance>i-f2c28109</Instance> <IpAddress>54.86.207.128</IpAddress> </PubliclyAccessibleEc2Instance> <PubliclyAccessibleEc2Instance> <Region>EU (Frankfurt)</Region> <AvailabilityZone>eu-central-1a</AvailabilityZone> <VpcId>vpc-4c08ec25</VpcId> <SubnetId>subnet-ecef0885</SubnetId> <Instance>i-945d3d5a (Frankfurt)</Instance> <IpAddress>54.93.171.200</IpAddress> </PubliclyAccessibleEc2Instance> </PubliclyAccessibleEc2Instances> <PubliclyAccessibleRdsInstances/> <PubliclyAccessibleRedshiftClusters/> <PubliclyAccessibleS3Buckets></PubliclyAccessibleS3Buckets> </PubliclyAccessibleResourcesResponse>
JSON Example:
{ "PubliclyAccessibleEc2Instances":[ { "Instance":"i-932ce7c1 (Default-Environment)", "IpAddress":"54.211.156.217", "Region":"US East (Northern Virginia)", "AvailabilityZone":null, "VpcId":null, "SubnetId":null }, { "Instance":"i-0c1ad1e3", "IpAddress":"23.20.180.34", "Region":"US East (Northern Virginia)", "AvailabilityZone":null, "VpcId":null, "SubnetId":null }, { "Instance":"i-1cca06e6 (testingvpc1-env)", "IpAddress":"52.0.169.238", "Region":"US East (Northern Virginia)", "AvailabilityZone":"us-east-1d", "VpcId":"vpc-24343948", "SubnetId":"subnet-38343954" }, { "Instance":"i-ecbca690 (VPCTest)", "IpAddress":"54.208.129.79", "Region":"US East (Northern Virginia)", "AvailabilityZone":"us-east-1d", "VpcId":"vpc-24343948", "SubnetId":"subnet-38343954" } ], "PubliclyAccessibleRdsInstances":[ ], "PubliclyAccessibleRedshiftClusters":[ ], "PubliclyAccessibleS3Buckets":[ { "Name":"examplebucket", "Endpoint":"https://s3.amazonaws.com/examplebucket/", "Region":"South America (São Paulo)", "Permissions":" "Bucket: examplebucket | Grantee: Everyone | Permission: List (Read)" "Bucket: examplebucket | Grantee: Everyone | Permission: View Permissions (Read_Acp)" } ] }
Inventory Summary
The API method “get_resources” is used to pull the data for the Inventory Summary report from CloudCheckr. This will provide the total number of resources being run across each AWS Service.
XML call:
https://api.cloudcheckr.com/api/inventory.xml/get_resources?access_key=[access_key]&date=01/01/2014
JSON call:
https://api.cloudcheckr.com/api/inventory.json/get_resources?access_key=[access_key]&date=01/01/2014
INPUT PARAMETERS
This call accepts these parameters:
- access_key (required) – standard Access Key required for all API calls.
- date (optional) – return report from this date. If date is not defined, the most recent report will be returned.
- use_account (optional; required if using an Admin API key) – return report for this account.
OUTPUT
XML Example:
<GetResourcesResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DateOfResults>2014-08-01T22:43:06</DateOfResults> <Services> <Service> <Name>EC2</Name> <Metrics> <Metric> <Name>Running Instances</Name> <Value>7</Value> <Description>Across 8 Regions</Description> </Metric> <Metric> <Name>EBS Volumes</Name> <Value>37</Value> </Metric> </Metrics> </Service>
JSON Example:
{ "DateOfResults": "2014-08-18T20:31:21", "Services": [{ "Name": "EC2", "Metrics": [{ "Name": "Running Instances", "Value": "4", "Description": "Across 8 Regions" }, { "Name": "EBS Volumes", "Value": "37", "Description": null }] }, { "Name": "Reserved Instances", "Metrics": [{ "Name": "Active Reservations", "Value": "4", "Description": "For 4 instances" }, { "Name": "Retired Reservations", "Value": "12", "Description": null }] }, { "Name": "S3", "Metrics": [{ "Name": "Buckets", "Value": "34", "Description": null }, { "Name": "Objects", "Value": "434,623", "Description": "Storage used: 116.10 GB" }] }, { "Name": "CloudFront", "Metrics": [{ "Name": "Web Distributions", "Value": "4", "Description": "3 Enabled" }, { "Name": "RTMP Distributions", "Value": "1", "Description": "1 Enabled" }] }] }
Get Cost Savings Report Results
The API method “get_cost_saving” is used to export results from the Cost Savings Report.
XML call:
https://api.cloudcheckr.com/api/billing.xml/get_cost_saving?access_key=[access_key]
JSON call:
https://api.cloudcheckr.com/api/billing.json/get_cost_saving?access_key=[access_key]
INPUT PARAMETERS
This call accepts these parameters:
- access_key (required) – Standard Access Key required for all API calls
- date (optional) – Return report from this date. If date is not defined, the most recent report will be returned.
- groupby (optional) – Accepts values ‘ByCheck’ or ‘ByAccount’. Groups Results by Check or Account.
- use_account (required when using Admin API Access Key) – The name of the account you are making the call for, where the name is the name of the account added in CloudCheckr.
- use_cc_account_id (required when using Admin API Access Key) – The CloudCheckr ID of the account you are making the call for. The ID is returned when using the method ‘account/add_accountv2′ to register the account in CloudCheckr.
OUTPUT
XML Example:
<GetCostSavingResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <TotalSaving>337.68083333333333333333333333</TotalSaving> <TotalIdleResourcesSaving>104.08</TotalIdleResourcesSaving> <TotalUnusedResourcesSaving>124.40</TotalUnusedResourcesSaving> <TotalMisProvisionedResourcesSaving>38.80</TotalMisProvisionedResourcesSaving> <TotalPreviousGenerationResourcesSaving>35.28</TotalPreviousGenerationResourcesSaving> <TotalRIPurchaseRecommendationResourcesSaving>35.120833333333333333333333333</TotalRIPurchaseRecommendationResourcesSaving> <TotalMiscellaneousResourcesSaving>0</TotalMiscellaneousResourcesSaving> <IdleResources> <Resources> <Name>Idle EC2 Instances</Name> <TotalCount>8</TotalCount> <TotalSaving>103.96</TotalSaving> <Detail> <string> Instance: i-0234039a (TestingRIRec - Magnus) | CPU Util: 0.02% | Network In (Bytes): 124 | Network Out (Bytes): 122 | Predicted Monthly Cost: $5.36 | Region: US East (Northern Virginia) </string> <string> Instance: i-05057cb7 (ECS Instance - EC2ContainerService-default-de0d31f9-78d0-48da-9c29-e65de700a7d9) | CPU Util: 0.47% | Network In (Bytes): 147 | Network Out (Bytes): 90 | Predicted Monthly Cost: $15.52 | Region: US West (Northern California) </string>
JSON Example:
{ "GetCostSavingResponse": { "TotalSaving": "337.68083333333333333333333333", "TotalIdleResourcesSaving": "104.08", "TotalUnusedResourcesSaving": "124.40", "TotalMisProvisionedResourcesSaving": "38.80", "TotalPreviousGenerationResourcesSaving": "35.28", "TotalRIPurchaseRecommendationResourcesSaving": "35.120833333333333333333333333", "TotalMiscellaneousResourcesSaving": "0", "IdleResources": { "Resources": [ { "Name": "Idle EC2 Instances", "TotalCount": "8", "TotalSaving": "103.96", "Detail": { "string": [ "\nInstance: i-0234039a (TestingRIRec - Magnus) | CPU Util: 0.02% | Network In (Bytes): 124 | Network Out (Bytes): 122 | Predicted Monthly Cost: $5.36 | Region: US East (Northern Virginia)\n", "\nInstance: i-05057cb7 (ECS Instance - EC2ContainerService-default-de0d31f9-78d0-48da-9c29-e65de700a7d9) | CPU Util: 0.47% | Network In (Bytes): 147 | Network Out (Bytes): 90 | Predicted Monthly Cost: $15.52 | Region: US West (Northern California)\n", "\nInstance: i-10bc0ab7 (Seoul) | CPU Util: 0.03% | Network In (Bytes): 706 | Network Out (Bytes): 1,102 | Predicted Monthly Cost: $7.92 | Region: Asia Pacific (Seoul)\n", "\nInstance: i-5082b990 (ECS Instance - EC2ContainerService-default-367f5c36-273e-4735-8009-ebf34c8fb46c) | CPU Util: 0.49% | Network In (Bytes): 146 | Network Out (Bytes): 98 | Predicted Monthly Cost: $15.52 | Region: US West (Northern California)\n", "\nInstance: i-681292f3 (CWLogs_Test) | CPU Util: 0.17% | Network In (Bytes): 2,025 | Network Out (Bytes): 1,813 | Predicted Monthly Cost: $31.49 | Region: US East (Northern Virginia)\n", "\nInstance: i-945d3d5a (Frankfurt) | CPU Util: 0.04% | Network In (Bytes): 2,430 | Network Out (Bytes): 5,405 | Predicted Monthly Cost: $10.99 | Region: EU (Frankfurt)\n", "\nInstance: i-9e13195e (ECS Instance - EC2ContainerService-default-fa0353c5-b32c-4c5c-9fbd-3df92d3551d9) | CPU Util: 0.74% | Network In (Bytes): 1,975 | Network Out (Bytes): 6,970 | Predicted Monthly Cost: $15.52 | Region: US West (Northern California)\n", "\nInstance: i-a920192d (BriceLinuxTest) | CPU Util: 0.02% | Network In (Bytes): 97 | Network Out (Bytes): 63 | Predicted Monthly Cost: $1.64 | Region: US East (Northern Virginia)\n" ] } }, { "Name": "Idle DynamoDB Tables", "TotalCount": "6", "TotalSaving": "0.12", "Detail": { "string": [ "\nTable: ProductCatallog | Average Read Capacity Consumed: 0.00 | Provisioned Reads: 10.00 | Read Percent Utilized: 0.00% | Monthly Provisioned Reads Cost: $0.01 | Average Write Capacity Consumed: 0.00 | Provisioned Writes: 5.00 | Write Percent Utilized: 0.00% | Monthly Provisioned Writes Cost: $0.01 | Region: US East (Northern Virginia) | Timeframe: Previous 24 hours\n", "\nTable: aarontestdynamo | Average Read Capacity Consumed: 0.00 | Provisioned Reads: 1.00 | Read Percent Utilized: 0.00% | Monthly Provisioned Reads Cost: $0.01 | Average Write Capacity Consumed: 0.00 | Provisioned Writes: 2.00 | Write Percent Utilized: 0.00% | Monthly Provisioned Writes Cost: $0.01 | Region: US East (Northern Virginia) | Timeframe: Previous 24 hours\n", "\nTable: testagain | Average Read Capacity Consumed: 0.00 | Provisioned Reads: 1.00 | Read Percent Utilized: 0.00% | Monthly Provisioned Reads Cost: $0.01 | Average Write Capacity Consumed: 0.00 | Provisioned Writes: 1.00 | Write Percent Utilized: 0.00% | Monthly Provisioned Writes Cost: $0.01 | Region: US East (Northern Virginia) | Timeframe: Previous 24 hours\n", "\nTable: SimpleLookupTable | Average Read Capacity Consumed: 0.00 | Provisioned Reads: 1.00 | Read Percent Utilized: 0.00% | Monthly Provisioned Reads Cost: $0.01 | Average Write Capacity Consumed: 0.00 | Provisioned Writes: 1.00 | Write Percent Utilized: 0.00% | Monthly Provisioned Writes Cost: $0.01 | Region: US West (Oregon) | Timeframe: Previous 24 hours\n", "\nTable: TestFromAWSExplorer | Average Read Capacity Consumed: 0.00 | Provisioned Reads: 5.00 | Read Percent Utilized: 0.00% | Monthly Provisioned Reads Cost: $0.01 | Average Write Capacity Consumed: 0.00 | Provisioned Writes: 10.00 | Write Percent Utilized: 0.00% | Monthly Provisioned Writes Cost: $0.01 | Region: US West (Oregon) | Timeframe: Previous 24 hours\n", "\nTable: cm-test-1 | Average Read Capacity Consumed: 0.00 | Provisioned Reads: 3.00 | Read Percent Utilized: 0.00% | Monthly Provisioned Reads Cost: $0.01 | Average Write Capacity Consumed: 0.00 | Provisioned Writes: 1.00 | Write Percent Utilized: 0.00% | Monthly Provisioned Writes Cost: $0.01 | Region: Asia Pacific (Singapore) | Timeframe: Previous 24 hours\n" ] } } ] }, "UnusedResources": { "Resources": [ { "Name": "Unattached EBS Volumes", "TotalCount": "9", "TotalSaving": "120.80", "Detail": { "string": [ "\nVolume ID: vol-0fcac9cc | Size: 100 GiB | Predicted Monthly Cost: $11.00 | EC2 Instance: None | Region: EU (Ireland)\n", "\nVolume ID: vol-288874cc | Size: 100 GiB | Predicted Monthly Cost: $12.00 | EC2 Instance: None | Region: US West (Northern California)\n", "\nVolume ID: vol-4665bc03 | Size: 2 GiB | Predicted Monthly Cost: $0.20 | EC2 Instance: None | Region: US East (Northern Virginia)\n", "\nVolume ID: vol-4a11cbbd | Size: 100 GiB | Predicted Monthly Cost: $19.00 | EC2 Instance: None | Region: US West (Oregon)\n", "\nVolume ID: vol-6acac9a9 | Size: 100 GiB | Predicted Monthly Cost: $21.00 | EC2 Instance: None | Region: EU (Ireland)\n", "\nVolume ID: vol-8aa0e353 | Size: 100 GiB | Predicted Monthly Cost: $22.70 | EC2 Instance: None | Region: EU (Frankfurt)\n", "\nVolume ID: vol-b6a0e36f | Size: 100 GiB | Predicted Monthly Cost: $5.90 | EC2 Instance: None | Region: EU (Frankfurt)\n", "\nVolume ID: vol-cdefb40a | Size: 100 GiB | Predicted Monthly Cost: $8.00 | EC2 Instance: None | Region: Asia Pacific (Singapore)\n", "\nVolume ID: vol-e7efb420 | Size: 100 GiB | Predicted Monthly Cost: $21.00 | EC2 Instance: None | Region: Asia Pacific (Singapore)\n" ] } }, { "Name": "Unused Elastic IP Addresses", "TotalCount": "1", "TotalSaving": "3.60", "Detail": { "string": "\nIP: 177.71.178.126 | Associated with: No instance | Predicted Monthly Cost: $3.60 | Region: South America (S?o Paulo)\n" } }, { "Name": "Unused DynamoDB Tables", "TotalCount": "4", "TotalSaving": "0.00", "Detail": { "string": [ "\nTable: testagain | Status: ACTIVE | Created: 6/26/2013 8:09:40 PM UTC | Item Count: 0 | Region: US East (Northern Virginia) | MTD Read Cost: $0.00 | MTD Write Cost: $0.00\n", "\nTable: SimpleLookupTable | Status: ACTIVE | Created: 7/9/2015 1:23:50 PM UTC | Item Count: 0 | Region: US West (Oregon) | MTD Read Cost: $0.00 | MTD Write Cost: $0.00\n", "\nTable: TestFromAWSExplorer | Status: ACTIVE | Created: 6/24/2014 6:09:47 PM UTC | Item Count: 0 | Region: US West (Oregon) | MTD Read Cost: $0.00 | MTD Write Cost: $0.00\n", "\nTable: cm-test-1 | Status: ACTIVE | Created: 10/7/2013 6:25:20 PM UTC | Item Count: 0 | Region: Asia Pacific (Singapore) | MTD Read Cost: $0.00 | MTD Write Cost: $0.00\n" ] } } ] }, "MisProvisionedResources": { "Resources": { "Name": "\nEBS PIOPS Volumes Should Be Converted To General Purpose SSD\n", "TotalCount": "4", "TotalSaving": "38.80", "Detail": { "string": [ "\nEBS Volume Id: vol-4a11cbbd | Region: US West (Oregon) | Recommendation: convert from Provisioned IOPS to General Purpose (SSD) Storage Type | Current Disk Size: 100GB | Current IOPS: 100 | Convert Disk to SSD of size: 100GB | IOPS from new SSD: 300 | Monthly Cost for Provisioned IOPS: $19.00 | Monthly Cost for recommended General Purpose (SSD): $10.00 | Monthly Saving: $9.00\n", "\nEBS Volume Id: vol-6acac9a9 | Region: EU (Ireland) | Recommendation: convert from Provisioned IOPS to General Purpose (SSD) Storage Type | Current Disk Size: 100GB | Current IOPS: 100 | Convert Disk to SSD of size: 100GB | IOPS from new SSD: 300 | Monthly Cost for Provisioned IOPS: $21.00 | Monthly Cost for recommended General Purpose (SSD): $11.00 | Monthly Saving: $10.00\n", "\nEBS Volume Id: vol-8aa0e353 | Region: EU (Frankfurt) | Recommendation: convert from Provisioned IOPS to General Purpose (SSD) Storage Type | Current Disk Size: 100GB | Current IOPS: 100 | Convert Disk to SSD of size: 100GB | IOPS from new SSD: 300 | Monthly Cost for Provisioned IOPS: $22.70 | Monthly Cost for recommended General Purpose (SSD): $11.90 | Monthly Saving: $10.80\n", "\nEBS Volume Id: vol-e7efb420 | Region: Asia Pacific (Singapore) | Recommendation: convert from Provisioned IOPS to General Purpose (SSD) Storage Type | Current Disk Size: 100GB | Current IOPS: 100 | Convert Disk to SSD of size: 100GB | IOPS from new SSD: 300 | Monthly Cost for Provisioned IOPS: $21.00 | Monthly Cost for recommended General Purpose (SSD): $12.00 | Monthly Saving: $9.00\n" ] } } }, "PreviousGenerationResources": { "Resources": { "Name": "\nPrevious Generation EC2 Instances Should Be Migrated\n", "TotalCount": "6", "TotalSaving": "35.28", "Detail": { "string": [ "\nInstance: i-5560c207 (MediumRI) | Region: US East (Northern Virginia) | Recommendation: Migrate from m1.small to t2.small | On-Demand Current Monthly Cost: $31.68 | Cost for Recommended: $18.72 | Yearly Savings: $155.52 | Platform: Linux | Virtualization Type: paravirtual | vCPU for current: 1 | vCPU for next gen: 1 | Memory for current: 1.7 GB | Memory for next gen: 2 GB\n", "\nInstance: i-a21a9dee | Region: EU (Ireland) | Recommendation: Migrate from t1.micro to t2.micro | On-Demand Current Monthly Cost: $14.40 | Cost for Recommended: $13.68 | Yearly Savings: $8.64 | Platform: Windows | Virtualization Type: hvm | vCPU for current: 1 | vCPU for next gen: 1 | Memory for current: 0.615 GB | Memory for next gen: 1 GB\n", "\nInstance: i-188ddd36 (NewRelic) | Region: US East (Northern Virginia) | Recommendation: Migrate from t1.micro to t2.micro | On-Demand Current Monthly Cost: $14.40 | Cost for Recommended: $9.36 | Yearly Savings: $60.48 | Platform: Linux | Virtualization Type: paravirtual | vCPU for current: 1 | vCPU for next gen: 1 | Memory for current: 0.615 GB | Memory for next gen: 1 GB\n", "\nInstance: i-ecbca690 (VPCTest) | Region: US East (Northern Virginia) | Recommendation: Migrate from t1.micro to t2.micro | On-Demand Current Monthly Cost: $14.40 | Cost for Recommended: $9.36 | Yearly Savings: $60.48 | Platform: LinuxVpc | Virtualization Type: paravirtual | vCPU for current: 1 | vCPU for next gen: 1 | Memory for current: 0.615 GB | Memory for next gen: 1 GB\n", "\nInstance: i-daba0280 | Region: US West (Northern California) | Recommendation: Migrate from t1.micro to t2.micro | On-Demand Current Monthly Cost: $25.20 | Cost for Recommended: $19.44 | Yearly Savings: $69.12 | Platform: LinuxSuse | Virtualization Type: paravirtual | vCPU for current: 1 | vCPU for next gen: 1 | Memory for current: 0.615 GB | Memory for next gen: 1 GB\n", "\nInstance: i-2895fd72 (OpenSuseCali) | Region: US West (Northern California) | Recommendation: Migrate from t1.micro to t2.micro | On-Demand Current Monthly Cost: $18.00 | Cost for Recommended: $12.24 | Yearly Savings: $69.12 | Platform: Linux | Virtualization Type: paravirtual | vCPU for current: 1 | vCPU for next gen: 1 | Memory for current: 0.615 GB | Memory for next gen: 1 GB\n" ] } } }, "RIPurchaseRecommendationResources": { "Resources": [ { "Name": "EC2 Reserved Instance Purchase Recommendations", "TotalCount": "7", "TotalSaving": "28.767500000000000000000000000", "Detail": { "string": [ "\nNumber: 1 | Instance Type: t2.micro | AZ: eu-central-1a | Platform: LinuxVpc | Commitment Type: 1 Year Partial Upfront | Tenancy: Default | Upfront RI Cost: $55.00 | Reserved Monthly Cost: $2.92 | On-Demand Monthly Cost: $10.66 | Total Savings: $37.89\n", "\nNumber: 2 | Instance Type: t2.micro | AZ: us-west-1a | Platform: LinuxVpc | Commitment Type: 1 Year Partial Upfront | Tenancy: Default | Upfront RI Cost: $136.00 | Reserved Monthly Cost: $5.84 | On-Demand Monthly Cost: $24.17 | Total Savings: $83.90\n", "\nNumber: 1 | Instance Type: t2.micro | AZ: us-west-1c | Platform: LinuxVpc | Commitment Type: 1 Year Partial Upfront | Tenancy: Default | Upfront RI Cost: $68.00 | Reserved Monthly Cost: $2.92 | On-Demand Monthly Cost: $12.08 | Total Savings: $41.95\n", "\nNumber: 1 | Instance Type: t2.nano | AZ: ap-northeast-2a | Platform: LinuxVpc | Commitment Type: 1 Year Partial Upfront | Tenancy: Default | Upfront RI Cost: $32.00 | Reserved Monthly Cost: $2.92 | On-Demand Monthly Cost: $7.11 | Total Savings: $18.25\n", "\nNumber: 1 | Instance Type: t1.micro | AZ: us-west-1b | Platform: Linux | Commitment Type: 1 Year Partial Upfront | Tenancy: Default | Upfront RI Cost: $62.00 | Reserved Monthly Cost: $5.84 | On-Demand Monthly Cost: $17.77 | Total Savings: $81.14\n", "\nNumber: 1 | Instance Type: t1.micro | AZ: us-west-2b | Platform: Linux | Commitment Type: 1 Year Partial Upfront | Tenancy: Default | Upfront RI Cost: $62.00 | Reserved Monthly Cost: $3.65 | On-Demand Monthly Cost: $14.21 | Total Savings: $64.78\n", "\nNumber: 1 | Instance Type: t2.nano | AZ: us-east-1a | Platform: LinuxVpc | Commitment Type: 1 Year Partial Upfront | Tenancy: Default | Upfront RI Cost: $25.00 | Reserved Monthly Cost: $1.10 | On-Demand Monthly Cost: $4.62 | Total Savings: $17.30\n" ] } }, { "Name": "ElastiCache Reserved Node Purchase Recommendations", "TotalCount": "1", "TotalSaving": "6.3533333333333333333333333333", "Detail": { "string": "\nNumber: 1 | Cache Node Type: cache.t1.micro | Engine: memcached | Region: US East (Northern Virginia) | Upfront RI Cost: $62.00 | Reserved Monthly Cost: $4.32 | On-Demand Monthly Cost: $15.84 | Total Savings: $76.24\n" } } ] }, "_ xmlns:xsd": "http://www.w3.org/2001/XMLSchema", "_ xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance" } }
Get Billing And Cost Management Dashboard
The API method “get_dashboard” is used to export the Billing and Cost Management Dashboard.
XML call:
https://api.cloudcheckr.com/api/billing.xml/get_dashboard?access_key=[access_key]
JSON call:
https://api.cloudcheckr.com/api/billing.json/get_dashboard?access_key=[access_key]
INPUT PARAMETERS
This call accepts these parameters:
- access_key (required) – Standard Access Key required for all API calls
- use_account (required when using Admin API Access Key) – The name of the account you are making the call for, where the name is the name of the account added in CloudCheckr.
- use_cc_account_id (required when using Admin API Access Key) – The CloudCheckr ID of the account you are making the call for. The ID is returned when using the method ‘account/add_accountv2′ to register the account in CloudCheckr.
OUTPUT
XML Example:
<GetDashboardResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Summary> <DashboardSummary> <AccountName>2150 AWS</AccountName> <LastMonth>$3,817.33</LastMonth> <MonthToDate>$1,400.29</MonthToDate> <Forecast>$3,354.74</Forecast> <SpendByService> <BillingDashboardService> <ServiceCost>1073.0788971200</ServiceCost> <Service>AmazonEC2</Service> </BillingDashboardService> <BillingDashboardService> <ServiceCost>138.5757164400</ServiceCost> <Service>AmazonRDS</Service> </BillingDashboardService> <BillingDashboardService> <ServiceCost>111.3280377255</ServiceCost> <Service>AWSSupportBusiness</Service> </BillingDashboardService> <BillingDashboardService> <ServiceCost>37.5842575500</ServiceCost> <Service>AmazonS3</Service> </BillingDashboardService> <BillingDashboardService> <ServiceCost>12.2500025100</ServiceCost> <Service>AmazonVPC</Service> </BillingDashboardService> <BillingDashboardService> <ServiceCost>11.0580385245</ServiceCost> <Service>Others</Service> </BillingDashboardService> <BillingDashboardService> <ServiceCost>11.0250000000</ServiceCost> <Service>AmazonKinesis</Service> </BillingDashboardService> <BillingDashboardService> <ServiceCost>5.3900000000</ServiceCost> <Service>AmazonElastiCache</Service> </BillingDashboardService> </SpendByService> </DashboardSummary> </Summary> </GetDashboardResponse>
JSON Example:
{ "Summary": [ { "AccountName": "2150 AWS", "LastMonth": "$3,817.33", "MonthToDate": "$1,400.29", "Forecast": "$3,354.74", "SpendByService": [ { "ServiceCost": 1073.07889712, "Service": "AmazonEC2" }, { "ServiceCost": 138.57571644, "Service": "AmazonRDS" }, { "ServiceCost": 111.3280377255, "Service": "AWSSupportBusiness" }, { "ServiceCost": 37.58425755, "Service": "AmazonS3" }, { "ServiceCost": 12.25000251, "Service": "AmazonVPC" }, { "ServiceCost": 11.0580385245, "Service": "Others" }, { "ServiceCost": 11.025, "Service": "AmazonKinesis" }, { "ServiceCost": 5.39, "Service": "AmazonElastiCache" } ] } ] }
Get Monthly Bill
The API method, “get_monthly_bill”, is used to create the Single Month Billing Summary report.
The preferred HTTP method for this call is GET.
INPUT PARAMETERS:
Parameter |
Type |
Description |
access_key |
string |
required; admin-level or an account-level access key
|
cost_type |
string |
optional; select the cost type you want to apply to your report |
include_services |
string |
optional; select if you want to filter the report by all services or one service
|
for_date |
string |
optional; select the month and year on which to base your report data
|
amortize_cost |
boolean |
optional; select if you want Cloudcheckr to distribute the upfront fee from your RI purchases throughout the month
|
use_aws_account_id | string | *optional/required; the 12-digit AWS account ID of the AWS account you are making the call for |
use_account | string | *optional/required; the name of the CloudCheckr account you are making the call for |
use_cc_account_id | string | *optional/required; the CloudCheckr ID of the account you are making the call for |
- use_aws_account_id
- use_account
- use_cc_account_id
API CALL URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/get_monthly_bill
REQUEST EXAMPLE:
curl -- request GET \
-- 'https://api.cloudcheckr.com/api/billing.[json|xml]/get_monthly_bill?access_key=[access_key]&use_account=123'\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
<?xml version="1.0" encoding="UTF-8" ?>
<Summary>
<MonthlyToDateCost>($157,094.41)</MonthlyToDateCost>
<MonthlyToDateCredit>$0.00</MonthlyToDateCredit>
<MonthlyToDateBill>($157,094.41)</MonthlyToDateBill>
<AverageDailyNetBill>($5,279.34)</AverageDailyNetBill>
<HighestCost>
<ServiceName>Compute Savings Plans</ServiceName>
<Cost>$21,552.28</Cost>
</HighestCost>
<HighestDaily>
<Date>7/31/2020</Date>
<Bill>$1,285.81</Bill>
</HighestDaily>
<LowestDaily>
<Date>7/1/2020</Date>
<Bill>($174,358.04)</Bill>
</LowestDaily>
<HighestChange>
<StartDate>7/1/2020</StartDate>
<EndDate>7/2/2020</EndDate>
<ChangeAmount>$174,503.47</ChangeAmount>
<ChangePercent>-100.08%</ChangePercent>
</HighestChange>
</Summary>
<BillByDay>
<Day>7/1/2020</Day>
<Cost>($174,358.04)</Cost>
<Credits>$0.00</Credits>
<Bill>($174,358.04)</Bill>
</BillByDay>
<BillByDay>
<Day>7/2/2020</Day>
<Cost>$145.43</Cost>
<Credits>$0.00</Credits>
<Bill>$145.43</Bill>
</BillByDay>
<BillByDay>
<Day>7/3/2020</Day>
<Cost>$153.60</Cost>
<Credits>$0.00</Credits>
<Bill>$153.60</Bill>
</BillByDay>
<BillByDay>
<Day>7/4/2020</Day>
<Cost>$155.81</Cost>
<Credits>$0.00</Credits>
<Bill>$155.81</Bill>
</BillByDay>
<BillByDay>
<Day>7/5/2020</Day>
<Cost>$151.39</Cost>
<Credits>$0.00</Credits>
<Bill>$151.39</Bill>
</BillByDay>
<BillByDay>
<Day>7/6/2020</Day>
<Cost>$179.41</Cost>
<Credits>$0.00</Credits>
<Bill>$179.41</Bill>
</BillByDay>
<BillByDay>
<Day>7/7/2020</Day>
<Cost>$203.30</Cost>
<Credits>$0.00</Credits>
<Bill>$203.30</Bill>
</BillByDay>
<BillByDay>
<Day>7/8/2020</Day>
<Cost>$146.74</Cost>
<Credits>$0.00</Credits>
<Bill>$146.74</Bill>
</BillByDay>
<BillByDay>
<Day>7/9/2020</Day>
<Cost>$132.99</Cost>
<Credits>$0.00</Credits>
<Bill>$132.99</Bill>
</BillByDay>
<BillByDay>
<Day>7/10/2020</Day>
<Cost>$169.12</Cost>
<Credits>$0.00</Credits>
<Bill>$169.12</Bill>
</BillByDay>
<BillByDay>
<Day>7/11/2020</Day>
<Cost>$175.70</Cost>
<Credits>$0.00</Credits>
<Bill>$175.70</Bill>
</BillByDay>
<BillByDay>
<Day>7/12/2020</Day>
<Cost>$175.83</Cost>
<Credits>$0.00</Credits>
<Bill>$175.83</Bill>
</BillByDay>
<BillByDay>
<Day>7/13/2020</Day>
<Cost>$175.11</Cost>
<Credits>$0.00</Credits>
<Bill>$175.11</Bill>
</BillByDay>
<BillByDay>
<Day>7/14/2020</Day>
<Cost>$138.14</Cost>
<Credits>$0.00</Credits>
<Bill>$138.14</Bill>
</BillByDay>
<BillByDay>
<Day>7/15/2020</Day>
<Cost>$125.65</Cost>
<Credits>$0.00</Credits>
<Bill>$125.65</Bill>
</BillByDay>
<BillByDay>
<Day>7/16/2020</Day>
<Cost>($857.73)</Cost>
<Credits>$0.00</Credits>
<Bill>($857.73)</Bill>
</BillByDay>
<BillByDay>
<Day>7/17/2020</Day>
<Cost>$614.53</Cost>
<Credits>$0.00</Credits>
<Bill>$614.53</Bill>
</BillByDay>
<BillByDay>
<Day>7/18/2020</Day>
<Cost>$618.22</Cost>
<Credits>$0.00</Credits>
<Bill>$618.22</Bill>
</BillByDay>
<BillByDay>
<Day>7/19/2020</Day>
<Cost>$616.59</Cost>
<Credits>$0.00</Credits>
<Bill>$616.59</Bill>
</BillByDay>
<BillByDay>
<Day>7/20/2020</Day>
<Cost>$645.31</Cost>
<Credits>$0.00</Credits>
<Bill>$645.31</Bill>
</BillByDay>
<BillByDay>
<Day>7/21/2020</Day>
<Cost>$618.57</Cost>
<Credits>$0.00</Credits>
<Bill>$618.57</Bill>
</BillByDay>
<BillByDay>
<Day>7/22/2020</Day>
<Cost>$1,207.67</Cost>
<Credits>$0.00</Credits>
<Bill>$1,207.67</Bill>
</BillByDay>
<BillByDay>
<Day>7/23/2020</Day>
<Cost>$1,285.81</Cost>
<Credits>$0.00</Credits>
<Bill>$1,285.81</Bill>
</BillByDay>
<BillByDay>
<Day>7/24/2020</Day>
<Cost>$1,285.81</Cost>
<Credits>$0.00</Credits>
<Bill>$1,285.81</Bill>
</BillByDay>
<BillByDay>
<Day>7/25/2020</Day>
<Cost>$1,285.81</Cost>
<Credits>$0.00</Credits>
<Bill>$1,285.81</Bill>
</BillByDay>
<BillByDay>
<Day>7/26/2020</Day>
<Cost>$1,285.81</Cost>
<Credits>$0.00</Credits>
<Bill>$1,285.81</Bill>
</BillByDay>
<BillByDay>
<Day>7/27/2020</Day>
<Cost>$1,285.81</Cost>
<Credits>$0.00</Credits>
<Bill>$1,285.81</Bill>
</BillByDay>
<BillByDay>
<Day>7/28/2020</Day>
<Cost>$1,285.81</Cost>
<Credits>$0.00</Credits>
<Bill>$1,285.81</Bill>
</BillByDay>
<BillByDay>
<Day>7/29/2020</Day>
<Cost>$1,285.81</Cost>
<Credits>$0.00</Credits>
<Bill>$1,285.81</Bill>
</BillByDay>
<BillByDay>
<Day>7/30/2020</Day>
<Cost>$1,285.81</Cost>
<Credits>$0.00</Credits>
<Bill>$1,285.81</Bill>
</BillByDay>
<BillByDay>
<Day>7/31/2020</Day>
<Cost>$1,285.81</Cost>
<Credits>$0.00</Credits>
<Bill>$1,285.81</Bill>
</BillByDay>
<BillByAccount>
<Account>111222333444 (xyz-savingsplans)</Account>
<MonthlyToDateBill>$14,104.30</MonthlyToDateBill>
<MonthlyToDateCost>$14,104.30</MonthlyToDateCost>
<MonthlyToDateCredits>$0.00</MonthlyToDateCredits>
</BillByAccount>
<BillByAccount>
<Account>222333444555(CloudCheckr-Prod)</Account>
<MonthlyToDateBill>($171,198.70)</MonthlyToDateBill>
<MonthlyToDateCost>($171,198.70)</MonthlyToDateCost>
<MonthlyToDateCredits>$0.00</MonthlyToDateCredits>
</BillByAccount>
{
"Summary": {
"MonthlyToDateCost": "($157,094.41)",
"MonthlyToDateCredit": "$0.00",
"MonthlyToDateBill": "($157,094.41)",
"AverageDailyNetBill": "($5,279.34)",
"HighestCost": {
"ServiceName": "Compute Savings Plans",
"Cost": "$21,552.28"
},
"HighestDaily": {
"Date": "7/31/2020",
"Bill": "$1,285.81"
},
"LowestDaily": {
"Date": "7/1/2020",
"Bill": "($174,358.04)"
},
"HighestChange": {
"StartDate": "7/1/2020",
"EndDate": "7/2/2020",
"ChangeAmount": "$174,503.47",
"ChangePercent": "-100.08%"
}
},
"BillByDay": [
{
"Day": "7/1/2020",
"Cost": "($174,358.04)",
"Credits": "$0.00",
"Bill": "($174,358.04)"
},
{
"Day": "7/2/2020",
"Cost": "$145.43",
"Credits": "$0.00",
"Bill": "$145.43"
},
{
"Day": "7/3/2020",
"Cost": "$153.60",
"Credits": "$0.00",
"Bill": "$153.60"
},
{
"Day": "7/4/2020",
"Cost": "$155.81",
"Credits": "$0.00",
"Bill": "$155.81"
},
{
"Day": "7/5/2020",
"Cost": "$151.39",
"Credits": "$0.00",
"Bill": "$151.39"
},
{
"Day": "7/6/2020",
"Cost": "$179.41",
"Credits": "$0.00",
"Bill": "$179.41"
},
{
"Day": "7/7/2020",
"Cost": "$203.30",
"Credits": "$0.00",
"Bill": "$203.30"
},
{
"Day": "7/8/2020",
"Cost": "$146.74",
"Credits": "$0.00",
"Bill": "$146.74"
},
{
"Day": "7/9/2020",
"Cost": "$132.99",
"Credits": "$0.00",
"Bill": "$132.99"
},
{
"Day": "7/10/2020",
"Cost": "$169.12",
"Credits": "$0.00",
"Bill": "$169.12"
},
{
"Day": "7/11/2020",
"Cost": "$175.70",
"Credits": "$0.00",
"Bill": "$175.70"
},
{
"Day": "7/12/2020",
"Cost": "$175.83",
"Credits": "$0.00",
"Bill": "$175.83"
},
{
"Day": "7/13/2020",
"Cost": "$175.11",
"Credits": "$0.00",
"Bill": "$175.11"
},
{
"Day": "7/14/2020",
"Cost": "$138.14",
"Credits": "$0.00",
"Bill": "$138.14"
},
{
"Day": "7/15/2020",
"Cost": "$125.65",
"Credits": "$0.00",
"Bill": "$125.65"
},
{
"Day": "7/16/2020",
"Cost": "($857.73)",
"Credits": "$0.00",
"Bill": "($857.73)"
},
{
"Day": "7/17/2020",
"Cost": "$614.53",
"Credits": "$0.00",
"Bill": "$614.53"
},
{
"Day": "7/18/2020",
"Cost": "$618.22",
"Credits": "$0.00",
"Bill": "$618.22"
},
{
"Day": "7/19/2020",
"Cost": "$616.59",
"Credits": "$0.00",
"Bill": "$616.59"
},
{
"Day": "7/20/2020",
"Cost": "$645.31",
"Credits": "$0.00",
"Bill": "$645.31"
},
{
"Day": "7/21/2020",
"Cost": "$618.57",
"Credits": "$0.00",
"Bill": "$618.57"
},
{
"Day": "7/22/2020",
"Cost": "$1,207.67",
"Credits": "$0.00",
"Bill": "$1,207.67"
},
{
"Day": "7/23/2020",
"Cost": "$1,285.81",
"Credits": "$0.00",
"Bill": "$1,285.81"
},
{
"Day": "7/24/2020",
"Cost": "$1,285.81",
"Credits": "$0.00",
"Bill": "$1,285.81"
},
{
"Day": "7/25/2020",
"Cost": "$1,285.81",
"Credits": "$0.00",
"Bill": "$1,285.81"
},
{
"Day": "7/26/2020",
"Cost": "$1,285.81",
"Credits": "$0.00",
"Bill": "$1,285.81"
},
{
"Day": "7/27/2020",
"Cost": "$1,285.81",
"Credits": "$0.00",
"Bill": "$1,285.81"
},
{
"Day": "7/28/2020",
"Cost": "$1,285.81",
"Credits": "$0.00",
"Bill": "$1,285.81"
},
{
"Day": "7/29/2020",
"Cost": "$1,285.81",
"Credits": "$0.00",
"Bill": "$1,285.81"
},
{
"Day": "7/30/2020",
"Cost": "$1,285.81",
"Credits": "$0.00",
"Bill": "$1,285.81"
},
{
"Day": "7/31/2020",
"Cost": "$1,285.81",
"Credits": "$0.00",
"Bill": "$1,285.81"
}
],
"BillByAccount": [
{
"Account": "111222333444 (xyz-savingsplans)",
"MonthlyToDateBill": "$14,104.30",
"MonthlyToDateCost": "$14,104.30",
"MonthlyToDateCredits": "$0.00"
},
{
"Account": "222333444555(CloudCheckr-Prod)",
"MonthlyToDateBill": "($171,198.70)",
"MonthlyToDateCost": "($171,198.70)",
"MonthlyToDateCredits": "$0.00"
}
]
}
Get CloudTrail Custom Metrics
The API method, “get_cloudtrail_custom_metrics”, is used to export to CSV a list of AMIs and every instance launched. This is based on the Ec2AmiWorkload custom metric.
XML Call:
https://api.cloudcheckr.com/api/security.xml/get_cloudtrail_custom_metrics?access_key=[ACCESS KEY]
JSON Call:
https://api.cloudcheckr.com/api/security.json/get_cloudtrail_custom_metrics?access_key=[ACCESS KEY]
This call accepts these parameters:
- access_key (required) – standard Access Key required for all API calls.
- type (required) – Ec2AmiWorkload (Currnently the only acceptable value is Ec2AmiWorkload)
- from (optional) – return results from after this date.
- to (optional) – return results from before this date.
- use_account (required for admin API key) – The specific account you wish to query.
- use_cc_account_id (required when using Admin API Access Key) – The CloudCheckr ID of the account you are making the call for. The ID is returned when using the method ‘account/add_accountv2′ to register the account in CloudCheckr.
Note: If using an admin API key, use_account or use_cc_account_id is required
OUTPUT
This call will only export the results to a compressed CSV file and it will contain the following data.(Note: If no results are returned it will generate a blank file)
See OutputAMI ID | EC2 Instance ID | Event Date | Region | AWS Account ID | User Identity ARN | IP Address | User Agent |
ami-f1f12345 | i-1ab2a345 | 5/20/2016 15:47 | US East (Northern Virginia) | 123456789012 | arn:aws:iam::123456789012:user/cloudcheckr | 192.168.10.10 | signin.amazonaws.com |
ami-f1f12345 | i-1ab2a350 | 5/15/2016 10:47 | US East (Northern Virginia) | 123456789012 | arn:aws:iam::123456789012:user/cloudcheckr | 192.168.10.10 | signin.amazonaws.com |
ami-f1f12345 | i-1ab2a355 | 5/12/2016 5:47 | US East (Northern Virginia) | 123456789012 | arn:aws:iam::123456789012:user/cloudcheckr | 192.168.10.10 | signin.amazonaws.com |
ami-f2f65432 | i-1ab2a360 | 5/10/2016 1:47 | US East (Northern Virginia) | 012345678998 | arn:aws:iam::123456789012:user/cloudcheckr | 192.168.10.100 | signin.amazonaws.com |
ami-f2f65432 | i-1ab2a365 | 5/5/2016 12:47 | US East (Northern Virginia) | 012345678998 | arn:aws:iam::123456789012:user/cloudcheckr | 192.168.10.100 | signin.amazonaws.com |
ami-f2f65432 | i-1ab2a370 | 5/2/2016 23:47 | US East (Northern Virginia) | 012345678998 | arn:aws:iam::123456789012:user/cloudcheckr | 192.168.10.100 | signin.amazonaws.com |
Create Detailed Billing Grouped Filter V2
The API method, “create_detailed_billing_grouped_filter_v2”, is used to create a saved filter for Advanced Grouping reports.
This API call supports AWS and Azure environments.
AWSWithin the application, go to the left navigation pane, choose Cost > AWS Billing > Custom Reporting> Advanced Grouping.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level API key |
filter_name | string | required; name of the filter |
email_on_build | boolean | optional; indicates if saved email will be sent to customer; defaults to “false” |
emails | list | optional; comma-separated list of valid email addresses where the saved filter report will be sent to upon completion |
group_by | list<string> | required; comma-separated list of attributes that the cost data may be grouped by |
include_untagged | boolean | optional; indicates if customer included untagged attributes if they chose to group by tags; defaults to “false” |
aggregate | list<string> | optional; indicates the time increment upon which your exported data will be aggregated; on-screen total will remain the same |
cost_type | string | optional; indicates which cost type will be applied to the saved filter |
chart_type | string | optional; chart type used to display the data from the saved filter |
resource_id | string | optional; ID designated by a customer to identify a project resource |
include_usage_quantity | boolean | optional; creates an additional column in the results that displays the usage quantity for the advanced grouping
(This attribute is helpful when grouping by resource ID or EC2 Instance ID. Defaults to “false”.) |
include_zero_costs | boolean | optional; allows customer to include any rows with zero cost totals in their results; defaults to “false” |
excludes_credits | boolean | optional; removes any credits from the results; defaults to “false” |
tags | list<string> | optional; comma-separated list of tag key/tag value pairs; defaults to all |
filter_tag_type | string | optional; identifies how the customer chooses to filter their selected tag key/tag value pairs |
account_type | list | optional; identifies if the cost data is filtered by account or account family |
account_type | string | optional; identifies if the cost data is filtered by account or account family |
use_account | string | *optional/required; friendly name of the account |
use_cc_account_id | string | *optional/required; account ID of the account |
use_aws_account_id | string | *optional/required; optional/required; the 12-digit AWS account ID |
filters | list<GroupedFilter>** | optional; Indicates how to filter the cost data, using the GroupedFilter object datatype |
* = one of these parameters must be defined
** How To Use the "GroupedFilter" object datatype
Parameter | Type | Description |
filter_type | string | required; Indicates the type to filter. Possible values: AWS: Account, Family, Region, Service, Operation, UsageType, BillingCustomer Azure: Subscription, ChargeModel, CostSource, CostCenter, ResourceGroup, ResourceLocation, ConsumedService, MeterCategory, Department, MeterSubCategory, MeterRegion, MeterName |
values | list <string> | required; comma-separated list of values that the customer can use to filter the cost data |
invert | boolean | required; Applies the NOT logical operator in the previous parameter; defaults to “false” |
ENDPOINT URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/create_detailed_billing_grouped_filter_v2
JSON/XML CALL EXAMPLE:
curl-- request POST \
'https://api.cloudcheckr.com/api/billing.[json|xml]/create_detailed_billing_grouped_filter_v2?access_key=[access_key]&use_account=[account ID]' \
{
"filter_name":"api_99",
"email_on_build":"true",
"emails":[
"[email protected]",
"[email protected]"
],
"group_by":[
"Account",
"ProductName",
"t:TagKey"
],
"include_untagged":"false",
"aggregate":"Hour",
"cost_type":"List",
"chart_type":"Pie",
"resource_id": "customer resource ID",
"include_usage_quantity":"false",
"include_zero_costs":"false",
"excludes_credits":"false",
"tags":[
"TagKey | TagValue"
],
"filter_tag_type":"RequireAny",
"account_type":
"Account"
,
"filters": [
{ "filter_type": "Account",
"values": ["AWS account ID"],
"invert": "true"
},
{ "filter_type": "Family",
"values": ["Account Family Name"],
"invert": "true"
},
{ "filter_type": "Region",
"values": ["ap-northeast-1"],
"invert": "true"
},
{ "filter_type": "Service",
"values": [
"AmazonSimpleDB",
"AmazonEC2",
"AmazonSQS"
],
"invert": "true"
},
{ "filter_type": "Operation",
"values": [
"SetQueueAttributes",
"RunInstances:0002:SV012",
"PutObject"
],
"invert": "true"
},
{ "filter_type": "UsageType",
"values": [
"CAN1-EUC1-AWS-Out-Bytes",
"HeavyUsage:m4.large",
"UGW1-TimedStorage-RRS-ByteHrs"
],
"invert": "true"
}]
SUCCESSFUL JSON/XML RESPONSE:
{
"Code": 200,
"Message":"Successfully saved search. An email will be sent to the following addresses upon building completion:
[email protected],
[email protected]"
}
Azure
Within the application, go to the left navigation pane, choose Cost > Azure Billing > Custom Reporting> Advanced Grouping.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level API key |
filter_name | string | required; name of the filter |
email_on_build | boolean | optional; indicates if saved email will be sent to customer; defaults to “false” |
emails | list<string> | optional; comma-separated list of valid email addresses where the saved filter report will be sent to upon completion |
group_by | list<string> | required; comma-separated list of attributes that the cost data may be grouped by |
include_untagged | boolean | optional; indicates if customer included untagged attributes if they chose to group by tags; defaults to “false” |
aggregate | string | optional; indicates the time increment upon which your exported data will be aggregated; on-screen total will remain the same |
cost_type | string | optional; indicates which cost type will be applied to the saved filter |
filter_type (CSP) | list<string> | optional; types of filters available to CSPs |
filter_type (Enterprise Agreement) | list<string> | optional; types of filters available to Enterprise Agreements |
filter_type (Subscription with resources) | list<string> | optional; types of filters available to subscriptions with resources |
include_usage_quantity | boolean | optional; creates an additional column in the results that displays the usage quantity for the advanced grouping
(This attribute is helpful when grouping by resource ID or EC2 Instance ID. Defaults to “false”.) |
tags | list<string> | optional; comma-separated list of tag key/tag value pairs; defaults to all |
filter_tag_type | string | optional; identifies how the customer chooses to filter their selected tag key/tag value pairs |
* = one of these parameters must be defined
ENDPOINT URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/create_detailed_billing_grouped_filter
JSON/XML CALL EXAMPLE:
curl-- request POST \
'https://api.cloudcheckr.com/api/billing.[json|xml]/create_detailed_billing_grouped_filter?access_key=[access_key]&use_account=[account ID]' \
--header 'cache-control: no-cache'\
--header 'content-type: application/[json|xml]'\
--data '{
"filter_name": "MyFilter1",
"filter_tag_type": "RequireAll",
"filters": [
{
"filter_type": "Department",
"values": [
"Unassigned"
]
},
{
"filter_type": "ChargeModel",
"values": [
"On-Demand",
"Reservation (OS License)"
]
},
{
"filter_type": "ResourceGroup",
"values": [
"my-resources"
]
},
{
"filter_type": "ConsumedService",
"values": [
"Classic Storage",
"Compute",
"Azure Active Directory"
]
},
{
"filter_type": "MeterCategory",
"values": [
"Insight and Analytics"
]
},
{
"filter_type": "MeterSubCategory",
"values": [
"Geo Redundant"
]
},
{
"filter_type": "MeterRegion",
"values": [
"Iowa"
]
},
{
"filter_type": "MeterName",
"values": [
"Base Unit"
]
},
{
"filter_type": "ResourceLocation",
"values": [
"EastUS"
]
}
],
"include_untagged": true,
"include_usage_quantity": true,
"group_by": [
"Account",
"ConsumedService"
],
"aggregate" : "month",
"cost_type": "List",
"email_on_build": true,
"emails": [
"[email protected]"
],
"tags": [
"Tag Key : Tag Value",
"Department : Support"
]
}
SUCCESSFUL JSON/XML RESPONSE:
{
"Code": 200,
"Message":"Successfully saved search. An email will be sent to the following addresses upon build completion: [email protected]"
}
Create Group
The API method, “create_group”, is used to create a group.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level or an account-level access key |
name | string | required; name of the group you want to create |
use_aws_account_id |
string |
*optional/required; the 12-digit AWS account ID |
use_account |
string |
*optional/required; the name of the CloudCheckr account you are making the call for |
use_cc_account_id |
string |
*optional/required; the CloudCheckr ID of the account you are making the call for |
- use_aws_account_id
- use_account
- use_cc_account_id
ENDPOINT URL:
https://api.cloudcheckr.com/api/account.[json|xml]/create_group
JSON/XML CALL EXAMPLE:
curl --request POST \
-- 'https://api.cloudcheckr.com/api/account.[json|xml]/create_group?access_key=your_admin_access_key&use_cc_account_id=1234'\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"(required)access_key": "someValHere",
"(required)name": "someValHere",
}
SUCCESSFUL JSON/XML RESPONSE:
{
"Code": 200,
"Message": "OK"
}
Schedule Report Email Advanced Grouping
The API method, “schedule_report_email_advanced_grouping”, is used to create a number of scheduled reports based on costs for individual tags.
Within the application, go to the left navigation pane, and choose Cost > AWS Billing > Custom Reporting> Advanced Grouping. Select a filter from the drop-down menu and click Email. The Email Report dialog box opens.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account- or admin-level API key |
filter_name | string | required; name of the saved filter that contains the tag and property options , which the customer wants to reuse when scheduling reports |
include_csv | boolean | optional; adds comma-separated values (CSV) to the report; defaults to “false” |
high_precision_csv | boolean | optional; adds high-precision to the CSV data up to 10 decimals; defaults to “false” |
email_daily_list | list | optional/required; optional if the parameter, “use_same_email”, isn’t “true”; if the parameter is “true”, the user must put the selected emails into this list
Note: This parameter is required if the parameter, “email_daily” is “true”. |
email_weekly_list | list | optional/required; optional if the parameter, “use_same_email”, isn’t “true”; if the parameter is “true”, the user must put the selected emails into this list
Note: This parameter is required if the parameter, “email_weekly” is “true”. |
email_monthly_list | list | optional/required; optional if the parameter, “use_same_email”, isn’t “true”; if the parameter is “true”, the user must put the selected emails into this list
Note: This parameter is required if the parameter, “email_monthly” is “true”. |
email_daily | boolean | optional/required; customer must select at least one of the parameters, “email_daily”, “email_weekly”, or “email_monthly” and provide email addresses in the corresponding list |
email_weekly | boolean | optional/required; customer must select at least one of the parameters, “email_daily”, “email_weekly”, or “email_monthly” and provide email addresses in the corresponding list |
email_monthly | boolean | optional/required; customer must select at least one of the parameters, “email_daily”, “email_weekly”, or “email_monthly” and provide email addresses in the corresponding list |
use_same_email | boolean | optional; allows the customer to specify that daily, weekly, and monthly reports will be sent to the same email address(es) |
description | string | optional; defines the purpose or subject of the email report |
use_account | string | *optional/required; friendly name of the account |
use_cc_account_id | string | *optional/required; account ID of the account |
use_aws_account_id | string | *optional/required; optional/required; the 12-digit AWS account ID |
* = one of these parameters must be defined if an admin-level API access key is used
ENDPOINT URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/schedule_report_email_advanced_grouping
JSON/XML CALL EXAMPLE (SINGLE ACCOUNT):
curl-- request POST \
'https://api.cloudcheckr.com/api/billing.[json|xml]/schedule_report_email_advanced_grouping?access_key=[access_key]&use_account=[account ID]' \
--header 'cache-control: no-cache'\
--header 'content-type: application/[json|xml]'\
--data '{
"filter_name": "test",
"email_daily_list": ["[email protected]"],
"email_weekly_list" : ["[email protected]"],
"email_monthly_list":[ "[email protected]"],
"email_daily": "true",
"email_weekly": "true",
"email_monthly": "true",
"include_csv":"true",
"description":["Standard Test"],
"use_same_email":"true"
}
JSON/XML CALL EXAMPLE [Multi-Account View (MAV) ACCOUNT]:
curl-- request POST \
'https://api.cloudcheckr.com/api/billing.[json|xml]/schedule_report_email_advanced_grouping?access_key=[access_key]&use_account=[account ID]' \
--header 'cache-control: no-cache'\
--header 'content-type: application/[json|xml]'\
--data '{
"email_daily_list": [" [email protected]"],
"email_daily": "true",
"include_csv":"true",
"description":["MAV Test"],
}
SUCCESSFUL JSON/XML RESPONSE (SINGLE AND MAV ACCOUNTS):
{
"Code": 200,
"Message": "OK"
}
Get Tag Rules
The API method, “get_tag_rules”, is used to retrieve a list of the CloudCheckr Cost tagging rules that you created to monitor resources that don’t meet your deployment’s tagging strategy.
The preferred HTTP method for this call is GET.
INPUT PARAMETERS:
Parameter |
Type |
Description |
access_key |
string |
required; admin-level or an account-level access key
|
use_aws_account_id |
string |
*optional/required; the 12-digit AWS account ID for the CloudCheckr account you are making the call for |
use_account |
string |
*optional/required; the name of the CloudCheckr account you are making the call for |
use_cc_account_id |
string |
*optional/required; the CloudCheckr ID of the account you are making the call for |
- use_aws_account_id
- use_account
- use_cc_account_id
API CALL URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/get_tag_rules
REQUEST EXAMPLE:
curl -- request GET \
-- 'https://api.cloudcheckr.com/api/billing.[json|xml]/get_tag_rules?access_key=your_admin_access_key&use_aws_account_id=215011099999 '\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
RESPONSE EXAMPLE:
XML:
<?xml version="1.0" encoding="UTF-8" ?>
<tag_rules>
<tag_rule_id>51</tag_rule_id>
<name>Have_Environment</name>
</tag_rules>
<tag_rules>
<tag_rule_id>48</tag_rule_id>
<name>New Rule</name>
</tag_rules>
<tag_rules>
<tag_rule_id>56</tag_rule_id>
<name>Test Rule</name>
</tag_rules>
<tag_rules>
<tag_rule_id>37</tag_rule_id>
<name>WildCardTest</name>
</tag_rules>
JSON:
{
"tag_rules": [
{ "tag_rule_id": 51,
"name": "Have_Environment"
},
{
"tag_rule_id": 48,
"name": "New Rule"
},
{
"tag_rule_id": 56,
"name": "Test Rule"
},
{
"tag_rule_id": 37,
"name": "WildCardTest"
}
]
}
Add Tag Rule
The API method, “add_tag_rule”, is used to add a cost tag rule.
The preferred HTTP method for this call is POST.
To add a tag rule in an AWS account, choose Cost > Tags (from Detailed Billing) > Tagging Rules.
Once in the Tagging Rules report, click New Rule.
Note: For information on the Azure API call, review the
Azure API Reference Guide.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; standard access key |
name | string | required; name of the tag rule |
tags | string | required; tag_key and tag_value |
regions | list<string> | required; list of region(s) where the tag rule will be applied |
awsresourcetypes | list<string> | required; the AWS resources |
awsaccounts | list<string> | required; the 12-digit AWS account ID |
API CALL URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/add_tag_rule
REQUEST EXAMPLE:
curl -X POST \ -- https://api.cloudcheckr.com/api/billing.[json|xml]/add_tag_rule?access_key=your_standard_access_key -- header 'cache-control: no-cache' \ -- header 'content-type: application/[json|xml]' \ -- data '{ "name": "AWS Tag Rule", "tags": { "TagKey": "TagValue", "TagKey2": "*" }, "regions": [ "US East (Northern Virginia)", "US East (Ohio)", "US West (Oregon)", "EU (Frankfurt)" ], "awsresourcetypes": [ "AMI", "EBS Snapshot", "EBS Volume", "EC2 Instance", "S3 Bucket" ], "awsaccounts": "123456789123" }
RESPONSE EXAMPLE:
XML:
<AddTagRuleResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <tag_rule> <status> <code>200</code> <message>Successfully created Tag Rule.</message> <tag_rule_id>94</tag_rule_id> </status> </tag_rule> </AddTagRuleResponse>
JSON:
{ "code": 200, "message": "Successfully created Tag Rule.", "tag_rule_id": "94" }
Delete Tag Rule
The API method, “delete_tag_rule”, is used to delete a cost tag rule.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required, standard access key |
tag_rule_id | string | required; tag ID |
API CALL URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/delete_tag_rule
REQUEST EXAMPLE:
curl -X POST \ -- https://api.cloudcheckr.com/api/billing.[json|xml]/delete_tag_rule?access_key=your_standard_access_key&tag_rule_id=78 -- header 'cache-control: no-cache' \ -- header 'content-type: application/[json|xml]' \ -- data '{ "tag_rule_id": 78, }
RESPONSE EXAMPLE:
XML:
<DeleteTagRuleResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <tag_rule> <status> <code>200</code> <message>Successfully deleted Tag Rule.</message> <tag_rule_id>78</tag_rule_id> </status> </tag_rule> </DeleteTagRuleResponse>
JSON:
{ "code": 200, "message": "Successfully deleted Tag Rule.", "tag_rule_id": "78" }
Schedule Invoice
The API method, “schedule_invoice”, is used to create an invoice for AWS and Azure accounts.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required, standard access key |
day_of_month | integer | required; the day of the month an invoice will be scheduled to send |
report_format | string | required; select one of the following report formats: detailed, summary, or saved filter |
group_by | string | Required; select one of the following group by options for the specified report formats: Summary: region, service, serviceandregion, accountandservice Detailed: description, operation, or usagetypeanddescription |
cost_type | string | required; select List, Unblended, or Blended
Note: Azure does not support the blended option. |
export_type | string | required; customers can choose to convert the invoice to a CSV or PDF file type |
billing_family_name | string | required; name of the account family or subscription family for who the invoice is for |
due_date | valid date string | optional; the due date applied to the header of the invoice |
convert_to_value | decimal | optional; if converting to another currency, the conversion factor applied to the account’s normal currency |
convert_to_currency | string | optional; if converting to another currency, the abbreviation of the currency’s name (USD, GBP, etc). |
cc_email | string | optional; the email address that will be the CC recipient of the invoice |
saved_filter_name | string | optional; if using a saved filter to generate the invoice, the name of that saved filter (case-sensitive) |
subject | string | optional; the subject line of the email to be sent |
description | string | optional; a description of the scheduled invoice that will display in the UI |
invoice_header | string | optional; the text that is displayed in the invoice header |
bucket | string | optional; the S3 bucket to which the invoice will get saved (if provided) |
email_unfinalized_bill | boolean | optional; allows customer to send an invoice with incomplete data for the month; defaults to “false” |
suppress_due_date | boolean | optional; indicates if the customer wants to display the due date in the invoice; defaults to “false” |
eu_compliant | boolean | optional; forces the invoice style to be compliant with EU regulations; defaults to “false” |
tag_name | string | optional; indicates the tag name if the customer chooses to filter by a tag name and tag value; case-sensitive |
tag_value | string | optional; indicates the tag value if the customer chooses to filter by a tag name and tag value; case-sensitive |
API CALL URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/schedule_invoice
REQUEST EXAMPLE:
curl -X POST \
-- https://api.cloudcheckr.com/api/billing.[json|xml]/schedule_invoice?access_key=your_account_standard_access_key\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"day_of_month": 5,
"report_format": "Summary",
"group_by": "Region",
"cost_type": "List",
"export_type": "PDF",
"billing_family_name": "CSP L2 Subscription Family",
"due_date": "2018-04-05",
"cc_email": "[email protected]",
"subject": "Azure Invoice Generator via API"
}
RESPONSE EXAMPLES:
XML:
<ScheduleInvoiceResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance>
<status>
<code>200</code>
<message>Saved scheduled invoice for CSP L2 Subscription Family</message>
</status>
</ScheduleInvoice>
JSON:
{
"code":200,
"message":"Saved scheduled invoice for CSP L2 Subscription Family"
}
Get All Tag Mappings
The API method, “get_all_tag_mappings”, is used to retrieve a list of cost tag mappings.
The preferred HTTP method for this call is GET.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; standard access key |
max_results | int | required |
next_token | string | optional |
API CALL URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/get_all_tag_mappings?access_key=your_access_key&max_results=100
Get Tag Mapping
The API method, “get_tag_mapping”, is used to retrieve a cost tag mapping with a specified Key and Value.
The preferred HTTP method for this call is GET.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; standard access key |
key_to_map | string | required |
value_to_map | string | required |
API CALL URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/get_tag_mapping?access_key=your_access_key&key_to_map=Tagkey1&value_to_map=Tagvalue1
Delete Tag Mapping
The API method, “delete_tag_mapping”, is used to retrieve a cost tag mapping with a specified Key and Value.
The preferred HTTP method for this call is GET.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; standard access key |
map_to_tag_key | string | required |
map_to_tag_value | string | required |
API CALL URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/delete_tag_mapping?access_key=your_access_key&map_to_tag_key=Tagkey1&map_to_tag_value=Tagvalue1
Add Cost Alert Percent
The API method, “add_cost_alert_percent”, is used to create the cost alert, AWS Costs (percent), which will notify customers when their average costs spike above a designated amount in comparison with the average costs of a previous billing period.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level access key |
alert_name | string | required; unique name of your cost alert |
send_frequency_days | integer | required; how often you want CloudCheckr to send you cost alerts in terms of number of days |
thresholds | List <threshold> | required; a list of properties that will trigger a cost alert A threshold will contain one or more of the following properties:
The next few rows in this table define each property. |
threshold_days | integer | required; the number of days before CloudCheckr will alert you to cost spikes |
spike_days | integer | required; the number of days in a previous time period that you want to use as your comparison for the current spike |
use_dollar_spike | boolean | required/optional; indicates that you want a dollar amount to trigger the cost spike
This parameter is only required if you want to use a dollar amount for your cost spike.
|
use_percent_spike | boolean | required/optional; indicates that you want a percentage to trigger the cost spike This parameter is only required if you want to use a percentage for your cost spike.
|
threshold_dollar_spike | integer | required/optional; the daily dollar amount that will trigger a cost spike This parameter is only required if you selected the use_dollar_spike parameter.
|
threshold_percent_spike | integer | required/optional; the percentage that will trigger a cost spike This parameter is only required if you selected the use_percent_spike parameter.
|
threshold_minimum_cost_change | string | optional; the smallest monetary value that will trigger an alert when the software compares the change in cost between two billing periods This parameter is only enabled if you selected the use_percent_spike parameter.
|
monitoring_type | string | required; identifies if you want to monitor costs by account, service, or a specific tag |
selected_tag_key | string | optional; the name of the tag that you want to use to monitor your costs |
emails | string | optional; the emails addresses of the users who you want to receive the alert |
API CALL URL:
https://api.cloudcheckr.com/api/alert.[json|xml]/add_cost_alert_percent
REQUEST EXAMPLE:
curl -- request POST \
-- 'https://api.cloudcheckr.com/api/alert.[json|xml]/add_cost_alert_percent?access_key=your_access_key'\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data {
"alert_name":"Production Cost Alert",
"send_frequency_days":"1",
"thresholds":[
{
"threshold_days":1,
"threshold_minimum_cost_change":3.2,
"spike_days":2,
"use_minimum_cost_change":true
}
],
"monitoring_type":"Accounts",
"selected_tag_key":"production"
}
RESPONSE EXAMPLEs:
XML:
<AddCostAlertPercentResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Status>
<AlertId>4</AlertId>
<Code>200</Code>
<Message>OK</Message>
</Status>
</AddCostAlertPercentResponse>
JSON:
{
"AlertId": "4",
"Code": "200",
"Message": "OK"
}
Delete Cost Alert Percent
The API method, “delete_cost_alert_percent”, is used to programmatically delete the cost alert, AWS Costs (percent), which notifies customers about cost fluctuations over a period of time.
Note:
- This call can only be made using the account-level access key.
- The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level API key |
alert_id | integer | required; ID of the alert |
API CALL URL:
https://api.cloudcheckr.com/api/alert.[json|xml]/delete_cost_alert_percent
REQUEST EXAMPLE:
curl -X POST \ -- https://api.cloudcheckr.com/api/alert.[json|xml]/delete_cost_alert_percent?access_key=your_access_key'\ -- header 'cache-control: no-cache' \ -- header 'content-type: application/[json|xml]' \ -- data ' { "alert_id": "4", }
RESPONSE EXAMPLE:
XML:
<DeleteCostAlertPercentResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Status> <Code>200</Code> <Message>OK</Message> </Status> </DeleteCostAlertPercentResponse>
JSON:
{ "Code": "200", "Message": "OK" }
Edit Cost Alert Percent
The API method, “edit_cost_alert_percent”, is used to programatically edit the cost alert, AWS Costs (percent), which notifies customers about cost fluctuations over a period of time.
Note:
- This call can only be made using the account-level access key.
- The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level API key |
alert_id | string | required; ID of the alert |
alert_name | string | optional; name of the new alert |
send_frequency_days | integer | required; how frequently alerts will be sent in terms of days |
threshold_days | integer | optional; the number of days before CloudCheckr will alert you to cost changes |
threshold_dollar_spike | decimal | optional; dollar amount of a spike |
threshold_percent_spike | decimal | optional; percent value of a spike |
spike_days | integer | optional; the number of days before CloudCheckr will alert you to a cost spike |
use_dollar_spike | boolean | optional; indicates if you want the threshold set at a dollar value |
use_percent_spike | boolean | optional; indicates if you want the threshold set at a percent value |
monitoring_type | string | optional; indicates if you want to monitor costs by account, service, or a specific tag |
selected_tag_key | string | required; the name of the specific tag on which you want to configure your alert |
API CALL URL:
https://api.cloudcheckr.com/api/alert.[json|xml]/edit_cost_alert_percent
REQUEST EXAMPLE:
curl -X POST \ -- https://api.cloudcheckr.com/api/alert.[json|xml]/edit_cost_alert_percent?access_key=your_access_key'\ -- header 'cache-control: no-cache' \ -- header 'content-type: application/[json|xml]' \ -- data ' { "alert_id": 6, "alert_name": "testing1", "send_frequency_days": 1, "thresholds": [ "threshold_days": 1, "threshold_dollar_spike": 15.0, "threshold_percent_spike": 3.2, "spike_days": 2, "use_dollar_spike": true, "use_percent_spike": true } ], "monitoring_type": "Accounts", "selected_tag_key": "test" }
RESPONSE EXAMPLE:
XML:
<EditCostAlertPercentResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Status> <Code>200</Code> <Message>OK</Message> </Status> </EditCostAlertPercentResponse>
JSON:
{ "Code": "200", "Message": "OK" }
Get Cost Alerts Percent
The API method, “get_cost_alerts_percent”, is used to get the cost alert, AWS Costs (percent), which notifies customers about any cost fluctuations in their account or project.
The preferred HTTP method for this call is GET.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level or account-level access key |
API CALL URL:
https://api.cloudcheckr.com/api/alert.[json|xml]/get_cost_alerts_percent
REQUEST EXAMPLE:
curl -- request GET \
-- https://api.cloudcheckr.com/api/alert.[json|xml]/get_cost_alerts_percent?access_key=your_access_key'\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
RESPONSE EXAMPLE:
XML:
<?xml version="1.0" encoding="UTF-8" ?>
<alerts>
<AlertId>13</AlertId>
<Name>TestAlertPercent1</Name>
<Created>2018-04-05T17:45:48</Created>
<ParamValues>
<Name>Days</Name>
<Value>3</Value>
<Comparer>Equal</Comparer>
<GroupId>0</GroupId>
</ParamValues>
<ParamValues>
<Name>SpikeDays</Name>
<Value>4</Value>
<Comparer>Equal</Comparer>
<GroupId>0</GroupId>
</ParamValues>
<ParamValues>
<Name>SpikeDollar</Name>
<Value>2</Value>
<Comparer>Equal</Comparer>
<GroupId>0</GroupId>
</ParamValues>
<ParamValues>
<Name>SpikePercent</Name>
<Value>15</Value>
<Comparer>Equal</Comparer>
<GroupId>0</GroupId>
</ParamValues>
<ParamValues>
<Name>MonitoringType</Name>
<Value>Accounts</Value>
<Comparer>Equal</Comparer>
<GroupId/>
</ParamValues>
</alerts>
JSON:
{
"alerts":[
{
"AlertId":13,
"Name":"TestAlertPercent1",
"Created":"2018-04-05T17:45:48",
"ParamValues":[
{
"Name":"Days",
"Value":"3",
"Comparer":"Equal",
"GroupId":"0"
},
{
"Name":"SpikeDays",
"Value":"4",
"Comparer":"Equal",
"GroupId":"0"
},
{
"Name":"SpikeDollar",
"Value":"2",
"Comparer":"Equal",
"GroupId":"0"
},
{
"Name":"SpikePercent",
"Value":"15",
"Comparer":"Equal",
"GroupId":"0"
},
{
"Name":"MonitoringType",
"Value":"Accounts",
"Comparer":"Equal",
"GroupId":null
}
]
}
]
}
Delete Detailed Billing Grouped Filter
The API method, “delete_detailed_billing_grouped_filter”, is used to delete a saved filter used in the Advanced Grouping reports.
Note:
- This call can only be made using the account-level access key.
- The preferred HTTP method for this call is POST.
Within the application, go to the left navigation pane, choose Cost > AWS Billing > Custom Reporting> Advanced Grouping.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level API key |
report_name | string | required; name of the saved filter |
use_cc_account_id | string | required; account ID of the account in CloudCheckr |
API CALL URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/delete_detailed_billing_grouped_filter
REQUEST EXAMPLE:
curl -X GET \ -- https://api.cloudcheckr.com/api/billing.[json|xml]/delete_detailed_billing_grouped_filter?access_key=your_access_key'\ -- header 'cache-control: no-cache' \ -- header 'content-type: application/[json|xml]' \ -- data '{ ""report_name": "report123", }
RESPONSE EXAMPLE:
XML:
<DeleteDetailedBillingGroupedFilterResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Status> <Code>200</Code> <Message>Filter was removed successfully</Message> </Status> </DeleteDetailedBillingGroupedFilterResponse>
JSON:
{ "Code": 200, "Message": "Filter was removed successfully" }
Update Tag Rule
The API method, “update_tag_rule”, is used to modify an existing cost tag rule.
The preferred HTTP method for this call is POST.
To update a tag rule in an AWS account, choose Cost > Tags (from Detailed Billing) > Tagging Rules.
Once in the Tagging Rules report, click the tag rule that you want to modify.
Note: For information on the Azure API call, review the
Azure API Reference Guide.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; standard access key |
tag_rule_id | string | required; ID of the rule you want to modify |
name | string | required; name of the tag rule |
tags | list<string> | required; tag_key and tag_value |
regions | list<string> | required; list of region(s) where the tag rule will be applied |
awsresourcetypes | list<string> | required; the AWS resources |
awsaccounts | list<string> | required; the 12-digit AWS account ID |
API CALL URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/update_tag_rule
REQUEST EXAMPLE:
curl -X POST \ -- https://api.cloudcheckr.com/api/billing.[json|xml]/add_tag_rule?access_key=your_standard_access_key -- header 'cache-control: no-cache' \ -- header 'content-type: application/[json|xml]' \ -- data '{ "tag_rule_id": "94", "name": "AWS Tag Rule", "tags": { "TagKey": "TagValue", "TagKey2": "*" }, "regions": [ "US East (Northern Virginia)", "US East (Ohio)", "US West (Oregon)", "EU (Frankfurt)" ], "awsresourcetypes": [ "AMI", "EBS Snapshot", "EBS Volume", "EC2 Instance", "S3 Bucket" ], "awsaccounts": "123456789123" }
RESPONSE EXAMPLE:
XML:
<UpdateTagRuleResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <tag_rule> <status> <code>200</code> <message>Rule updated</message> <tag_rule_id>94</tag_rule_id> </status> </tag_rule> </UpdateTagRuleResponse>
JSON:
{ "code": 200, "message": "Rule updated.", "tag_rule_id": "94" }
Get AWS Billing Configuration
The API method, “get_aws_billing_configuration”, is used to return the billing configuration for a selected AWS project.
The preferred HTTP method for this call is GET.
INPUT PARAMETERS:
Parameter |
Type |
Description |
access_key |
string |
required; account-level access key |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/get_aws_billing_configuration?access_key=your_access_key
REQUEST EXAMPLE:
curl -- request GET \
-- https://api.cloudcheckr.com/api/account.[json|xml]/get_aws_billing_configuration?access_key=your_access_key\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
RESPONSE EXAMPLE:
XML:
<?xml version="1.0" encoding="UTF-8" ?>
<accounts_list>103200001111</accounts_list>
<accounts_list>183555502222</accounts_list>
<accounts_list>215222253333</accounts_list>
<accounts_list>211111055555</accounts_list>
<accounts_list>245999996666</accounts_list>
<accounts_list>260777789090</accounts_list>
<accounts_list>318100518787</accounts_list>
<accounts_list>333353456565</accounts_list>
<accounts_list>499994633333</accounts_list>
<accounts_list>557888822222</accounts_list>
<accounts_list>614000091212</accounts_list>
<accounts_list>625072000000</accounts_list>
<generate_accounts_of_payees>false</generate_accounts_of_payees>
<hide_credits_from_payees>false</hide_credits_from_payees>
<dbr_bucket_name>somelogfiles</dbr_bucket_name>
<dbr_region_name />
<cur_enabled>true</cur_enabled>
<cur_start_date>2018-06-27T00:00:00</cur_start_date>
<cur_bucket_name>cc-state</cur_bucket_name>
<cur_region_name>us-east-1</cur_region_name>
<cur_folder_prefix>SomeName</cur_folder_prefix>
<cur_report_name>aName</cur_report_name>
JSON:
{
"accounts_list": [
"103200001111",
"183555502222",
"215222253333",
"211111055555",
"245999996666",
"260777789090",
"318100518787",
"333353456565",
"499994633333",
"557888822222",
"614000091212",
"625072000000"
],
"generate_accounts_of_payees": false,
"hide_credits_from_payees": false,
"dbr_bucket_name": "somelogfiles",
"dbr_region_name": null,
"cur_enabled": true,
"cur_start_date": "2018-06-27T00:00:00",
"cur_bucket_name": "cc-state",
"cur_region_name": "us-east-1",
"cur_folder_prefix": "SomeName",
"cur_report_name": "aName"
}
Edit AWS Billing Configuration
The API method, “edit_aws_billing_configuration”, is used to edit the existing billing configuration for a selected AWS project.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter |
Type |
Description |
access_key |
string |
required; account-level API key |
accounts_list |
string |
optional; select the AWS accounts that you do not want to include in the billing report |
generate_accounts_of_payees |
boolean |
optional; select if you want CloudCheckr to automatically register any new payee accounts discovered during billing |
hide_credits_from_payees |
boolean |
optional; select if you want CloudCheckr to hide any new payee accounts discovered during billing |
dbr_bucket_name |
string |
required/optional: if DBR is billing source, this is required, but if CUR is billing source, this is optional name of S3 bucket where AWS writes and stores the DBR data |
dbr_region_name |
string |
required/optional: if DBR is billing source, this is required, but if CUR is billing source, this is optional name of region where the S3 bucket that contains the DBR data is located |
cur_enabled |
boolean |
required; If CUR is billing source. Select if you want to use the CUR as your billing source |
cur_start_date |
DateTime |
required; (YYYY-MM-DD) Identifies the date you want CloudCheckr to start collecting CUR data. |
cur_bucket_name |
string |
required: name of S3 bucket where AWS writes and stores the CUR data |
cur_region_name |
string |
required: name of region where the S3 bucket that contains the CUR data is located |
cur_folder_prefix |
string |
required: folder prefix used by the CUR bucket. |
cur_report_name |
string |
required: the report name associated with your CUR report |
use_account | string | *optional/required; the name of the CloudCheckr account you are making the call for |
use_cc_account_id | string | *optional/required; the CloudCheckr ID of the account you are making the call for |
use_aws_account_id | string | *optional/required; the 12-digit AWS account ID |
- use_aws_account_id
- use_account
- use_cc_account_id
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/edit_aws_billing_configuration?access_key=your_access_key
JSON/XML CALL EXAMPLE:
curl --request POST \
'https://api.cloudcheckr.com/api/billing.[json|xml]/edit_aws_billing_configuration?access_key=your_access_key' \
--header 'cache-control: no-cache' \
--header 'content-type: application/[json|xml]' \
--data' {
"generate_accounts_of_payees":"false",
"hide_credits_from_payees":"true",
"dbr_bucket_name":"billing949195593353",
"dbr_region":"U East (Northern Virginia)"
}
SUCCESSFUL JSON/XML RESPONSE:
{
"accounts_list": null,
"generate_accounts_of_payees": true,
"hide_credits_from_payees": false,
"dbr_bucket_name": "aaronslogfiles",
"dbr_region_name": null,
"cur_enabled": true,
"cur_start_date": "2017-06-15T00:00:00",
"cur_bucket_name": "cc-ohio",
"cur_region_name": "us-east-1",
"cur_folder_prefix": "AGCUR",
"cur_report_name": "AGQA"
}
Forgot Password
The API method, “forgot_password”, is used to reset a user’s password. The method will return the password reset link and a password reset key.
The preferred HTTP method is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level API key |
string | required; user’s email address |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/forgot_password?access_key=your_admin_access_key
REQUEST EXAMPLE:
curl -X POST \
-- https://api.cloudcheckr.com/api/account.[json|xml]/forgot_password?access_key=your_admin_access_key\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data {
"email": "user1@domain.com",
}
RESPONSE EXAMPLE:
XML:
<ForgotPasswordResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance>
<status>
<reset_link>https://app.cloudcheckr.com/LogOn/#!/resetPassword</reset_link>
<key>reset key</key>
<code>200</code>
<message>Password Reset Successful</message>
</status>
</ForgotPasswordResponse>
JSON:
{
"ResetLink": "https://app.cloudcheckr.com/LogOn/#!/resetPassword",
"Key": [RESET KEY],
"Code": 200,
"Message": "Password Reset Successful"
}
Edit Custom Billing Charge – Percent All Charges V2
The API method, “edit_custom_billing_charge_percent_all_charges_v2”, is used to edit a percent discount or premium that you applied to all charges.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level access key |
ID | string | required; ID of the custom billing charge you want to edit |
Description | string | optional; summary of the custom billing charge that allows you to easily distinguish it from other charges |
PercentageValue | decimal | optional; sets the percentage for a discount (negative value) or a premium (positive value) |
ApplyPercentageTo | string | optional; selects the cost type that you want CloudCheckr to apply the custom charge to |
Accounts | List<string> | optional; select the accounts where you want CloudCheckr to apply the custom billing charge
The default option is all accounts. |
AccountsInvert | boolean | optional; indicates that you want CloudCheckr to apply the custom billing charge to accounts that are not on the list
The default option is false. |
AccountFamilies | List<string> | optional; select the account families where you want CloudCheckr to apply the custom billing charge |
AccountFamiliesInvert | boolean | optional; indicates that you want CloudCheckr to apply the custom billing charge to account families that are not on the list
The default option is false. |
Regions | List<string> | optional; select the regions where you want CloudCheckr to apply the custom billing charge
The default option is all regions. This parameter accepts region IDs as valid values. |
RegionsInvert | boolean | optional; indicates that you want CloudCheckr to apply the custom billing charge to regions that are not on the list
The default option is false. |
AWSService | List<string> | optional; select the AWS services where you want CloudCheckr to apply the custom billing charge
The default option is all AWS services. |
AWSServiceInvert | boolean | optional; indicates that you want CloudCheckr to apply the custom billing charge to AWS services that are not on the list
The default option is false. |
ReservedInstance | boolean | optional; select the Reserved Instances (RIs) where you want CloudCheckr to apply the custom billing charge |
Operation | List<string> | optional; select the operations where you want CloudCheckr to apply the custom billing charge The default option is all operations. |
OperationInvert | boolean | optional; indicates that you want CloudCheckr to apply the custom billing charge to any operations not on the list
The default option is false. |
UsageType | List<string> | optional; select the usage types where you want CloudCheckr to apply the custom billing charge
The default option is all usage types. |
IncludeCurrentAndFutureEc2Box | boolean | optional; select if you want the custom billing charge to inherit any EC2 Box usage automatically |
IncludeCurrentAndFutureEc2Heavy | boolean | optional; select if you want the custom billing charge to inherit any EC2 Heavy usage types automatically |
UsageTypeInvert | boolean | optional; indicates that you want CloudCheckr to apply the custom billing charge to usage types that are not on the list
The default option is false. |
Tag | List<string> | optional; select the tag key/value pairs where you want CloudCheckr to apply the custom billing charge
The default option is all tags. |
TagInvert | boolean | optional; indicates that you want CloudCheckr to apply the custom billing charge to tags that are not on the list
The default option is false. |
StartDate | DateTime | required; the date that you want CloudCheckr to begin to apply the custom billing charge |
EndDate | DateTime | optional; the date that you want CloudCheckr to stop applying the custom billing charge
If you want the charges to continue indefinitely, do not choose an end date. |
use_account | string | *optional/required; the name of the CloudCheckr account you are making the call for |
use_cc_account_id | string | *optional/required; the CloudCheckr ID of the account you are making the call for |
use_aws_account_id | string | *optional/required; the 12-digit AWS account ID |
- use_aws_account_id
- use_account
- use_cc_account_id
ENDPOINT URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/edit_custom_billing_charge_percent_all_charges_v2
REQUEST EXAMPLE:
curl -- request POST \
-- 'https://api.cloudcheckr.com/api/billing.[json|xml]/edit_custom_billing_charge_percent_all_charges_v2?access_key=your_admin_access_key&use_cc_account_id=7' \
-- header 'cache-control: no-cache'\
-- header 'content-type: application/[json|xml]'\
-- data '{
"Description":"TEST DESCRIPTION",
"ApplyPercentageTo":"ListCost",
"PercentageValue":5,
"StartDate":"2013-01-01",
"EndDate":"2014-01-01",
"Account":[
"103237650000",
"949195599999",
"443094638888"
],
"Region":[
"16",
"4",
"2"
],
"UsageType":[
"CAN1-EUC1-AWS-Out-Bytes",
"HeavyUsage:m4.large",
"UGW1-TimedStorage-RRS-ByteHrs"
],
"Operation":[
"SetQueueAttributes",
"RunInstances:0002:SV012",
"PutObject"
],
"AWSService":[
"AmazonSimpleDB",
"AmazonEC2",
"AmazonSQS"
],
"Tag":[
"Name | WebTemplateNew",
"aws:cloudformation:stack-id | arn:aws:cloudformation:us-west-2:949195593353:stack\/awseb-e-4uypmi4ubg-stack\/f2837e90-8b2a-11e6-8349-50a686fc37d2",
"Name | DevServer"
]
}
RESPONSE EXAMPLE:
{
"Id": 460,
"Code": 200,
"Message": "OK"
}
Delete Custom Billing Charge – Percent All Charges
The API method, “delete_custom_billing_charge_percent_all_charges”, is used to delete delete an existing custom billing charge that applies a percent discount or premium for all charges.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; account-level access key |
Id | string | required; custom billing charge Id |
use_account | string | *optional/required; friendly name of the account in CloudCheckr where the custom billing charge can be applied (must be payer account!) |
use_cc_account_id | string | *optional/required; account ID of the account in CloudCheckr where the custom billing charge can be applied (must be a payer account!) |
use_aws_account_id | string | *optional/required; the 12-digit AWS account ID where the custom billing charge can be applied (must be payer account) |
*= one of these parameters must be defined
ENDPOINT URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/delete_custom_billing_charge_percent_all_charges
JSON/XML CALL EXAMPLE:
curl-- request POST \
'https://api.cloudcheckr.com/api/billing.[json|xml]/delete_custom_billing_charge_percent_all_charges?access_key=access_key]&use_account=[CloudCheckr account name]' \
--header 'cache-control: no-cache'\
--header 'content-type: application/[json|xml]'\
--data '{
"Id": "custom billing charge Id",
}'
SUCCESSFUL JSON/XML RESPONSE:
{
"Code":200,
"Message":"OK"
}
Add Tag Mapping
The API method, “add_tag_mapping”, enables you to programmatically add a unique tag mapping to your CloudCheckr account.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; the admin-level or account-level access key |
map_to_tag_key | string | required; the name of the tag key in your new tag mapping A tag mapping helps you track selected cost and billing data associated with your cloud resources. A tag mapping consists of a tag key and a tag value. A tag key is the attribute that you want to track. A tag value is the value of the tag key that you are tracking. For example, you can apply the |
map_to_tag_value | string | required; the value associated with the tag key in your new tag mapping For example, you can apply the |
tag_conditions | List <string> | required/optional; additional conditions you can apply to your tag mapping that will trigger CloudCheckr to only apply the tag mapping if a resource meets at least one of these conditions :
You must select the tag_conditions parameter or the property_conditions parameter in your tagging structure.
|
key_to_map | string | required; the name of the tag key |
value_to_map | string | required; the name of the tag value |
match_tag_key_exactly | boolean | optional; select if you want your results to match the tag key exactly |
match_tag_value_exactly | boolean | optional; select if you want your results to match the tag value exactly |
match_resources_without_key | boolean | optional; select if you want your results to include resources that do not use the tag key |
property_conditions | List <string> |
required/optional; additional conditions that allow you to further limit what data is included in your tag mapping:
You must select the tag_conditions parameter or the property_conditions parameter in your tagging structure.
|
key_to_map | string | required; the name of a cloud provider property In AWS accounts, you can select one or more of the following properties:
|
value_to_map | string | required; the value of the cloud provider property |
use_account | string | *optional/required; the name of the CloudCheckr account you are making the call for |
use_cc_account_id | integer | *optional/required; the CloudCheckr ID of the account you are making the call for |
- use_account
- use_cc_account_id
API CALL URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/add_tag_mapping
REQUEST EXAMPLE:
curl -- request POST \
-- 'https://api.cloudcheckr.com/api/billing.[json|xml]/add_tag_mapping' \
-- header 'cache-control: no-cache' \
-- header 'access_key: [access key]' \
-- header 'content-type: application/[json|xml]' \
-- data {
"map_to_tag_key":"testTagKey",
"map_to_tag_value":"testTagValue",
"tag_conditions":[
[
{
"key_to_map":"key-1",
"value_to_map":"value-1"
},
{
"key_to_map":"key-2",
"value_to_map":"value-2",
"match_tag_key_exactly":true,
"match_tag_value_exactly":true,
"match_resources_without_key":true
}
],
[
{
"key_to_map":"key-3",
"value_to_map":"value-3"
}
]
],
"property_conditions":[
[
{
"key_to_map":"Service",
"value_to_map":"AmazonBraket"
},
{
"key_to_map":"AvailabilityZone",
"value_to_map":"af-south-1a"
}
],
[
{
"key_to_map":"Service",
"value_to_map":"ElasticBeanstalk"
},
{
"key_to_map":"AvailabilityZone",
"value_to_map":"us-west-1a"
}
]
]
}
RESPONSE EXAMPLES:
<AddTagMappingv2Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<status>
<ID>CloudCheckr Tag ID</ID>
<Code>200</Code>
<Message>OK</Message>
</status>
</AddTagMappingv2Response>
{
"ID": CloudCheckr Tag ID,
"Code": 200,
"Message": "OK"
}
AWS Billing Report Get Status
The API method, "aws_billing_report_get_status", is used to retrieve the information with the report rows on the reprocess billing reports page.
INPUT PARAMETERS
Parameter | Type | Description |
access_key | string | required; account-level or admin-level access key |
billing_month | string | optional; retrieve a specific or the last 18 months of billing files and their status |
use_cc_account_id | string | required; account ID of the account in CloudCheckr (must be a payer account) |
API CALL URL
https://api.cloudcheckr.com/api/billing.json/aws_billing_report_get_status?access_key=[access_key]
REQUEST EXAMPLE
curl -- request POST \
-- 'https://api.cloudcheckr.com/api/billing.json/aws_billing_report_get_status' \
-- header 'access_key: [access key]' \
-- header 'content-type: application/json' \
-- data '{
"billing_month": "2023-01",
"use_cc_account_id": "3"
}
OUTPUT & RESPONSE
{
"Files": [
{
"BillingMonth": "2023-01-01T00:00:00",
"FileName": "AWSAccountID-cost-and-usage-report-2023-01",
"SummaryState": "Processed",
"SummaryDataStart": "2023-02-02T13:19:00",
"SummaryDataEnd": "2023-02-02T14:36:20",
"DetailedDataStart": "2023-02-02T13:19:00",
"DetailedDataEnd": "2023-02-02T14:36:20",
"DetailedState": "Processed",
"LockedStatus": true,
"Reprocess": false
}
],
"Code": 200,
"Message": "OK"
}
AWS Billing Report Unlock Month
The API method, "aws_billing_report_unlock_month", is used to unlock billing months.
INPUT PARAMETERS
Parameter | Type | Description |
access_key | string | required; account-level or admin-level access key |
lock_month | boolean | required; false to unlock the month, true to lock the month |
change_reseller_files | boolean | optional; included parameter to change the status of associated L2 accounts. True to unlock the month, false to lock the month. |
billing_month | string | required; specify the billing month in yyyy-mm format |
use_cc_account_id | string | required; account ID of the account in CloudCheckr (must be a payer account) |
API CALL URL
https://api.cloudcheckr.com/api/billing.json/aws_billing_report_unlock_month?access_key=[access_key]
EXAMPLE REQUEST
curl -- request POST \
-- 'https://api.cloudcheckr.com/api/billing.json/aws_billing_report_unlock_month' \
-- header 'access_key: [access key]' \
-- header 'content-type: application/json' \
-- data '{
"lock_month": "false",
"change_reseller_files": "false",
"billing_month": "2023-01",
"use_cc_account_id": "3"
}
OUTPUT & RESPONSE
{
"Code": 200,
"Message": "AWSAccountID: Successfully unlocked month."
}
{
"Code": 200,
"Message": "AWSAccountID: Successfully locked month."
}
{
"Code": 200,
"Message": "AWSAccountID: Successfully unlocked month..AWSAccountID1: Successfully unlocked month..AWSAccountID2: Successfully unlocked month..AWSAccountID3: Successfully unlocked month."
}
AWS Billing Report Reprocess Month
The API method, "aws_billing_report_reprocess_month", is used to trigger a reload for the specified, unlocked billing files.
INPUT PARAMETERS
Parameter | Type | Description |
access_key | string | required; account-level or admin-level access key |
billing_month | string | required; the billing month to reload, in yyyy-mm format |
use_cc_account_id | string | required; account ID of the account in CloudCheckr (must be a payer account) |
API CALL URL
https://api.cloudcheckr.com/api/billing.json/aws_billing_report_reprocess_month?access_key=[access_key]
EXAMPLE REQUEST
curl -- request POST \
-- 'https://api.cloudcheckr.com/api/billing.json/aws_billing_report_reprocess_month' \
-- header 'access_key: [access key]' \
-- header 'content-type: application/json' \
-- data '{
"billing_month": "2023-01",
"use_cc_account_id": "3"
}
OUTPUT & RESPONSE
{
"Code": 200,
"Message": "OK"
}