<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 1.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../includes/main.css" type="text/css">
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
<title>Apache CloudStack | The Power Behind Your Cloud</title>
</head>
<body>
<div id="insidetopbg">
<div id="inside_wrapper">
<div class="uppermenu_panel">
<div class="uppermenu_box"></div>
</div>
<div id="main_master">
<div id="inside_header">
<div class="header_top">
<a class="cloud_logo" href="http://cloudstack.org"></a>
<div class="mainemenu_panel"></div>
</div>
</div>
<div id="main_content">
<div class="inside_apileftpanel">
<div class="inside_contentpanel" style="width:930px;">
<div class="api_titlebox">
<div class="api_titlebox_left">
<span>
									Apache CloudStack v4.6.0 Domain Admin API Reference
								</span>
<p></p>
<h1>listUsageRecords</h1>
<p>Lists usage records for accounts</p>
</div>
<div class="api_titlebox_right">
<a class="api_backbutton" href="../TOC_Domain_Admin.html"></a>
</div>
</div>
<div class="api_tablepanel">
<h2>Request parameters</h2>
<table class="apitable">
<tr class="hed">
<td style="width:200px;"><strong>Parameter Name</strong></td><td style="width:500px;">Description</td><td style="width:180px;">Required</td>
</tr>
<tr>
<td style="width:200px;"><strong>enddate</strong></td><td style="width:500px;"><strong>End date range for usage record query (use format "yyyy-MM-dd" or the new format "yyyy-MM-dd HH:mm:ss", e.g. startDate=2015-01-01 or startdate=2015-01-01 10:30:00).</strong></td><td style="width:180px;"><strong>true</strong></td>
</tr>
<tr>
<td style="width:200px;"><strong>startdate</strong></td><td style="width:500px;"><strong>Start date range for usage record query (use format "yyyy-MM-dd" or the new format "yyyy-MM-dd HH:mm:ss", e.g. startDate=2015-01-01 or startdate=2015-01-01 11:00:00).</strong></td><td style="width:180px;"><strong>true</strong></td>
</tr>
<tr>
<td style="width:200px;"><i>account</i></td><td style="width:500px;"><i>List usage records for the specified user.</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>accountid</i></td><td style="width:500px;"><i>List usage records for the specified account</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>domainid</i></td><td style="width:500px;"><i>List usage records for the specified domain.</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>keyword</i></td><td style="width:500px;"><i>List by keyword</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>page</i></td><td style="width:500px;"><i></i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>pagesize</i></td><td style="width:500px;"><i></i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>projectid</i></td><td style="width:500px;"><i>List usage records for specified project</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>type</i></td><td style="width:500px;"><i>List usage records for the specified usage type</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>usageid</i></td><td style="width:500px;"><i>List usage records for the specified usage UUID. Can be used only together with TYPE parameter.</i></td><td style="width:180px;"><i>false</i></td>
</tr>
</table>
</div>
<div class="api_tablepanel">
<h2>Response Tags</h2>
<table class="apitable">
<tr class="hed">
<td style="width:200px;"><strong>Response Name</strong></td><td style="width:500px;">Description</td>
</tr>
<tr>
<td style="width:200px;"><strong>account</strong></td><td style="width:500px;">the user account name</td>
</tr>
<tr>
<td style="width:200px;"><strong>accountid</strong></td><td style="width:500px;">the user account Id</td>
</tr>
<tr>
<td style="width:200px;"><strong>cpunumber</strong></td><td style="width:500px;">number of cpu of resource</td>
</tr>
<tr>
<td style="width:200px;"><strong>cpuspeed</strong></td><td style="width:500px;">speed of each cpu of resource</td>
</tr>
<tr>
<td style="width:200px;"><strong>description</strong></td><td style="width:500px;">description of the usage record</td>
</tr>
<tr>
<td style="width:200px;"><strong>domain</strong></td><td style="width:500px;">the domain the resource is associated with</td>
</tr>
<tr>
<td style="width:200px;"><strong>domainid</strong></td><td style="width:500px;">the domain ID</td>
</tr>
<tr>
<td style="width:200px;"><strong>enddate</strong></td><td style="width:500px;">end date of the usage record</td>
</tr>
<tr>
<td style="width:200px;"><strong>isdefault</strong></td><td style="width:500px;">True if the resource is default</td>
</tr>
<tr>
<td style="width:200px;"><strong>issourcenat</strong></td><td style="width:500px;">True if the IPAddress is source NAT</td>
</tr>
<tr>
<td style="width:200px;"><strong>issystem</strong></td><td style="width:500px;">True if the IPAddress is system IP - allocated during vm deploy or lb rule create</td>
</tr>
<tr>
<td style="width:200px;"><strong>memory</strong></td><td style="width:500px;">memory allocated for the resource</td>
</tr>
<tr>
<td style="width:200px;"><strong>name</strong></td><td style="width:500px;">virtual machine name</td>
</tr>
<tr>
<td style="width:200px;"><strong>networkid</strong></td><td style="width:500px;">id of the network</td>
</tr>
<tr>
<td style="width:200px;"><strong>offeringid</strong></td><td style="width:500px;">offering ID</td>
</tr>
<tr>
<td style="width:200px;"><strong>project</strong></td><td style="width:500px;">the project name of the resource</td>
</tr>
<tr>
<td style="width:200px;"><strong>projectid</strong></td><td style="width:500px;">the project id of the resource</td>
</tr>
<tr>
<td style="width:200px;"><strong>rawusage</strong></td><td style="width:500px;">raw usage in hours</td>
</tr>
<tr>
<td style="width:200px;"><strong>size</strong></td><td style="width:500px;">resource size</td>
</tr>
<tr>
<td style="width:200px;"><strong>startdate</strong></td><td style="width:500px;">start date of the usage record</td>
</tr>
<tr>
<td style="width:200px;"><strong>templateid</strong></td><td style="width:500px;">template ID</td>
</tr>
<tr>
<td style="width:200px;"><strong>type</strong></td><td style="width:500px;">resource type</td>
</tr>
<tr>
<td style="width:200px;"><strong>usage</strong></td><td style="width:500px;">usage in hours</td>
</tr>
<tr>
<td style="width:200px;"><strong>usageid</strong></td><td style="width:500px;">id of the resource</td>
</tr>
<tr>
<td style="width:200px;"><strong>usagetype</strong></td><td style="width:500px;">usage type ID</td>
</tr>
<tr>
<td style="width:200px;"><strong>virtualmachineid</strong></td><td style="width:500px;">virtual machine ID</td>
</tr>
<tr>
<td style="width:200px;"><strong>virtualsize</strong></td><td style="width:500px;">virtual size of resource</td>
</tr>
<tr>
<td style="width:200px;"><strong>zoneid</strong></td><td style="width:500px;">the zone ID</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
<div id="footer">
<div id="footer_mainmaster">
<p>Copyright &copy; 2015 The Apache Software Foundation, Licensed under the
                   <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0.</a>
<br>
                Apache, CloudStack, Apache CloudStack, the Apache CloudStack logo, the CloudMonkey logo  and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
</div>
</div>
</div>
</div>
</body>
</html>
