Evo Voice

<back to all web services

ListEndpoints

Lists all endpoints

Requires Authentication
Requires any of the roles:SystemAdministrator, Manager, Customer
The following routes are available for this service:
GET/endpoints
import java.math.*;
import java.util.*;
import net.servicestack.client.*;
import com.google.gson.annotations.*;
import com.google.gson.reflect.*;

public class dtos
{

    /**
    * Lists all endpoints
    */
    @Api(Description="Lists all endpoints")
    public static class ListEndpoints extends ListRequest<EndpointInfo>
    {
        /**
        * The IDs of the account whose endpoints you want to retrieve
        */
        @ApiMember(Description="The IDs of the account whose endpoints you want to retrieve")
        public ArrayList<String> accountIds = null;

        /**
        * The IDs of the customers whose endpoints you want to retrieve
        */
        @ApiMember(Description="The IDs of the customers whose endpoints you want to retrieve")
        public ArrayList<String> customerIds = null;

        /**
        * The third party IDs of endpoints you want to retrieve
        */
        @ApiMember(Description="The third party IDs of endpoints you want to retrieve")
        public ArrayList<String> referenceIds = null;

        /**
        * If you want a shall parent customer filter (e.g. no deep children)
        */
        @ApiMember(Description="If you want a shall parent customer filter (e.g. no deep children)")
        public Boolean shallowParent = null;

        /**
        * The IDs of the flows whose endpoints you want to retrieve
        */
        @ApiMember(Description="The IDs of the flows whose endpoints you want to retrieve")
        public ArrayList<String> flowIds = null;

        /**
        * The state where the specified flow IDs should be
        */
        @ApiMember(Description="The state where the specified flow IDs should be")
        public String flowState = null;

        /**
        * The list of tag IDs to filter by (must contain all)
        */
        @ApiMember(Description="The list of tag IDs to filter by (must contain all)")
        public ArrayList<String> tagIds = null;

        /**
        * Filter by name
        */
        @ApiMember(Description="Filter by name")
        public String nameFilter = null;

        /**
        * Filter by phone number
        */
        @ApiMember(Description="Filter by phone number")
        public String phoneNumberFilter = null;

        /**
        * Filter by type
        */
        @ApiMember(Description="Filter by type")
        public EndpointTypes type = null;

        /**
        * Filter by types
        */
        @ApiMember(Description="Filter by types")
        public ArrayList<EndpointTypes> types = null;

        /**
        * Filter by user mode
        */
        @ApiMember(Description="Filter by user mode")
        public UserModes userMode = null;

        /**
        * Filters for any endpoint data fields. Format for each entry should be 'FieldName=Value'. We do not support numeric or boolean currently
        */
        @ApiMember(Description="Filters for any endpoint data fields. Format for each entry should be 'FieldName=Value'. We do not support numeric or boolean currently")
        public ArrayList<String> dataFilters = null;

        /**
        * Filter by SIP user name
        */
        @ApiMember(Description="Filter by SIP user name")
        public String sipUserName = null;

        /**
        * Filter by flow parameters (this must be a JSON struct)
        */
        @ApiMember(Description="Filter by flow parameters (this must be a JSON struct)")
        public String flowParametersFilter = null;
        
        public ArrayList<String> getAccountIds() { return accountIds; }
        public ListEndpoints setAccountIds(ArrayList<String> value) { this.accountIds = value; return this; }
        public ArrayList<String> getCustomerIds() { return customerIds; }
        public ListEndpoints setCustomerIds(ArrayList<String> value) { this.customerIds = value; return this; }
        public ArrayList<String> getReferenceIds() { return referenceIds; }
        public ListEndpoints setReferenceIds(ArrayList<String> value) { this.referenceIds = value; return this; }
        public Boolean isShallowParent() { return shallowParent; }
        public ListEndpoints setShallowParent(Boolean value) { this.shallowParent = value; return this; }
        public ArrayList<String> getFlowIds() { return flowIds; }
        public ListEndpoints setFlowIds(ArrayList<String> value) { this.flowIds = value; return this; }
        public String getFlowState() { return flowState; }
        public ListEndpoints setFlowState(String value) { this.flowState = value; return this; }
        public ArrayList<String> getTagIds() { return tagIds; }
        public ListEndpoints setTagIds(ArrayList<String> value) { this.tagIds = value; return this; }
        public String getNameFilter() { return nameFilter; }
        public ListEndpoints setNameFilter(String value) { this.nameFilter = value; return this; }
        public String getPhoneNumberFilter() { return phoneNumberFilter; }
        public ListEndpoints setPhoneNumberFilter(String value) { this.phoneNumberFilter = value; return this; }
        public EndpointTypes getType() { return type; }
        public ListEndpoints setType(EndpointTypes value) { this.type = value; return this; }
        public ArrayList<EndpointTypes> getTypes() { return types; }
        public ListEndpoints setTypes(ArrayList<EndpointTypes> value) { this.types = value; return this; }
        public UserModes getUserMode() { return userMode; }
        public ListEndpoints setUserMode(UserModes value) { this.userMode = value; return this; }
        public ArrayList<String> getDataFilters() { return dataFilters; }
        public ListEndpoints setDataFilters(ArrayList<String> value) { this.dataFilters = value; return this; }
        public String getSipUserName() { return sipUserName; }
        public ListEndpoints setSipUserName(String value) { this.sipUserName = value; return this; }
        public String getFlowParametersFilter() { return flowParametersFilter; }
        public ListEndpoints setFlowParametersFilter(String value) { this.flowParametersFilter = value; return this; }
    }

    public static class ListRequest<T> implements IGet
    {
        /**
        * The page of data to retrieve
        */
        @ApiMember(Description="The page of data to retrieve")
        public Integer page = null;

        /**
        * If you want all objects to be returned. This should be used with care
        */
        @ApiMember(Description="If you want all objects to be returned. This should be used with care")
        public Boolean all = null;

        /**
        * The number per page to retrieve
        */
        @ApiMember(Description="The number per page to retrieve")
        public Integer countPerPage = null;

        /**
        * Specific IDs
        */
        @ApiMember(Description="Specific IDs")
        public ArrayList<String> specificIds = null;

        /**
        * Specify a sort field
        */
        @ApiMember(Description="Specify a sort field")
        public String sortField = null;

        /**
        * Specify a sort order
        */
        @ApiMember(Description="Specify a sort order")
        public SortOrders sortOrder = null;

        /**
        * Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array
        */
        @ApiMember(Description="Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array")
        public Boolean simplifiedPaging = null;
        
        public Integer getPage() { return page; }
        public ListRequest<T> setPage(Integer value) { this.page = value; return this; }
        public Boolean isAll() { return all; }
        public ListRequest<T> setAll(Boolean value) { this.all = value; return this; }
        public Integer getCountPerPage() { return countPerPage; }
        public ListRequest<T> setCountPerPage(Integer value) { this.countPerPage = value; return this; }
        public ArrayList<String> getSpecificIds() { return specificIds; }
        public ListRequest<T> setSpecificIds(ArrayList<String> value) { this.specificIds = value; return this; }
        public String getSortField() { return sortField; }
        public ListRequest<T> setSortField(String value) { this.sortField = value; return this; }
        public SortOrders getSortOrder() { return sortOrder; }
        public ListRequest<T> setSortOrder(SortOrders value) { this.sortOrder = value; return this; }
        public Boolean isSimplifiedPaging() { return simplifiedPaging; }
        public ListRequest<T> setSimplifiedPaging(Boolean value) { this.simplifiedPaging = value; return this; }
    }

    public static enum SortOrders
    {
        Ascend,
        Descend;
    }

    public static class EndpointInfo extends EntityInfo
    {
        /**
        * The account ID this endpoint is associated with
        */
        @ApiMember(Description="The account ID this endpoint is associated with")
        public String accountId = null;

        /**
        * The name of the account this endpoint is associated with
        */
        @ApiMember(Description="The name of the account this endpoint is associated with")
        public String accountName = null;

        /**
        * The ID of the customer this endpoint is associated with
        */
        @ApiMember(Description="The ID of the customer this endpoint is associated with")
        public String customerId = null;

        /**
        * The name of the customer this endpoint is associated with
        */
        @ApiMember(Description="The name of the customer this endpoint is associated with")
        public String customerName = null;

        /**
        * The third party reference ID for the endpoint
        */
        @ApiMember(Description="The third party reference ID for the endpoint")
        public String referenceId = null;

        /**
        * The breadcrumb to the customer for this endpoint
        */
        @ApiMember(Description="The breadcrumb to the customer for this endpoint")
        public ArrayList<CustomerBreadcrumb> customerBreadcrumb = null;

        /**
        * The display name of the endpoint
        */
        @ApiMember(Description="The display name of the endpoint")
        public String displayName = null;

        /**
        * The type of endpoint
        */
        @ApiMember(Description="The type of endpoint")
        public EndpointTypes type = null;

        /**
        * Extra info for this endpoint (typically to show in grid)
        */
        @ApiMember(Description="Extra info for this endpoint (typically to show in grid)")
        public String extraInformation = null;

        /**
        * The ID of the flow to use for voice
        */
        @ApiMember(Description="The ID of the flow to use for voice")
        public String flowId = null;

        /**
        * The name of the flow to use for voice
        */
        @ApiMember(Description="The name of the flow to use for voice")
        public String flowName = null;

        /**
        * The params for the voice flow
        */
        @ApiMember(Description="The params for the voice flow")
        public Struct flowParams = null;

        /**
        * Whether to use a single flow always or use scheduled flow system
        */
        @ApiMember(Description="Whether to use a single flow always or use scheduled flow system")
        public EndpointFlowSchedules flowSchedule = null;

        /**
        * This endpoint's schedule
        */
        @ApiMember(Description="This endpoint's schedule")
        public Schedule schedule = null;

        /**
        * The list of scheduled flows when using scheduling
        */
        @ApiMember(Description="The list of scheduled flows when using scheduling")
        public ArrayList<ScheduledFlow> scheduledFlows = null;

        /**
        * Disable SMS
        */
        @ApiMember(Description="Disable SMS")
        public Boolean disableSms = null;

        /**
        * Set this to true to prevent Evo Voice from overriding the 10DLC / SMS settings for this number
        */
        @ApiMember(Description="Set this to true to prevent Evo Voice from overriding the 10DLC / SMS settings for this number")
        public Boolean useExternal10DlcCampaign = null;

        /**
        * Is this a virtual phone number?
        */
        @ApiMember(Description="Is this a virtual phone number?")
        public Boolean isVirtualPhoneNumber = null;

        /**
        * Is caller ID verified for this virtual number?
        */
        @ApiMember(Description="Is caller ID verified for this virtual number?")
        public Boolean isCallerIdVerified = null;

        /**
        * The verification code for this number
        */
        @ApiMember(Description="The verification code for this number")
        public String callerIdVerificationCode = null;

        /**
        * The phone number
        */
        @ApiMember(Description="The phone number")
        public String phoneNumber = null;

        /**
        * The Sid of the phone number
        */
        @ApiMember(Description="The Sid of the phone number")
        public String phoneNumberSid = null;

        /**
        * The caller ID Name (CNAM) for the phone number
        */
        @ApiMember(Description="The caller ID Name (CNAM) for the phone number")
        public String callerIdName = null;

        /**
        * The address SID associated with the phone number
        */
        @ApiMember(Description="The address SID associated with the phone number")
        public String addressSid = null;

        /**
        * Do not touch this phone number - for BYOA accounts
        */
        @ApiMember(Description="Do not touch this phone number - for BYOA accounts")
        public Boolean doNotTouchPhoneNumber = null;

        /**
        * Is this number enrolled in a 10DLC messaging service campaign
        */
        @ApiMember(Description="Is this number enrolled in a 10DLC messaging service campaign")
        public Boolean isEnrolledIn10DlcService = null;

        /**
        * Whether we look up caller ID or not
        */
        @ApiMember(Description="Whether we look up caller ID or not")
        public Boolean enableCallerIdLookup = null;

        /**
        * The email address of the user
        */
        @ApiMember(Description="The email address of the user")
        public String userEmailAddress = null;

        /**
        * The Twilio Region for the SIP endpoint
        */
        @ApiMember(Description="The Twilio Region for the SIP endpoint")
        public TwilioSipRegions sipRegion = null;

        /**
        * The Twilio Sid of the credentials for Sip
        */
        @ApiMember(Description="The Twilio Sid of the credentials for Sip")
        public String sipCredentialSid = null;

        /**
        * The Twilio SIP user name
        */
        @ApiMember(Description="The Twilio SIP user name")
        public String sipUserName = null;

        /**
        * The Twilio SIP password
        */
        @ApiMember(Description="The Twilio SIP password")
        public String sipPassword = null;

        /**
        * The SIP domain
        */
        @ApiMember(Description="The SIP domain")
        public String sipDomain = null;

        /**
        * Is emergency calling enabled on this number?
        */
        @ApiMember(Description="Is emergency calling enabled on this number?")
        public Boolean enableEmergencyCalling = null;

        /**
        * The SID of the emergency address for this number
        */
        @ApiMember(Description="The SID of the emergency address for this number")
        public String emergencyAddressSid = null;

        /**
        * The ID of the phone number to use for emergency dialing
        */
        @ApiMember(Description="The ID of the phone number to use for emergency dialing")
        public String emergencyPhoneNumberId = null;

        /**
        * The current agent state of this user endpoint
        */
        @ApiMember(Description="The current agent state of this user endpoint")
        public AgentStates agentState = null;

        /**
        * The current agent state reason of this user endpoint
        */
        @ApiMember(Description="The current agent state reason of this user endpoint")
        public AgentStateReasons agentStateReason = null;

        /**
        * The mode for this user
        */
        @ApiMember(Description="The mode for this user")
        public UserModes userMode = null;

        /**
        * The ID of the file to use for voicemail greeting
        */
        @ApiMember(Description="The ID of the file to use for voicemail greeting")
        public String voicemailGreetingId = null;

        /**
        * The endpoint's data
        */
        @ApiMember(Description="The endpoint's data")
        public Struct data = null;

        /**
        * The email address for email endpoints
        */
        @ApiMember(Description="The email address for email endpoints")
        public String emailAddress = null;

        /**
        * The first name of the user (for user endpoints)
        */
        @ApiMember(Description="The first name of the user (for user endpoints)")
        public String userFirstName = null;

        /**
        * The last name of the user (for user endpoints)
        */
        @ApiMember(Description="The last name of the user (for user endpoints)")
        public String userLastName = null;

        /**
        * The URL of an image for this user's avatar
        */
        @ApiMember(Description="The URL of an image for this user's avatar")
        public String avatarUrl = null;

        /**
        * Does this user have manager role?
        */
        @ApiMember(Description="Does this user have manager role?")
        public UserManagerRoles managerRole = null;

        /**
        * The list of dashboard permissions for when the manager role is custom
        */
        @ApiMember(Description="The list of dashboard permissions for when the manager role is custom")
        public ArrayList<DashboardPermissions> dashboardPermissions = null;

        /**
        * The type of visibility this user has to their own fields
        */
        @ApiMember(Description="The type of visibility this user has to their own fields")
        public UserDataFieldModes myFieldPermissions = null;

        /**
        * The type of visibility this user has to customer fields
        */
        @ApiMember(Description="The type of visibility this user has to customer fields")
        public UserDataFieldModes customerFieldPermissions = null;

        /**
        * The type of visibility this user has to other user fields
        */
        @ApiMember(Description="The type of visibility this user has to other user fields")
        public UserDataFieldModes otherUserFieldPermissions = null;

        /**
        * The type of visibility this user has to other endpoint fields
        */
        @ApiMember(Description="The type of visibility this user has to other endpoint fields")
        public UserDataFieldModes otherEndpointFieldPermissions = null;

        /**
        * The name of this endpoint (for bots etc.)
        */
        @ApiMember(Description="The name of this endpoint (for bots etc.)")
        public String name = null;

        /**
        * The list of tags for this endpoint
        */
        @ApiMember(Description="The list of tags for this endpoint")
        public ArrayList<Tag> tags = null;

        /**
        * The list of action URLs
        */
        @ApiMember(Description="The list of action URLs")
        public ArrayList<EndpointActionUrl> actionUrls = null;

        /**
        * The list of members in this team
        */
        @ApiMember(Description="The list of members in this team")
        public ArrayList<String> teamMemberIds = null;

        /**
        * Visibility of this user/team in contact lists
        */
        @ApiMember(Description="Visibility of this user/team in contact lists")
        public CustomerVisibility contactListVisibility = null;

        /**
        * The list of contacts personal to this user
        */
        @ApiMember(Description="The list of contacts personal to this user")
        public ArrayList<EndpointContact> contacts = null;

        /**
        * The documo ID for this number
        */
        @ApiMember(Description="The documo ID for this number")
        public String documoId = null;

        /**
        * Integration data for this endpoint
        */
        @ApiMember(Description="Integration data for this endpoint")
        public EntityIntegrationData integrationData = null;

        /**
        * Settings for third party phone system
        */
        @ApiMember(Description="Settings for third party phone system")
        public ThirdPartyPhoneSystemSettings thirdPartyPhoneSystemSettings = null;

        /**
        * Should this user override the parent customer's app settings
        */
        @ApiMember(Description="Should this user override the parent customer's app settings")
        public Boolean overrideAppSettings = null;

        /**
        * App / Portal settings for this user
        */
        @ApiMember(Description="App / Portal settings for this user")
        public AppSettings appSettings = null;
        
        public String getAccountId() { return accountId; }
        public EndpointInfo setAccountId(String value) { this.accountId = value; return this; }
        public String getAccountName() { return accountName; }
        public EndpointInfo setAccountName(String value) { this.accountName = value; return this; }
        public String getCustomerId() { return customerId; }
        public EndpointInfo setCustomerId(String value) { this.customerId = value; return this; }
        public String getCustomerName() { return customerName; }
        public EndpointInfo setCustomerName(String value) { this.customerName = value; return this; }
        public String getReferenceId() { return referenceId; }
        public EndpointInfo setReferenceId(String value) { this.referenceId = value; return this; }
        public ArrayList<CustomerBreadcrumb> getCustomerBreadcrumb() { return customerBreadcrumb; }
        public EndpointInfo setCustomerBreadcrumb(ArrayList<CustomerBreadcrumb> value) { this.customerBreadcrumb = value; return this; }
        public String getDisplayName() { return displayName; }
        public EndpointInfo setDisplayName(String value) { this.displayName = value; return this; }
        public EndpointTypes getType() { return type; }
        public EndpointInfo setType(EndpointTypes value) { this.type = value; return this; }
        public String getExtraInformation() { return extraInformation; }
        public EndpointInfo setExtraInformation(String value) { this.extraInformation = value; return this; }
        public String getFlowId() { return flowId; }
        public EndpointInfo setFlowId(String value) { this.flowId = value; return this; }
        public String getFlowName() { return flowName; }
        public EndpointInfo setFlowName(String value) { this.flowName = value; return this; }
        public Struct getFlowParams() { return flowParams; }
        public EndpointInfo setFlowParams(Struct value) { this.flowParams = value; return this; }
        public EndpointFlowSchedules getFlowSchedule() { return flowSchedule; }
        public EndpointInfo setFlowSchedule(EndpointFlowSchedules value) { this.flowSchedule = value; return this; }
        public Schedule getSchedule() { return schedule; }
        public EndpointInfo setSchedule(Schedule value) { this.schedule = value; return this; }
        public ArrayList<ScheduledFlow> getScheduledFlows() { return scheduledFlows; }
        public EndpointInfo setScheduledFlows(ArrayList<ScheduledFlow> value) { this.scheduledFlows = value; return this; }
        public Boolean isDisableSms() { return disableSms; }
        public EndpointInfo setDisableSms(Boolean value) { this.disableSms = value; return this; }
        public Boolean isUseExternal10DlcCampaign() { return useExternal10DlcCampaign; }
        public EndpointInfo setUseExternal10DlcCampaign(Boolean value) { this.useExternal10DlcCampaign = value; return this; }
        public Boolean getIsVirtualPhoneNumber() { return isVirtualPhoneNumber; }
        public EndpointInfo setIsVirtualPhoneNumber(Boolean value) { this.isVirtualPhoneNumber = value; return this; }
        public Boolean getIsCallerIdVerified() { return isCallerIdVerified; }
        public EndpointInfo setIsCallerIdVerified(Boolean value) { this.isCallerIdVerified = value; return this; }
        public String getCallerIdVerificationCode() { return callerIdVerificationCode; }
        public EndpointInfo setCallerIdVerificationCode(String value) { this.callerIdVerificationCode = value; return this; }
        public String getPhoneNumber() { return phoneNumber; }
        public EndpointInfo setPhoneNumber(String value) { this.phoneNumber = value; return this; }
        public String getPhoneNumberSid() { return phoneNumberSid; }
        public EndpointInfo setPhoneNumberSid(String value) { this.phoneNumberSid = value; return this; }
        public String getCallerIdName() { return callerIdName; }
        public EndpointInfo setCallerIdName(String value) { this.callerIdName = value; return this; }
        public String getAddressSid() { return addressSid; }
        public EndpointInfo setAddressSid(String value) { this.addressSid = value; return this; }
        public Boolean isDoNotTouchPhoneNumber() { return doNotTouchPhoneNumber; }
        public EndpointInfo setDoNotTouchPhoneNumber(Boolean value) { this.doNotTouchPhoneNumber = value; return this; }
        public Boolean getIsEnrolledIn10DlcService() { return isEnrolledIn10DlcService; }
        public EndpointInfo setIsEnrolledIn10DlcService(Boolean value) { this.isEnrolledIn10DlcService = value; return this; }
        public Boolean isEnableCallerIdLookup() { return enableCallerIdLookup; }
        public EndpointInfo setEnableCallerIdLookup(Boolean value) { this.enableCallerIdLookup = value; return this; }
        public String getUserEmailAddress() { return userEmailAddress; }
        public EndpointInfo setUserEmailAddress(String value) { this.userEmailAddress = value; return this; }
        public TwilioSipRegions getSipRegion() { return sipRegion; }
        public EndpointInfo setSipRegion(TwilioSipRegions value) { this.sipRegion = value; return this; }
        public String getSipCredentialSid() { return sipCredentialSid; }
        public EndpointInfo setSipCredentialSid(String value) { this.sipCredentialSid = value; return this; }
        public String getSipUserName() { return sipUserName; }
        public EndpointInfo setSipUserName(String value) { this.sipUserName = value; return this; }
        public String getSipPassword() { return sipPassword; }
        public EndpointInfo setSipPassword(String value) { this.sipPassword = value; return this; }
        public String getSipDomain() { return sipDomain; }
        public EndpointInfo setSipDomain(String value) { this.sipDomain = value; return this; }
        public Boolean isEnableEmergencyCalling() { return enableEmergencyCalling; }
        public EndpointInfo setEnableEmergencyCalling(Boolean value) { this.enableEmergencyCalling = value; return this; }
        public String getEmergencyAddressSid() { return emergencyAddressSid; }
        public EndpointInfo setEmergencyAddressSid(String value) { this.emergencyAddressSid = value; return this; }
        public String getEmergencyPhoneNumberId() { return emergencyPhoneNumberId; }
        public EndpointInfo setEmergencyPhoneNumberId(String value) { this.emergencyPhoneNumberId = value; return this; }
        public AgentStates getAgentState() { return agentState; }
        public EndpointInfo setAgentState(AgentStates value) { this.agentState = value; return this; }
        public AgentStateReasons getAgentStateReason() { return agentStateReason; }
        public EndpointInfo setAgentStateReason(AgentStateReasons value) { this.agentStateReason = value; return this; }
        public UserModes getUserMode() { return userMode; }
        public EndpointInfo setUserMode(UserModes value) { this.userMode = value; return this; }
        public String getVoicemailGreetingId() { return voicemailGreetingId; }
        public EndpointInfo setVoicemailGreetingId(String value) { this.voicemailGreetingId = value; return this; }
        public Struct getData() { return data; }
        public EndpointInfo setData(Struct value) { this.data = value; return this; }
        public String getEmailAddress() { return emailAddress; }
        public EndpointInfo setEmailAddress(String value) { this.emailAddress = value; return this; }
        public String getUserFirstName() { return userFirstName; }
        public EndpointInfo setUserFirstName(String value) { this.userFirstName = value; return this; }
        public String getUserLastName() { return userLastName; }
        public EndpointInfo setUserLastName(String value) { this.userLastName = value; return this; }
        public String getAvatarUrl() { return avatarUrl; }
        public EndpointInfo setAvatarUrl(String value) { this.avatarUrl = value; return this; }
        public UserManagerRoles getManagerRole() { return managerRole; }
        public EndpointInfo setManagerRole(UserManagerRoles value) { this.managerRole = value; return this; }
        public ArrayList<DashboardPermissions> getDashboardPermissions() { return dashboardPermissions; }
        public EndpointInfo setDashboardPermissions(ArrayList<DashboardPermissions> value) { this.dashboardPermissions = value; return this; }
        public UserDataFieldModes getMyFieldPermissions() { return myFieldPermissions; }
        public EndpointInfo setMyFieldPermissions(UserDataFieldModes value) { this.myFieldPermissions = value; return this; }
        public UserDataFieldModes getCustomerFieldPermissions() { return customerFieldPermissions; }
        public EndpointInfo setCustomerFieldPermissions(UserDataFieldModes value) { this.customerFieldPermissions = value; return this; }
        public UserDataFieldModes getOtherUserFieldPermissions() { return otherUserFieldPermissions; }
        public EndpointInfo setOtherUserFieldPermissions(UserDataFieldModes value) { this.otherUserFieldPermissions = value; return this; }
        public UserDataFieldModes getOtherEndpointFieldPermissions() { return otherEndpointFieldPermissions; }
        public EndpointInfo setOtherEndpointFieldPermissions(UserDataFieldModes value) { this.otherEndpointFieldPermissions = value; return this; }
        public String getName() { return name; }
        public EndpointInfo setName(String value) { this.name = value; return this; }
        public ArrayList<Tag> getTags() { return tags; }
        public EndpointInfo setTags(ArrayList<Tag> value) { this.tags = value; return this; }
        public ArrayList<EndpointActionUrl> getActionUrls() { return actionUrls; }
        public EndpointInfo setActionUrls(ArrayList<EndpointActionUrl> value) { this.actionUrls = value; return this; }
        public ArrayList<String> getTeamMemberIds() { return teamMemberIds; }
        public EndpointInfo setTeamMemberIds(ArrayList<String> value) { this.teamMemberIds = value; return this; }
        public CustomerVisibility getContactListVisibility() { return contactListVisibility; }
        public EndpointInfo setContactListVisibility(CustomerVisibility value) { this.contactListVisibility = value; return this; }
        public ArrayList<EndpointContact> getContacts() { return contacts; }
        public EndpointInfo setContacts(ArrayList<EndpointContact> value) { this.contacts = value; return this; }
        public String getDocumoId() { return documoId; }
        public EndpointInfo setDocumoId(String value) { this.documoId = value; return this; }
        public EntityIntegrationData getIntegrationData() { return integrationData; }
        public EndpointInfo setIntegrationData(EntityIntegrationData value) { this.integrationData = value; return this; }
        public ThirdPartyPhoneSystemSettings getThirdPartyPhoneSystemSettings() { return thirdPartyPhoneSystemSettings; }
        public EndpointInfo setThirdPartyPhoneSystemSettings(ThirdPartyPhoneSystemSettings value) { this.thirdPartyPhoneSystemSettings = value; return this; }
        public Boolean isOverrideAppSettings() { return overrideAppSettings; }
        public EndpointInfo setOverrideAppSettings(Boolean value) { this.overrideAppSettings = value; return this; }
        public AppSettings getAppSettings() { return appSettings; }
        public EndpointInfo setAppSettings(AppSettings value) { this.appSettings = value; return this; }
    }

    public static class EntityInfo
    {
        /**
        * The ID of the object
        */
        @ApiMember(Description="The ID of the object")
        public String id = null;

        /**
        * The date the object was created
        */
        @ApiMember(Description="The date the object was created")
        public String dateCreated = null;

        /**
        * The date the object was last modified
        */
        @ApiMember(Description="The date the object was last modified")
        public String dateLastModified = null;

        /**
        * The user that created this object
        */
        @ApiMember(Description="The user that created this object")
        public String createdBy = null;

        /**
        * The user that last modified this object
        */
        @ApiMember(Description="The user that last modified this object")
        public String lastModifiedBy = null;
        
        public String getId() { return id; }
        public EntityInfo setId(String value) { this.id = value; return this; }
        public String getDateCreated() { return dateCreated; }
        public EntityInfo setDateCreated(String value) { this.dateCreated = value; return this; }
        public String getDateLastModified() { return dateLastModified; }
        public EntityInfo setDateLastModified(String value) { this.dateLastModified = value; return this; }
        public String getCreatedBy() { return createdBy; }
        public EntityInfo setCreatedBy(String value) { this.createdBy = value; return this; }
        public String getLastModifiedBy() { return lastModifiedBy; }
        public EntityInfo setLastModifiedBy(String value) { this.lastModifiedBy = value; return this; }
    }

    public static class CustomerBreadcrumb
    {
        public String id = null;
        public String name = null;
        
        public String getId() { return id; }
        public CustomerBreadcrumb setId(String value) { this.id = value; return this; }
        public String getName() { return name; }
        public CustomerBreadcrumb setName(String value) { this.name = value; return this; }
    }

    public static enum EndpointTypes
    {
        PhoneNumber,
        User,
        FaxNumber,
        EmailAddress,
        Unused1,
        Unused2,
        Unused3,
        Unused4,
        Unused5,
        Team;
    }

    public static class Struct extends HashMap<String,Value>
    {
        
    }

    public static class Value
    {
        public Boolean boolValue = null;
        public String stringValue = null;
        public Double numberValue = null;
        public ArrayList<Struct> listValue = null;
        public Struct structValue = null;
        
        public Boolean isBoolValue() { return boolValue; }
        public Value setBoolValue(Boolean value) { this.boolValue = value; return this; }
        public String getStringValue() { return stringValue; }
        public Value setStringValue(String value) { this.stringValue = value; return this; }
        public Double getNumberValue() { return numberValue; }
        public Value setNumberValue(Double value) { this.numberValue = value; return this; }
        public ArrayList<Struct> getListValue() { return listValue; }
        public Value setListValue(ArrayList<Struct> value) { this.listValue = value; return this; }
        public Struct getStructValue() { return structValue; }
        public Value setStructValue(Struct value) { this.structValue = value; return this; }
    }

    public static enum EndpointFlowSchedules
    {
        Always,
        Scheduled,
        Simple;
    }

    public static class Schedule
    {
        public String timeZoneId = null;
        public Boolean inherit = null;
        public Boolean forceClosed = null;
        public ArrayList<SchedulingRule> rules = null;
        public String defaultState = null;
        
        public String getTimeZoneId() { return timeZoneId; }
        public Schedule setTimeZoneId(String value) { this.timeZoneId = value; return this; }
        public Boolean isInherit() { return inherit; }
        public Schedule setInherit(Boolean value) { this.inherit = value; return this; }
        public Boolean isForceClosed() { return forceClosed; }
        public Schedule setForceClosed(Boolean value) { this.forceClosed = value; return this; }
        public ArrayList<SchedulingRule> getRules() { return rules; }
        public Schedule setRules(ArrayList<SchedulingRule> value) { this.rules = value; return this; }
        public String getDefaultState() { return defaultState; }
        public Schedule setDefaultState(String value) { this.defaultState = value; return this; }
    }

    public static class SchedulingRule
    {
        public String id = null;
        public String name = null;
        public Integer priority = null;
        public String state = null;
        public String source = null;
        public String condition = null;
        public SimpleSchedulingRuleTypes simpleRuleType = null;
        public String customerState = null;
        public String flowId = null;
        public Struct flowParams = null;
        public Boolean isAllDay = null;
        public String startDate = null;
        public String startTime = null;
        public String endTime = null;
        public ArrayList<Integer> bySetPosition = null;
        public ArrayList<Integer> byMonth = null;
        public ArrayList<Integer> byWeekNo = null;
        public ArrayList<Integer> byYearDay = null;
        public ArrayList<Integer> byMonthDay = null;
        public ArrayList<ScheduleDay> byDay = null;
        public ArrayList<Integer> byHour = null;
        public ArrayList<Integer> byMinute = null;
        public Integer interval = null;
        public Integer count = null;
        public String untilDate = null;
        public SchedulingRuleFrequency frequency = null;
        
        public String getId() { return id; }
        public SchedulingRule setId(String value) { this.id = value; return this; }
        public String getName() { return name; }
        public SchedulingRule setName(String value) { this.name = value; return this; }
        public Integer getPriority() { return priority; }
        public SchedulingRule setPriority(Integer value) { this.priority = value; return this; }
        public String getState() { return state; }
        public SchedulingRule setState(String value) { this.state = value; return this; }
        public String getSource() { return source; }
        public SchedulingRule setSource(String value) { this.source = value; return this; }
        public String getCondition() { return condition; }
        public SchedulingRule setCondition(String value) { this.condition = value; return this; }
        public SimpleSchedulingRuleTypes getSimpleRuleType() { return simpleRuleType; }
        public SchedulingRule setSimpleRuleType(SimpleSchedulingRuleTypes value) { this.simpleRuleType = value; return this; }
        public String getCustomerState() { return customerState; }
        public SchedulingRule setCustomerState(String value) { this.customerState = value; return this; }
        public String getFlowId() { return flowId; }
        public SchedulingRule setFlowId(String value) { this.flowId = value; return this; }
        public Struct getFlowParams() { return flowParams; }
        public SchedulingRule setFlowParams(Struct value) { this.flowParams = value; return this; }
        public Boolean getIsAllDay() { return isAllDay; }
        public SchedulingRule setIsAllDay(Boolean value) { this.isAllDay = value; return this; }
        public String getStartDate() { return startDate; }
        public SchedulingRule setStartDate(String value) { this.startDate = value; return this; }
        public String getStartTime() { return startTime; }
        public SchedulingRule setStartTime(String value) { this.startTime = value; return this; }
        public String getEndTime() { return endTime; }
        public SchedulingRule setEndTime(String value) { this.endTime = value; return this; }
        public ArrayList<Integer> getBySetPosition() { return bySetPosition; }
        public SchedulingRule setBySetPosition(ArrayList<Integer> value) { this.bySetPosition = value; return this; }
        public ArrayList<Integer> getByMonth() { return byMonth; }
        public SchedulingRule setByMonth(ArrayList<Integer> value) { this.byMonth = value; return this; }
        public ArrayList<Integer> getByWeekNo() { return byWeekNo; }
        public SchedulingRule setByWeekNo(ArrayList<Integer> value) { this.byWeekNo = value; return this; }
        public ArrayList<Integer> getByYearDay() { return byYearDay; }
        public SchedulingRule setByYearDay(ArrayList<Integer> value) { this.byYearDay = value; return this; }
        public ArrayList<Integer> getByMonthDay() { return byMonthDay; }
        public SchedulingRule setByMonthDay(ArrayList<Integer> value) { this.byMonthDay = value; return this; }
        public ArrayList<ScheduleDay> getByDay() { return byDay; }
        public SchedulingRule setByDay(ArrayList<ScheduleDay> value) { this.byDay = value; return this; }
        public ArrayList<Integer> getByHour() { return byHour; }
        public SchedulingRule setByHour(ArrayList<Integer> value) { this.byHour = value; return this; }
        public ArrayList<Integer> getByMinute() { return byMinute; }
        public SchedulingRule setByMinute(ArrayList<Integer> value) { this.byMinute = value; return this; }
        public Integer getInterval() { return interval; }
        public SchedulingRule setInterval(Integer value) { this.interval = value; return this; }
        public Integer getCount() { return count; }
        public SchedulingRule setCount(Integer value) { this.count = value; return this; }
        public String getUntilDate() { return untilDate; }
        public SchedulingRule setUntilDate(String value) { this.untilDate = value; return this; }
        public SchedulingRuleFrequency getFrequency() { return frequency; }
        public SchedulingRule setFrequency(SchedulingRuleFrequency value) { this.frequency = value; return this; }
    }

    public static enum SimpleSchedulingRuleTypes
    {
        Always,
        CustomerState,
        Time;
    }

    public static class ScheduleDay
    {
        public Integer offset = null;
        public DayOfWeek dayOfWeek = null;
        
        public Integer getOffset() { return offset; }
        public ScheduleDay setOffset(Integer value) { this.offset = value; return this; }
        public DayOfWeek getDayOfWeek() { return dayOfWeek; }
        public ScheduleDay setDayOfWeek(DayOfWeek value) { this.dayOfWeek = value; return this; }
    }

    public static enum SchedulingRuleFrequency
    {
        None,
        Secondly,
        Minutely,
        Hourly,
        Daily,
        Weekly,
        Monthly,
        Yearly;
    }

    public static class ScheduledFlow
    {
        public String stateName = null;
        public String flowId = null;
        public Struct flowParams = null;
        
        public String getStateName() { return stateName; }
        public ScheduledFlow setStateName(String value) { this.stateName = value; return this; }
        public String getFlowId() { return flowId; }
        public ScheduledFlow setFlowId(String value) { this.flowId = value; return this; }
        public Struct getFlowParams() { return flowParams; }
        public ScheduledFlow setFlowParams(Struct value) { this.flowParams = value; return this; }
    }

    public static enum TwilioSipRegions
    {
        NorthAmericaVirginia,
        NorthAmericaOregon,
        EuropeIreland,
        EuropeFrankfurt,
        AsiaPacificSingapore,
        AsiaPacificTokyo,
        AsiaPacificSydney,
        SouthAmericaSanPaolo;
    }

    public static enum AgentStates
    {
        Unknown,
        Ready,
        NotReady,
        LoggedOut,
        WrapUp,
        Outgoing,
        Other;
    }

    public static enum AgentStateReasons
    {
        Unknown,
        SetByUser,
        MissedCall,
        SetBySystem;
    }

    public static enum UserModes
    {
        SoftPhone,
        Sip,
        Flow,
        DataOnly,
        ThirdParty;
    }

    public static enum UserManagerRoles
    {
        None,
        Manager,
        VoicemailAndCallHistory,
        Custom;
    }

    public static enum DashboardPermissions
    {
        ViewFiles,
        ViewNotifications,
        ViewSessions,
        ViewEndpoints,
        ViewReports,
        ViewCustomers,
        ViewFlows;
    }

    public static enum UserDataFieldModes
    {
        Hidden,
        ReadOnly,
        ReadWrite;
    }

    public static class Tag
    {
        public String id = null;
        public String name = null;
        public TagColors color = null;
        
        public String getId() { return id; }
        public Tag setId(String value) { this.id = value; return this; }
        public String getName() { return name; }
        public Tag setName(String value) { this.name = value; return this; }
        public TagColors getColor() { return color; }
        public Tag setColor(TagColors value) { this.color = value; return this; }
    }

    public static enum TagColors
    {
        Magenta,
        Red,
        Volcano,
        Orange,
        Gold,
        Lime,
        Green,
        Cyan,
        Blue,
        GeekBlue,
        Purple;
    }

    public static class EndpointActionUrl
    {
        public String id = null;
        public String url = null;
        public ActionUrlHttpMethods method = null;
        
        public String getId() { return id; }
        public EndpointActionUrl setId(String value) { this.id = value; return this; }
        public String getUrl() { return url; }
        public EndpointActionUrl setUrl(String value) { this.url = value; return this; }
        public ActionUrlHttpMethods getMethod() { return method; }
        public EndpointActionUrl setMethod(ActionUrlHttpMethods value) { this.method = value; return this; }
    }

    public static enum ActionUrlHttpMethods
    {
        Get,
        Post;
    }

    public static enum CustomerVisibility
    {
        None,
        CurrentCustomer,
        CurrentAndChildCustomers;
    }

    public static class EndpointContact
    {
        public String id = null;
        public String displayName = null;
        public String address = null;
        
        public String getId() { return id; }
        public EndpointContact setId(String value) { this.id = value; return this; }
        public String getDisplayName() { return displayName; }
        public EndpointContact setDisplayName(String value) { this.displayName = value; return this; }
        public String getAddress() { return address; }
        public EndpointContact setAddress(String value) { this.address = value; return this; }
    }

    public static class EntityIntegrationData extends HashMap<String,IntegrationData>
    {
        
    }

    public static class IntegrationData
    {
        public String thirdPartyId = null;
        
        public String getThirdPartyId() { return thirdPartyId; }
        public IntegrationData setThirdPartyId(String value) { this.thirdPartyId = value; return this; }
    }

    public static class ThirdPartyPhoneSystemSettings
    {
        public ThirdPartyPhoneSystemTypes type = null;
        public ThirdPartySipSettings sipSettings = null;
        public ThirdPartyDemoSettings demoSettings = null;
        
        public ThirdPartyPhoneSystemTypes getType() { return type; }
        public ThirdPartyPhoneSystemSettings setType(ThirdPartyPhoneSystemTypes value) { this.type = value; return this; }
        public ThirdPartySipSettings getSipSettings() { return sipSettings; }
        public ThirdPartyPhoneSystemSettings setSipSettings(ThirdPartySipSettings value) { this.sipSettings = value; return this; }
        public ThirdPartyDemoSettings getDemoSettings() { return demoSettings; }
        public ThirdPartyPhoneSystemSettings setDemoSettings(ThirdPartyDemoSettings value) { this.demoSettings = value; return this; }
    }

    public static enum ThirdPartyPhoneSystemTypes
    {
        Demo,
        Sip;
    }

    public static class ThirdPartySipSettings
    {
        public ArrayList<ThirdPartySipAccountSettings> accounts = null;
        
        public ArrayList<ThirdPartySipAccountSettings> getAccounts() { return accounts; }
        public ThirdPartySipSettings setAccounts(ArrayList<ThirdPartySipAccountSettings> value) { this.accounts = value; return this; }
    }

    public static class ThirdPartySipAccountSettings
    {
        public String number = null;
        public String agent = null;
        public String authName = null;
        public String userName = null;
        public String displayName = null;
        public String password = null;
        public String userDomain = null;
        public Integer registrationExpires = null;
        public TransportTypes transportType = null;
        public String localIP = null;
        public Integer localPort = null;
        public String sipServer = null;
        public Integer sipServerPort = null;
        public String outboundServer = null;
        public Integer outboundServerPort = null;
        public String stunServer = null;
        public Integer stunPort = null;
        public String audioPlaybackDeviceName = null;
        public String audioRecordingDeviceName = null;
        public ArrayList<AudioCodecTypes> audioCodecs = null;
        public DtmfMethods dtmfMethod = null;
        
        public String getNumber() { return number; }
        public ThirdPartySipAccountSettings setNumber(String value) { this.number = value; return this; }
        public String getAgent() { return agent; }
        public ThirdPartySipAccountSettings setAgent(String value) { this.agent = value; return this; }
        public String getAuthName() { return authName; }
        public ThirdPartySipAccountSettings setAuthName(String value) { this.authName = value; return this; }
        public String getUserName() { return userName; }
        public ThirdPartySipAccountSettings setUserName(String value) { this.userName = value; return this; }
        public String getDisplayName() { return displayName; }
        public ThirdPartySipAccountSettings setDisplayName(String value) { this.displayName = value; return this; }
        public String getPassword() { return password; }
        public ThirdPartySipAccountSettings setPassword(String value) { this.password = value; return this; }
        public String getUserDomain() { return userDomain; }
        public ThirdPartySipAccountSettings setUserDomain(String value) { this.userDomain = value; return this; }
        public Integer getRegistrationExpires() { return registrationExpires; }
        public ThirdPartySipAccountSettings setRegistrationExpires(Integer value) { this.registrationExpires = value; return this; }
        public TransportTypes getTransportType() { return transportType; }
        public ThirdPartySipAccountSettings setTransportType(TransportTypes value) { this.transportType = value; return this; }
        public String getLocalIP() { return localIP; }
        public ThirdPartySipAccountSettings setLocalIP(String value) { this.localIP = value; return this; }
        public Integer getLocalPort() { return localPort; }
        public ThirdPartySipAccountSettings setLocalPort(Integer value) { this.localPort = value; return this; }
        public String getSipServer() { return sipServer; }
        public ThirdPartySipAccountSettings setSipServer(String value) { this.sipServer = value; return this; }
        public Integer getSipServerPort() { return sipServerPort; }
        public ThirdPartySipAccountSettings setSipServerPort(Integer value) { this.sipServerPort = value; return this; }
        public String getOutboundServer() { return outboundServer; }
        public ThirdPartySipAccountSettings setOutboundServer(String value) { this.outboundServer = value; return this; }
        public Integer getOutboundServerPort() { return outboundServerPort; }
        public ThirdPartySipAccountSettings setOutboundServerPort(Integer value) { this.outboundServerPort = value; return this; }
        public String getStunServer() { return stunServer; }
        public ThirdPartySipAccountSettings setStunServer(String value) { this.stunServer = value; return this; }
        public Integer getStunPort() { return stunPort; }
        public ThirdPartySipAccountSettings setStunPort(Integer value) { this.stunPort = value; return this; }
        public String getAudioPlaybackDeviceName() { return audioPlaybackDeviceName; }
        public ThirdPartySipAccountSettings setAudioPlaybackDeviceName(String value) { this.audioPlaybackDeviceName = value; return this; }
        public String getAudioRecordingDeviceName() { return audioRecordingDeviceName; }
        public ThirdPartySipAccountSettings setAudioRecordingDeviceName(String value) { this.audioRecordingDeviceName = value; return this; }
        public ArrayList<AudioCodecTypes> getAudioCodecs() { return audioCodecs; }
        public ThirdPartySipAccountSettings setAudioCodecs(ArrayList<AudioCodecTypes> value) { this.audioCodecs = value; return this; }
        public DtmfMethods getDtmfMethod() { return dtmfMethod; }
        public ThirdPartySipAccountSettings setDtmfMethod(DtmfMethods value) { this.dtmfMethod = value; return this; }
    }

    public static enum TransportTypes
    {
        Udp,
        Tls,
        Tcp,
        Pers;
    }

    public static enum AudioCodecTypes
    {
        Pcmu(0),
        Gsm(3),
        Pcma(8),
        G722(9),
        G729(18),
        Ilbc(97),
        Amr(98),
        Amrwb(99),
        Speex(100),
        Dtmf(101),
        Speexwb(102),
        Isacwb(103),
        Isacswb(104),
        Opus(105),
        G7221(121),
        None(-1);

        private final int value;
        AudioCodecTypes(final int intValue) { value = intValue; }
        public int getValue() { return value; }
    }

    public static enum DtmfMethods
    {
        RfC2833,
        Info;
    }

    public static class ThirdPartyDemoSettings
    {
        public String extension = null;
        
        public String getExtension() { return extension; }
        public ThirdPartyDemoSettings setExtension(String value) { this.extension = value; return this; }
    }

    public static class AppSettings
    {
        public Boolean enablePhoneNumberManagement = null;
        public Boolean enableDeviceManagement = null;
        public Boolean enableDialer = null;
        public Boolean enableCallHistory = null;
        public Boolean showFileNameInMessageCenter = null;
        public String chakraTheme = null;
        public String customCss = null;
        public String pageTitle = null;
        public String stringMappings = null;
        public String logoutUrl = null;
        public String portMyNumberUrl = null;
        
        public Boolean isEnablePhoneNumberManagement() { return enablePhoneNumberManagement; }
        public AppSettings setEnablePhoneNumberManagement(Boolean value) { this.enablePhoneNumberManagement = value; return this; }
        public Boolean isEnableDeviceManagement() { return enableDeviceManagement; }
        public AppSettings setEnableDeviceManagement(Boolean value) { this.enableDeviceManagement = value; return this; }
        public Boolean isEnableDialer() { return enableDialer; }
        public AppSettings setEnableDialer(Boolean value) { this.enableDialer = value; return this; }
        public Boolean isEnableCallHistory() { return enableCallHistory; }
        public AppSettings setEnableCallHistory(Boolean value) { this.enableCallHistory = value; return this; }
        public Boolean isShowFileNameInMessageCenter() { return showFileNameInMessageCenter; }
        public AppSettings setShowFileNameInMessageCenter(Boolean value) { this.showFileNameInMessageCenter = value; return this; }
        public String getChakraTheme() { return chakraTheme; }
        public AppSettings setChakraTheme(String value) { this.chakraTheme = value; return this; }
        public String getCustomCss() { return customCss; }
        public AppSettings setCustomCss(String value) { this.customCss = value; return this; }
        public String getPageTitle() { return pageTitle; }
        public AppSettings setPageTitle(String value) { this.pageTitle = value; return this; }
        public String getStringMappings() { return stringMappings; }
        public AppSettings setStringMappings(String value) { this.stringMappings = value; return this; }
        public String getLogoutUrl() { return logoutUrl; }
        public AppSettings setLogoutUrl(String value) { this.logoutUrl = value; return this; }
        public String getPortMyNumberUrl() { return portMyNumberUrl; }
        public AppSettings setPortMyNumberUrl(String value) { this.portMyNumberUrl = value; return this; }
    }

    public static class ListResponse<AccountInfo>
    {
        /**
        * The items
        */
        @ApiMember(Description="The items")
        public ArrayList<AccountInfo> items = null;

        /**
        * The total number of items
        */
        @ApiMember(Description="The total number of items")
        public Integer totalCount = null;

        /**
        * The total number of pages
        */
        @ApiMember(Description="The total number of pages")
        public Integer totalPages = null;

        /**
        * Are there more pages of items? Used with simplified paging
        */
        @ApiMember(Description="Are there more pages of items? Used with simplified paging")
        public Boolean hasMorePages = null;
        
        public ArrayList<AccountInfo> getItems() { return items; }
        public ListResponse<AccountInfo> setItems(ArrayList<AccountInfo> value) { this.items = value; return this; }
        public Integer getTotalCount() { return totalCount; }
        public ListResponse<AccountInfo> setTotalCount(Integer value) { this.totalCount = value; return this; }
        public Integer getTotalPages() { return totalPages; }
        public ListResponse<AccountInfo> setTotalPages(Integer value) { this.totalPages = value; return this; }
        public Boolean isHasMorePages() { return hasMorePages; }
        public ListResponse<AccountInfo> setHasMorePages(Boolean value) { this.hasMorePages = value; return this; }
    }

    public static class AccountInfo extends EntityInfo
    {
        /**
        * The name of this account
        */
        @ApiMember(Description="The name of this account")
        public String name = null;

        /**
        * The ID of this account's parent
        */
        @ApiMember(Description="The ID of this account's parent")
        public String parentAccountId = null;

        /**
        * The twilio account SID
        */
        @ApiMember(Description="The twilio account SID")
        public String twilioAccountSid = null;

        /**
        * The ancestors of this account. Useful for breadcrumbs
        */
        @ApiMember(Description="The ancestors of this account. Useful for breadcrumbs")
        public ArrayList<String> ancestorIds = null;

        /**
        * The max number of phone numbers this account can have
        */
        @ApiMember(Description="The max number of phone numbers this account can have")
        public Integer maxPhoneNumbers = null;

        /**
        * This account is BYOA
        */
        @ApiMember(Description="This account is BYOA")
        public Boolean isBYOA = null;

        /**
        * TrustHub Profile Sid
        */
        @ApiMember(Description="TrustHub Profile Sid")
        public String trustHubProfileSid = null;

        /**
        * The ID of the logo file
        */
        @ApiMember(Description="The ID of the logo file")
        public String logoId = null;

        /**
        * The URI of the logo file
        */
        @ApiMember(Description="The URI of the logo file")
        public String logoUri = null;

        /**
        * The billing settings for this account
        */
        @ApiMember(Description="The billing settings for this account")
        public BillingSettings billingSettings = null;
        
        public String getName() { return name; }
        public AccountInfo setName(String value) { this.name = value; return this; }
        public String getParentAccountId() { return parentAccountId; }
        public AccountInfo setParentAccountId(String value) { this.parentAccountId = value; return this; }
        public String getTwilioAccountSid() { return twilioAccountSid; }
        public AccountInfo setTwilioAccountSid(String value) { this.twilioAccountSid = value; return this; }
        public ArrayList<String> getAncestorIds() { return ancestorIds; }
        public AccountInfo setAncestorIds(ArrayList<String> value) { this.ancestorIds = value; return this; }
        public Integer getMaxPhoneNumbers() { return maxPhoneNumbers; }
        public AccountInfo setMaxPhoneNumbers(Integer value) { this.maxPhoneNumbers = value; return this; }
        public Boolean getIsBYOA() { return isBYOA; }
        public AccountInfo setIsBYOA(Boolean value) { this.isBYOA = value; return this; }
        public String getTrustHubProfileSid() { return trustHubProfileSid; }
        public AccountInfo setTrustHubProfileSid(String value) { this.trustHubProfileSid = value; return this; }
        public String getLogoId() { return logoId; }
        public AccountInfo setLogoId(String value) { this.logoId = value; return this; }
        public String getLogoUri() { return logoUri; }
        public AccountInfo setLogoUri(String value) { this.logoUri = value; return this; }
        public BillingSettings getBillingSettings() { return billingSettings; }
        public AccountInfo setBillingSettings(BillingSettings value) { this.billingSettings = value; return this; }
    }

    public static class BillingSettings
    {
        public BillingItem base = null;
        public BillingItem localNumbers = null;
        public BillingItem tollFreeNumbers = null;
        public BillingItem inboundVoiceCalls = null;
        public BillingItem outboundVoiceCalls = null;
        public BillingItem inboundFaxes = null;
        public BillingItem outboundFaxes = null;
        public BillingItem inboundSmsMessages = null;
        public BillingItem outboundSmsMessages = null;
        
        public BillingItem getBase() { return base; }
        public BillingSettings setBase(BillingItem value) { this.base = value; return this; }
        public BillingItem getLocalNumbers() { return localNumbers; }
        public BillingSettings setLocalNumbers(BillingItem value) { this.localNumbers = value; return this; }
        public BillingItem getTollFreeNumbers() { return tollFreeNumbers; }
        public BillingSettings setTollFreeNumbers(BillingItem value) { this.tollFreeNumbers = value; return this; }
        public BillingItem getInboundVoiceCalls() { return inboundVoiceCalls; }
        public BillingSettings setInboundVoiceCalls(BillingItem value) { this.inboundVoiceCalls = value; return this; }
        public BillingItem getOutboundVoiceCalls() { return outboundVoiceCalls; }
        public BillingSettings setOutboundVoiceCalls(BillingItem value) { this.outboundVoiceCalls = value; return this; }
        public BillingItem getInboundFaxes() { return inboundFaxes; }
        public BillingSettings setInboundFaxes(BillingItem value) { this.inboundFaxes = value; return this; }
        public BillingItem getOutboundFaxes() { return outboundFaxes; }
        public BillingSettings setOutboundFaxes(BillingItem value) { this.outboundFaxes = value; return this; }
        public BillingItem getInboundSmsMessages() { return inboundSmsMessages; }
        public BillingSettings setInboundSmsMessages(BillingItem value) { this.inboundSmsMessages = value; return this; }
        public BillingItem getOutboundSmsMessages() { return outboundSmsMessages; }
        public BillingSettings setOutboundSmsMessages(BillingItem value) { this.outboundSmsMessages = value; return this; }
    }

    public static class BillingItem
    {
        public Double baseCost = null;
        public Double rawUnitMultiplier = null;
        public Double unitCost = null;
        public Integer allowance = null;
        
        public Double getBaseCost() { return baseCost; }
        public BillingItem setBaseCost(Double value) { this.baseCost = value; return this; }
        public Double getRawUnitMultiplier() { return rawUnitMultiplier; }
        public BillingItem setRawUnitMultiplier(Double value) { this.rawUnitMultiplier = value; return this; }
        public Double getUnitCost() { return unitCost; }
        public BillingItem setUnitCost(Double value) { this.unitCost = value; return this; }
        public Integer getAllowance() { return allowance; }
        public BillingItem setAllowance(Integer value) { this.allowance = value; return this; }
    }

}

Java ListEndpoints DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

GET /endpoints HTTP/1.1 
Host: evovoice.io 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"items":[{"accountId":"String","accountName":"String","customerId":"String","customerName":"String","referenceId":"String","customerBreadcrumb":[{"id":"String","name":"String"}],"displayName":"String","type":"PhoneNumber","extraInformation":"String","flowId":"String","flowName":"String","flowParams":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}}}}},"flowSchedule":"Always","schedule":{"timeZoneId":"String","inherit":false,"forceClosed":false,"rules":[{"id":"String","name":"String","priority":0,"state":"String","source":"String","condition":"String","simpleRuleType":"Always","customerState":"String","flowId":"String","flowParams":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}}}}},"isAllDay":false,"startDate":"String","startTime":"String","endTime":"String","bySetPosition":[0],"byMonth":[0],"byWeekNo":[0],"byYearDay":[0],"byMonthDay":[0],"byDay":[{"offset":0,"dayOfWeek":"Sunday"}],"byHour":[0],"byMinute":[0],"interval":0,"count":0,"untilDate":"String","frequency":"None"}],"defaultState":"String"},"scheduledFlows":[{"stateName":"String","flowId":"String","flowParams":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}}}}}}],"disableSms":false,"useExternal10DlcCampaign":false,"isVirtualPhoneNumber":false,"isCallerIdVerified":false,"callerIdVerificationCode":"String","phoneNumber":"String","phoneNumberSid":"String","callerIdName":"String","addressSid":"String","doNotTouchPhoneNumber":false,"isEnrolledIn10DlcService":false,"enableCallerIdLookup":false,"userEmailAddress":"String","sipRegion":"NorthAmericaVirginia","sipCredentialSid":"String","sipUserName":"String","sipPassword":"String","sipDomain":"String","enableEmergencyCalling":false,"emergencyAddressSid":"String","emergencyPhoneNumberId":"String","agentState":"Unknown","agentStateReason":"Unknown","userMode":"SoftPhone","voicemailGreetingId":"String","data":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}],"structValue":{"String":{"boolValue":false,"stringValue":"String","numberValue":0,"listValue":[null]}}}}}},"emailAddress":"String","userFirstName":"String","userLastName":"String","avatarUrl":"String","managerRole":"None","dashboardPermissions":["ViewFiles"],"myFieldPermissions":"Hidden","customerFieldPermissions":"Hidden","otherUserFieldPermissions":"Hidden","otherEndpointFieldPermissions":"Hidden","name":"String","tags":[{"id":"String","name":"String","color":"Magenta"}],"actionUrls":[{"id":"String","url":"String","method":"GET"}],"teamMemberIds":["String"],"contactListVisibility":"None","contacts":[{"id":"String","displayName":"String","address":"String"}],"documoId":"String","integrationData":{"String":{"thirdPartyId":"String"}},"thirdPartyPhoneSystemSettings":{"type":"Demo","sipSettings":{"accounts":[{"number":"String","agent":"String","authName":"String","userName":"String","displayName":"String","password":"String","userDomain":"String","registrationExpires":0,"transportType":"UDP","localIP":"String","localPort":0,"sipServer":"String","sipServerPort":0,"outboundServer":"String","outboundServerPort":0,"stunServer":"String","stunPort":0,"audioPlaybackDeviceName":"String","audioRecordingDeviceName":"String","audioCodecs":["PCMU"],"dtmfMethod":"RFC2833"}]},"demoSettings":{"extension":"String"}},"overrideAppSettings":false,"appSettings":{"enablePhoneNumberManagement":false,"enableDeviceManagement":false,"enableDialer":false,"enableCallHistory":false,"showFileNameInMessageCenter":false,"chakraTheme":"String","customCss":"String","pageTitle":"String","stringMappings":"String","logoutUrl":"String","portMyNumberUrl":"String"},"id":"String","dateCreated":"String","dateLastModified":"String","createdBy":"String","lastModifiedBy":"String"}],"totalCount":0,"totalPages":0,"hasMorePages":false}