Requires any of the roles: | SystemAdministrator, Manager, Customer |
All Verbs | /reports/metric |
---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
open class CustomMetricReport : ReportRequest()
{
open var startDate:String? = null
open var endDate:String? = null
open var metricName:String? = null
open var timeZoneId:String? = null
}
open class ReportRequest : IPost
{
/**
* The account ID this report should be run for
*/
@ApiMember(Description="The account ID this report should be run for")
open var accountId:String? = null
/**
* The email address to notify after the report is run
*/
@ApiMember(Description="The email address to notify after the report is run")
open var emailAddressToNotify:String? = null
/**
* The webhook to call after the report is complete with the data from the report
*/
@ApiMember(Description="The webhook to call after the report is complete with the data from the report")
open var webhookUrl:String? = null
}
open class ReportInfo
{
open var id:String? = null
open var name:String? = null
open var status:ReportStatuses? = null
open var statusMessage:String? = null
open var dateCreated:String? = null
open var dateUpdated:String? = null
open var downloadLink:String? = null
open var jobId:String? = null
open var emailAddressToNotify:String? = null
open var server:String? = null
}
enum class ReportStatuses
{
Queued,
Running,
Completed,
Error,
}
Kotlin CustomMetricReport DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /reports/metric HTTP/1.1
Host: team.evovoice.io
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
startDate: String,
endDate: String,
metricName: String,
timeZoneId: String,
accountId: String,
emailAddressToNotify: String,
webhookUrl: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { id: String, name: String, status: Queued, statusMessage: String, dateCreated: String, dateUpdated: String, downloadLink: String, jobId: String, emailAddressToNotify: String, server: String }