Evo Voice

<back to all web services

GetAIUsage

Requires Authentication
Required role:SystemAdministrator
The following routes are available for this service:
All Verbs/ai/usage
namespace Voice.Api.AI

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type AIAccountUsage() = 
        ///<summary>
        ///The account ID this customer belongs to
        ///</summary>
        [<ApiMember(Description="The account ID this customer belongs to")>]
        member val AccountId:String = null with get,set

        ///<summary>
        ///The total number of AI minutes used in the date range
        ///</summary>
        [<ApiMember(Description="The total number of AI minutes used in the date range")>]
        member val AIMinutes:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type AICustomerUsage() = 
        ///<summary>
        ///The account ID this customer belongs to
        ///</summary>
        [<ApiMember(Description="The account ID this customer belongs to")>]
        member val AccountId:String = null with get,set

        ///<summary>
        ///The customer ID for this uage
        ///</summary>
        [<ApiMember(Description="The customer ID for this uage")>]
        member val CustomerId:String = null with get,set

        ///<summary>
        ///The total number of AI minutes used in the date range
        ///</summary>
        [<ApiMember(Description="The total number of AI minutes used in the date range")>]
        member val AIMinutes:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type AIUsage() = 
        member val AccountUsage:ResizeArray<AIAccountUsage> = null with get,set
        member val CustomerUsage:ResizeArray<AICustomerUsage> = null with get,set

    [<AllowNullLiteral>]
    type GetAIUsage() = 
        interface IGet
        ///<summary>
        ///Filter by account ID. If not specified will return entries for all customers in all accounts in the date range
        ///</summary>
        [<ApiMember(Description="Filter by account ID. If not specified will return entries for all customers in all accounts in the date range")>]
        member val AccountId:String = null with get,set

        ///<summary>
        ///Filter by customer ID. If not specified, will return all customers for the accounts considered
        ///</summary>
        [<ApiMember(Description="Filter by customer ID. If not specified, will return all customers for the accounts considered")>]
        member val CustomerId:String = null with get,set

        ///<summary>
        ///The start of the date range to consider
        ///</summary>
        [<ApiMember(Description="The start of the date range to consider")>]
        member val StartDate:String = null with get,set

        ///<summary>
        ///The end of the date range to consider
        ///</summary>
        [<ApiMember(Description="The end of the date range to consider")>]
        member val EndDate:String = null with get,set

F# GetAIUsage DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /ai/usage HTTP/1.1 
Host: team.evovoice.io 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<GetAIUsage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.AI">
  <AccountId>String</AccountId>
  <CustomerId>String</CustomerId>
  <EndDate>String</EndDate>
  <StartDate>String</StartDate>
</GetAIUsage>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<AIUsage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.AI">
  <AccountUsage>
    <AIAccountUsage>
      <AIMinutes>0</AIMinutes>
      <AccountId>String</AccountId>
    </AIAccountUsage>
  </AccountUsage>
  <CustomerUsage>
    <AICustomerUsage>
      <AIMinutes>0</AIMinutes>
      <AccountId>String</AccountId>
      <CustomerId>String</CustomerId>
    </AICustomerUsage>
  </CustomerUsage>
</AIUsage>