/Quota/Projects/[ProjectName]/Quotas
This URL returns the information about all quotas in all groups for the requested project. This is the flattened list of all quotas for all groups.
The information returned is similar to that returned by the
/Projects/[ProjectName]/QuotaGroups/[QuotaGroup]/Quotas URL in
/Quota/Projects/[ProjectName]/QuotaGroups/[QuotaGroup]/Quotas, but as the list contains information from multiple groups each quota includes the GroupName, and a FullName (the GroupName and Name combined), and the Type.
The PendMode and PendLimit are not available by this URL; however, they can be retrieved from the /Projects/[ProjectName]/QuotaGroups/[QuotaGroup] URL by looking up the GroupName of a quota.
XML example
<Quotas TotalCompleted="3" TotalPending="1" TotalToTarget="3" TotalTarget="25">
<Quota Name="Child" GroupName="Expressions" FullName="Expressions:Child" Expression="Age < 18" Type="Expression" IsCounterOnly="True" Target="10" Pending="0" Completed="0" />
<Quota Name="Adult" GroupName="Expressions" FullName="Expressions:Adult" Expression="Age >= 18" Type="Expression" IsCounterOnly="True" Target="10" Pending="0" Completed="2" />
<Quota Name="Side.(0.UseQ).(0.Brand1)" GroupName="UseQ" FullName="UseQ:Side.(0.UseQ).(0.Brand1)" Expression="UseQ.HasAnswer({Brand1})" Type="Table" Priority="1" AllowOverQuota="True" Target="5" Pending="1" Completed="0" />
<Quota Name="Side.(0.UseQ).(1.Brand2)" GroupName="UseQ" FullName="UseQ:Side.(0.UseQ).(1.Brand2)" Expression="UseQ.HasAnswer({Brand2 Type="Table" Priority="2" AllowOverQuota="True" Target="5" Pending="0" Completed="1" />
<Quota Name="Side.(0.UseQ).(2.Brand3)" GroupName="UseQ" FullName="UseQ:Side.(0.UseQ).(2.Brand3)" Expression="UseQ.HasAnswer({Brand3})" Type="Table" Priority="3" AllowOverQuota="True" Target="5" Pending="0" Completed="2" />
<Quota Name="Side.(0.UseQ).(3.Brand4)" GroupName="UseQ" FullName="UseQ:Side.(0.UseQ).(3.Brand4)" Expression="UseQ.HasAnswer({Brand4})" Type="Table" Priority="4" AllowOverQuota="True" Target="5" Pending="0" Completed="0" />
<Quota Name="Side.(0.UseQ).(4.Brand5)" GroupName="UseQ" FullName="UseQ:Side.(0.UseQ).(4.Brand5)" Expression="UseQ.HasAnswer({Brand5})" Type="Table" Priority="5" AllowOverQuota="True" Target="5" Pending="0" Completed="0" />
</Quotas>
JSON example
{
"TotalCompleted": 45,
"TotalPending": 0,
"TotalToTarget": 45,
"TotalTarget": 100,
"Quotas": [
{
"Name": "Child",
"GroupName": "Expressions",
"FullName": "Expressions:Child",
"Expression": "Age < 18",
"Type": "Expression",
"IsCounterOnly": true,
"Pending": 0,
"Completed": 0,
"Target": 10
},
{
"Name": "Adult",
"GroupName": "Expressions",
"FullName": "Expressions:Adult",
"Expression": "Age >= 18",
"Type": "Expression",
"IsCounterOnly": true,
"Pending": 1,
"Completed": 4,
"Target": 10
},
{
"Name": "Side.(0.UseQ).(0.Brand1)",
"GroupName": "UseQ",
"FullName": "UseQ:Side.(0.UseQ).(0.Brand1)",
"Expression": "UseQ.HasAnswer({Brand1})",
"Type": "Table",
"Priority": "1",
"AllowOverQuota": true,
"Pending": 0,
"Completed": 2,
"Target": 5
},
… cut …
{
"Name": "Side.(0.UseQ).(4.Brand5)",
"GroupName": "UseQ",
"FullName": "UseQ:Side.(0.UseQ).(4.Brand5)",
"Expression": "UseQ.HasAnswer({Brand5})",
"Type": "Table",
"Priority": "5",
"AllowOverQuota": true,
"Pending": 0,
"Completed": 0,
"Target": 5
}
]
}
Notes
▪There is no URL to request a quota cell using its FullName, because this would require a URL that contains : (colon); for example:
/Projects/MM1WithQuota/Quotas/UseQ:Side.(0.UseQ).(0.Brand1)
Using a colon is not allowed by RFC1738.
/Projects/MM1WithQuota/QuotaGroups/UseQ/Quotas/Side.(0.UseQ).(0.Brand1)
See also