Admin API Reference Guide
- Using Access Keys
- Preferred HTTP Methods
- API Calls
- Add Access Control Lists Per Account Per Group
- Add Account V3
- Add API Key
- Add Custom Usage Rate
- Add MAV Account
- Add Tag
- Add User
- Add Users
- Add User To Group
- Clone Group
- Configure Custom Cost
- Copy User
- Delete Access Control List From Group
- Delete Account
- Delete Custom Usage Rate
- Delete Group
- Delete Tag
- Edit Account Email Settings V2
- Edit Account Name
- Edit Credential
- Edit Custom Usage Rate
- Get Access Control List
- Get Access Control List By ID
- Get Access Control List Per Group
- Get Account
- Get Account Email Settings
- Get Account Level Tags V2
- Get Accounts By Group
- Get Accounts V2
- Get Accounts V4
- Get Custom Usage Rates
- Get CloudTrail Custom Metrics
- Get External ID
- Get Group
- Get Groups
- Get Groups V2
- Get Invoice V2
- Get Resources Alert Results V2
- Get Utilization Alert Results V2
- Get User
- Get Users By Group
- Get Users V2
- Get Profit Analysis
- Get Profit Analysis CSV
- Grant Account
- Remove User
- Remove Users From Group
- Revoke Account
- Tag Account
- Untag Account
- Ignore Best Practice
- Add Custom Billing Charge – Fixed V3
- Add Custom Billing Charge – Monthly Percent V3
- Add Custom Billing Charge – Percent All Charges V3
- Add Custom Billing Charge – Per Virtual Machine V3
- Add Custom Billing Charge – Per Usage Hour V3
- Edit Custom Billing Charge – Per Virtual Machine V3
- Edit Custom Billing Charge – Per Usage Hour V3
- Add Undiscovered AWS Account ID
- Create Account Family
- Custom Billing Charge
- Delete Account Family
- Delete Custom Billing Charge
- Delete Custom Billing Charge – Fixed
- Delete Custom Billing Charge – Monthly Percent
- Edit Custom Billing Charge – Fixed V3
- Edit Custom Billing Charge – Monthly Percent V3
- Edit Custom Billing Charge – Percent All Charges V3
- Get Account Family V2
- Get Billing Dashboard V2
- Get Custom Billing Charges V4
- Modify Account Family
- Modify Account Family – Copy DBR
- Get SAML Providers
- Edit User
- Read Child SAML SSO Settings
- Read Child SAML SSO Settings V2
- Write Child SAML SSO Settings
- Get Best Practices V3
- Get Alerts
- Get CloudTrail Alert Results V2
- Get Cost Alert Results V2
- Get Utilization Alert Results
- Get Resources Alert Results
- Save Best Practice Notification V2
- Get AWS RI Historical Savings
- AU: https://au.cloudcheckr.com
- EU: https://eu.cloudcheckr.com
- GOV: https://gov.cloudcheckr.com
- FED: https://fed.cloudcheckr.com
CloudCheckr allows for the creation of two different types of access keys. Account-level access keys can only make calls against a single account. Admin-level access keys allow users to make calls against any of their accounts within CloudCheckr. They also allow API users to make account-management related calls that cannot be executed using account-level access keys.
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. |
Attempting to make any of these calls using a general API access key will result in an error. You may also use admin-level API keys to make the other calls found in the general API Reference guide.
- use_account – 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 – the ID of the account you are making the call for. The ID is returned when using the method ‘account/add_account_v3′ to register the account in CloudCheckr.
XML Call:
https://api.cloudcheckr.com/api/best_practice.xml/get_best_practices?access_key=[access_key]&use_account=[MyAccount]
https://api.cloudcheckr.com/api/best_practice.xml/get_best_practices?access_key=[access_key]&use_cc_account_id=[MyAccountId]
JSON Call:
https://api.cloudcheckr.com/api/best_practice.json/get_best_practices?access_key=[access_key]&use_account=[MyAccount]
https://api.cloudcheckr.com/api/best_practice.json/get_best_practices?access_key=[access_key]&use_cc_account_id=[MyAccountId]
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]
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 when possible.
The preferred HTTP method for each call is GET unless specifically noted in the API CALLS section.
For more information on HTTP methods, click here: http://www.w3schools.com/tags/ref_httpmethods.asp.
API Calls
Add Access Control Lists Per Account Per Group
The API method, “add_access_control_lists_per_account_per_group”, is used to add access control lists per account per group.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level API key |
acls | list <string> | required; unique alphanumeric ID for each access control list (acl) |
group_id | string | required; group ID |
use_account | string | required/optional; friendly name of the account in CloudCheckr; must be a payer account in CloudCheckr* |
use_cc_account_id | string | required/optional; unique account ID used in CloudCheckr; must be a payer account in CloudCheckr* |
use_aws_account_id | string | required/optional; the 12-digit AWS account ID; must be a payer account in CloudCheckr* |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/add_access_control_lists_per_account_per_group?access_key=your_admin_access_key&use_account=AWS Main
REQUEST EXAMPLE:
curl -X POST \
-- https://api.cloudcheckr.com/api/account.[json|xml]/add_access_control_lists_per_account_per_group? access_key=your_admin_access_key&use_account=AWS Main\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"group_id": "315ED648-DA56-4713-98DB-7D0A434A31F9",
"acls": ["dd82ecd7-c590-490f-9b3a-f22990a1b500[CC_Delimiter]16b586a1-4459-46e1-b348-8c24dd5cfb7f",
"dd82ecd7-c590-490f-9b3a-f22990a1b500[CC_Delimiter]e5c59d38-f3a1-4aac-aa48-a9823c1413ed"]
RESPONSE EXAMPLE:
XML:
<AddAccessControlListsPerAccountPerGroupResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance> <results> <id>315ed648-da56-4713-98db-7d0a434a31f9< /id> <code> 0< /code> <message> null< /message> < /results> </AddAccessControlListsPerAccountPerGroupResponse>
JSON:
{ "Id": "315ed648-da56-4713-98db-7d0a434a31f9", "Code": 0, "Message": null }
Add Account V3
The API method, “add_account_v3”, is used to register an AWS account with CloudCheckr. This method will return a unique ID, “cc_account_id”, to enhance security for the newly-created account. Customers can use “cc_account_id” for the parameter, “use_cc_account_id”, when making calls to the admin-level API.
- The preferred HTTP method for this call is POST.
- AWS secret keys typically contain special characters. To submit as a parameter on the URL, you must URL encode it. Click here for details.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level API key |
account_name | string | required; the name of the AWS account to register with CloudCheckr |
user_name | string | optional; the name of the user that will have access to this account. If no user is specified, the first administrator of the account will be applied |
aws_access_key | string | optional; the access key of the IAM user whose credentials will be used to connect CloudCheckr to your AWS account |
aws_secret_key | string | optional; the secret key of the IAM user whose credentials will be used to connect CloudCheckr to your AWS account |
account_tag | string | optional; the tag for the account to be used within a Multi-Account View (MAV) |
emails | list <string> | optional; the email address(es) that will populate the account’s email settings and determine who receives the automated reports.
If this parameter is not used, the email address used when registering the CloudCheckr account will be populated in this field.
|
payer_use_account | string | optional; the name of the payer account |
payee_aws_account_id | string | optional; the AWS account ID associated with the payee account |
use_account | string | required/optional; friendly name of the account in CloudCheckr; must be a payer account in CloudCheckr* |
use_cc_account_id | string | required/optional; unique account ID used in CloudCheckr; must be a payer account in CloudCheckr* |
use_aws_account_id | string | required/optional; the 12-digit AWS account ID; must be a payer account in CloudCheckr* |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/add_account_v3?access_key=your_admin_access_key
REQUEST EXAMPLE:
curl -X POST \ -- https://api.cloudcheckr.com/api/account.[json|xml]/add_account_v3?access_key=your_admin_access_key&use_cc_account_id=1234\ -- header 'cache-control: no-cache' \ -- header 'content-type: application/[json|xml]' \ -- data '{ "account_name": "api added aws account", }
RESPONSE EXAMPLE:
XML:
<AddAccountV3Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance> < status> <account_status>Success</account_status> <cc_account_id>38</cc_account_id> <credential_status>No credentials given. Can use the following role_account_id and role_external_id to create cross-account role within AWS.</credential_status> <role_account_id>352813966789</role_account_id> <cc_external_id>CC-69CFBFCA8BF21FA123BA566A6DAAB227</cc_external_id> </status> </AddAccountV3Response>
JSON:
{ "account_status": "Success", "cc_account_id": 38, "credential_status": "No credentials given. Can use the following role_account_id and role_external_id to create cross-account role within AWS.", "role_account_id": "352813966789", "cc_external_id": "CC-69CFBFCA8BF21FA123BA566A6DAAB227" }
Add API Key
The API method, “add_api_key”, is used to create a new CloudCheckr API key for a specific account.
The preferred HTTP method for this call is POST.
XML Call:
https://api.cloudcheckr.com/api/account.xml/add_api_key?access_key=[access_key]&accounts=[account_name]
JSON Call:
https://api.cloudcheckr.com/api/account.json/add_api_key?access_key=[access_key]&accounts=[account_name]
INPUT PARAMETERS
This call accepts these parameters:
- access_key (required) – standard access key required for all API calls.
- accounts (required) – name(s) of the account(s) for which an API key is being created. Accepts multiple accounts.
OUTPUT
XML Example:
<AddApiKeyResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <CreationStatuses> <string> Created access key for Account: [ACCOUNT] Key: [ACCESS_KEY] </string> </CreationStatuses> </AddApiKeyResponse>
JSON Example:
{ "CreationStatuses": [ "Created access key for Account: [ACCOUNT] Key: [ACCESS_KEY]" ] }
Add Custom Usage Rate
The API method, "add_custom_usage_rates", is used to add the Custom Usage Rate.
This API endpoint offers the capability to Bulk Insert the Custom Usage Rate. You shall pass the below parameters as a List of Custom Usage Rate objects as shown in the sample request object below.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level access key |
Description | string | required; summary of the custom usage rate that allows you to easily distinguish it from other charges |
ChargeValue | decimal | required; amount of the custom usage rate |
Accounts | List<string> | optional; select the accounts where you want CloudCheckr to apply the custom charge rate, the default option is all accounts |
AccountInvert | boolean | optional; indicates that you want CloudCheckr to apply the custom usage rate to accounts that are not in the list, the default option is false |
AccountFamilies | List<string> | optional; select the account families where you want CloudCheckr to apply the custom usage rate |
AccountFamiliesInvert | boolean | optional; indicates that you want CloudCheckr to apply the custom usage rate to account families that are not on the list, the default option is false |
Regions | List<string> | optional; comma-separated list of region(s) where the custom usage rate can be applied; defaults to all; accepts region id's as valid values |
RegionsInvert | boolean | optional; applies the NOT logical operator to selected regions in the previous parameter; defaults to false |
AWSService | List<string> | optional; select the AWS services where you want CloudCheckr to apply the custom usage rate, the default option is all AWS services |
AWSServiceInvert | boolean | optional; indicates that you want CloudCheckr to apply the custom usage rate to AWS |
ReservedInstance | boolean | optional; select the Reserved Instances (RIs) where you want CloudCheckr to apply the custom usage rate |
Operation | List<string> | optional; select the operations where you want CloudCheckr to apply the custom usage rate, the default option is all operations |
UsageType | List<string> | optional; select the usage types where you want CloudCheckr to apply the custom usage rate; the default option is all usage types |
IncludeCurrentAndFutureEc2Box | boolean | optional; select if you want the custom usage rate to inherit any EC2 Box usage automatically |
IncludeCurrentAndFutureEc2Heavy | boolean | optional; select if you want the custom usage rate to inherit any EC2 Heavy usage types automatically |
UsageTypeInvert | boolean | optional; indicates that you want CloudCheckr to apply the custom usage rate to usage types 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 usage rate |
EndDate | DateTime | optional; the date that you want CloudCheckr to stop applying the custom usage rate, if you want the charges to continue indefinitely, do not choose an end date |
FilterType | string | required; indicates whether to filter by Accounts or Account Families, possible values: “Account” or “AccountFamily” |
use_account | string | *optional/required; the name of the CloudCheckr account you are making the call for |
use_cc_account_id | string | 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 |
API CALL URL:
https://api.cloudcheckr.com/api/billing.json/add_custom_usage_rates
JSON REQUEST EXAMPLE:
curl --request POST \ --'https://api.cloudcheckr.com/api/billing.[json|xml]/add_custom_usage_rates?use_cc_account_id=7&access_key=your_admin_access_key' \ --header 'cache-control: no-cache'\ --header 'content-type: application/[json|xml]'\ --data ' [ { "Description":"TEST DESCRIPTION", "ChargeValue": 5, "FilterType" : "Account", "StartDate":"2013-01-01", "EndDate":"2014-01-01", "Account":[ "123456789123", "234567891234", "345678912345" ], "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" ], }, { "StartDate": "9/1/2024", "ChargeValue": "20", "Description": "Desciption", "FilterType" : "Account", "Account": "123456789123", } ] }
OUTPUT & RESPONSE:
{ "OperationResult": [ { "ObjectId": 95, "IsSuccess": true, "Message": "Custom Usage Rate added succesfully" }, { "ObjectId": 96,"IsSuccess": true, "Message": "Custom Usage Rate added succesfully" } ] }
Add MAV Account
The API method, “add_mav_account”, is used to create a new Multi-View Account (MAV).
Important: This call can only be made using admin-level access keys.
The preferred HTTP method for this call is POST.
XML Call:
https://api.cloudcheckr.com/api/account.xml/add_mav_account?access_key=[access_key]&account_name=[account_name]
JSON Call:
https://api.cloudcheckr.com/api/account.json/add_mav_account?access_key=[access_key]&account_name=[account_name]
INPUT PARAMETERS
This call accepts these parameters:
- access_key (required) – Admin-level access key required for all API calls.
- account_name (required) – name of the new MAV account(s).
- account_tags_to_set (optional) – comma-separated list of tags to apply to the MAV. The tag must exist.
- for_all_accounts (optional) – true or false or 1 or 0 values. Same impact as having the “This Multi-Account View should include ALL ACCOUNTS” checked in the UI.
OUTPUT
XML & JSON Example:
{
"Code":200,
"Message":"OK"
}
Add Tag
The API method, “add_tag”, is used to create and enable an account-level tag and apply this tag to account(s), which you can use to build Multi-Account Views (MAVs).
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level access key |
tag_name | string | required; name of the account-level tag you are creating |
account_name | string | required; name of the account where you are creating the tag |
accounts | string | required; name of the accounts where you want to apply the tag |
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
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/add_tag
REQUEST EXAMPLE:
curl -- request POST \
-- 'https://api.cloudcheckr.com/api/account.[json|xml]/add_tag?access_key=your_admin_access_key&tag_name=my_tag_name& account_name=my_account_name&accounts=account 1, account 2&use_cc_account_id=1234' \
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"tag_name": Production Tag,
"account_name": Production Account,
"accounts": Prod 1, Prod 2
}'
RESPONSE EXAMPLE:
{
"Code": 200,
"Message": "OK"
}
Add User
The API method, “add_user”, creates a new CloudCheckr user.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required, admin-level API key |
string | required; the email address of the new user | |
account_access | string | required; the name of the CloudCheckr account(s) the user can access; separate multiple account names by commas as shown in the example(s) |
user_role | string | required; the level of access for the new user; accepts ReadonlyUser, BasicUser, BasicPlusUser, User, or Administrator |
group | string | optional; the name of the group associated with the new user |
cost_report | boolean | optional; defines whether the user can access the cost reports within the account; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
blended_cost | boolean | optional; defines whether the user can view blended costs within the cost reports; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
unblended_cost | boolean | optional; defines whether the user can view unblended costs within the cost reports; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
list_cost | boolean | optional; defines whether the user can view list costs within the cost reports; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
resource_utilization_reports | boolean | optional; defines whether the user can access the resource utilization reports within the account; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
trending_reports | boolean | optional; defines whether the user can access the trending reports within the account; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
change_monitoring | boolean | optional; defines whether the user can access the change monitoring report within the account; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
best_practices | boolean | optional; defines whether the user can access the best practice report within the account; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
edit_emails | boolean | optional; identifies if the customer can modify email addresses associated with the user |
all_access | boolean | optional; if this set to true, the user will have access to all reports within the account and none of the other parameters listed below are required; accepts “yes”, “1”, or “y” |
password | string | optional; sets the password for the new user |
automation | boolean | optional; allows the new user to access the associated report |
savings | boolean | optional; allows the new user to access the associated report |
alerts | boolean | optional; allows the new user to access the associated report |
inventory | boolean | optional; allows the new user to access the associated report |
security | boolean | optional; allows the new user to access the associated report |
account_notification | boolean | optional; allows the new user to receive notifications from any associated accounts |
partner_tools | boolean | optional; allows the new user to access the partner tools |
edit_partner_tools | boolean | optional; allows the new user to modify the configuration of the partner tools |
see_api_keys | boolean | optional; makes the API key visible to the new user |
auth_types | boolean | optional; allows the new user access to authorization types |
use_default_provider | boolean | optional; allows the new user to use the default provider configuration |
sso_provider | string | optional; indicates that the new user has an SSO association |
use_account | string | required/optional; friendly name of the account in CloudCheckr; must be a payer account in CloudCheckr* |
use_cc_account_id | string | required/optional; unique account ID used in CloudCheckr; must be a payer account in CloudCheckr* |
use_aws_account_id | string | required/optional; the 12-digit AWS account ID; must be a payer account in CloudCheckr* |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/add_user?access_key=your_admin_access_key
REQUEST EXAMPLE:
curl -X POST \
-- https://api.cloudcheckr.com/api/account.[json|xml]/add_user?access_key=your_admin_access_key&use_cc_account_id=1234\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"email": "newUser@cloudcheckr.com",
"account_access": "AWS Main - Payer,123456789012,Test",
"user_role": "user",
"cost_report": "no",
"auth_types": "saml",
"group": "g2",
"use_default_provider": "true",
"sso_provider": "PingOne"
}
RESPONSE EXAMPLE:
XML:
<AddUserResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance> <CreationStatuses>Created new user with email: newUser@cloudcheckr.com</CreationStatuses> </AddUserResponse>
JSON:
{ "CreationStatuses": [ "Created new user with email: newUser32i34i32ke@cloudcheckr.com" ] }
Add Users
The API method, “add_users”, creates multiple CloudCheckr users.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required, admin-level API key |
emails | string | required; the email address(es) of the new user(s); separate multiple email addresses with commas as shown in the example(s) |
account_access | string | required; the name of the CloudCheckr account(s) the user can access; separate multiple account names by commas as shown in the example(s) |
user_role | string | required; the level of access for the new user; accepts ReadonlyUser, BasicUser, BasicPlusUser, User, or Administrator |
group | string | optional; the name of the group associated with the new user |
cost_report | boolean | optional; defines whether the user can access the cost reports within the account; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
blended_cost | boolean | optional; defines whether the user can view blended costs within the cost reports; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
unblended_cost | boolean | optional; defines whether the user can view unblended costs within the cost reports; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
list_cost | boolean | optional; defines whether the user can view list costs within the cost reports; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
resource_utilization_reports | boolean | optional; defines whether the user can access the resource utilization reports within the account; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
trending_reports | boolean | optional; defines whether the user can access the trending reports within the account; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
change_monitoring | boolean | optional; defines whether the user can access the change monitoring report within the account; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
best_practices | boolean | optional; defines whether the user can access the best practice report within the account; accepts “yes”, “1”, “y”, “no, “0”, or “n” |
edit_emails | boolean | optional; identifies if the customer can modify email addresses associated with the user |
all_access | boolean | optional; if this set to true, the user will have access to all reports within the account and none of the other parameters listed below are required; accepts “yes”, “1”, or “y” |
password | string | optional; sets the password for the new user |
automation | boolean | optional; allows the new user to access the associated report |
savings | boolean | optional; allows the new user to access the associated report |
alerts | boolean | optional; allows the new user to access the associated report |
inventory | boolean | optional; allows the new user to access the associated report |
security | boolean | optional; allows the new user to access the associated report |
account_notification | boolean | optional; allows the new user to receive notifications from any associated accounts |
partner_tools | boolean | optional; allows the new user to access the partner tools |
edit_partner_tools | boolean | optional; allows the new user to modify the configuration of the partner tools |
see_api_keys | boolean | optional; makes the API key visible to the new user |
auth_types | boolean | optional; allows the new user access to authorization types |
use_default_provider | boolean | optional; allows the new user to use the default provider configuration |
sso_provider | string | optional; indicates that the new user has an SSO association |
use_account | string | required/optional; friendly name of the account in CloudCheckr; must be a payer account in CloudCheckr* |
use_cc_account_id | string | required/optional; unique account ID used in CloudCheckr; must be a payer account in CloudCheckr* |
use_aws_account_id | string | required/optional; the 12-digit AWS account ID; must be a payer account in CloudCheckr* |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/add_users?access_key=your_admin_access_key
REQUEST EXAMPLE:
curl -X POST \
-- https://api.cloudcheckr.com/api/account.[json|xml]/add_users?access_key=your_admin_access_key&use_cc_account_id=1234\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"emails": "newUser@cloudcheckr.com,newuser2@cloudcheckr.com,newuser3@cloudcheckr.com",
"account_access": "AWS Main,2150 - Payer,123456789012,987654321012,Test",
"user_role": "user",
"cost_report": "no",
"group": "g2",
"use_default_provider": 'true",
"sso_provider": "PingOne"
}
RESPONSE EXAMPLE:
XML:
<AddUsersResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance> <CreationStatuses> <status>Created new user with email: newUser48f@cloudcheckr.com</status> <status>Created new user with email: newUserk39dk@cloudcheckr.com</status> </CreationStatuses> </AddUsersResponse>
JSON:
{ "CreationStatuses": [ "Created new user with email: newUser48f@cloudcheckr.com@cloudcheckr.com", "Created new user with email: newUserk39dk@cloudcheckr.com" ] }
Add User To Group
The API method, “add_user_to_group”, is used to add an existing CloudCheckr user to a new group.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level access key |
group_id | string | required; unique identifier associated with the group |
user_ids | list <string> | required; unique identifiers associated with the user(s) you add to the group If you add multiple users in a group, the response will provide them in a comma-separated list. |
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_account
- use_cc_account_id
- use_aws_account_id
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/add_user_to_group
REQUEST EXAMPLE:
curl -- request POST \
-- 'https://api.cloudcheckr.com/api/account.[json|xml]/add_user_to_group?access_key=[your_access_key]&use_cc_account_id=3&user_ids=[some values]&group_id=[some value]\ \
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"group_id": "e85446b9-8821-41a6-9558-7550756dd899",
"user_ids": [
"8B65E388-8A0B-4B5A-A12B-8B0325D0ABF4",
"683C1113-1FF0-4F8B-AA3D-9288D2ED615A"
]
}'
RESPONSE EXAMPLE:
XML:
<AddUserToGroupResponse 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>
</AddUserToGroupResponse>
JSON:
{
"Code": 200,
"Message": "OK"
}
Clone Group
The API method, “clone_group”, creates a copy of an existing group without the users.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level API key |
group_id | string | required; group ID |
name | string | required; name |
use_account | string | required; friendly name of the account in the application |
use_cc_account_id | string | required; account ID used in the application |
use_aws_account_id | string | required; the 12-digit AWS account ID |
ENDPOINT URL:
https://api.cloudcheckr.com/api/account.[json|xml]/clone_group
JSON/XML CALL EXAMPLE:
curl --request POST \
-- 'https://api.cloudcheckr.com/api/account.[json|xml]/clone_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)group_id": "someValHere",
"(required)name": "someValHere",
"use_account": "someValHere",
"use_cc_account_id": "someValHere",
"use_aws_account_id": "someValHere",
}
SUCCESSFUL JSON/XML RESPONSE:
{
"Code": 200,
"Message": "OK"
}
Configure Custom Cost
The API method, "configure_custom_cost", is used to configure the custom cost settings for a CloudCheckr account.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level API key |
CostType | string | required; identifies if you want to build List cost based on Unblended or Blended costs |
CustomCostRIAmortization | string | required; identifies how you want your upfront cost amortized |
RetiredRIAmortization | string | optional; identifies if you chose to amortize until the expected end date, the revised end date, or if you chose premature amortization |
RIUnsharing | string | required; identifies if you want to unshare your RIs |
SelectedFamilies | List string | required; identifies the account families that you want to benefit from unsharing |
EnforceEc2RIVolume | boolean | required; indicates if you adjusted any RI volume discounts to reflect any account family purchases |
UncompressPricingTiers | boolean | required; identifies if you want to uncompress your pricing tiers across your consolidated billing families to provide more accurate custom costs |
SPUnsharing (formerly SPAllocation) | string | optional; identifies if you want to unshare your Savings Plans. Default value is ‘Disabled’. Valid options: Disabled, Always, Selected, Deallocation. |
use_aws_account_id | string | *optional/required; the 12-digit AWS account ID where the custom billing charge is applied (must be payer account) |
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 This is the same ID that the API returns when you make the call 'add_account_v3′ to register the account in CloudCheckr. |
SelectedFamiliesSPUnsharing | List string | optional; identifies the account families that you want to benefit from SP unsharing. Will be required if the 'SPUnsharing' option is ‘Selected’. |
- use_aws_account_id
- use_account
- use_cc_account_id
ENDPOINT URL:
https://api.cloudcheckr.com/api/billing.[json|xml]/configure_custom_cost
JSON/XML CALL EXAMPLE:
curl --request POST \
--'https://api.cloudcheckr.com/api/billing.[json|xml]/configure_custom_cost?access_key=your_admin_access_key&use_cc_account_id=7'\
--header'cache-control: no-cache'\
--header'content-type: application/[json|xml]'\
--data'{
"CostType":"Unblended",
"CustomCostRIAmortization":"Disabled",
"RIUnsharing":"Disabled",
"EnforceEc2RIVolume":"false",
"UncompressPricingTiers":"false",
"SPAllocation":"Disabled",
"use_cc_account_id":"7"
}'
SUCCESSFUL JSON/XML RESPONSE:
{
"Code":"200",
"Message": "OK"
}
Copy User
The API method “copy user” is used to create a new CloudCheckr user with the exact permissions as an existing user.
IMPORTANT: This call can only be made using admin-level access keys.
The preferred HTTP method for this call is POST.
XML call:
https://api.cloudcheckr.com/api/account.xml/copy_user?access_key=[access_key]&email_to_copy=[existing_user_email]&emails=[new_user_email]
JSON call:
https://api.cloudcheckr.com/api/account.json/copy_user?access_key=[access_key]&email_to_copy=[existing_user_email]&emails=[new_user_email]
INPUT PARAMETERS
This call accepts these parameters:
- access_key (required) – Admin-Level Access Key is required for this call.
- email_to_copy (required) – The email address of the existing user.
- emails (required) – The email address(es) of the new user(s).
- use_account (required — either this field or ‘use_cc_account_id’) – The name of the AWS account within CloudCheckr.
- use_cc_account_id (required — either this field or ‘use_account’) – The CloudCheckr ID number for the AWS account within the application.
You can also use this call to add multiple users at once. Simply include all of the emails required, separated by commas.
OUTPUT
XML Example:
<CopyUserResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance> <CreationStatuses>Created new user with email: mytest@mytest.me</CopyUserResponse>
JSON Example:
{
"CreationStatuses": [
"Created new user with email: mytest@mytest.me"
]
}
Delete Access Control List From Group
The API method, “delete_access_control_list_from_group”, is used to delete an access control list from a group.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level API key |
group_id | string | required; ID of the user group |
acls | list <string> | required; access control lists (ACLs) |
use_account | string | required/optional; friendly name of the account in CloudCheckr; must be a payer account in CloudCheckr* |
use_cc_account_id | string | required/optional; unique account ID used in CloudCheckr; must be a payer account in CloudCheckr* |
use_aws_account_id | string | required/optional; the 12-digit AWS account ID; must be a payer account in CloudCheckr* |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/delete_access_control_list_from_groupaccess_key=your_admin_access_key&use_account=AWS Main
REQUEST EXAMPLE:
curl -X POST \
-- https://api.cloudcheckr.com/api/account.[json|xml]/delete_access_control_list_from_group?access_key=your_admin_access_key&use_account=AWS Main\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"group_id": "315ED648-DA56-4713-98DB-7D0A434A31F9",
"acls": ["dd82ecd7-c590-490f-9b3a-f22990a1b500[CC_Delimiter]16b586a1-4459-46e1-b348-8c24dd5cfb7f",
"dd82ecd7-c590-490f-9b3a-f22990a1b500[CC_Delimiter]e5c59d38-f3a1-4aac-aa48-a9823c1413ed"]
}
RESPONSE EXAMPLE:
XML:
<DeleteAccessControlListFromGroupResponse 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> </DeleteAccessControlListFromGroupResponse>
JSON:
{
"Code": 200,
"Message": "OK"
}
Delete Account
The API method “delete_account” is used to remove an AWS account that has been registered with CloudCheckr.
IMPORTANT: This call can only be made using Admin-Level Access Keys.
The preferred HTTP method for this call is GET.
XML call:
https://api.cloudcheckr.com/api/account.xml/delete_account?access_key=[access_key]&account_name=MyAccountName
JSON call:
https://api.cloudcheckr.com/api/account.json/delete_account?access_key=[access_key]&account_name=MyAccountName
INPUT PARAMETERS
This call accepts these parameters:
- access_key (required) – Admin-Level Access Key is required for this call.
- account_name (required) – the name of the AWS account that will be removed from CloudCheckr.
OUTPUT
XML & JSON Example:
{
"Code":200,
"Message":"OK"
}
Delete Custom Usage Rate
The API method, “delete_custom_usage_rate”, is used to delete an existing custom usage rate.
You can perform a bulk delete using via this endpoint. Check the below sample request object for reference.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level access key |
id | string | required; custom usage rate ID |
use_account | string | *optional/required; the name of the CloudCheckr account you are making the call for |
use_cc_account_id | string | 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 |
API CALL URL:
https://api.cloudcheckr.com/api/billing.json/delete_custom_usage_rates
JSON EXAMPLE:
curl-- request Delete \ 'https://api.cloudcheckr.com/api/billing.[json|xml]/delete_custom_usage_rate?access_key=access_key]& use_cc_account_id=1234' \ --header 'cache-control: no-cache'\ --header 'content-type: application/[json|xml]'\ --data ' [ { "Id": 94}, {“id” : 95} ]
OUTPUT & RESPONSE:
{ "OperationResult": [ { "ObjectId": 94, "IsSuccess": true, "Message": "Custom Usage Rate for the provided Id succesfully deleted" }, { "ObjectId": 95, "IsSuccess": true, "Message": "Custom Usage Rate for the provided Id succesfully deleted" } ] }
Delete Group
The API method, “delete_group”, is used to delete the group with the specified ID.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level API key |
group_id | string | required; group ID |
string | required; email address of the user | |
user_id | string | required; user ID |
use_account | string | required; friendly name of the account in the application |
use_cc_account_id | string | required; account ID used in the application |
use_aws_account_id | string | required; the 12-digit AWS account ID |
ENDPOINT URL:
https://api.cloudcheckr.com/api/account.[json|xml]/delete_group
JSON/XML CALL EXAMPLE:
curl --request POST \
-- 'https://api.cloudcheckr.com/api/account.[json|xml]/delete_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)(admin level)access_key": "someValHere",
"(required)group_id": "someValHere",
"email": "someValHere",
"user_id": "someValHere",
"use_account": "someValHere",
"use_cc_account_id": "someValHere",
"use_aws_account_id": "someValHere",
}
SUCCESSFUL JSON/XML RESPONSE:
{
"Code": 200,
"Message": "OK"
}
Delete Tag
The API method, “delete_tag”, is used to delete an account-level tag in Multi-Account Views. If you delete an account-level tag, it will impact any account that uses this tag to build its Multi-Account Views (MAVs).
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level API key |
account_name | string | required; name of the account that contains the tag |
account_tag | string | required; name of the account-level tag that will be deleted |
ENDPOINT URL:
https://api.cloudcheckr.com/api/account.[json|xml]/delete_tag
JSON/XML CALL EXAMPLE:
curl --request POST \
-- 'https://api.cloudcheckr.com/api/account.[json|xml]/delete_tag?access_key=[access key]
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
'account_name': 'my account name',
'account_tag': 'my account tag'
}
SUCCESSFUL JSON/XML RESPONSE:
{
"Code": 200,
"Message": "OK"
}
Edit Account Email Settings V2
The API method, “edit_account_email_settings_v2”, allows you to identify what conditions will trigger an email notification, how often you want CloudCheckr to send these notifications, and who will receive these notifications.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level access key |
emails | string | required; identifies the email address(es) of the notification recipients. If you have multiple recipients, separate each address with a comma. |
alert_daily_billing | boolean | optional; select if you want CloudCheckr to send an alert email if your daily cost goes above a selected percentage of your threshold |
alert_health_affected | boolean | optional; select if you want CloudCheckr to send an alert email if problems with AWS performance and/or services, such as outages, are affecting one or more of your resources |
alert_health_all | boolean | optional; select if you want CloudCheckr to send an alert email if AWS performance and/or services is experiencing any problems such as outages |
daily_bill_summary | boolean | optional; select if you want CloudCheckr to email a summary of your daily bill that includes highlights of any unusual activity |
daily_best_practices | boolean | optional; select if you want CloudCheckr to send a daily email with the Best Practices recommendations that it discovers in your account |
daily_bpc_importance_level | boolean | optional; select if you want CloudCheckr to hide any Best Practice Importance Level indicators in the daily Best Practices email |
daily_bpc_type | boolean | optional; select if you want CloudCheckr to hide any Best Practice Check Types indicators in the daily Best Practices email |
change_monitoring | boolean | optional; select if you want CloudCheckr to send an email when it detects any changes in the Change Monitoring report |
change_monitoring_aws_config | boolean | optional; select if you want CloudCheckr to send an email when it detects any changes in AWS Config |
improperly_tagged_resources | boolean | optional; select if you want CloudCheckr to send an email when your resources break any tagging rules |
automation | boolean | optional; select if you want CloudCheckr to send an email when an automation job finds or processes an item |
self_healing | boolean | optional; select if you want CloudCheckr to send an email that reports on Self-Healing activity |
daily_consolidated_bill_summary | boolean | optional; select you want CloudCheckr to send a daily email summary of the costs, credits, and the net bill of all your consolidated billing accounts |
cloudtrail_summary | boolean | optional; select if you want CloudCheckr to send a daily email summary of the CloudTrail Event Counts filtered by the Top 10 users, event types, and failed event types |
inventory_summary_report | boolean | optional; select if you want CloudCheckr to send a weekly email that lists two to three high-level statistics for each AWS service |
ec2_trending_report | boolean | optional; select if you want CloudCheckr to send a weekly email that provides statistics on your EC2 configuration and usage |
s3_summary_report | boolean | optional; select if you want CloudCheckr to send a weekly email that provides statistics on your S3 configuration and usage |
ec2_resource_utilization_report | boolean | optional; select if you want CloudCheckr to send a weekly email that provides statistics on your EC2 CPU and network utilization |
weekly_best_practices | boolean | optional; select if you want CloudCheckr to send a weekly email with the Best Practices recommendations that it discovers in your account |
weekly_bpc_importance_level | boolean | optional; select if you want CloudCheckr to hide any Best Practice Importance Level indicators in the weekly Best Practices email |
weekly_bpc_type | boolean | optional; select if you want CloudCheckr to hide any Best Practice Check Types indicators in the weekly Best Practices email |
monthly_bill_summary | boolean | optional; select if you want CloudCheckr to email a summary of your monthly bill that includes highlights of any unusual activity |
monthly_billing_emails_start_day | integer | required; identifies the start date of the date range in which you intend to receive the monthly billing emails |
monthly_billing_emails_end_day | integer | required; identifies the end date of the date range in which you intend to receive the monthly billing emails. |
monthly_consolidated_bill_summary | boolean | optional; select you want CloudCheckr to send a monthly email summary of the costs, credits, and the net bill of all your consolidated billing accounts |
monthly_best_practices | boolean | optional; select if you want CloudCheckr to send a monthly email with the Best Practices recommendations that it discovers in your account |
monthly_bpc_importance_level | boolean | optional; select if you want CloudCheckr to hide any Best Practice Importance Level indicators in the monthly Best Practices email |
monthly_bpc_type | boolean | optional; select if you want CloudCheckr to hide any Best Practice Check Types indicators in the monthly Best Practices email |
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 |
wait_until_bill_finalized | string | *optional/required; select if you intend to receive the monthly email billing only once the month is finalized |
- use_aws_account_id
- use_account
- use_cc_account_id
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/edit_account_email_settings_v2
curl -- request POST \
-- 'https://api.cloudcheckr.com/api/account.[json|xml]/edit_account_email_settings_v2?access_key=your_admin_access_key&use_aws_account_id=123451050627&emails=email_addresses' \
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"emails": "this@mailbox.com,that@mailbox.com",
"use_aws_account_id": "123451050627"
}
RESPONSE EXAMPLES:
Result 200 OK (XML):
<edit_account_email_settings_v2Response 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>
</edit_account_email_settings_v2Response>
Result 200 OK (JSON):
{
"Code": 200,
"Message": "OK"
}
Edit Account Name
The API method, “edit_accountname”, is used to edit the account name to better fit with the naming conventions used within your deployment.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level API key
Alternatively, you can use an account API key to rename the account.
|
account_name | string | required; name of the Cloudcheckr account |
use_account | string | required/optional; friendly name of the account in CloudCheckr* |
use_cc_account_id | string | required/optional; unique account ID used in CloudCheckr* |
use_aws_account_id | string | required/optional; the 12-digit AWS account ID* |
ENDPOINT URL:
https://api.cloudcheckr.com/api/account.[json|xml]/edit_accountname
JSON/XML CALL EXAMPLE:
curl --request POST \
-- https://api.cloudcheckr.com/api/account.[json|xml]/edit_accountname?access_key=[access key]
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
'account_name': CloudCheckr Support',
}
SUCCESSFUL JSON/XML RESPONSE:
{
"Code": 200,
"Message": "OK"
}
Edit Credential
The API method, “edit_credential”, is used to add or change the AWS credentials on an AWS account that has been registered with CloudCheckr.
Note:
- The HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level API key
Alternatively, you can use an account API key to rename the account.
|
aws_access_key | string | required/optional; the access key of the IAM user whose credentials will be used to connect CloudCheckr to your AWS account* |
aws_secret_key | string | required/optional; the secret key of the IAM user whose credentials will be used to connect CloudCheckr to your AWS account* |
use_account | string | required/optional; name of the account in CloudCheckr* |
use_aws_account_id | string | required/optional; the 12-digit AWS account ID* |
aws_role_arn | string | required/optional; AWS role ARN parameter that gets generated when you create a role in AWS using CLI*
See the Create Role topic in the AWS documentation for more information. |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/edit_credential/
REQUEST EXAMPLE:
curl --request POST \
-- 'https://api.cloudcheckr.com/api/account.[json|xml]/edit_credential?access_key=your_admin_access_key
SUCCESSFUL JSON/XML RESPONSE:
{
"Code": 200,
"Message": "OK"
}
Edit Custom Usage Rate
The API method, “edit_custom_usage_rates”, is used to edit a custom usage rate.
This API endpoint offers the capability to Bulk Edit the Custom Usage Rate. You shall pass the below parameters as a List of Custom Usage Rate objects as shown in the sample request object below.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level access key |
Description | string | required; summary of the custom usage rate that allows you to easily distinguish it from other charges |
ChargeValue | decimal | required; amount of the custom usage rate |
Accounts | List<string> | optional; select the accounts where you want CloudCheckr to apply the custom charge rate, the default option is all accounts |
AccountInvert | boolean | optional; indicates that you want CloudCheckr to apply the custom usage rate to accounts that are not in the list, the default option is false |
AccountFamilies | List<string> | optional; select the account families where you want CloudCheckr to apply the custom usage rate |
AccountFamiliesInvert | boolean | optional; indicates that you want CloudCheckr to apply the custom usage rate to account families that are not on the list, the default option is false |
Regions | List<string> | optional; comma-separated list of region(s) where the custom usage rate can be applied; defaults to all; accepts region id's as valid values |
RegionsInvert | boolean | optional; applies the NOT logical operator to selected regions in the previous parameter; defaults to false |
AWSService | List<string> | optional; select the AWS services where you want CloudCheckr to apply the custom usage rate, the default option is all AWS services |
AWSServiceInvert | boolean | optional; indicates that you want CloudCheckr to apply the custom usage rate to AWS |
ReservedInstance | boolean | optional; select the Reserved Instances (RIs) where you want CloudCheckr to apply the custom usage rate |
Operation | List<string> | optional; select the operations where you want CloudCheckr to apply the custom usage rate, the default option is all operations |
UsageType | List<string> | optional; select the usage types where you want CloudCheckr to apply the custom usage rate; the default option is all usage types |
IncludeCurrentAndFutureEc2Box | boolean | optional; select if you want the custom usage rate to inherit any EC2 Box usage automatically |
IncludeCurrentAndFutureEc2Heavy | boolean | optional; select if you want the custom usage rate to inherit any EC2 Heavy usage types automatically |
UsageTypeInvert | boolean | optional; indicates that you want CloudCheckr to apply the custom usage rate to usage types 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 usage rate |
EndDate | DateTime | optional; the date that you want CloudCheckr to stop applying the custom usage rate, if you want the charges to continue indefinitely, do not choose an end date |
FilterType | string | required; indicates whether to filter by Accounts or Account Families, possible values: “Account” or “AccountFamily” |
use_account | string | *optional/required; the name of the CloudCheckr account you are making the call for |
use_cc_account_id | string | 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 |
API CALL URL:
https://api.cloudcheckr.com/api/billing.json/edit_custom_usage_rates
JSON CALL EXAMPLE:
curl --request POST \ --url 'https://api.cloudcheckr.com/api/billing.[json|xml]/edit_custom_usage_rates?access_key=your_admin_access_key&use_cc_account_id=1234' \ --header 'cache-control: no-cache' \ --header 'content-type: application/[json|xml]' \ --data ' [ { "id": 179, " ChargeValue": 42 }, { "id": 35, " Description": “Changes Description”, “ChargeValue”:”25” } ] }
OUTPUT & RESPONSE:
{ "OperationResult": [ { "ObjectId": 95, "IsSuccess": true, "Message": "Custom Usage Rate Updated succesfully" }, { "ObjectId": 124, "IsSuccess": true, "Message": "Custom Usage Rate Updated succesfully" } ] }
Get Access Control List
The API method, “get_access_control_list”, configures which features of the application are visible and accessible for an account.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level access key |
section | string |
optional; the name of the feature, module, or report that you want users to have access to in the application Here are some examples of sections in the application:
If you do not specify a section, all sections will be visible and accessible in the account.
|
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/account.[json|xml]/get_access_control_list
REQUEST EXAMPLE:
curl -- request POST \
-- 'https://api.cloudcheckr.com/api/account.json/get_access_control_list' \
-- header 'access_key: [access key]' \
-- header 'content-type: application/json' \
-- data '{
"section": "Savings",
"use_cc_account_id": "3"
}
RESPONSE EXAMPLES:
<?xml version="1.0" encoding="UTF-8" ?>
<responseModel>
<Id>02xxxxxx-7953-4932-88d5-0d54fdf01c51[CC_Delimiter]cedd1593-75d5-48d1-a48c-e17</xxxxxxxxxxx>
<Name>Cost Savings</Name>
<Section>Savings</Section>
<Code>0</Code>
<Message />
</responseModel>
<responseModel>
<Id>02bxxxxxx-7953-4932-88d5-0d54fdf01c51[CC_Delimiter]da61a4df-d4be-4a57-9e6a-xxxxxxxxxxxx</Id>
<Name>Cost Savings</Name>
<Section>Savings</Section>
<Code>0</Code>
<Message />
</responseModel>
<responseModel>
<Id>02bxxxxx-7953-4932-88d5-0d54fdf01c51[CC_Delimiter]f3dc0618-c139-4f28-99d5-xxxxxxxxxxxx</Id>
<Name>Cost Savings</Name>
<Section>Savings</Section>
<Code>0</Code>
<Message />
</responseModel>
<responseModel>
<Id>02bxxxxx-7953-4932-88d5-0d54fdf01c51[CC_Delimiter]6feaacf0-e136-48c4-90b1-xxxxxxxxxxxx</Id>
<Name>Cost Savings</Name>
<Section>Savings</Section>
<Code>0</Code>
<Message />
</responseModel>
<Code>200</Code>
<Message>OK</Message>
{
"responseModel": [
{
"Id": "02xxxxxx-7953-4932-88d5-0d54fdf01c51[CC_Delimiter]cedd1593-75d5-48d1-a48c-e17",
"Name": "Cost Savings",
"Section": "Savings",
"Code": 0,
"Message": null
},
{
"Id": "02bxxxxxx-7953-4932-88d5-0d54fdf01c51[CC_Delimiter]da61a4df-d4be-4a57-9e6a-xxxxxxxxxxxx",
"Name": "Cost Savings",
"Section": "Savings",
"Code": 0,
"Message": null
},
{
"Id": "02bxxxxx-7953-4932-88d5-0d54fdf01c51[CC_Delimiter]f3dc0618-c139-4f28-99d5-xxxxxxxxxxxx",
"Name": "Cost Savings",
"Section": "Savings",
"Code": 0,
"Message": null
},
{
"Id": "02bxxxxx-7953-4932-88d5-0d54fdf01c51[CC_Delimiter]6feaacf0-e136-48c4-90b1-xxxxxxxxxxxx",
"Name": "Cost Savings",
"Section": "Savings",
"Code": 0,
"Message": null
}
],
"Code": 200,
"Message": "OK"
}
Get Access Control List By ID
The API method, “get_access_control_list_by_id”, is used to return the access control list by ID.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level API key |
id | string | required; ID of the ACL item |
use_account | string | required; friendly name of the account in the application |
use_cc_account_id | string | required; account ID used in the application |
use_aws_account_id | string | required; the 12-digit AWS account ID |
ENDPOINT URL:
https://api.cloudcheckr.com/api/account.[json|xml]/get_access_control_list_by_id
JSON/XML CALL EXAMPLE:
curl --request POST \
-- 'https://api.cloudcheckr.com/api/account.[json|xml]/get_access_control_list_by_id&access_key=your_admin_access_key&use_cc_account_id=1234'\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
-- data '{
"(required)(admin level)access_key": "someValHere",
"(required)id": "someValHere",
"use_account": "someValHere",
"use_cc_account_id": "someValHere",
"use_aws_account_id": "someValHere",
}
SUCCESSFUL JSON/XML RESPONSE:
{
"Code": 200,
"Message": "OK"
}
Get Access Control List Per Group
The API method, “get_access_control_list_per_group”, is used to return the access control list by group.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level API key |
group_id | string | required; ID of the group |
use_account | string | required/optional: friendly name of the account in CloudCheckr; must be a payer account in CloudCheckr* |
use_cc_account_id | string | required/optional: unique account ID used in CloudCheckr; must be a payer account in CloudCheckr* |
use_aws_account_id | string | required/optional: the 12-digit AWS account ID; must be a payer account in CloudCheckr* |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/get_access_control_list_per_group?access_key=your_admin_access_key&use_account=AWS Main&group_id=315ED648-DA56-4713-98DB-7D0A434A31F9
REQUEST EXAMPLE:
curl -X GET \
-- https://api.cloudcheckr.com/api/account.[json|xml]/get_access_control_list_per_group?access_key=your_admin_access_key&use_account=AWS Main&group_id=315ED648-DA56-4713-98DB-7D0A434A31F9\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
RESPONSE EXAMPLE:
XML:
<GetAccessControlListPerGroupResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance> <acl> <id>dd82ecd7-c590-490f-9b3a-f22990a1b500[CC_Delimiter]bde7a10b-6e76-4ce5-918c-5c4821b4f3bd</id> <name>Inventory Summary</name> <section>Inventory</section> <code>0</code> <message>null</message> </acl> <acl> <id>dd82ecd7-c590-490f-9b3a-f22990a1b500[CC_Delimiter]4adf637d-667a-4530-a6a4-e8b4e5fcd340</id> <name>Map Overlay</name> <section>Inventory</section> <code>0</code> <message>null</message> </acl> <acl> <id>dd82ecd7-c590-490f-9b3a-f22990a1b500[CC_Delimiter]08d18f15-1e86-40f7-bc8f-37f8bc27f1b7</id> <nameTagged Resources</name> <section>Inventory</section> <code>0</code> <message>null</message> </acl> </GetAccessControlListPerGroupResponse>
JSON:
{
"Acls": [
{
"Id": "dd82ecd7-c590-490f-9b3a-f22990a1b500[CC_Delimiter]bde7a10b-6e76-4ce5-918c-5c4821b4f3bd",
"Name": "Inventory Summary",
"Section": "Inventory",
"Code": 0,
"Message": null
},
{
"Id": "dd82ecd7-c590-490f-9b3a-f22990a1b500[CC_Delimiter]4adf637d-667a-4530-a6a4-e8b4e5fcd340",
"Name": "Map Overlay",
"Section": "Inventory",
"Code": 0,
"Message": null
},
{
"Id": "dd82ecd7-c590-490f-9b3a-f22990a1b500[CC_Delimiter]08d18f15-1e86-40f7-bc8f-37f8bc27f1b7",
"Name": "Tagged Resources",
"Section": "Inventory",
"Code": 0,
"Message": null
}
]
}
Get Account
The API method, "get_account", is used to determine when CloudCheckr last updated the data in a selected account.
The preferred HTTP method for this call is GET.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level access key |
account_id | string |
required; the CloudCheckr project ID of the account you are making the call for The account_id is equivalent to the use_cc_account_id. To get the account_id, you need to run the get_accounts_v4 call, which will return the cc_account_id parameter. |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/get_account
REQUEST EXAMPLE:
curl -- request GET \
-- https://api.cloudcheckr.com/api/account.[json|xml]/get_account?access_key=your_admin_access_key&account_id=3'\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
RESPONSE EXAMPLE:
XML:
<?xml version="1.0" encoding="UTF-8" ?>
<Id>3</Id>
<Name>Test Payer</Name>
<Provider>Amazon Web Services</Provider>
<Type>General</Type>
<AccountId>000011050627</AccountId>
<HasCredentials>true</HasCredentials>
<Note></Note>
<LastUpdated>2020-11-27T01:38:45</LastUpdated>
<PayerId />
<PayerAccountId />
<Code>0</Code>
<Message />
JSON:
{
"Id": 3,
"Name": "Test Payer",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "000011050627",
"HasCredentials": true,
"Note": "",
"LastUpdated": "2020-11-27T01:38:45",
"PayerId": null,
"PayerAccountId": null,
"Code": 0,
"Message": null
}
- Id refers to the project ID or account_id parameter
- AccountId refers to the AWS account ID
Get Account Email Settings
The API method, “get_account_email_settings”, is used to return a complete list of all email settings in a CloudCheckr account.
- This call can only be made using admin-level access keys.
- The preferred HTTP method for this call is GET.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required, admin-level API key |
use_account | string | required/optional; name of the account in CloudCheckr; must be a payer account in CloudCheckr* |
use_cc_account_id | string | required/optional; unique account ID used in CloudCheckr; must be a payer account in CloudCheckr* |
use_aws_account_id | string | required/optional: the 12-digit AWS account ID; must be a payer account in CloudCheckr* |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/get_account_email_settings?access_key=your_admin_access_key&use_cc_account_id=1234'
REQUEST EXAMPLE:
curl -X GET \
-- https://api.cloudcheckr.com/api/account.[json|xml]/get_account_email_settings?access_key=your_admin_access_key&use_cc_account_id=1234'\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
RESPONSE EXAMPLE:
XML:
<GetAccountEmailSettingsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <accounts_and_email_settings> <AccountAndEmailSettings> <ProjectName>Account_Name_Example</ProjectName> <EmailReportRecipients> <EmailAddresses>email1@cloudcheckr.com, email2@cloudcheckr.com</EmailAddresses> </EmailReportRecipients> <AlertEmailSettings> <EnableDailyCostAlert>true</EnableDailyCostAlert> <AwsCostThreshold>10</AwsCostThreshold> <EnableAwsHealthAlerts>false</EnableAwsHealthAlerts> <EnableAwsHealthAlertsIfAffects>true</EnableAwsHealthAlertsIfAffects> </AlertEmailSettings> <DailyEmailSettings> <EnableDailyChangeMonitoring>false</EnableDailyChangeMonitoring> <EnableDailyBestPractice>false</EnableDailyBestPractice> <EnableDailyBillForceUsingCloudWatch>false</EnableDailyBillForceUsingCloudWatch> <EnableDailyAwsConsolidatedBillingSummary>true</EnableDailyAwsConsolidatedBillingSummary> <EnableDailyChangeMonitoringAwsConfig>false</EnableDailyChangeMonitoringAwsConfig> <EnableAutomation>false</EnableAutomation> <EnableImproperlyTaggedResources>false</EnableImproperlyTaggedResources> <EnableDailyCloudTrailSummary>false</EnableDailyCloudTrailSummary> <DailyBestPracticeEmailSettings> <EnableHighImportance>false</EnableHighImportance> <EnableMediumImportance>false</EnableMediumImportance> <EnableLowImportance>false</EnableLowImportance> <EnableInformationalImportance>false</EnableInformationalImportance> <EnableSecurityType>false</EnableSecurityType> <EnableCostType>false</EnableCostType> <EnableUsageType>false</EnableUsageType> <EnableAvailabilityType>false</EnableAvailabilityType> <EnableTrustedAdvisorType>false</EnableTrustedAdvisorType> </DailyBestPracticeEmailSettings> </DailyEmailSettings> <WeeklyEmailSettings> <EnableWeeklyInventory>true</EnableWeeklyInventory> <EnableWeeklyS3Summary>true</EnableWeeklyS3Summary> <EnableWeeklyEc2Trend>true</EnableWeeklyEc2Trend> <EnableWeeklyS3Trend>false</EnableWeeklyS3Trend> <EnableWeeklyEc2Utilization>true</EnableWeeklyEc2Utilization> <EnableWeeklyBestPractice>false</EnableWeeklyBestPractice> <WeeklyBestPracticeEmailSettings> <EnableHighImportanceWeekly>false</EnableHighImportanceWeekly> <EnableMediumImportanceWeekly>false</EnableMediumImportanceWeekly> <EnableLowImportanceWeekly>false</EnableLowImportanceWeekly> <EnableInformationalImportanceWeekly>false</EnableInformationalImportanceWeekly> <EnableSecurityTypeWeekly>false</EnableSecurityTypeWeekly> <EnableCostTypeWeekly>false</EnableCostTypeWeekly> <EnableUsageTypeWeekly>false</EnableUsageTypeWeekly> <EnableAvailabilityTypeWeekly>false</EnableAvailabilityTypeWeekly> </WeeklyBestPracticeEmailSettings> </WeeklyEmailSettings> <MonthlyEmailSettings> <EnableMonthlyCost>false</EnableMonthlyCost> <EnableMonthlyAwsConsolidatedBillingSummary>false</EnableMonthlyAwsConsolidatedBillingSummary> <EnableMonthlyBestPractice>false</EnableMonthlyBestPractice> <DaysSelectedMonthly /> <MonthlyBestPracticeEmailSettings> <EnableHighImportanceMonthly>false</EnableHighImportanceMonthly> <EnableMediumImportanceMonthly>false</EnableMediumImportanceMonthly> <EnableLowImportanceMonthly>false</EnableLowImportanceMonthly> <EnableInformationalImportanceMonthly>false</EnableInformationalImportanceMonthly> <EnableSecurityTypeMonthly>false</EnableSecurityTypeMonthly> <EnableCostTypeMonthly>false</EnableCostTypeMonthly> <EnableUsageTypeMonthly>false</EnableUsageTypeMonthly> <EnableAvailabilityTypeMonthly>false</EnableAvailabilityTypeMonthly> </MonthlyBestPracticeEmailSettings> </MonthlyEmailSettings> </AccountAndEmailSettings> </accounts_and_email_settings> </GetAccountEmailSettingsResponse>
JSON:
{
"GetAccountEmailSettingsResponse": {
"accounts_and_email_settings": {
"AccountAndEmailSettings": {
"ProjectName": "Account_Name_Example",
"EmailReportRecipients": {
"EmailAddresses": "email1@cloudcheckr.com, email2@cloudcheckr.com"
},
"AlertEmailSettings": {
"EnableDailyCostAlert": "true",
"AwsCostThreshold": "10",
"EnableAwsHealthAlerts": "false",
"EnableAwsHealthAlertsIfAffects": "true"
},
"DailyEmailSettings": {
"EnableDailyChangeMonitoring": "false",
"EnableDailyBestPractice": "false",
"EnableDailyBillForceUsingCloudWatch": "false",
"EnableDailyAwsConsolidatedBillingSummary": "true",
"EnableDailyChangeMonitoringAwsConfig": "false",
"EnableAutomation": "false",
"EnableImproperlyTaggedResources": "false",
"EnableDailyCloudTrailSummary": "false",
"DailyBestPracticeEmailSettings": {
"EnableHighImportance": "false",
"EnableMediumImportance": "false",
"EnableLowImportance": "false",
"EnableInformationalImportance": "false",
"EnableSecurityType": "false",
"EnableCostType": "false",
"EnableUsageType": "false",
"EnableAvailabilityType": "false",
"EnableTrustedAdvisorType": "false"
}
},
"WeeklyEmailSettings": {
"EnableWeeklyInventory": "true",
"EnableWeeklyS3Summary": "true",
"EnableWeeklyEc2Trend": "true",
"EnableWeeklyS3Trend": "false",
"EnableWeeklyEc2Utilization": "true",
"EnableWeeklyBestPractice": "false",
"WeeklyBestPracticeEmailSettings": {
"EnableHighImportanceWeekly": "false",
"EnableMediumImportanceWeekly": "false",
"EnableLowImportanceWeekly": "false",
"EnableInformationalImportanceWeekly": "false",
"EnableSecurityTypeWeekly": "false",
"EnableCostTypeWeekly": "false",
"EnableUsageTypeWeekly": "false",
"EnableAvailabilityTypeWeekly": "false"
}
},
"MonthlyEmailSettings": {
"EnableMonthlyCost": "false",
"EnableMonthlyAwsConsolidatedBillingSummary": "false",
"EnableMonthlyBestPractice": "false",
"DaysSelectedMonthly": "",
"MonthlyBestPracticeEmailSettings": {
"EnableHighImportanceMonthly": "false",
"EnableMediumImportanceMonthly": "false",
"EnableLowImportanceMonthly": "false",
"EnableInformationalImportanceMonthly": "false",
"EnableSecurityTypeMonthly": "false",
"EnableCostTypeMonthly": "false",
"EnableUsageTypeMonthly": "false",
"EnableAvailabilityTypeMonthly": "false"
}
}
}
}
}
Get Account Level Tags V2
The API method “get_account_level_tags_v2”, returns enabled account-level tags in three ways:
When called with only an access key, the call returns all account-level tags enabled in this customer, grouped by project name.
When called with a general account specified, the call returns all account-level tags enabled on that general account.
When called with a Multi-Account View specified, the call returns a list of accounts associated with the MAV and all enabled tags in the MAV.
Using call against general accounts:
The preferred HTTP method for this call is GET.
XML call:
https://api.cloudcheckr.com/api/account.xml/get_account_level_tags_v2?access_key=[access_key]
JSON call:
https://api.cloudcheckr.com/api/account.json/get_account_level_tags_v2?access_key=[access_key]
INPUT PARAMETERS
This call accepts these parameters:
- access_key (required) – Admin-Level Access Key is required for this call.
- use_account (optional) – Account name is used here; returns enabled account-level tags from specific account(s).
OUTPUT
XML Example:
<AccountLevelTagsReponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <AccountItems> <AccountItem> <AccountName>My General Account Name</AccountName> <TagsNames> <string>MyAccountLevelTag1</string> <string>MyAccountLevelTag2</string> </TagsNames> </AccountItem> </AccountItems> </AccountLevelTagsReponse>
JSON Example:
{ {AccountItems": [{"AccountName": "814089178758_IOC_PRD", "TagsNames": ["ISD", "USD Accounts", "All Intel Accounts", "All SSG Accounts]}]}
Using the call against Multi-Account Views:
XML call:
https://api.cloudcheckr.com/api/account.xml/get_account_level_tags_v2?access_key=[access_key]&use_account=[MAV account name]
JSON call:
https://api.cloudcheckr.com/api/account.json/get_account_level_tags_v2?access_key=[access_key]&use_account=[MAV account name]
INPUT PARAMETERS
This call accepts these parameters:
- access_key (required) – Admin-Level Access Key is required for this call.
- use_account (required)- Account name is used here; returns enabled account-level tags from MAV account(s).
OUTPUT
XML Example:
<AccountLevelTagsReponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <AccountItems> <AccountItem> <AccountName>My MAV Account Name</AccountName> <TagsNames> <string>MyAccountLevelTag1</string> <string>MyAccountLevelTag2</string> </TagsNames> </AccountItem> </AccountItems> </AccountLevelTagsReponse>
JSON Example:
{ "AccountLevelTagsReponse": { "-xmlns:xsd": "http://www.w3.org/2001/XMLSchema", "-xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", "AccountItems": { "AccountItem": { "AccountName": "My MAV Account Name", "TagsNames": { "string": [ "MyAccountLevelTag1", "MyAccountLevelTag2" ] } } } } }
Get Accounts By Group
The API method, “get_accounts_by_group”, is used to return a list of accounts based by a group ID.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level API key |
group_id | string | required; ID of the group |
use_account | string | required; name of the account in the application |
use_cc_account_id | string | required; account ID used in the application |
use_aws_account_id | string | required; the 12-digit AWS account ID |
ENDPOINT URL:
https://api.cloudcheckr.com/api/account.[json|xml]/get accounts_by_group
JSON/XML CALL EXAMPLE:
curl --request POST \
-- 'https://api.cloudcheckr.com/api/account.[json|xml]/get_accounts_by_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)(admin-level)access_key": "someValHere",
"(required)group_id": "someValHere",
"use_account": "someValHere",
"use_cc_account_id": "someValHere",
"use_aws_account_id": "someValHere",
}
SUCCESSFUL JSON/XML RESPONSE:
{
"Projects": [
{
"Id": 3,
"Name": "2150 AWS Prod",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "215011050627",
"HasCredentials": true,
"Note": "",
"LastUpdated": "2019-09-19T22:00:50"
},
{
"Id": 3,
"Name": "2150 AWS Prod",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "215011050627",
"HasCredentials": true,
"Note": "",
"LastUpdated": "2019-09-19T22:00:50"
},
{
"Id": 4,
"Name": "949 AWS Prod",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "949195593353",
"HasCredentials": true,
"Note": null,
"LastUpdated": "2019-09-19T13:58:42"
},
{
"Id": 4,
"Name": "949 AWS Prod",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "949195593353",
"HasCredentials": true,
"Note": null,
"LastUpdated": "2019-09-19T13:58:42"
},
{
"Id": 6,
"Name": "4430 AWS Prod",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "443094636793",
"HasCredentials": true,
"Note": null,
"LastUpdated": "2019-09-19T18:24:01"
},
{
"Id": 6,
"Name": "4430 AWS Prod",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "443094636793",
"HasCredentials": true,
"Note": null,
"LastUpdated": "2019-09-19T18:24:01"
},
{
"Id": 8,
"Name": "open-sales-int-field-poc",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "103237659442",
"HasCredentials": true,
"Note": "tesst",
"LastUpdated": "2019-09-19T18:18:50"
},
{
"Id": 821,
"Name": "China Test",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "281027638441",
"HasCredentials": true,
"Note": null,
"LastUpdated": "2017-05-16T15:07:50"
},
{
"Id": 938,
"Name": "DevOps Account",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "087544996801",
"HasCredentials": true,
"Note": null,
"LastUpdated": "2019-09-19T14:55:58"
},
{
"Id": 1522,
"Name": "Map To Payer",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "625072036134",
"HasCredentials": true,
"Note": null,
"LastUpdated": "2019-09-20T09:42:35"
},
{
"Id": 1536,
"Name": "183698509299",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "183698509299",
"HasCredentials": true,
"Note": null,
"LastUpdated": "2019-09-20T16:09:13"
},
{
"Id": 1537,
"Name": "245990094719",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "245990094719",
"HasCredentials": true,
"Note": null,
"LastUpdated": null
},
{
"Id": 1539,
"Name": "{\"Rowkey\":\"gy6x99zrwhea7r2s69xhjb861ejh3025\",\"Data\":\"+nj0zsTpqp20TR+3J5d/iQ==\"}",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "557949322966",
"HasCredentials": true,
"Note": null,
"LastUpdated": null
},
{
"Id": 1540,
"Name": "260172486890",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "260172486890",
"HasCredentials": true,
"Note": null,
"LastUpdated": null
},
{
"Id": 1645,
"Name": "718017 Demo",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": null,
"HasCredentials": false,
"Note": null,
"LastUpdated": null
},
{
"Id": 1662,
"Name": "1836 Duplicate Test",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": "183698509299",
"HasCredentials": true,
"Note": null,
"LastUpdated": "2019-09-19T17:58:44"
},
{
"Id": 1667,
"Name": "{\"Rowkey\":\"gy6x99zrwhea7r2s69xhjb861ejh3025\",\"Data\":\"le+IPer7RwEkaZIUzUkC4w==\"}",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": null,
"HasCredentials": false,
"Note": null,
"LastUpdated": null
},
{
"Id": 1669,
"Name": "{\"Rowkey\":\"gy6x99zrwhea7r2s69xhjb861ejh3025\",\"Data\":\"hBuyY+5DPgGWQa0Zldizqw==\"}",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": null,
"HasCredentials": false,
"Note": null,
"LastUpdated": null
},
{
"Id": 1670,
"Name": "{\"Rowkey\":\"gy6x99zrwhea7r2s69xhjb861ejh3025\",\"Data\":\"1QvCGYHCAJ9D+TZzj8gs+Q==\"}",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": null,
"HasCredentials": false,
"Note": null,
"LastUpdated": null
},
{
"Id": 1672,
"Name": "{\"Rowkey\":\"gy6x99zrwhea7r2s69xhjb861ejh3025\",\"Data\":\"qgBge5jxZGgi9HmkbPqWmw==\"}",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": null,
"HasCredentials": false,
"Note": null,
"LastUpdated": null
},
{
"Id": 1674,
"Name": "{\"Rowkey\":\"gy6x99zrwhea7r2s69xhjb861ejh3025\",\"Data\":\"RTtaVBm1Eko3i3+azzldTA==\"}",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": null,
"HasCredentials": false,
"Note": null,
"LastUpdated": null
},
{
"Id": 1675,
"Name": "Sample (demo purposes only)",
"Provider": "Amazon Web Services",
"Type": "General",
"AccountId": null,
"HasCredentials": false,
"Note": null,
"LastUpdated": null
}
]
}
Get Accounts V2
The API method, “get_accounts_v2”, is used to return a complete list of all AWS accounts registered in CloudCheckr. This call will return an ID for each account that can be used for the parameter, “use_cc_account_id”, when making calls to the admin-level API. It will also include the AWS account ID.
The preferred HTTP method for this call is GET.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required, admin-level API key |
use_account | string | required/optional; name of the account in CloudCheckr; must be a payer account in CloudCheckr* |
use_cc_account_id | string | required/optional; unique account ID used in CloudCheckr; must be a payer account in CloudCheckr* |
use_aws_account_id | string | required/optional; the 12-digit AWS account ID; must be a payer account in CloudCheckr* |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/get_accounts_v2?access_key=[access_key]
REQUEST EXAMPLE:
curl -X GET \
-- https://api.cloudcheckr.com/api/account.[json|xml]/get_accounts_v2?access_key=your_admin_access_key'\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
RESPONSE EXAMPLE:
XML:
<GetAccountsResponse2 xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <accounts_and_users> <AccountAndUsernames> <account_name>AWS Account1</account_name> <cc_account_id>1</cc_account_id> <aws_account_id>123456789012</aws_account_id> <user_names> <string>user@domain.com</string> </user_names> </AccountAndUsernames> </accounts_and_users> </GetAccountsResponse2>
JSON:
{
"accounts_and_users": [
{
"account_name": "AWS Account1",
"cc_account_id": "1",
"user_names":
"aws_account_id":"123456789012" [
"user@domain.com"
]
},
{
"accounts_and_users": [
{
"account_name": "AWS Account2",
"cc_account_id": "2",
"user_names":
"aws_account_id":"234567890123" [
"user@domain.com"
]
},
{
"accounts_and_users": [
{
"account_name": "AWS Account3",
"cc_account_id": "3",
"user_names":
"aws_account_id":"345678901234" [
"user@domain.com"
]
}
]
}
Get Accounts V4
The API method, “get_accounts_v4”, is used to return a complete list of all AWS and Azure accounts registered in CloudCheckr. This call will return an ID for each account that can be used for the parameter, “use_cc_account_id”, when making calls to the admin-level API. For AWS, it will include the AWS account ID and for Azure, it will include the Subscription ID.
The preferred HTTP method for this call is GET.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required, admin-level API key |
use_account | string | required/optional; name of the account in CloudCheckr; must be a payer account in CloudCheckr* |
use_cc_account_id | string | required/optional; unique account ID used in CloudCheckr; must be a payer account in CloudCheckr* |
use_aws_account_id | string | required/optional; the 12-digit AWS account ID; must be a payer account in CloudCheckr* |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/get_accounts_v4?access_key=[access_key]
REQUEST EXAMPLE:
curl -X GET \
-- https://api.cloudcheckr.com/api/account.[json|xml]/get_accounts_v4?access_key=your_admin_access_key'\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
RESPONSE EXAMPLE:
XML:
<GetAccountsResponse4 xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <accounts_and_users> <AccountAndUsernames4> <account_name>AWS Account Name</account_name> <cc_account_id>1</cc_account_id> <user_names> <string>user@domain.com</string> </user_names> <aws_account_id>123456789012</aws_account_id> <externalId>CC-99999999999999999999999999999999</externalId> </AccountAndUsernames4> <AccountAndUsernames4> <account_name>Azure Subscription</account_name> <cc_account_id>2</cc_account_id> <user_names> <string>user@domain.com</string> </user_names> <externalId>CC-88888888888888888888888888888888</externalId> <azure_account_id>11111111-2222-3333-4444-555555555555</azure_account_id> </AccountAndUsernames4> </accounts_and_users> </GetAccountsResponse4>
JSON:
{
"accounts_and_users": {
"accounts_and_users": [
{
"azure_account_id": null,
"externalId": "CC-99999999999999999999999999999999",
"aws_account_id": "123456789012",
"account_name": "AWS Account Name",
"cc_account_id": "1",
"user_names": [
"user@domain.com"
]
},
{
"azure_account_id": "11111111-2222-3333-4444-555555555555",
"externalId": "CC-88888888888888888888888888888888",
"aws_account_id": null,
"account_name": "Azure Subscription",
"cc_account_id": "2",
"user_names": [
"user@domain.com"
]
}
]
}
Get Custom Usage Rates
The API method, "get_custom_usage_rates", is used to return any custom usage rates from the Custom Usage Rate page.
INPUT PARAMETERS:
Parameter | Type | Description |
id | integer | optional; the ID of the custom usage rate to filter by |
accounts | string | optional; a comma-separated list of AWS Account IDs to find the custom usage rates that are affecting those AWS Account IDs |
access_key | string | required; admin-level access key |
use_cc_account_id | string | required; the CloudCheckr ID of the account that you are making the call for |
API CALL URL:
https://api.cloudcheckr.com/api/billing.json/get_custom_usage_rates?access_key=[access_key]&use_cc_account_id=[account_id]
OUTPUT & RESPONSE:
{ "CustomUsageRates": [ { "Id": 83, "StartDate": "9/1/2024", "EndDate": "N/A", "ChargeValue": "20", "Description": "TestDesciption14", "ResourceId": null, "Account": "106491416295", "Region": "Africa (Cape Town),Asia Pacific (Hong Kong)", "InvertAccountsSelection": false, "InvertRegionsSelection": false, "InvertAccountFamiliesSelection": false, "InvertServicesSelection": false, "InvertOperationsSelection": false, "InvertUsageTypesSelection": false, "InvertTransactionTypesSelection": false, "AccountFilterType": "Account", "AccountFamily": "", "AwsService": "EC2,SimpleDB,SQS", "Operation": "PutObject,RunInstances:0002:SV012,SetQueueAttributes", "UsageType": "CAN1-EUC1-AWS-Out-Bytes,UGW1-TimedStorage-RRS-ByteHrs", "UsageTypeContains": "", "TransactionType": "All Transaction Types", "ReservedInstance": "All Reserved Instance Styles" } ] }
Get CloudTrail Custom Metrics
The API method, “get_cloudtrail_custom_metrics”, is used to export a list of Amazon Machine Images (AMIs) and every launched instance. This API request is based on the Ec2AmiWorkload custom metric.
The preferred HTTP method for this call is GET.
INPUT PARAMETERS:
Parameter |
Type |
Description |
access_key |
string |
required; admin-level access key |
type |
string |
optional; type of custom metric |
from |
DateTime |
optional; the date that you want CloudCheckr to start getting data for the CloudTrail custom metrics |
to |
DateTime |
optional; the date that you want CloudCheckr to stop getting data for the CloudTrail custom metrics |
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/security.[json|xml]/get_cloudtrail_custom_metrics
REQUEST EXAMPLE:
curl -- request GET \
-- 'https://api.cloudcheckr.com/api.cloudcheckr.com/api/security.[json|xml]/get_cloudtrail_custom_metrics?access_key=[your_access_key]&use_cc_account_id=3&type=Ec2AmiWorkload'\
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
RESPONSE EXAMPLE:
This call exports the results to a compressed CSV file and contains the following data:
AMI 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 |
Get External ID
The API method, “get_external_id”, is used to retrieve external IDs if you require an external ID to be associated with a specific CloudCheckr account.
INPUT PARAMETERS:
access_key | string | required; admin-level API key
Alternatively, you can use an account API key to rename the account.
|
use_account | string | required/optional; name of the account in CloudCheckr* |
API CALL URL:
https://api.cloudcheckr.com/api/account.[json|xml]/get_external_id?access_key=00000&use_account=CloudCheckrDev'
REQUEST EXAMPLE:
curl -X GET \
-- https://api.cloudcheckr.com/api/account.[json|xml]/get_external_id?access_key=00000&use_account=CloudCheckrDev'
-- header 'cache-control: no-cache' \
-- header 'content-type: application/[json|xml]' \
RESPONSE EXAMPLES:
XML:
CC-8B02A95B24EAA7179E8118C1216A9BFA 352813966189 CloudCheckrDev
JSON:
CC-8B02A95B24EAA7179E8118C1216A9BFA 352813966189 CloudCheckrDev
Get Group
The API method, “get_group”, is used to retrieve a group.
The preferred HTTP method for this call is POST.
INPUT PARAMETERS:
Parameter | Type | Description |
access_key | string | required; admin-level API key |
group_id | string | required; ID of the group |
use_account | string | required; name of the account in the application |
use_cc_account_id | string | required; account ID used in the application |
use_aws_account_id | string | required; the 12-digit AWS account ID |
ENDPOINT URL:
https://api.cloudcheckr.com/api/account.[json|xml]/get_group
JSON/XML CALL EXAMPLE:
curl --request POST \
-- 'https://api.cloudcheckr.com/api/ac