Requires any of the roles: | SystemAdministrator, Manager, Customer |
GET | /reports/endpoints |
---|
namespace Voice.Api.Endpoints
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
type ReportStatuses =
| Queued = 0
| Running = 1
| Completed = 2
| Error = 3
[<AllowNullLiteral>]
type ReportInfo() =
member val Id:String = null with get,set
member val Name:String = null with get,set
member val Status:ReportStatuses = new ReportStatuses() with get,set
member val StatusMessage:String = null with get,set
member val DateCreated:String = null with get,set
member val DateUpdated:String = null with get,set
member val DownloadLink:String = null with get,set
member val JobId:String = null with get,set
member val EmailAddressToNotify:String = null with get,set
member val Server:String = null with get,set
[<AllowNullLiteral>]
type ReportRequest() =
interface IPost
///<summary>
///The account ID this report should be run for
///</summary>
[<ApiMember(Description="The account ID this report should be run for")>]
member val AccountId:String = null with get,set
///<summary>
///The email address to notify after the report is run
///</summary>
[<ApiMember(Description="The email address to notify after the report is run")>]
member val EmailAddressToNotify:String = null with get,set
///<summary>
///The webhook to call after the report is complete with the data from the report
///</summary>
[<ApiMember(Description="The webhook to call after the report is complete with the data from the report")>]
member val WebhookUrl:String = null with get,set
type EndpointTypes =
| PhoneNumber = 0
| User = 1
| FaxNumber = 2
| EmailAddress = 3
| Unused_1 = 4
| Unused_2 = 5
| Unused_3 = 6
| Unused_4 = 7
| Unused_5 = 8
| Team = 9
| Assistant = 10
///<summary>
///This report returns all of the endpoints broken down by type per tab
///</summary>
[<Api(Description="This report returns all of the endpoints broken down by type per tab")>]
[<AllowNullLiteral>]
type EndpointsReport() =
inherit ReportRequest()
///<summary>
///The types of endpoints to return
///</summary>
[<ApiMember(Description="The types of endpoints to return")>]
member val Types:ResizeArray<EndpointTypes> = null with get,set
///<summary>
///Filter by specific customer
///</summary>
[<ApiMember(Description="Filter by specific customer")>]
member val CustomerId:String = null with get,set
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.
GET /reports/endpoints HTTP/1.1 Host: team.evovoice.io Accept: text/jsv
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 }