Admin API Reference Guide

You can now use CloudCheckr CMx access tokens when running API calls in our legacy product. You can still use your existing API access keys in the legacy product, but access tokens will provide better security, more consistent authorization management, and the ability to access multiple projects and accounts.
Please use these URLs when accessing the API in the following platforms:
  • 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.

CloudCheckr is revamping its API documentation to ensure that it reflects the best practices for REST and to improve overall consistency. We will restructure each call to include these sections:

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.

When using an admin-level access keys to make those calls you must add one of the following parameter to your calls:
  • 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*
One of the * parameters must be defined.

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*

You will only need to define one of the * parameters if you want the new account to be linked to a payer account; if you do not want to link a payer account, then none of the three * parameters are needed.

API CALL URL:

https://api.cloudcheckr.com/api/account.[json|xml]/add_account_v3?access_key=your_admin_access_key


REQUEST EXAMPLE:

The Request Example uses the “cc_account_id” to show what the URL would look like if a customer needed a new account linked to a payer account.

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"
          }
You can use the “role_account_id” and “cc_external_id” to create a role using the AWS Command Line Interface (CLI). See the Create Role topic in the AWS documentation for more information.

Add API Key

The API method, “add_api_key”, is used to create a new CloudCheckr API key for a specific account.

You cannot create admin-level API keys with this method.

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
*Because this call requires an admin-level access key, you must add one of the following parameters to your request:
  • 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
email 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*
One of the * parameters must be defined.

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*
One of the * parameters must be defined.

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
*Because this call requires an admin-level access key, you must add one of the following parameters to your request:
  • 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’.

*Because this call requires an admin-level access key, you are required to add one of the following parameters to your request:
  • 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*
One of the * parameters must be defined.

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
email 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
*Because this call requires an admin-level access key, you must add one of the following parameters to your request:
  • 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*
If you use an admin-level API key, you must define one of the * parameters.

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:

  • Savings
  • Best Practices
  • Cost
  • Inventory
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

*Because this call requires an admin-level access key, you must add one of the following parameters to your request:
  • 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*
One of the * parameters must be defined.

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
}
In our response examples, please note that:
  • 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*
 One of the * parameters must be defined.

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.

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*
One of the * parameters must be defined.

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.

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*
One of the * parameters must be defined.

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.

The preferred HTTP method for this call is GET. This call can only be made using an admin-level access key.

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
Currently, the only acceptable value is Ec2AmiWorkload.

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

*Because this call requires an admin-level access key, you must add one of the following parameters to your request:
  • 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
If the API request does not produce any results, it will generate a blank CSV file.

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