Alvaria Cloud ComplianceHub REST API v3.0/4.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Overview
The Alvaria™ Cloud ComplianceHub REST endpoints enable developers to create applications that manage compliance related activities. Using these endpoints, management of compliance rules and compliance checks are possible
Compliance Management
ComplianceHub manages the following compliance related rules
- Exclusions
- ConvenientContactTimes
- AttemptTrackers
- QuotaControls
- MessageTrackers
Exclusions
This rule allows to exclude records from being contacted. Different types of exclusions are available like Account, Phone, Email, SMS and SSN(a custom exclusion number).
ConvenientContactTimes
The Convenient Time to Contact rule allows you to enforce contact times for a specific customer or account and contact address based on a specific time frame that is convenient for the customer/account or convenient based on other related criteria.
AttemptTrackers
Attempt Tracking allows you to track, control and limit the number of attempts that are made to a specific customer, contact address, customer/contact address, account or account/contact address combination across lists and strategies.
QuotaControls
QuotaControl is a way of restricting records from being dialed. QuotaControl entries are created for products and used in managing product inventory. It contains the product identifier, the total quantity, items sold, and unit price. The quotaControl entry is evaluated to check the availability of inventory before records are sent for dialing.
MessageTrackers
Centralized Message Tracking allows you to track, control and limit the number of messages and the types of messages that are left for a specific customer, contact address, customer/contact address, account or account/contact address across lists and strategies.
ContactAttempts
AttemptTracker and MessageTracker require historical contact attempts for validation of rules. Also QuotaControl require the quantity to increment quota in corresponding rules. So ComplianceHub have a provision to manage these using contactAttempts.
ExternalData endpoints
The resources Dispositions, NumberTypes, Geocodes, Purposes and ContactLists are used in compliance rules but their source of truth is consumer of Compliance Hub. So consumer can register their data or redirect url using externalData endpoints. This can be managed using externalData. The consumer should ensure they are using same property value from redirect endpoints across Compliance Hub endpoints. For example, if disposition code used from redirect endpoint for disposition then use disposition code in CRUD on /attemptTrackers, POST on /complianceStatuses, POST on /contactAttempts also.
Load Job endpoints
Bulk Exclusions, ConvenientContactTimes and ContactAttempts operations can perform from a delimited file using load endpoints.
- POST /jobs/exclusionsLoad
- POST /jobs/convenientContactTimesLoad
- POST /jobs/contactAttemptsLoad
Prior to this, the input file is uploaded to the network path('imports/outreach/exclusions') using the mediaStorage signed upload GET endpoint. The load job operations are performed asynchronously and the progress status is retrieved using the GET jobs/{jobId} endpoint. If any error occurred on processing a line in the file, the load will continue processing the other lines in the file and mark the job as Completed. An error file (.json) will be generated with the failed line index and the reason if the error response type specified is ErrorFileWithSummary. This file can be download from network path('exports/compliance/audit') to identify errors and load again with correction if needed. A load job will mark as Failed, if it failed to read the file in network path or the file not found.
Sample ComplianceHub consumer code
Register url or data for Dispositions, NumberTypes, Geocodes, Purposes and ContactLists. This is onetime task POST /compliance/externalData
Create required rules in Exclusions, ConvenientContactTimes, QuotaControls, MessageTrackers. This can be done based on business use cases.
POST /exclusions
POST /attemptTrackers
POST /convenientContactTimes
POST /quotaControls
POST /messageTrackers
While making a contact(Voice or Email or Sms), do compliance check
POST /complianceStatuses
If record is not restricted by ComplianceHub then dial and send the contact outcome to ComplianceHub
POST /contactAttempts
Configurations
The configuration endpoints offer the functionality to access configurations using GET and support updates through PATCH. The default values for these configurations are initially set as outlined in the below table
AttemptTrackers
| Configuration | Category | Default | Range |
|---|---|---|---|
| excludeFromContactAddressRule | AttemptTracker | None | N/A |
| excludedContactAddresses | AttemptTracker | None | N/A |
| enableActiveRecordFeature | ActiveRecord | true | N/A |
| lifeTimeOfActiveRecord | ActiveRecord | 120 minutes | 1-1440 minutes |
| minutesToWaitAfterActiveRestriction | ActiveRecord | 10 minutes | 0-1440 minutes |
MessageTrackers
| Configuration | Category | Default | Range |
|---|---|---|---|
| excludeFromContactAddressRule | MessageTracker | None | N/A |
| excludedContactAddresses | MessageTracker | None | N/A |
Exclusions
| Configuration | Category | Default | Range |
|---|---|---|---|
| retainDays | Data retention | 14 days | 0-14 days |
| retainNoEndTime | Data retention | false | N/A |
ConvenientContactTimes
| Configuration | Category | Default | Range |
|---|---|---|---|
| retainDays | Data retention | 14 days | 0-14 days |
All Alvaria™ Cloud resource instances are accessed through an Alvaria-supplied identifier. Before a specific resource instance can be updated, its properties must be retrieved through a GET operation specifically. The version property from the GET operation must be included in the properties of the PUT operation that updates the entity instance. The version enforces the optimistic locking mechanism rules when multiple clients attempt to update the same resource simultaneously.
The primary focus of the new and modified enhancements are delivered with the intent to facilitate our customers complying with the new Consumers Financial Protection Bureau (CFPB) 2020 Final Rules. CFPB enhancements are implemented as V4 endpoints.
Base URLs:
License: License: Creative Commons Attribution 4.0 International Public License
Authentication
-
oAuth2 authentication.
- Flow: client crendentials
- Authorization URL = https://myaspect.region.id.aspect-cloud.net/tokenservice/oauth2/access_token
| Scope | Scope Description |
|---|---|
| complianceapi | manage the compliance hub resource |
Exclusions
Create or updates Exclusion
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/exclusions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"locale": "en-US",
"exclusionType": "Account",
"exclusionValue": "91-99994532",
"contactListName": "CreditCardList",
"reason": "Customer is not available",
"startTime": "2025-05-17T04:49:56.729Z",
"endTime": "2025-05-17T04:49:56.729Z"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/exclusions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/exclusions HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/compliance/exclusions
This endpoint accepts exclusion details and creates an exclusion or updates if already exists with same exclusionType, exclusionValue and contactListName where endTime is later in time.
Body parameter
{
"locale": "en-US",
"exclusionType": "Account",
"exclusionValue": "91-99994532",
"contactListName": "CreditCardList",
"reason": "Customer is not available",
"startTime": "2025-05-17T04:49:56.729Z",
"endTime": "2025-05-17T04:49:56.729Z"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | ExclusionsInsertRequest | true | none |
Example responses
201 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#exclusion",
"version": 12,
"locale": "en-US",
"exclusionType": "Account",
"exclusionValue": "91-99994532",
"contactListName": "CreditCardList",
"reason": "Customer is not available",
"startTime": "2025-05-17T04:49:56.732Z",
"endTime": "2025-05-17T04:49:56.732Z",
"creationTime": "2025-05-17T04:49:56.732Z",
"lastModifiedTime": "2025-05-17T04:49:56.732Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | ItemExclusionsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get exclusions
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/exclusions \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/exclusions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/exclusions HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/exclusions
To get all configured exclusions or a subset based on the query parameters specified.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| exclusionType | query | string | false | Contact Type. |
| exclusionValue | query | string | false | Exclusion value. This is used to get records associated with the specified exclusion value. |
| contactListName | query | string | false | Name of a contact list. This is used to get records associated with the specified contact list name. The valid contact list names can be retrieved using GET /compliance/contactLists endpoint'. |
| fromStartTime | query | string(date-time) | false | Filtering based on start time. This is used to get records having startTime greater than or equal to fromStartTime. |
| toStartTime | query | string(date-time) | false | Filtering based on start time. This is used to get records having startTime less than or equal to toStartTime. |
| fromEndTime | query | string(date-time) | false | Filtering based on end time. This is used to get records having endTime greater than or equal to fromEndTime. |
| toEndTime | query | string(date-time) | false | Filtering based on end time. This is used to get records having endTime less than or equal to toEndTime. |
| fromCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime greater than or equal to fromCreationTime. |
| toCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime less than or equal to toCreationTime. |
| fromLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime greater than or equal to fromLastModifiedTime. |
| toLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime less than or equal to toLastModifiedTime. |
| lastModifiedBy | query | string | false | Last modified user to search |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
Enumerated Values
| Parameter | Value |
|---|---|
| exclusionType | Account |
| exclusionType | Voice |
| exclusionType | |
| exclusionType | SMS |
| exclusionType | SSN |
Example responses
200 Response
{
"kind": "via#exclusionCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/exclusions?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/exclusions?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/exclusions?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/exclusions?startIndex=0&maxResults=5"
},
"exclusions": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#exclusion",
"version": 12,
"locale": "en-US",
"exclusionType": "Account",
"exclusionValue": "91-99994532",
"contactListName": "CreditCardList",
"reason": "Customer is not available",
"startTime": "2025-05-17T04:49:56.734Z",
"endTime": "2025-05-17T04:49:56.734Z",
"creationTime": "2025-05-17T04:49:56.734Z",
"lastModifiedTime": "2025-05-17T04:49:56.734Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionExclusionsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get Exclusion Instance
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/exclusions/{exclusionId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/exclusions/{exclusionId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/exclusions/{exclusionId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/exclusions/{exclusionId}
Get the properties for an exclusion instance specified by the exclusion identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| exclusionId | path | string | true | Alvaria-generated unique identifier for the exclusion instance |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#exclusion",
"version": 12,
"locale": "en-US",
"exclusionType": "Account",
"exclusionValue": "91-99994532",
"contactListName": "CreditCardList",
"reason": "Customer is not available",
"startTime": "2025-05-17T04:49:56.735Z",
"endTime": "2025-05-17T04:49:56.735Z",
"creationTime": "2025-05-17T04:49:56.735Z",
"lastModifiedTime": "2025-05-17T04:49:56.735Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | ItemExclusionsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No exclusion exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Update Exclusion Instance
Code samples
# You can also use wget
curl -X PUT https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/exclusions/{exclusionId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"version": 12,
"locale": "en-US",
"exclusionType": "Account",
"exclusionValue": "91-99994532",
"contactListName": "CreditCardList",
"reason": "Customer is not available",
"startTime": "2025-05-17T04:49:56.735Z",
"endTime": "2025-05-17T04:49:56.735Z"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/exclusions/{exclusionId}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/exclusions/{exclusionId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PUT /via/v3/organizations/{orgId}/compliance/exclusions/{exclusionId}
Modifies the properties for an exclusion instance specified by the exclusion identifier.
Body parameter
{
"version": 12,
"locale": "en-US",
"exclusionType": "Account",
"exclusionValue": "91-99994532",
"contactListName": "CreditCardList",
"reason": "Customer is not available",
"startTime": "2025-05-17T04:49:56.735Z",
"endTime": "2025-05-17T04:49:56.735Z"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| exclusionId | path | string | true | Alvaria-generated unique identifier for the exclusion instance |
| body | body | ExclusionsUpdateRequest | true | none |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#exclusion",
"version": 12,
"locale": "en-US",
"exclusionType": "Account",
"exclusionValue": "91-99994532",
"contactListName": "CreditCardList",
"reason": "Customer is not available",
"startTime": "2025-05-17T04:49:56.735Z",
"endTime": "2025-05-17T04:49:56.735Z",
"creationTime": "2025-05-17T04:49:56.735Z",
"lastModifiedTime": "2025-05-17T04:49:56.735Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | ItemExclusionsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No exclusion exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Delete Exclusion Instance
Code samples
# You can also use wget
curl -X DELETE https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/exclusions/{exclusionId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/exclusions/{exclusionId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/exclusions/{exclusionId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
DELETE /via/v3/organizations/{orgId}/compliance/exclusions/{exclusionId}
Deletes an exclusion specified by the exclusion identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| exclusionId | path | string | true | Alvaria-generated unique identifier for the exclusion instance |
Example responses
404 Response
{
"error": {
"code": 404,
"message": "Not Found",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 204 | No Content | No Content | None |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No exclusion exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
AttemptTrackers
Create AttemptTracker v3 (deprecated)
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/attemptTrackers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/attemptTrackers',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/attemptTrackers HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/compliance/attemptTrackers
This endpoint is deprecated, please use 'POST /via/v4/organizations/{orgId}/compliance/attemptTrackers' instead
This endpoint accepts attemptTracker details and creates an attemptTracker.
Body parameter
{
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | AttemptTrackersInsertRequest | true | attemptTracker details. |
Example responses
201 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#attemptTracker",
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.736Z",
"lastModifiedTime": "2025-05-17T04:49:56.736Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | TerseAttemptTrackersResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get AttemptTrackers v3 (deprecated)
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/attemptTrackers \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/attemptTrackers',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/attemptTrackers HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/attemptTrackers
This endpoint is deprecated, please use 'GET /via/v4/organizations/{orgId}/compliance/attemptTrackers' instead
To get all configured attemptTrackers or a subset based on the query parameters specified.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| attemptTrackerName | query | string | false | Name of the attemptTracker. |
| attemptTrackerDescription | query | string | false | Description of the attemptTracker. |
| typeOfTracker | query | string | false | Rule type |
| numberOfAttempts | query | integer | false | Allowed number Of Attempts. |
| threshold | query | integer | false | Threshold time for this rule. |
| thresholdType | query | string | false | Threshold type for this rule. |
| dispositions | query | string | false | Dispositions to search. This can be comma separated values |
| numberTypes | query | array[integer] | false | NumberTypes to search. This can be comma separated values |
| geocodes | query | string | false | Geocodes to search. This can be comma separated values |
| purposes | query | string | false | Purposes to search. This can be comma separated values |
| fromCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime greater than or equal to fromCreationTime. |
| toCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime less than or equal to toCreationTime. |
| fromLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime greater than or equal to fromLastModifiedTime. |
| toLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime less than or equal to toLastModifiedTime. |
| lastModifiedBy | query | string | false | Last modified user to search |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
Enumerated Values
| Parameter | Value |
|---|---|
| typeOfTracker | Customer |
| typeOfTracker | Phone |
| typeOfTracker | CustomerPhone |
| thresholdType | Minute |
| thresholdType | Hour |
| thresholdType | Day |
| thresholdType | Week |
| thresholdType | CurrentDay |
| thresholdType | CurrentWeek |
| thresholdType | CurrentMonth |
Example responses
200 Response
{
"kind": "via#attemptTrackerCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=0&maxResults=5"
},
"attemptTrackers": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#attemptTracker",
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.737Z",
"lastModifiedTime": "2025-05-17T04:49:56.737Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionAttemptTrackerResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get AttemptTracker Instance v3 (deprecated)
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId}
This endpoint is deprecated, please use 'GET /via/v4/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId}' instead
Get the properties for an attemptTracker instance specified by the attemptTracker identifier
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| attemptTrackerId | path | string | true | Alvaria-generated unique identifier for the attemptTracker instance |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#attemptTracker",
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.737Z",
"lastModifiedTime": "2025-05-17T04:49:56.737Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseAttemptTrackersResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No attemptTracker exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Update AttemptTracker Instance v3 (deprecated)
Code samples
# You can also use wget
curl -X PUT https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PUT /via/v3/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId}
This endpoint is deprecated, please use 'PUT /via/v4/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId}' instead
Modifies the properties for an attemptTracker instance specified by the attemptTracker identifier.
Body parameter
{
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| attemptTrackerId | path | string | true | Alvaria-generated unique identifier for the attemptTracker instance |
| body | body | AttemptTrackersUpdateRequest | true | attemptTracker details to update. |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#attemptTracker",
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.738Z",
"lastModifiedTime": "2025-05-17T04:49:56.738Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseAttemptTrackersResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No attemptTracker exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Delete AttemptTracker Instance v3 (deprecated)
Code samples
# You can also use wget
curl -X DELETE https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
DELETE /via/v3/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId}
This endpoint is deprecated, please use 'DELETE /via/v4/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId}' instead
Deletes an attemptTracker specified by the attemptTracker identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| attemptTrackerId | path | string | true | Alvaria-generated unique identifier for the attemptTracker instance |
Example responses
404 Response
{
"error": {
"code": 404,
"message": "Not Found",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 204 | No Content | No Content | None |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No attemptTracker exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Create AttemptTracker v4
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"contactChannels": [
"Voice"
],
"acrossContactChannels": false,
"excludeContactChannels": false,
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"enabled": true
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v4/organizations/{orgId}/compliance/attemptTrackers
This endpoint accepts attemptTracker details and creates an attemptTracker.
Body parameter
{
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"contactChannels": [
"Voice"
],
"acrossContactChannels": false,
"excludeContactChannels": false,
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"enabled": true
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | AttemptTrackersInsertRequestV4 | true | attemptTracker details. |
Example responses
201 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#attemptTracker",
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"contactChannels": [
"Voice"
],
"acrossContactChannels": false,
"excludeContactChannels": false,
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.739Z",
"lastModifiedTime": "2025-05-17T04:49:56.739Z",
"lastModifiedBy": "jose@alvaria.com",
"enabled": true
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | TerseAttemptTrackersResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get AttemptTrackers v4
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v4/organizations/{orgId}/compliance/attemptTrackers
To get all configured attemptTrackers or a subset based on the query parameters specified.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| attemptTrackerName | query | string | false | Name of the attemptTracker. |
| attemptTrackerDescription | query | string | false | Description of the attemptTracker. |
| typeOfTracker | query | string | false | Rule type. |
| contactChannels | query | string | false | Contact channels to search. This can be comma separated values |
| numberOfAttempts | query | integer | false | Allowed number Of Attempts. |
| threshold | query | integer | false | Threshold time for this rule. |
| thresholdType | query | string | false | Threshold type for this rule. |
| dispositions | query | string | false | Dispositions to search. This can be comma separated values |
| numberTypes | query | array[integer] | false | NumberTypes to search. This can be comma separated values |
| geocodes | query | string | false | Geocodes to search. This can be comma separated values |
| purposes | query | string | false | Purposes to search. This can be comma separated values |
| fromCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime greater than or equal to fromCreationTime. |
| toCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime less than or equal to toCreationTime. |
| fromLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime greater than or equal to fromLastModifiedTime. |
| toLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime less than or equal to toLastModifiedTime. |
| lastModifiedBy | query | string | false | Last modified user to search |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
| enabled | query | boolean | false | Filters rules based on whether they're enabled or not. |
Enumerated Values
| Parameter | Value |
|---|---|
| typeOfTracker | Customer |
| typeOfTracker | ContactAddress |
| typeOfTracker | CustomerContactAddress |
| typeOfTracker | Account |
| typeOfTracker | AccountContactAddress |
| contactChannels | Voice |
| contactChannels | SMS |
| contactChannels | |
| thresholdType | Minute |
| thresholdType | Hour |
| thresholdType | Day |
| thresholdType | Week |
| thresholdType | CurrentDay |
| thresholdType | CurrentWeek |
| thresholdType | CurrentMonth |
Example responses
200 Response
{
"kind": "via#attemptTrackerCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=0&maxResults=5"
},
"attemptTrackers": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#attemptTracker",
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"contactChannels": [
"Voice"
],
"acrossContactChannels": false,
"excludeContactChannels": false,
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.740Z",
"lastModifiedTime": "2025-05-17T04:49:56.740Z",
"lastModifiedBy": "jose@alvaria.com",
"enabled": true
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionAttemptTrackerResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get AttemptTracker Instance v4
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v4/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId}
Get the properties for an attemptTracker instance specified by the attemptTracker identifier
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| attemptTrackerId | path | string | true | Alvaria-generated unique identifier for the attemptTracker instance |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#attemptTracker",
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"contactChannels": [
"Voice"
],
"acrossContactChannels": false,
"excludeContactChannels": false,
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.740Z",
"lastModifiedTime": "2025-05-17T04:49:56.740Z",
"lastModifiedBy": "jose@alvaria.com",
"enabled": true
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseAttemptTrackersResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No attemptTracker exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Update AttemptTracker Instance v4
Code samples
# You can also use wget
curl -X PUT https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"contactChannels": [
"Voice"
],
"acrossContactChannels": false,
"excludeContactChannels": false,
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"enabled": true
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PUT /via/v4/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId}
Modifies the properties for an attemptTracker instance specified by the attemptTracker identifier.
Body parameter
{
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"contactChannels": [
"Voice"
],
"acrossContactChannels": false,
"excludeContactChannels": false,
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"enabled": true
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| attemptTrackerId | path | string | true | Alvaria-generated unique identifier for the attemptTracker instance |
| body | body | AttemptTrackersUpdateRequestV4 | true | attemptTracker details to update. |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#attemptTracker",
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"contactChannels": [
"Voice"
],
"acrossContactChannels": false,
"excludeContactChannels": false,
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.741Z",
"lastModifiedTime": "2025-05-17T04:49:56.741Z",
"lastModifiedBy": "jose@alvaria.com",
"enabled": true
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseAttemptTrackersResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No attemptTracker exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Delete AttemptTracker Instance v4
Code samples
# You can also use wget
curl -X DELETE https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
DELETE /via/v4/organizations/{orgId}/compliance/attemptTrackers/{attemptTrackerId}
Deletes an attemptTracker specified by the attemptTracker identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| attemptTrackerId | path | string | true | Alvaria-generated unique identifier for the attemptTracker instance |
Example responses
404 Response
{
"error": {
"code": 404,
"message": "Not Found",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 204 | No Content | No Content | None |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No attemptTracker exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
ConvenientContactTimes
Create ConvenientContactTime v3 (deprecated)
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/convenientContactTimes \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"locale": "en-US",
"customer": "CUST01",
"phone": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.741Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/convenientContactTimes',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/convenientContactTimes HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/compliance/convenientContactTimes
This endpoint is deprecated, please use 'POST /via/v4/organizations/{orgId}/compliance/convenientContactTimes' instead
This endpoint accepts convenientContactTime details and creates a convenientContactTime or updates if already exists with same customer and phone.
Body parameter
{
"locale": "en-US",
"customer": "CUST01",
"phone": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.741Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | ConvenientContactTimesInsertRequest | true | convenientContactTime details. |
Example responses
201 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#convenientContactTime",
"version": 12,
"locale": "en-US",
"customer": "CUST01",
"phone": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.742Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
],
"creationTime": "2025-05-17T04:49:56.742Z",
"lastModifiedTime": "2025-05-17T04:49:56.742Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | TerseConvenientContactTimesResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get ConvenientContactTimes v3 (deprecated)
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/convenientContactTimes \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/convenientContactTimes',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/convenientContactTimes HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/convenientContactTimes
This endpoint is deprecated, please use 'GET /via/v4/organizations/{orgId}/compliance/convenientContactTimes' instead
To get all configured convenientContactTimes or a subset based on the query parameters specified.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| customer | query | string | false | Customer name. |
| phone | query | string | false | Phone number. |
| fromEndTime | query | string(date-time) | false | Filtering based on end time. This is used to get records having endTime greater than or equal to fromEndTime. |
| toEndTime | query | string(date-time) | false | Filtering based on end time. This is used to get records having endTime less than or equal to toEndTime. |
| fromCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime greater than or equal to fromCreationTime. |
| toCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime less than or equal to toCreationTime. |
| fromLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime greater than or equal to fromLastModifiedTime. |
| toLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime less than or equal to toLastModifiedTime. |
| lastModifiedBy | query | string | false | Last modified user to search |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
Example responses
200 Response
{
"kind": "via#convenientContactTimeCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=0&maxResults=5"
},
"convenientContactTimes": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#convenientContactTime",
"version": 12,
"locale": "en-US",
"customer": "CUST01",
"phone": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.742Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
],
"creationTime": "2025-05-17T04:49:56.742Z",
"lastModifiedTime": "2025-05-17T04:49:56.742Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionConvenientContactTimeResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get ConvenientContactTime Instance v3 (deprecated)
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId}
This endpoint is deprecated, please use 'GET /via/v4/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId}' instead
Get the properties for a convenientContactTime instance specified by the convenientContactTime identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| convenientContactTimeId | path | string | true | Alvaria-generated unique identifier for the convenientContactTime instance |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#convenientContactTime",
"version": 12,
"locale": "en-US",
"customer": "CUST01",
"phone": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.743Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
],
"creationTime": "2025-05-17T04:49:56.743Z",
"lastModifiedTime": "2025-05-17T04:49:56.743Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseConvenientContactTimesResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No convenientContactTime exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Update ConvenientContactTime Instance v3 (deprecated)
Code samples
# You can also use wget
curl -X PUT https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"version": 12,
"locale": "en-US",
"customer": "CUST01",
"phone": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.743Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PUT /via/v3/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId}
This endpoint is deprecated, please use 'PUT /via/v4/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId}' instead
Modifies the properties for a ConvenientContactTime instance specified by the ConvenientContactTime identifier.
Body parameter
{
"version": 12,
"locale": "en-US",
"customer": "CUST01",
"phone": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.743Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| convenientContactTimeId | path | string | true | Alvaria-generated unique identifier for the convenientContactTime instance |
| body | body | ConvenientContactTimesUpdateRequest | true | ConvenientContactTime details to update |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#convenientContactTime",
"version": 12,
"locale": "en-US",
"customer": "CUST01",
"phone": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.743Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
],
"creationTime": "2025-05-17T04:49:56.743Z",
"lastModifiedTime": "2025-05-17T04:49:56.743Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseConvenientContactTimesResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No convenientContactTime exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Delete ConvenientContactTime Instance v3 (deprecated)
Code samples
# You can also use wget
curl -X DELETE https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
DELETE /via/v3/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId}
This endpoint is deprecated, please use 'DELETE /via/v4/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId}' instead
Deletes a ConvenientContactTime specified by the ConvenientContactTime identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| convenientContactTimeId | path | string | true | Alvaria-generated unique identifier for the convenientContactTime instance |
Example responses
404 Response
{
"error": {
"code": 404,
"message": "Not Found",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 204 | No Content | No Content | None |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No convenientContactTime exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Create ConvenientContactTime v4
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"locale": "en-US",
"contactKeyType": "Customer",
"contactKey": "CUST01",
"contactValueType": "Voice",
"contactValue": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.744Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v4/organizations/{orgId}/compliance/convenientContactTimes
This endpoint accepts convenientContactTime details and creates a convenientContactTime or updates if already exists with same contact key and contact value.
Body parameter
{
"locale": "en-US",
"contactKeyType": "Customer",
"contactKey": "CUST01",
"contactValueType": "Voice",
"contactValue": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.744Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | ConvenientContactTimesInsertRequestV4 | true | convenientContactTime details. |
Example responses
201 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#convenientContactTime",
"version": 12,
"locale": "en-US",
"contactKeyType": "Customer",
"contactKey": "CUST01",
"contactValueType": "Voice",
"contactValue": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.744Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
],
"creationTime": "2025-05-17T04:49:56.744Z",
"lastModifiedTime": "2025-05-17T04:49:56.744Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | TerseConvenientContactTimesResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get ConvenientContactTimes v4
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v4/organizations/{orgId}/compliance/convenientContactTimes
To get all configured convenientContactTimes or a subset based on the query parameters specified.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| contactKeyType | query | string | false | Type of contact key |
| contactKey | query | string | false | A customer or an account number |
| contactValueType | query | string | false | Type of contact value |
| contactValue | query | string | false | Phone number or email address. |
| fromEndTime | query | string(date-time) | false | Filtering based on end time. This is used to get records having endTime greater than or equal to fromEndTime. |
| toEndTime | query | string(date-time) | false | Filtering based on end time. This is used to get records having endTime less than or equal to toEndTime. |
| fromCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime greater than or equal to fromCreationTime. |
| toCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime less than or equal to toCreationTime. |
| fromLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime greater than or equal to fromLastModifiedTime. |
| toLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime less than or equal to toLastModifiedTime. |
| lastModifiedBy | query | string | false | Last modified user to search |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
Enumerated Values
| Parameter | Value |
|---|---|
| contactKeyType | Customer |
| contactKeyType | Account |
| contactValueType | Voice |
| contactValueType | |
| contactValueType | SMS |
| contactValueType | All |
Example responses
200 Response
{
"kind": "via#convenientContactTimeCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=0&maxResults=5"
},
"convenientContactTimes": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#convenientContactTime",
"version": 12,
"locale": "en-US",
"contactKeyType": "Customer",
"contactKey": "CUST01",
"contactValueType": "Voice",
"contactValue": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.745Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
],
"creationTime": "2025-05-17T04:49:56.745Z",
"lastModifiedTime": "2025-05-17T04:49:56.745Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionConvenientContactTimeResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get ConvenientContactTime Instance v4
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v4/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId}
Get the properties for a convenientContactTime instance specified by the convenientContactTime identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| convenientContactTimeId | path | string | true | Alvaria-generated unique identifier for the convenientContactTime instance |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#convenientContactTime",
"version": 12,
"locale": "en-US",
"contactKeyType": "Customer",
"contactKey": "CUST01",
"contactValueType": "Voice",
"contactValue": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.745Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
],
"creationTime": "2025-05-17T04:49:56.745Z",
"lastModifiedTime": "2025-05-17T04:49:56.745Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseConvenientContactTimesResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No convenientContactTime exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Update ConvenientContactTime Instance v4
Code samples
# You can also use wget
curl -X PUT https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"version": 12,
"locale": "en-US",
"contactKeyType": "Customer",
"contactKey": "CUST01",
"contactValueType": "Voice",
"contactValue": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.745Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PUT /via/v4/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId}
Modifies the properties for a ConvenientContactTime instance specified by the ConvenientContactTime identifier.
Body parameter
{
"version": 12,
"locale": "en-US",
"contactKeyType": "Customer",
"contactKey": "CUST01",
"contactValueType": "Voice",
"contactValue": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.745Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| convenientContactTimeId | path | string | true | Alvaria-generated unique identifier for the convenientContactTime instance |
| body | body | ConvenientContactTimesUpdateRequestV4 | true | ConvenientContactTime details to update |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#convenientContactTime",
"version": 12,
"locale": "en-US",
"contactKeyType": "Customer",
"contactKey": "CUST01",
"contactValueType": "Voice",
"contactValue": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.746Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
],
"creationTime": "2025-05-17T04:49:56.746Z",
"lastModifiedTime": "2025-05-17T04:49:56.746Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseConvenientContactTimesResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No convenientContactTime exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Delete ConvenientContactTime Instance v4
Code samples
# You can also use wget
curl -X DELETE https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
DELETE /via/v4/organizations/{orgId}/compliance/convenientContactTimes/{convenientContactTimeId}
Deletes a ConvenientContactTime specified by the ConvenientContactTime identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| convenientContactTimeId | path | string | true | Alvaria-generated unique identifier for the convenientContactTime instance |
Example responses
404 Response
{
"error": {
"code": 404,
"message": "Not Found",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 204 | No Content | No Content | None |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No convenientContactTime exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
QuotaControls
Create QuotaControl
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/quotaControls \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"locale": "en-US",
"product": "Alvaria Cloud",
"productDescription": "Contact Center Solutions",
"totalQuota": 100,
"productSold": 50,
"unitValue": 200
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/quotaControls',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/quotaControls HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/compliance/quotaControls
This endpoint accepts quotaControl details and creates a quotaControl.
Body parameter
{
"locale": "en-US",
"product": "Alvaria Cloud",
"productDescription": "Contact Center Solutions",
"totalQuota": 100,
"productSold": 50,
"unitValue": 200
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | QuotaControlsInsertRequest | true | none |
Example responses
201 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#quotaControl",
"version": 12,
"locale": "en-US",
"product": "Alvaria Cloud",
"productDescription": "Contact Center Solutions",
"totalQuota": 100,
"productSold": 50,
"unitValue": 200,
"creationTime": "2025-05-17T04:49:56.747Z",
"lastModifiedTime": "2025-05-17T04:49:56.747Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | TerseQuotaControlsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get QuotaControls
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/quotaControls \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/quotaControls',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/quotaControls HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/quotaControls
To get all configured quotaControls or a subset based on the query parameters specified.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| product | query | string | false | Product name used for quotaControl. |
| productDescription | query | string | false | Product description. |
| totalQuota | query | integer | false | Total allowed quota for sale. |
| productSold | query | integer | false | Number of products sold. |
| unitValue | query | integer | false | Unit price. |
| fromCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime greater than or equal to fromCreationTime. |
| toCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime less than or equal to toCreationTime. |
| fromLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime greater than or equal to fromLastModifiedTime. |
| toLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime less than or equal to toLastModifiedTime. |
| lastModifiedBy | query | string | false | Last modified user to search |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
Example responses
200 Response
{
"kind": "via#quotaControlCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/quotaControls?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/quotaControls?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/quotaControls?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/quotaControls?startIndex=0&maxResults=5"
},
"quotaControls": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#quotaControl",
"version": 12,
"locale": "en-US",
"product": "Alvaria Cloud",
"productDescription": "Contact Center Solutions",
"totalQuota": 100,
"productSold": 50,
"unitValue": 200,
"creationTime": "2025-05-17T04:49:56.748Z",
"lastModifiedTime": "2025-05-17T04:49:56.748Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionQuotaControlsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get QuotaControl Instance
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/quotaControls/{quotaControlId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/quotaControls/{quotaControlId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/quotaControls/{quotaControlId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/quotaControls/{quotaControlId}
Get the properties for a quotaControl instance specified by the quotaControl identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| quotaControlId | path | string | true | Alvaria-generated unique identifier for the quotaControl instance |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#quotaControl",
"version": 12,
"locale": "en-US",
"product": "Alvaria Cloud",
"productDescription": "Contact Center Solutions",
"totalQuota": 100,
"productSold": 50,
"unitValue": 200,
"creationTime": "2025-05-17T04:49:56.748Z",
"lastModifiedTime": "2025-05-17T04:49:56.748Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseQuotaControlsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No quotaControl exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Update quotaControl Instance
Code samples
# You can also use wget
curl -X PUT https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/quotaControls/{quotaControlId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"version": 12,
"locale": "en-US",
"product": "Alvaria Cloud",
"productDescription": "Contact Center Solutions",
"totalQuota": 100,
"productSold": 50,
"unitValue": 200
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/quotaControls/{quotaControlId}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/quotaControls/{quotaControlId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PUT /via/v3/organizations/{orgId}/compliance/quotaControls/{quotaControlId}
Modifies the properties for a quotaControl instance specified by the quotaControl identifier.
Body parameter
{
"version": 12,
"locale": "en-US",
"product": "Alvaria Cloud",
"productDescription": "Contact Center Solutions",
"totalQuota": 100,
"productSold": 50,
"unitValue": 200
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| quotaControlId | path | string | true | Alvaria-generated unique identifier for the quotaControl instance |
| body | body | QuotaControlsUpdateRequest | true | none |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#quotaControl",
"version": 12,
"locale": "en-US",
"product": "Alvaria Cloud",
"productDescription": "Contact Center Solutions",
"totalQuota": 100,
"productSold": 50,
"unitValue": 200,
"creationTime": "2025-05-17T04:49:56.749Z",
"lastModifiedTime": "2025-05-17T04:49:56.749Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseQuotaControlsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No quotaControl exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Delete quotaControl Instance
Code samples
# You can also use wget
curl -X DELETE https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/quotaControls/{quotaControlId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/quotaControls/{quotaControlId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/quotaControls/{quotaControlId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
DELETE /via/v3/organizations/{orgId}/compliance/quotaControls/{quotaControlId}
Deletes a quotaControl specified by the quotaControl identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| quotaControlId | path | string | true | Alvaria-generated unique identifier for the quotaControl instance |
Example responses
404 Response
{
"error": {
"code": 404,
"message": "Not Found",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 204 | No Content | No Content | None |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No quotaControl exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
MessageTrackers
Create MessageTracker v3 (deprecated)
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/messageTrackers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/messageTrackers',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/messageTrackers HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/compliance/messageTrackers
This endpoint is deprecated, please use 'POST /via/v4/organizations/{orgId}/compliance/messageTrackers' instead
This endpoint accepts messageTracker details and creates a messageTracker.
Body parameter
{
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | MessageTrackersInsertRequest | true | messageTracker details |
Example responses
201 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#messageTracker",
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.750Z",
"lastModifiedTime": "2025-05-17T04:49:56.750Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | TerseMessageTrackersResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get MessageTrackers v3 (deprecated)
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/messageTrackers \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/messageTrackers',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/messageTrackers HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/messageTrackers
This endpoint is deprecated, please use 'GET /via/v4/organizations/{orgId}/compliance/messageTrackers' instead
To get all configured messageTrackers or a subset based on the query parameters specified.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| messageTrackerName | query | string | false | Name of the messageTracker. |
| messageTrackerDescription | query | string | false | Description of the messageTracker. |
| typeOfTracker | query | string | false | Rule type |
| numberOfAttempts | query | integer | false | Allowed number Of Attempts. |
| threshold | query | integer | false | Threshold time for this rule. |
| thresholdType | query | string | false | Threshold type for this rule. |
| dispositions | query | string | false | Dispositions to search. This can be comma separated values |
| numberTypes | query | array[integer] | false | NumberTypes to search. This can be comma separated values |
| geocodes | query | string | false | Geocodes to search. This can be comma separated values |
| purposes | query | string | false | Purposes to search. This can be comma separated values |
| fromCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime greater than or equal to fromCreationTime. |
| toCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime less than or equal to toCreationTime. |
| fromLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime greater than or equal to fromLastModifiedTime. |
| toLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime less than or equal to toLastModifiedTime. |
| lastModifiedBy | query | string | false | Last modified user to search |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
Enumerated Values
| Parameter | Value |
|---|---|
| typeOfTracker | Customer |
| typeOfTracker | Phone |
| typeOfTracker | CustomerPhone |
| thresholdType | Minute |
| thresholdType | Hour |
| thresholdType | Day |
| thresholdType | Week |
| thresholdType | CurrentDay |
| thresholdType | CurrentWeek |
| thresholdType | CurrentMonth |
Example responses
200 Response
{
"kind": "via#messageTrackerCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=0&maxResults=5"
},
"messageTrackers": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#messageTracker",
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.752Z",
"lastModifiedTime": "2025-05-17T04:49:56.752Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionMessageTrackerResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get MessageTracker Instance v3 (deprecated)
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId}
This endpoint is deprecated, please use 'GET /via/v4/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId}' instead
Get the properties for a messageTracker instance specified by the messageTracker identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| messageTrackerId | path | string | true | Alvaria-generated unique identifier for the messageTracker instance |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#messageTracker",
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.752Z",
"lastModifiedTime": "2025-05-17T04:49:56.752Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseMessageTrackersResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No messageTracker exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Update MessageTracker Instance v3 (deprecated)
Code samples
# You can also use wget
curl -X PUT https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PUT /via/v3/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId}
This endpoint is deprecated, please use 'PUT /via/v4/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId}' instead
Modifies the properties for a MessageTracker instance specified by the MessageTracker identifier.
Body parameter
{
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| messageTrackerId | path | string | true | Alvaria-generated unique identifier for the messageTracker instance |
| body | body | MessageTrackersUpdateRequest | true | MessageTracker details to update |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#messageTracker",
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.753Z",
"lastModifiedTime": "2025-05-17T04:49:56.753Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseMessageTrackersResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No messageTracker exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Delete MessageTracker Instance v3 (deprecated)
Code samples
# You can also use wget
curl -X DELETE https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
DELETE /via/v3/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId}
This endpoint is deprecated, please use 'DELETE /via/v4/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId}' instead
Deletes a MessageTracker specified by the MessageTracker identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| messageTrackerId | path | string | true | Alvaria-generated unique identifier for the messageTracker instance |
Example responses
404 Response
{
"error": {
"code": 404,
"message": "Not Found",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 204 | No Content | No Content | None |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No messageTracker exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Create MessageTracker v4
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"thresholdActionType": "NoPlayMessage",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"enabled": true
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v4/organizations/{orgId}/compliance/messageTrackers
This endpoint accepts messageTracker details and creates a messageTracker.
Body parameter
{
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"thresholdActionType": "NoPlayMessage",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"enabled": true
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | MessageTrackersInsertRequestV4 | true | messageTracker details |
Example responses
201 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#messageTracker",
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"thresholdActionType": "NoPlayMessage",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.754Z",
"lastModifiedTime": "2025-05-17T04:49:56.754Z",
"lastModifiedBy": "jose@alvaria.com",
"enabled": true
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | TerseMessageTrackersResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get MessageTrackers v4
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v4/organizations/{orgId}/compliance/messageTrackers
To get all configured messageTrackers or a subset based on the query parameters specified.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| messageTrackerName | query | string | false | Name of the messageTracker. |
| messageTrackerDescription | query | string | false | Description of the messageTracker. |
| typeOfTracker | query | string | false | Rule type. |
| numberOfAttempts | query | integer | false | Allowed number Of Attempts. |
| threshold | query | integer | false | Threshold time for this rule. |
| thresholdType | query | string | false | Threshold type for this rule. |
| thresholdActionType | query | string | false | Threshold action type for this rule. |
| dispositions | query | string | false | Dispositions to search. This can be comma separated values |
| numberTypes | query | array[integer] | false | NumberTypes to search. This can be comma separated values |
| geocodes | query | string | false | Geocodes to search. This can be comma separated values |
| purposes | query | string | false | Purposes to search. This can be comma separated values |
| fromCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime greater than or equal to fromCreationTime. |
| toCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime less than or equal to toCreationTime. |
| fromLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime greater than or equal to fromLastModifiedTime. |
| toLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime less than or equal to toLastModifiedTime. |
| lastModifiedBy | query | string | false | Last modified user to search |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
| enabled | query | boolean | false | Filters rules based on whether they're enabled or not. |
Enumerated Values
| Parameter | Value |
|---|---|
| typeOfTracker | Customer |
| typeOfTracker | ContactAddress |
| typeOfTracker | CustomerContactAddress |
| typeOfTracker | Account |
| typeOfTracker | AccountContactAddress |
| thresholdType | Minute |
| thresholdType | Hour |
| thresholdType | Day |
| thresholdType | Week |
| thresholdType | CurrentDay |
| thresholdType | CurrentWeek |
| thresholdType | CurrentMonth |
| thresholdActionType | NoPlayMessage |
| thresholdActionType | PlayStandardMessage |
Example responses
200 Response
{
"kind": "via#messageTrackerCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=0&maxResults=5"
},
"messageTrackers": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#messageTracker",
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"thresholdActionType": "NoPlayMessage",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.756Z",
"lastModifiedTime": "2025-05-17T04:49:56.756Z",
"lastModifiedBy": "jose@alvaria.com",
"enabled": true
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionMessageTrackerResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get MessageTracker Instance v4
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v4/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId}
Get the properties for a messageTracker instance specified by the messageTracker identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| messageTrackerId | path | string | true | Alvaria-generated unique identifier for the messageTracker instance |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#messageTracker",
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"thresholdActionType": "NoPlayMessage",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.756Z",
"lastModifiedTime": "2025-05-17T04:49:56.756Z",
"lastModifiedBy": "jose@alvaria.com",
"enabled": true
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseMessageTrackersResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No messageTracker exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Update MessageTracker Instance v4
Code samples
# You can also use wget
curl -X PUT https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"thresholdActionType": "NoPlayMessage",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"enabled": true
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PUT /via/v4/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId}
Modifies the properties for a messageTracker instance specified by the messageTracker identifier.
Body parameter
{
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"thresholdActionType": "NoPlayMessage",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"enabled": true
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| messageTrackerId | path | string | true | Alvaria-generated unique identifier for the messageTracker instance |
| body | body | MessageTrackersUpdateRequestV4 | true | messageTracker details to update |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#messageTracker",
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"thresholdActionType": "NoPlayMessage",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.759Z",
"lastModifiedTime": "2025-05-17T04:49:56.759Z",
"lastModifiedBy": "jose@alvaria.com",
"enabled": true
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseMessageTrackersResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No messageTracker exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Delete MessageTracker Instance v4
Code samples
# You can also use wget
curl -X DELETE https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
DELETE /via/v4/organizations/{orgId}/compliance/messageTrackers/{messageTrackerId}
Deletes a MessageTracker specified by the MessageTracker identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| messageTrackerId | path | string | true | Alvaria-generated unique identifier for the messageTracker instance |
Example responses
404 Response
{
"error": {
"code": 404,
"message": "Not Found",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 204 | No Content | No Content | None |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No messageTracker exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
ComplianceStatuses
Check Compliance Status v3 (deprecated)
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/complianceStatuses?contactChannel=Voice&contactAddress=string \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/complianceStatuses?contactChannel=Voice&contactAddress=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/complianceStatuses?contactChannel=Voice&contactAddress=string HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/complianceStatuses
This endpoint is deprecated, please use 'POST /via/v4/organizations/{orgId}/compliance/complianceStatuses' instead
Check if a record is allowed to be contacted or not based on exclusion, attemptTracker, messageTracker, convenientContactTime and quotaControls rules. The given query parameter values in this endpoint will validate against exclusion, quotaControl, attemptTracker, convenientContactTime and messageTracker to determine whether this record is allowed to be contacted now. This endpoint can do selective checks using query parameter 'requiredChecks'. If the record is restricted by any type of the rule then response will prepare based on rule that caused the restriction and no further checks will be performed for this record. For example, if an exclusion rule prevents this record from being contacted then convenientContactTime, quotaControl, attemptTracker and messageTracker rule evaluation wont happen. This endpoint does not guarantee the evaluation order mentioned in 'requiredChecks' query parameter. This endpoint will return a key and that should pass into subsequent GET on /complianceStatuses for the same record(if any). If record is not restricted and a contact attempt is made, then consumer of this endpoint must contact POST on /contactAttempts with key received to report the contact status to Compliance Hub.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| requiredChecks | query | string | false | Required checks for the given record. This can be comma separated string. If this parameter is specified then records will evaluate against specified types of rules only. Otherwise check will perform against all kind of rules. Allowed values are 'exclusions', 'attemptTrackers', 'messageTrackers', 'convenientContactTimes', 'quotaControls', 'all' |
| contactChannel | query | string | true | Contact channel of the record. |
| contactAddress | query | string | true | ContactAddress to check, value can be phone Number, SMS Number or Email address based on ContactType. This will validate against exclusion/attemptTracker/convenientContactTime/messageTracker rules. |
| accountNumber | query | string | false | AccountNumber to check. This will validate against exclusion, attemptTracker, messageTracker and convenientContactTime rules. |
| ssn | query | string | false | SSN(a custom exclusion number) to check. This will validate against exclusion rules. |
| contactListName | query | string | false | ContactListName to check. This will validate against exclusion rules. |
| customer | query | string | false | Customer to check. This will validate against attemptTracker, messageTracker and convenientContactTime rules. |
| numberType | query | integer | false | NumberType to check |
| geocodes | query | string | false | Geocodes to check. This can be comma separated values |
| purpose | query | string | false | Purpose to check |
| timeZone | query | string | false | TimeZone to check. This will accept Olson name for the Time zone(see https://www.iana.org/time-zones for more information). Use GET /via/v3/organizations/{orgId}/campaign/timeZones from Alvaria™ Cloud Campaign REST API to retrieve list of Olson Time Zone list. This will validate against attemptTracker, messageTracker and convenientContactTime rules |
| product | query | string | false | Product name used for quotaControl. |
| key | query | string | false | Unique identifier for transaction of current record. This value will generate if not specified, then following calls for the same record must have this key. No need to specify this parameter for the first compliance check call. |
Enumerated Values
| Parameter | Value |
|---|---|
| contactChannel | Voice |
| contactChannel | SMS |
| contactChannel |
Example responses
200 Response
{
"kind": "via#complianceStatus",
"restricted": true,
"restrictionType": "AttemptTrackerCustomer",
"restrictionStartTime": "2025-05-17T04:49:56.760Z",
"restrictionEndTime": "2025-05-17T04:49:56.760Z",
"messageType": "CannotPlay",
"availableQuota": 50,
"key": "0f2ece75-b214-41a8-b442-4c128d9530e8"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseComplianceStatusesResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Post Compliance Status v4
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/complianceStatuses \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"requiredChecks": [
"exclusions",
"attemptTrackers",
"messageTrackers"
],
"contactChannel": "Voice",
"contactAddress": "91-99994532",
"customer": "CUST01",
"accountNumber": "101010",
"ssn": "123456",
"contactListName": "creditCardList",
"numberType": 1,
"geocodes": [
"USA",
"US"
],
"purpose": "TeleMarketing",
"timeZone": "America/Los_Angeles",
"product": "Alvaria Cloud",
"key": "0f2ece75-b214-41a8-b442-4c128d9530e8"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/complianceStatuses',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/complianceStatuses HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v4/organizations/{orgId}/compliance/complianceStatuses
Check a contact is allowed or not based on the given values against the configured exclusion, attemptTracker, messageTracker, convenientContactTime and quotaControl rules.
If contact is allowed then a key will be generated which is available in the response. After a compliance check the outcome of the contact with this key must send back to Compliance Hub via POST /contactAttempts endpoint. Until this call, Compliance Hub consider an active contact is going on against the contactAddress, customer and accountNumber. In case compliance check allowed to contact but no contact is made due to other reasons then also POST /contactAttempts must be called with operationType as CancelContact to clear active record.
If there is a significant delay in making a contact after a compliance check then consider doing POST/ complianceStatuses again to incorporate the changes in rules after the compliance check. In case of multiple compliance checks required before making a contact then ensure the key generated in first check is passed into these subsequent compliance checks to ensure only one active record is generated for this contact. In this case single POST /contactAttempts endpoint request only needed after the contact is completed.
If the record is prevented from contact by any one rule then no further checks will be performed and restricted property will be true in response. For example, if an exclusion rule prevents this record from being contacted then convenientContactTime, quotaControl, attemptTracker and messageTracker rule evaluations will be skipped. In this case no need to call POST/ contactAttempts endpoint.
Body parameter
{
"requiredChecks": [
"exclusions",
"attemptTrackers",
"messageTrackers"
],
"contactChannel": "Voice",
"contactAddress": "91-99994532",
"customer": "CUST01",
"accountNumber": "101010",
"ssn": "123456",
"contactListName": "creditCardList",
"numberType": 1,
"geocodes": [
"USA",
"US"
],
"purpose": "TeleMarketing",
"timeZone": "America/Los_Angeles",
"product": "Alvaria Cloud",
"key": "0f2ece75-b214-41a8-b442-4c128d9530e8"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | ComplianceStatusesInsertRequestV4 | true | complianceStatus details. |
Example responses
200 Response
{
"kind": "via#complianceStatus",
"restricted": true,
"restrictedRuleId": "99f31b29-b522-4203-beb4-60f2c714f473",
"restrictedRuleName": "OneAttemptsPerDay",
"restrictionType": "AttemptTrackerAccountContactAddressVoice",
"restrictionStartTime": "2025-05-17T04:49:56.760Z",
"restrictionEndTime": "2025-05-17T04:49:56.760Z",
"messageType": "CannotPlay",
"availableQuota": 50,
"key": "0f2ece75-b214-41a8-b442-4c128d9530e8"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TersePostComplianceStatusesResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Check Compliance Status v4
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/complianceStatuses?contactChannel=Voice&contactAddress=string \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/complianceStatuses?contactChannel=Voice&contactAddress=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/complianceStatuses?contactChannel=Voice&contactAddress=string HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v4/organizations/{orgId}/compliance/complianceStatuses
This GET endpoint will be deprecated in future, please consider using the equivalent POST /complianceStatuses endpoint
Check if a record is allowed to be contacted or not based on exclusion, attemptTracker, messageTracker, convenientContactTime and quotaControls rules. The given query parameter values in this endpoint will validate against exclusion, quotaControl, attemptTracker, convenientContactTime and messageTracker to determine whether this record is allowed to be contacted now. This endpoint can do selective checks using query parameter 'requiredChecks'. If the record is restricted by any type of the rule then response will prepare based on rule that caused the restriction and no further checks will be performed for this record. For example, if an exclusion rule prevents this record from being contacted then convenientContactTime, quotaControl, attemptTracker and messageTracker rule evaluation wont happen. This endpoint does not guarantee the evaluation order mentioned in 'requiredChecks' query parameter. This endpoint will return a key and that should pass into subsequent GET on /complianceStatuses for the same record(if any). If the record is not restricted, the Compliance Hub treats this record as active and return a key to identify the record. The consumer of this endpoint must call the POST /contactAttempts with the key received which saves the contact attempt and clear the active record. In case a contact is not made, the consumer must call the POST /contactAttempts with the operationType property as CancelContact which clears the active record only.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| requiredChecks | query | string | false | Required checks for the given record. This can be comma separated string. If this parameter is specified then records will evaluate against specified types of rules only. Otherwise check will perform against all kind of rules. Allowed values are 'exclusions', 'attemptTrackers', 'messageTrackers', 'convenientContactTimes', 'quotaControls', 'all' |
| contactChannel | query | string | true | Contact channel of the record. |
| contactAddress | query | string | true | ContactAddress to check, value can be phone Number, SMS Number or Email address based on ContactType. This will validate against exclusion/attemptTracker/convenientContactTime/messageTracker rules. |
| accountNumber | query | string | false | AccountNumber to check. This will validate against exclusion, attemptTracker, messageTracker and convenientContactTime rules. |
| ssn | query | string | false | SSN(a custom exclusion number) to check. This will validate against exclusion rules. |
| contactListName | query | string | false | ContactListName to check. This will validate against exclusion rules. |
| customer | query | string | false | Customer to check. This will validate against attemptTracker, messageTracker and convenientContactTime rules. |
| numberType | query | integer | false | NumberType to check |
| geocodes | query | string | false | Geocodes to check. This can be comma separated values |
| purpose | query | string | false | Purpose to check |
| timeZone | query | string | false | TimeZone to check. This will accept Olson name for the Time zone(see https://www.iana.org/time-zones for more information). Use GET /via/v3/organizations/{orgId}/campaign/timeZones from Alvaria™ Cloud Campaign REST API to retrieve list of Olson Time Zone list. This will validate against attemptTracker, messageTracker and convenientContactTime rules |
| product | query | string | false | Product name used for quotaControl. |
| key | query | string | false | Unique identifier for transaction of current record. This value will generate if not specified, then following calls for the same record must have this key. No need to specify this parameter for the first compliance check call. |
Enumerated Values
| Parameter | Value |
|---|---|
| contactChannel | Voice |
| contactChannel | SMS |
| contactChannel |
Example responses
200 Response
{
"kind": "via#complianceStatus",
"restricted": true,
"restrictedRuleId": "99f31b29-b522-4203-beb4-60f2c714f473",
"restrictedRuleName": "OneAttemptsPerDay",
"restrictionType": "AttemptTrackerAccountContactAddressVoice",
"restrictionStartTime": "2025-05-17T04:49:56.761Z",
"restrictionEndTime": "2025-05-17T04:49:56.761Z",
"messageType": "CannotPlay",
"availableQuota": 50,
"key": "0f2ece75-b214-41a8-b442-4c128d9530e8"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseComplianceStatusesResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
ContactAttempts
Report Contact Status v3 (deprecated)
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/contactAttempts \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"locale": "en-US",
"contactChannel": "Voice",
"contactAddress": "1-4345346",
"customer": "CUST01",
"timeOfContact": "2025-05-17T04:49:56.761Z",
"key": "0f2ece75-b214-41a8-b442-4c128d9530e8",
"timeZone": "America/Los_Angeles",
"disposition": "BZ",
"numberType": 1,
"purpose": "TeleMarketing",
"geocodes": [
"USA",
"US"
],
"product": "Alvaria Cloud",
"productSold": 50
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/contactAttempts',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/contactAttempts HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/compliance/contactAttempts
This endpoint is deprecated, please use 'POST /via/v4/organizations/{orgId}/compliance/contactAttempts' instead
After each contact, an outcome must be sent to Compliance Hub using this endpoint. This contact attempt information is used by attemptTracker, messageTracker and quotaControl. For each non-restricted GET /complianceStatuses call a corresponding call to POST on /contactAttempts should be sent. If the same record is checked multiple times with same key before contact then only one POST on /contactAttempts is required.
Body parameter
{
"locale": "en-US",
"contactChannel": "Voice",
"contactAddress": "1-4345346",
"customer": "CUST01",
"timeOfContact": "2025-05-17T04:49:56.761Z",
"key": "0f2ece75-b214-41a8-b442-4c128d9530e8",
"timeZone": "America/Los_Angeles",
"disposition": "BZ",
"numberType": 1,
"purpose": "TeleMarketing",
"geocodes": [
"USA",
"US"
],
"product": "Alvaria Cloud",
"productSold": 50
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | ContactAttemptsInsertRequest | true | none |
Example responses
400 Response
{
"error": {
"code": 400,
"message": "Bad Request",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Accepted | None |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get ContactAttempts v3 (deprecated)
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/contactAttempts \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/contactAttempts',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/contactAttempts HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/contactAttempts
This endpoint is deprecated, please use 'GET /via/v4/organizations/{orgId}/compliance/contactAttempts' instead
To get all contact outcome details or a subset based on the query parameters specified. This endpoint performs a search on persisted values.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| contactChannel | query | string | false | Contact channel to search. |
| contactAddress | query | string | false | Contact Address to search. |
| customer | query | string | false | Customer to check. This will validate against attemptTracker, messageTracker and convenientContactTime rules. |
| disposition | query | string | false | Disposition to search |
| numberType | query | integer | false | NumberType to search |
| geocodes | query | string | false | Geocodes to search. This can be comma separated values |
| purpose | query | string | false | Purpose to search |
| timeZone | query | string | false | TimeZone to check. This will accept Olson name for the Time zone(see https://www.iana.org/time-zones for more information). Use GET /via/v3/organizations/{orgId}/campaign/timeZones from Alvaria™ Cloud Campaign REST API to retrieve list of Olson Time Zone list. This will validate against attemptTracker, messageTracker and convenientContactTime rules |
| fromTimeOfContact | query | string(date-time) | false | Filtering based on time of contact. This is used to get records having TimeOfContact greater than or equal to fromTimeOfContact. |
| toTimeOfContact | query | string(date-time) | false | Filtering based on time of contact. This is used to get records having TimeOfContact less than or equal to toTimeOfContact. |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
Enumerated Values
| Parameter | Value |
|---|---|
| contactChannel | Voice |
| contactChannel | SMS |
| contactChannel |
Example responses
200 Response
{
"kind": "via#contactAttemptCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=0&maxResults=5"
},
"contactAttempts": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#contactAttempt",
"version": 12,
"locale": "en-US",
"contactChannel": "Voice",
"contactAddress": "1-4345346",
"customer": "CUST01",
"timeOfContact": "2025-05-17T04:49:56.762Z",
"timeZone": "America/Los_Angeles",
"disposition": "BZ",
"numberType": 1,
"purpose": "TeleMarketing",
"geocodes": [
"USA",
"US"
],
"creationTime": "2025-05-17T04:49:56.762Z"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionContactAttemptsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Report Contact Status v4
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/contactAttempts \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"locale": "en-US",
"contactChannel": "Voice",
"contactAddress": "1-4345346",
"customer": "CUST01",
"accountNumber": "1010100",
"timeOfContact": "2025-05-17T04:49:56.762Z",
"key": "0f2ece75-b214-41a8-b442-4c128d9530e8",
"timeZone": "America/Los_Angeles",
"disposition": "BZ",
"numberType": 1,
"purpose": "TeleMarketing",
"geocodes": [
"USA",
"US"
],
"product": "Alvaria Cloud",
"productSold": 50,
"operationType": "CancelContact"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/contactAttempts',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/contactAttempts HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v4/organizations/{orgId}/compliance/contactAttempts
This endpoint will saves the contact attempt and clear the active record. After each contact, an outcome must be sent to Compliance Hub using this endpoint. This contact attempt information is used by attemptTracker, messageTracker and quotaControl. If record is not restricted in compliance evaluation then Compliance Hub treat that record as active and return a key to identify the record. So after a compliance check, must report the contact status to Compliance Hub using this endpoint with key received in compliance check. In case a contact is not made, then use 'CancelContact' as 'operationType' to clear the active record without persisting the attempt. If the same record is checked multiple times with same key before contact then only one POST on /contactAttempts is required. All attempts are enabled by default, a contactAttempt can disable by calling PATCH on /contactAttempts. In case, a contactEvent need to insert without a compliance check then use 'SaveContactNoKeyCheck' as 'operationType' to skip the 'key' validation.
Body parameter
{
"locale": "en-US",
"contactChannel": "Voice",
"contactAddress": "1-4345346",
"customer": "CUST01",
"accountNumber": "1010100",
"timeOfContact": "2025-05-17T04:49:56.762Z",
"key": "0f2ece75-b214-41a8-b442-4c128d9530e8",
"timeZone": "America/Los_Angeles",
"disposition": "BZ",
"numberType": 1,
"purpose": "TeleMarketing",
"geocodes": [
"USA",
"US"
],
"product": "Alvaria Cloud",
"productSold": 50,
"operationType": "CancelContact"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | ContactAttemptsInsertRequestV4 | true | none |
Example responses
400 Response
{
"error": {
"code": 400,
"message": "Bad Request",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Accepted | None |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get ContactAttempts v4
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/contactAttempts \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/contactAttempts',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/contactAttempts HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v4/organizations/{orgId}/compliance/contactAttempts
To get all contact outcome details or a subset based on the query parameters specified. This endpoint performs a search on persisted values.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| contactChannel | query | string | false | Contact channel to search. |
| contactAddress | query | string | false | Contact Address to search. |
| customer | query | string | false | Customer to check. This will validate against attemptTracker, messageTracker and convenientContactTime rules. |
| disposition | query | string | false | Disposition to search |
| numberType | query | integer | false | NumberType to search |
| geocodes | query | string | false | Geocodes to search. This can be comma separated values |
| purpose | query | string | false | Purpose to search |
| timeZone | query | string | false | TimeZone to check. This will accept Olson name for the Time zone(see https://www.iana.org/time-zones for more information). Use GET /via/v3/organizations/{orgId}/campaign/timeZones from Alvaria™ Cloud Campaign REST API to retrieve list of Olson Time Zone list. This will validate against attemptTracker, messageTracker and convenientContactTime rules |
| fromTimeOfContact | query | string(date-time) | false | Filtering based on time of contact. This is used to get records having TimeOfContact greater than or equal to fromTimeOfContact. |
| toTimeOfContact | query | string(date-time) | false | Filtering based on time of contact. This is used to get records having TimeOfContact less than or equal to toTimeOfContact. |
| accountNumber | query | string | false | AccountNumber to check. This will validate against exclusion, attemptTracker, messageTracker and convenientContactTime rules. |
| status | query | string | false | Filtering based on status |
| fromCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime greater than or equal to fromCreationTime. |
| toCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime less than or equal to toCreationTime. |
| fromLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime greater than or equal to fromLastModifiedTime. |
| toLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime less than or equal to toLastModifiedTime. |
| lastModifiedBy | query | string | false | Last modified user to search |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
Enumerated Values
| Parameter | Value |
|---|---|
| contactChannel | Voice |
| contactChannel | SMS |
| contactChannel | |
| status | Enabled |
| status | Disabled |
Example responses
200 Response
{
"kind": "via#contactAttemptCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=0&maxResults=5"
},
"contactAttempts": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#contactAttempt",
"version": 12,
"locale": "en-US",
"contactChannel": "Voice",
"contactAddress": "1-4345346",
"customer": "CUST01",
"accountNumber": "1010100",
"timeOfContact": "2025-05-17T04:49:56.763Z",
"timeZone": "America/Los_Angeles",
"disposition": "BZ",
"numberType": 1,
"purpose": "TeleMarketing",
"geocodes": [
"USA",
"US"
],
"status": "Enabled",
"reason": "Contact by mistake",
"creationTime": "2025-05-17T04:49:56.763Z",
"lastModifiedTime": "2025-05-17T04:49:56.763Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionContactAttemptsResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get ContactAttempt Instance v4
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/contactAttempts/{contactAttemptId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/contactAttempts/{contactAttemptId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/contactAttempts/{contactAttemptId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v4/organizations/{orgId}/compliance/contactAttempts/{contactAttemptId}
Get the properties for an contactAttempt instance specified by the contactAttempt identifier
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| contactAttemptId | path | string | true | Alvaria-generated unique identifier for the contactAttempt instance |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#contactAttempt",
"version": 12,
"locale": "en-US",
"contactChannel": "Voice",
"contactAddress": "1-4345346",
"customer": "CUST01",
"accountNumber": "1010100",
"timeOfContact": "2025-05-17T04:49:56.763Z",
"timeZone": "America/Los_Angeles",
"disposition": "BZ",
"numberType": 1,
"purpose": "TeleMarketing",
"geocodes": [
"USA",
"US"
],
"status": "Enabled",
"reason": "Contact by mistake",
"creationTime": "2025-05-17T04:49:56.763Z",
"lastModifiedTime": "2025-05-17T04:49:56.763Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseContactAttemptsResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No attemptTracker exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Patch ContactAttempt Instance v4
Code samples
# You can also use wget
curl -X PATCH https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/contactAttempts/{contactAttemptId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"status": "Enabled",
"reason": "Contact by mistake",
"version": 12
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/contactAttempts/{contactAttemptId}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/contactAttempts/{contactAttemptId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PATCH /via/v4/organizations/{orgId}/compliance/contactAttempts/{contactAttemptId}
Modifies the properties for an contactAttempt instance specified by the contactAttempt identifier.
Body parameter
{
"status": "Enabled",
"reason": "Contact by mistake",
"version": 12
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| contactAttemptId | path | string | true | Alvaria-generated unique identifier for the contactAttempt instance |
| body | body | ContactAttemptsPatchRequest | true | contactAttempt details to update. |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#contactAttempt",
"version": 12,
"locale": "en-US",
"contactChannel": "Voice",
"contactAddress": "1-4345346",
"customer": "CUST01",
"accountNumber": "1010100",
"timeOfContact": "2025-05-17T04:49:56.764Z",
"timeZone": "America/Los_Angeles",
"disposition": "BZ",
"numberType": 1,
"purpose": "TeleMarketing",
"geocodes": [
"USA",
"US"
],
"status": "Enabled",
"reason": "Contact by mistake",
"creationTime": "2025-05-17T04:49:56.764Z",
"lastModifiedTime": "2025-05-17T04:49:56.764Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | TerseContactAttemptsResponseV4 |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No attemptTracker exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
ExternalData
Register ExternalData
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/externalData \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"resource": "Dispositions",
"valueType": "Url",
"value": "string",
"jsonFile": "string",
"locale": "string"
};
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/externalData',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/externalData HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: multipart/form-data
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/compliance/externalData
This endpoint accepts externalData and creates an externalData. This will accept redirect url or file with data in json format. The file data should match the format of corresponding url response. For example, externalData resource is 'Dispositions' then the json data in file should match 'dispositions' array response of GET /dispositions endpoint. The externalData allow only one entry against one resource.
Body parameter
resource: Dispositions
valueType: Url
value: string
jsonFile: string
locale: string
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | object | true | none |
| » resource | body | string | true | Resource name |
| » valueType | body | string | true | Data type |
| » value | body | string | false | Value based valueType. If valueType is 'Url' then redirect url. If valueType is 'File' then filename. If this value not provided for valueType 'File' then filename will use |
| » jsonFile | body | string(binary) | false | File with json data. This required for valueType File |
| » locale | body | string | false | Resource's locale name |
Enumerated Values
| Parameter | Value |
|---|---|
| » resource | Dispositions |
| » resource | NumberTypes |
| » resource | Geocodes |
| » resource | Purposes |
| » resource | ContactLists |
| » valueType | Url |
| » valueType | File |
Example responses
201 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#redirect",
"version": 12,
"locale": "en-US",
"resource": "Dispositions",
"valueType": "Url",
"value": "https://orgId.via.aspect-cloud.net/via/v3/organizations/orgId/campaign/dispositions",
"creationTime": "2025-05-17T04:49:56.765Z",
"lastModifiedTime": "2025-05-17T04:49:56.765Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | TerseExternalDataResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get ExternalData
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/externalData \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/externalData',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/externalData HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/externalData
To get all configured externalData or a subset based on the query parameters specified.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| resource | query | string | false | ExternalData Resource name. |
| valueType | query | string | false | Type of value |
| value | query | string | false | Data stored based on valueType. |
| fromCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime greater than or equal to fromCreationTime. |
| toCreationTime | query | string(date-time) | false | Filtering based on created time. This is used to get records having creationTime less than or equal to toCreationTime. |
| fromLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime greater than or equal to fromLastModifiedTime. |
| toLastModifiedTime | query | string(date-time) | false | Filtering based on last modified time. This is used to get records having lastModifiedTime less than or equal to toLastModifiedTime. |
Enumerated Values
| Parameter | Value |
|---|---|
| resource | Dispositions |
| resource | NumberTypes |
| resource | Geocodes |
| resource | Purposes |
| resource | ContactLists |
| valueType | Url |
| valueType | File |
Example responses
200 Response
{
"kind": "via#redirectCollection",
"totalItems": 35,
"externalData": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#redirect",
"version": 12,
"locale": "en-US",
"resource": "Dispositions",
"valueType": "Url",
"value": "https://orgId.via.aspect-cloud.net/via/v3/organizations/orgId/campaign/dispositions",
"creationTime": "2025-05-17T04:49:56.765Z",
"lastModifiedTime": "2025-05-17T04:49:56.765Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionExternalDataResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Unregister externalData Instance
Code samples
# You can also use wget
curl -X DELETE https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/externalData/{externalDataId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/externalData/{externalDataId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/externalData/{externalDataId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
DELETE /via/v3/organizations/{orgId}/compliance/externalData/{externalDataId}
Deletes a externalData specified by the externalData identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| externalDataId | path | string | true | Alvaria-generated unique identifier for the redirect instance |
Example responses
404 Response
{
"error": {
"code": 404,
"message": "Not Found",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 204 | No Content | No Content | None |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No quotaControl exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Dispositions
Get Dispositions
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/dispositions \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/dispositions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/dispositions HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/dispositions
Retrieves registered json data or redirect url for dispositions as per the /externalData registration
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
Example responses
200 Response
{
"kind": "via#dispositionCollection",
"totalItems": 35,
"dispositions": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#disposition",
"friendlyName": [
{
"locale": "en-US",
"value": "Service Level Callback"
}
],
"dispositionCode": "CB"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionDispositionsResponse |
| 302 | Found | OK | None |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 302 | Location | string | Redirect url. |
NumberTypes
Get NumberTypes
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/numberTypes \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/numberTypes',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/numberTypes HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/numberTypes
Retrieves registered json data or redirect url for numberTypes as per the /externalData registration
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
Example responses
200 Response
{
"kind": "via#numberTypeCollection",
"totalItems": 35,
"numberTypes": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#numberType",
"friendlyName": [
{
"locale": "en-US",
"value": "HomePhone"
}
],
"numberTypeCode": 1
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionNumberTypesResponse |
| 302 | Found | OK | None |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 302 | Location | string | Redirect url. |
Geocodes
Get Geocodes
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/geocodes \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/geocodes',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/geocodes HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/geocodes
Retrieves registered json data or redirect url for geocodes as per the /externalData registration
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
Example responses
200 Response
{
"kind": "via#geocodeCollection",
"totalItems": 35,
"geocodes": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#geocode",
"friendlyName": [
{
"locale": "en-US",
"value": "US"
}
]
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionGeocodesResponse |
| 302 | Found | OK | None |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 302 | Location | string | Redirect url. |
Purposes
Get Purposes
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/purposes \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/purposes',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/purposes HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/purposes
Retrieves registered json data or redirect url for purposes as per the /externalData registration
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
Example responses
200 Response
{
"kind": "via#purposeCollection",
"totalItems": 35,
"purposes": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#purpose",
"friendlyName": [
{
"locale": "en-US",
"value": "TeleMarketing Purpose"
}
]
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionPurposesResponse |
| 302 | Found | OK | None |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 302 | Location | string | Redirect url. |
ContactLists
Get ContactLists
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/contactLists \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/contactLists',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/compliance/contactLists HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/compliance/contactLists
Retrieves registered json data or redirect url for contactLists as per the /externalData registration
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
Example responses
200 Response
{
"kind": "via#contactListCollection",
"totalItems": 35,
"contactLists": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#contactList",
"friendlyName": [
{
"locale": "en-US",
"value": "CreditCardList"
}
]
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionContactListsResponse |
| 302 | Found | OK | None |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 302 | Location | string | Redirect url. |
Jobs
Load Exclusion File
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/jobs/exclusionsLoad \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"fileName": "sample.act",
"errorResponseType": "NoErrorFile"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/jobs/exclusionsLoad',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/jobs/exclusionsLoad HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v4/organizations/{orgId}/compliance/jobs/exclusionsLoad
This endpoint accepts a filename of type "act" which contains exclusion details to either create or delete. See "act" file format here.
Body parameter
{
"fileName": "sample.act",
"errorResponseType": "NoErrorFile"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | exclusionsLoadRequest | true | none |
Example responses
202 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#exclusionsLoadJob",
"version": 12,
"locale": "en-US",
"uri": "/via/v4/organizations/orgId/compliance/jobs/99f31b29-b522-4203-beb4-60f2c714f473",
"creationTime": "2025-05-17T04:49:56.768Z",
"lastModifiedTime": "2025-05-17T04:49:56.768Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Accepted | exclusionsLoadJobResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Load Convenient Contact Time File
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/jobs/convenientContactTimesLoad \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"fileName": "sample.cct",
"errorResponseType": "NoErrorFile"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/jobs/convenientContactTimesLoad',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/jobs/convenientContactTimesLoad HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v4/organizations/{orgId}/compliance/jobs/convenientContactTimesLoad
This endpoint accepts a filename of type "cct" which contains convenientContactTime details to either create or delete. See "cct" file format here.
Body parameter
{
"fileName": "sample.cct",
"errorResponseType": "NoErrorFile"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | convenientContactTimesLoadRequest | true | none |
Example responses
202 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#convenientContactTimesLoadJob",
"version": 12,
"locale": "en-US",
"uri": "/via/v4/organizations/orgId/compliance/jobs/99f31b29-b522-4203-beb4-60f2c714f473",
"creationTime": "2025-05-17T04:49:56.768Z",
"lastModifiedTime": "2025-05-17T04:49:56.768Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Accepted | convenientContactTimesLoadJobResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Load Contact Attempt File
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/jobs/contactAttemptsLoad \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"fileName": "sample.cet",
"errorResponseType": "NoErrorFile"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/jobs/contactAttemptsLoad',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/jobs/contactAttemptsLoad HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v4/organizations/{orgId}/compliance/jobs/contactAttemptsLoad
This endpoint accepts a filename of type "cet" which contains contact attempts details to create. See "cet" file format here.
Body parameter
{
"fileName": "sample.cet",
"errorResponseType": "NoErrorFile"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | contactAttemptsLoadRequest | true | none |
Example responses
202 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#contactAttemptsLoadJob",
"version": 12,
"locale": "en-US",
"uri": "/via/v4/organizations/orgId/compliance/jobs/99f31b29-b522-4203-beb4-60f2c714f473",
"creationTime": "2025-05-17T04:49:56.769Z",
"lastModifiedTime": "2025-05-17T04:49:56.769Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Accepted | contactAttemptsLoadJobResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get Job Instance
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/jobs/{jobId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/jobs/{jobId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/jobs/{jobId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v4/organizations/{orgId}/compliance/jobs/{jobId}
Get the properties for a job instance specified by the job identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| jobId | path | string | true | Alvaria-generated unique identifier for the job instance |
Example responses
200 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#job",
"version": 12,
"locale": "en-US",
"jobType": "ExclusionsLoad",
"fileName": "Exclusions.act",
"jobState": "Completed",
"message": "Completed with error.",
"stats": {
"processed": 100,
"added": 50,
"updated": 30,
"deleted": 10,
"failures": 5,
"duplicates": 5
},
"errorFileName": "99f31b29-b522-4203-beb4-60f2c714f473.json",
"creationTime": "2025-05-17T04:49:56.769Z",
"lastModifiedTime": "2025-05-17T04:49:56.769Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | ItemJobResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | No job exists for the provided entity Id | ErrorResponse404 |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Configurations
Get AttemptTracker Configurations
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers/configurations \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers/configurations',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers/configurations HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v4/organizations/{orgId}/compliance/attemptTrackers/configurations
To get the properties of the AttemptTracker configurations.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#attemptTrackerConfiguration",
"version": 12,
"locale": "en-US",
"excludeFromContactAddressRule": [
"9855555"
],
"excludedContactAddresses": [
"9855555"
],
"enableActiveRecordFeature": true,
"lifeTimeOfActiveRecord": 120,
"minutesToWaitAfterActiveRestriction": 10,
"lastModifiedTime": "2025-05-17T04:49:56.769Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | attemptTrackerConfigurationResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Patch AttemptTracker Configurations
Code samples
# You can also use wget
curl -X PATCH https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers/configurations \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"version": 12,
"locale": "en-US",
"excludeFromContactAddressRule": [
"9855555"
],
"excludedContactAddresses": [
"9855555"
],
"enableActiveRecordFeature": true,
"lifeTimeOfActiveRecord": 120,
"minutesToWaitAfterActiveRestriction": 10
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers/configurations',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/attemptTrackers/configurations HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PATCH /via/v4/organizations/{orgId}/compliance/attemptTrackers/configurations
Modifies the AttemptTracker configuration values
Body parameter
{
"version": 12,
"locale": "en-US",
"excludeFromContactAddressRule": [
"9855555"
],
"excludedContactAddresses": [
"9855555"
],
"enableActiveRecordFeature": true,
"lifeTimeOfActiveRecord": 120,
"minutesToWaitAfterActiveRestriction": 10
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | attemptTrackerConfigurationPatchRequest | true | AttemptTracker configuration details to update |
Example responses
200 Response
{
"kind": "via#attemptTrackerConfiguration",
"version": 12,
"locale": "en-US",
"excludeFromContactAddressRule": [
"9855555"
],
"excludedContactAddresses": [
"9855555"
],
"enableActiveRecordFeature": true,
"lifeTimeOfActiveRecord": 120,
"minutesToWaitAfterActiveRestriction": 10,
"lastModifiedTime": "2025-05-17T04:49:56.770Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | attemptTrackerConfigurationResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get MessageTracker Configurations
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers/configurations \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers/configurations',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers/configurations HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v4/organizations/{orgId}/compliance/messageTrackers/configurations
To get the properties of the MessageTracker configurations.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#messageTrackerConfiguration",
"version": 12,
"locale": "en-US",
"excludeFromContactAddressRule": [
"9855555"
],
"excludedContactAddresses": [
"9855555"
],
"lastModifiedTime": "2025-05-17T04:49:56.770Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | messageTrackerConfigurationResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Patch MessageTracker Configurations
Code samples
# You can also use wget
curl -X PATCH https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers/configurations \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"version": 12,
"locale": "en-US",
"excludeFromContactAddressRule": [
"9855555"
],
"excludedContactAddresses": [
"9855555"
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers/configurations',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/messageTrackers/configurations HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PATCH /via/v4/organizations/{orgId}/compliance/messageTrackers/configurations
Modifies the MessageTracker configuration values
Body parameter
{
"version": 12,
"locale": "en-US",
"excludeFromContactAddressRule": [
"9855555"
],
"excludedContactAddresses": [
"9855555"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | messageTrackerConfigurationPatchRequest | true | MessageTracker configuration details to update |
Example responses
200 Response
{
"kind": "via#messageTrackerConfiguration",
"version": 12,
"locale": "en-US",
"excludeFromContactAddressRule": [
"9855555"
],
"excludedContactAddresses": [
"9855555"
],
"lastModifiedTime": "2025-05-17T04:49:56.770Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | messageTrackerConfigurationResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get Exclusions Configurations
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/exclusions/configurations \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/exclusions/configurations',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/exclusions/configurations HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v4/organizations/{orgId}/compliance/exclusions/configurations
To get the properties of the Exclusions configurations.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#exclusionConfiguration",
"version": 12,
"locale": "en-US",
"retainDays": 14,
"retainNoEndTime": false,
"lastModifiedTime": "2025-05-17T04:49:56.771Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | exclusionConfigurationResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Patch Exclusion Configurations
Code samples
# You can also use wget
curl -X PATCH https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/exclusions/configurations \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"version": 12,
"locale": "en-US",
"retainDays": 14,
"retainNoEndTime": false
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/exclusions/configurations',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/exclusions/configurations HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PATCH /via/v4/organizations/{orgId}/compliance/exclusions/configurations
Modifies the Exclusion configuration values
Body parameter
{
"version": 12,
"locale": "en-US",
"retainDays": 14,
"retainNoEndTime": false
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | exclusionConfigurationPatchRequest | true | Exclusion configuration details to update |
Example responses
200 Response
{
"kind": "via#exclusionConfiguration",
"version": 12,
"locale": "en-US",
"retainDays": 14,
"retainNoEndTime": false,
"lastModifiedTime": "2025-05-17T04:49:56.771Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | exclusionConfigurationResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Get ConvenientContactTime Configurations
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes/configurations \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes/configurations',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes/configurations HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v4/organizations/{orgId}/compliance/convenientContactTimes/configurations
To get the properties of the ConvenientContactTime configurations.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#convenientContactTimeConfiguration",
"version": 12,
"locale": "en-US",
"retainDays": 14,
"lastModifiedTime": "2025-05-17T04:49:56.771Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | convenientContactTimeConfigurationResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Patch ConvenientContactTime Configurations
Code samples
# You can also use wget
curl -X PATCH https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes/configurations \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"version": 12,
"locale": "en-US",
"retainDays": 14
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes/configurations',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH https://orgId.via.aspect-cloud.net/via/v4/organizations/{orgId}/compliance/convenientContactTimes/configurations HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PATCH /via/v4/organizations/{orgId}/compliance/convenientContactTimes/configurations
Modifies the ConvenientContactTime configuration values
Body parameter
{
"version": 12,
"locale": "en-US",
"retainDays": 14
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | convenientContactTimeConfigurationPatchRequest | true | ConvenientContactTime configuration details to update |
Example responses
200 Response
{
"kind": "via#convenientContactTimeConfiguration",
"version": 12,
"locale": "en-US",
"retainDays": 14,
"lastModifiedTime": "2025-05-17T04:49:56.771Z",
"lastModifiedBy": "jose@alvaria.com"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | convenientContactTimeConfigurationResponse |
| 400 | Bad Request | Bad Request | ErrorResponse400 |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse405 |
| 408 | Request Timeout | Request Timeout | ErrorResponse408 |
| 409 | Conflict | Conflict | ErrorResponse409 |
| 415 | Unsupported Media Type | Unsupported Media Type | ErrorResponse415 |
| 429 | Too Many Requests | Throttled | ErrorResponse429 |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse500 |
Schemas
CollectionExclusionsResponse
{
"kind": "via#exclusionCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/exclusions?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/exclusions?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/exclusions?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/exclusions?startIndex=0&maxResults=5"
},
"exclusions": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#exclusion",
"version": 12,
"locale": "en-US",
"exclusionType": "Account",
"exclusionValue": "91-99994532",
"contactListName": "CreditCardList",
"reason": "Customer is not available",
"startTime": "2025-05-17T04:49:56.772Z",
"endTime": "2025-05-17T04:49:56.772Z",
"creationTime": "2025-05-17T04:49:56.772Z",
"lastModifiedTime": "2025-05-17T04:49:56.772Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | exKindCollection | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| links | linksEx | false | none | none |
| exclusions | [ItemExclusionsResponse] | false | none | Collection of exclusion |
ItemExclusionsResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#exclusion",
"version": 12,
"locale": "en-US",
"exclusionType": "Account",
"exclusionValue": "91-99994532",
"contactListName": "CreditCardList",
"reason": "Customer is not available",
"startTime": "2025-05-17T04:49:56.772Z",
"endTime": "2025-05-17T04:49:56.772Z",
"creationTime": "2025-05-17T04:49:56.772Z",
"lastModifiedTime": "2025-05-17T04:49:56.772Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | exKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| exclusionType | exclusionType | false | none | Exclusion Type |
| exclusionValue | exclusionValue | false | none | Value for exclusion. This can be account number or phone number or sms or email or ssn(a custom exclusion number) |
| contactListName | contactListName | false | none | Name of a contact list. If this is empty, the exclusion apply to all lists. The valid contact list names can retrieve using GET /compliance/contactLists endpoint |
| reason | reasonEx | false | none | Reason for creating or modifying the exclusion instance. |
| startTime | startTime | false | none | Exclusion start time |
| endTime | endTime | false | none | Specifies when a rule becomes inactive. The rule is deactivated at the specified date and time. Use null if there is no expiry time for the rule |
| creationTime | creationTime | false | none | Date and time the object instance was created. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
ExclusionsInsertRequest
{
"locale": "en-US",
"exclusionType": "Account",
"exclusionValue": "91-99994532",
"contactListName": "CreditCardList",
"reason": "Customer is not available",
"startTime": "2025-05-17T04:49:56.772Z",
"endTime": "2025-05-17T04:49:56.772Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | locale | false | none | Resource's locale name |
| exclusionType | exclusionType | true | none | Exclusion Type |
| exclusionValue | exclusionValue | true | none | Value for exclusion. This can be account number or phone number or sms or email or ssn(a custom exclusion number) |
| contactListName | contactListName | false | none | Name of a contact list. If this is empty, the exclusion apply to all lists. The valid contact list names can retrieve using GET /compliance/contactLists endpoint |
| reason | reasonEx | false | none | Reason for creating or modifying the exclusion instance. |
| startTime | startTime | true | none | Exclusion start time |
| endTime | endTime | false | none | Specifies when a rule becomes inactive. The rule is deactivated at the specified date and time. Use null if there is no expiry time for the rule |
ExclusionsUpdateRequest
{
"version": 12,
"locale": "en-US",
"exclusionType": "Account",
"exclusionValue": "91-99994532",
"contactListName": "CreditCardList",
"reason": "Customer is not available",
"startTime": "2025-05-17T04:49:56.772Z",
"endTime": "2025-05-17T04:49:56.772Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| version | version | true | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| exclusionType | exclusionType | true | none | Exclusion Type |
| exclusionValue | exclusionValue | true | none | Value for exclusion. This can be account number or phone number or sms or email or ssn(a custom exclusion number) |
| contactListName | contactListName | false | none | Name of a contact list. If this is empty, the exclusion apply to all lists. The valid contact list names can retrieve using GET /compliance/contactLists endpoint |
| reason | reasonEx | false | none | Reason for creating or modifying the exclusion instance. |
| startTime | startTime | true | none | Exclusion start time |
| endTime | endTime | false | none | Specifies when a rule becomes inactive. The rule is deactivated at the specified date and time. Use null if there is no expiry time for the rule |
CollectionAttemptTrackerResponse
{
"kind": "via#attemptTrackerCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=0&maxResults=5"
},
"attemptTrackers": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#attemptTracker",
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.772Z",
"lastModifiedTime": "2025-05-17T04:49:56.772Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | atKindCollection | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| links | linksAt | false | none | none |
| attemptTrackers | [TerseAttemptTrackersResponse] | false | none | Collection of attemptTracker |
CollectionAttemptTrackerResponseV4
{
"kind": "via#attemptTrackerCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=0&maxResults=5"
},
"attemptTrackers": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#attemptTracker",
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"contactChannels": [
"Voice"
],
"acrossContactChannels": false,
"excludeContactChannels": false,
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.773Z",
"lastModifiedTime": "2025-05-17T04:49:56.773Z",
"lastModifiedBy": "jose@alvaria.com",
"enabled": true
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | atKindCollection | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| links | linksAt | false | none | none |
| attemptTrackers | [TerseAttemptTrackersResponseV4] | false | none | Collection of attemptTracker |
TerseAttemptTrackersResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#attemptTracker",
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.773Z",
"lastModifiedTime": "2025-05-17T04:49:56.773Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | atKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| attemptTrackerName | attemptTrackerName | false | none | Name of attemptTracker rule. |
| attemptTrackerDescription | attemptTrackerDescription | false | none | Description about the attemptTracker. |
| typeOfTracker | typeOfTracker | false | none | Rule type |
| numberOfAttempts | numberOfAttempts | false | none | Allowed number of attempts. |
| thresholdType | thresholdType | false | none | Threshold type of this rule. The day and week related rules will count contact attempts from 12:00AM of the given timezone |
| threshold | threshold | false | none | Threshold value based on thresholdType |
| dispositions | dispositions | false | none | Unique disposition list. Full list of values can retrieve from GET /compliance/dispositions endpoint |
| numberTypes | numberTypes | false | none | Unique numberType list. Full list of values can retrieve from GET /compliance/numberTypes endpoint |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| purposes | purposes | false | none | Unique purpose list. Full list of values can retrieve from GET /compliance/purposes endpoint |
| creationTime | creationTime | false | none | Date and time the object instance was created. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
TerseAttemptTrackersResponseV4
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#attemptTracker",
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"contactChannels": [
"Voice"
],
"acrossContactChannels": false,
"excludeContactChannels": false,
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.773Z",
"lastModifiedTime": "2025-05-17T04:49:56.773Z",
"lastModifiedBy": "jose@alvaria.com",
"enabled": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | atKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| attemptTrackerName | attemptTrackerName | false | none | Name of attemptTracker rule. |
| attemptTrackerDescription | attemptTrackerDescription | false | none | Description about the attemptTracker. |
| contactChannels | contactChannels | false | none | Exclude or include the list of unique contact channels based on the excludeContactChannels value. |
| acrossContactChannels | acrossContactChannels | false | none | If true the rule will be evaluated across all the channels mentioned in contactChannels. If false the rule will be evaluated within the selected list of channels in contactChannels. |
| excludeContactChannels | excludeContactChannels | false | none | If true the contact channels specified in contactChannels are excluded from the evaluation. If false the contact channels specified in contactChannels are included from the evaluation. contactChannels should not be empty if set as false. |
| typeOfTracker | typeOfTrackerV4 | false | none | Rule type |
| numberOfAttempts | numberOfAttemptsAtV4 | false | none | Allowed number of attempts. 0 means attempts will be blocked without considering contactAttempts count. |
| thresholdType | thresholdType | false | none | Threshold type of this rule. The day and week related rules will count contact attempts from 12:00AM of the given timezone |
| threshold | threshold | false | none | Threshold value based on thresholdType |
| dispositions | dispositions | false | none | Unique disposition list. Full list of values can retrieve from GET /compliance/dispositions endpoint |
| numberTypes | numberTypes | false | none | Unique numberType list. Full list of values can retrieve from GET /compliance/numberTypes endpoint |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| purposes | purposes | false | none | Unique purpose list. Full list of values can retrieve from GET /compliance/purposes endpoint |
| creationTime | creationTime | false | none | Date and time the object instance was created. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
| enabled | enabled | false | none | Indicates whether the rule is enabled or not. If disabled, the rule will not be considered for compliance checks. |
AttemptTrackersInsertRequest
{
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | locale | false | none | Resource's locale name |
| attemptTrackerName | attemptTrackerName | true | none | Name of attemptTracker rule. |
| attemptTrackerDescription | attemptTrackerDescription | false | none | Description about the attemptTracker. |
| typeOfTracker | typeOfTracker | true | none | Rule type |
| numberOfAttempts | numberOfAttempts | true | none | Allowed number of attempts. |
| thresholdType | thresholdType | true | none | Threshold type of this rule. The day and week related rules will count contact attempts from 12:00AM of the given timezone |
| threshold | threshold | true | none | Threshold value based on thresholdType |
| dispositions | dispositions | true | none | Unique disposition list. Full list of values can retrieve from GET /compliance/dispositions endpoint |
| numberTypes | numberTypes | false | none | Unique numberType list. Full list of values can retrieve from GET /compliance/numberTypes endpoint |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| purposes | purposes | false | none | Unique purpose list. Full list of values can retrieve from GET /compliance/purposes endpoint |
AttemptTrackersInsertRequestV4
{
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"contactChannels": [
"Voice"
],
"acrossContactChannels": false,
"excludeContactChannels": false,
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"enabled": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | locale | false | none | Resource's locale name |
| attemptTrackerName | attemptTrackerName | true | none | Name of attemptTracker rule. |
| attemptTrackerDescription | attemptTrackerDescription | false | none | Description about the attemptTracker. |
| contactChannels | contactChannels | false | none | Exclude or include the list of unique contact channels based on the excludeContactChannels value. |
| acrossContactChannels | acrossContactChannels | false | none | If true the rule will be evaluated across all the channels mentioned in contactChannels. If false the rule will be evaluated within the selected list of channels in contactChannels. |
| excludeContactChannels | excludeContactChannels | false | none | If true the contact channels specified in contactChannels are excluded from the evaluation. If false the contact channels specified in contactChannels are included from the evaluation. contactChannels should not be empty if set as false. |
| typeOfTracker | typeOfTrackerV4 | true | none | Rule type |
| numberOfAttempts | numberOfAttemptsAtV4 | true | none | Allowed number of attempts. 0 means attempts will be blocked without considering contactAttempts count. |
| thresholdType | thresholdType | true | none | Threshold type of this rule. The day and week related rules will count contact attempts from 12:00AM of the given timezone |
| threshold | threshold | true | none | Threshold value based on thresholdType |
| dispositions | dispositions | true | none | Unique disposition list. Full list of values can retrieve from GET /compliance/dispositions endpoint |
| numberTypes | numberTypes | false | none | Unique numberType list. Full list of values can retrieve from GET /compliance/numberTypes endpoint |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| purposes | purposes | false | none | Unique purpose list. Full list of values can retrieve from GET /compliance/purposes endpoint |
| enabled | enabled | false | none | Indicates whether the rule is enabled or not. If disabled, the rule will not be considered for compliance checks. |
AttemptTrackersUpdateRequest
{
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| version | version | true | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| attemptTrackerName | attemptTrackerName | true | none | Name of attemptTracker rule. |
| attemptTrackerDescription | attemptTrackerDescription | false | none | Description about the attemptTracker. |
| typeOfTracker | typeOfTracker | true | none | Rule type |
| numberOfAttempts | numberOfAttempts | true | none | Allowed number of attempts. |
| threshold | threshold | true | none | Threshold value based on thresholdType |
| thresholdType | thresholdType | true | none | Threshold type of this rule. The day and week related rules will count contact attempts from 12:00AM of the given timezone |
| dispositions | dispositions | true | none | Unique disposition list. Full list of values can retrieve from GET /compliance/dispositions endpoint |
| numberTypes | numberTypes | false | none | Unique numberType list. Full list of values can retrieve from GET /compliance/numberTypes endpoint |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| purposes | purposes | false | none | Unique purpose list. Full list of values can retrieve from GET /compliance/purposes endpoint |
AttemptTrackersUpdateRequestV4
{
"version": 12,
"locale": "en-US",
"attemptTrackerName": "OneAttemptPerDay",
"attemptTrackerDescription": "Allow only one attempt per day",
"contactChannels": [
"Voice"
],
"acrossContactChannels": false,
"excludeContactChannels": false,
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"enabled": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| version | version | true | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| attemptTrackerName | attemptTrackerName | true | none | Name of attemptTracker rule. |
| attemptTrackerDescription | attemptTrackerDescription | false | none | Description about the attemptTracker. |
| contactChannels | contactChannels | false | none | Exclude or include the list of unique contact channels based on the excludeContactChannels value. |
| acrossContactChannels | acrossContactChannels | false | none | If true the rule will be evaluated across all the channels mentioned in contactChannels. If false the rule will be evaluated within the selected list of channels in contactChannels. |
| excludeContactChannels | excludeContactChannels | false | none | If true the contact channels specified in contactChannels are excluded from the evaluation. If false the contact channels specified in contactChannels are included from the evaluation. contactChannels should not be empty if set as false. |
| typeOfTracker | typeOfTrackerV4 | true | none | Rule type |
| numberOfAttempts | numberOfAttemptsAtV4 | true | none | Allowed number of attempts. 0 means attempts will be blocked without considering contactAttempts count. |
| threshold | threshold | true | none | Threshold value based on thresholdType |
| thresholdType | thresholdType | true | none | Threshold type of this rule. The day and week related rules will count contact attempts from 12:00AM of the given timezone |
| dispositions | dispositions | true | none | Unique disposition list. Full list of values can retrieve from GET /compliance/dispositions endpoint |
| numberTypes | numberTypes | false | none | Unique numberType list. Full list of values can retrieve from GET /compliance/numberTypes endpoint |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| purposes | purposes | false | none | Unique purpose list. Full list of values can retrieve from GET /compliance/purposes endpoint |
| enabled | enabled | false | none | Indicates whether the rule is enabled or not. If disabled, the rule will not be considered for compliance checks. |
CollectionMessageTrackerResponseV4
{
"kind": "via#messageTrackerCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=0&maxResults=5"
},
"messageTrackers": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#messageTracker",
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"thresholdActionType": "NoPlayMessage",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.775Z",
"lastModifiedTime": "2025-05-17T04:49:56.775Z",
"lastModifiedBy": "jose@alvaria.com",
"enabled": true
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | mtKindCollection | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| links | linksMt | false | none | none |
| messageTrackers | [TerseMessageTrackersResponseV4] | false | none | Collection of messageTracker |
CollectionMessageTrackerResponse
{
"kind": "via#messageTrackerCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=0&maxResults=5"
},
"messageTrackers": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#messageTracker",
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.775Z",
"lastModifiedTime": "2025-05-17T04:49:56.775Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | mtKindCollection | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| links | linksMt | false | none | none |
| messageTrackers | [TerseMessageTrackersResponse] | false | none | Collection of messageTracker |
TerseMessageTrackersResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#messageTracker",
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.775Z",
"lastModifiedTime": "2025-05-17T04:49:56.775Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | mtKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| messageTrackerName | messageTrackerName | false | none | Name of messageTracker rule. |
| messageTrackerDescription | messageTrackerDescription | false | none | Description about the messageTracker. |
| typeOfTracker | typeOfTracker | false | none | Rule type |
| numberOfAttempts | numberOfAttempts | false | none | Allowed number of attempts. |
| threshold | threshold | false | none | Threshold value based on thresholdType |
| thresholdType | thresholdType | false | none | Threshold type of this rule. The day and week related rules will count contact attempts from 12:00AM of the given timezone |
| dispositions | dispositions | false | none | Unique disposition list. Full list of values can retrieve from GET /compliance/dispositions endpoint |
| numberTypes | numberTypes | false | none | Unique numberType list. Full list of values can retrieve from GET /compliance/numberTypes endpoint |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| purposes | purposes | false | none | Unique purpose list. Full list of values can retrieve from GET /compliance/purposes endpoint |
| creationTime | creationTime | false | none | Date and time the object instance was created. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
TerseMessageTrackersResponseV4
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#messageTracker",
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"threshold": 3,
"thresholdType": "Day",
"thresholdActionType": "NoPlayMessage",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"creationTime": "2025-05-17T04:49:56.775Z",
"lastModifiedTime": "2025-05-17T04:49:56.775Z",
"lastModifiedBy": "jose@alvaria.com",
"enabled": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | mtKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| messageTrackerName | messageTrackerName | false | none | Name of messageTracker rule. |
| messageTrackerDescription | messageTrackerDescription | false | none | Description about the messageTracker. |
| typeOfTracker | typeOfTrackerV4 | false | none | Rule type |
| numberOfAttempts | numberOfAttemptsMtV4 | false | none | Allowed number of attempts. 0 means prevent playing IVR message without considering contactAttempts count. |
| threshold | threshold | false | none | Threshold value based on thresholdType |
| thresholdType | thresholdType | false | none | Threshold type of this rule. The day and week related rules will count contact attempts from 12:00AM of the given timezone |
| thresholdActionType | thresholdActionType | false | none | Threshold action type of this rule (For future use. Use NoPlayMessage until the use of this feature is implemented) |
| dispositions | dispositions | false | none | Unique disposition list. Full list of values can retrieve from GET /compliance/dispositions endpoint |
| numberTypes | numberTypes | false | none | Unique numberType list. Full list of values can retrieve from GET /compliance/numberTypes endpoint |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| purposes | purposes | false | none | Unique purpose list. Full list of values can retrieve from GET /compliance/purposes endpoint |
| creationTime | creationTime | false | none | Date and time the object instance was created. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
| enabled | enabled | false | none | Indicates whether the rule is enabled or not. If disabled, the rule will not be considered for compliance checks. |
MessageTrackersInsertRequest
{
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | locale | false | none | Resource's locale name |
| messageTrackerName | messageTrackerName | true | none | Name of messageTracker rule. |
| messageTrackerDescription | messageTrackerDescription | false | none | Description about the messageTracker. |
| typeOfTracker | typeOfTracker | true | none | Rule type |
| numberOfAttempts | numberOfAttempts | true | none | Allowed number of attempts. |
| thresholdType | thresholdType | true | none | Threshold type of this rule. The day and week related rules will count contact attempts from 12:00AM of the given timezone |
| threshold | threshold | true | none | Threshold value based on thresholdType |
| dispositions | dispositions | true | none | Unique disposition list. Full list of values can retrieve from GET /compliance/dispositions endpoint |
| numberTypes | numberTypes | false | none | Unique numberType list. Full list of values can retrieve from GET /compliance/numberTypes endpoint |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| purposes | purposes | false | none | Unique purpose list. Full list of values can retrieve from GET /compliance/purposes endpoint |
MessageTrackersInsertRequestV4
{
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"thresholdActionType": "NoPlayMessage",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"enabled": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | locale | false | none | Resource's locale name |
| messageTrackerName | messageTrackerName | true | none | Name of messageTracker rule. |
| messageTrackerDescription | messageTrackerDescription | false | none | Description about the messageTracker. |
| typeOfTracker | typeOfTrackerV4 | true | none | Rule type |
| numberOfAttempts | numberOfAttemptsMtV4 | true | none | Allowed number of attempts. 0 means prevent playing IVR message without considering contactAttempts count. |
| thresholdType | thresholdType | true | none | Threshold type of this rule. The day and week related rules will count contact attempts from 12:00AM of the given timezone |
| threshold | threshold | true | none | Threshold value based on thresholdType |
| thresholdActionType | thresholdActionType | true | none | Threshold action type of this rule (For future use. Use NoPlayMessage until the use of this feature is implemented) |
| dispositions | dispositions | true | none | Unique disposition list. Full list of values can retrieve from GET /compliance/dispositions endpoint |
| numberTypes | numberTypes | false | none | Unique numberType list. Full list of values can retrieve from GET /compliance/numberTypes endpoint |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| purposes | purposes | false | none | Unique purpose list. Full list of values can retrieve from GET /compliance/purposes endpoint |
| enabled | enabled | false | none | Indicates whether the rule is enabled or not. If disabled, the rule will not be considered for compliance checks. |
MessageTrackersUpdateRequest
{
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Customer",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| version | version | true | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| messageTrackerName | messageTrackerName | true | none | Name of messageTracker rule. |
| messageTrackerDescription | messageTrackerDescription | false | none | Description about the messageTracker. |
| typeOfTracker | typeOfTracker | true | none | Rule type |
| numberOfAttempts | numberOfAttempts | true | none | Allowed number of attempts. |
| thresholdType | thresholdType | true | none | Threshold type of this rule. The day and week related rules will count contact attempts from 12:00AM of the given timezone |
| threshold | threshold | true | none | Threshold value based on thresholdType |
| dispositions | dispositions | true | none | Unique disposition list. Full list of values can retrieve from GET /compliance/dispositions endpoint |
| numberTypes | numberTypes | false | none | Unique numberType list. Full list of values can retrieve from GET /compliance/numberTypes endpoint |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| purposes | purposes | false | none | Unique purpose list. Full list of values can retrieve from GET /compliance/purposes endpoint |
MessageTrackersUpdateRequestV4
{
"version": 12,
"locale": "en-US",
"messageTrackerName": "DonotPlayMessage",
"messageTrackerDescription": "Allowed to play message once in a day",
"typeOfTracker": "Account",
"numberOfAttempts": 10,
"thresholdType": "Day",
"threshold": 3,
"thresholdActionType": "NoPlayMessage",
"dispositions": [
"BZ",
"C1"
],
"numberTypes": [
1,
2
],
"geocodes": [
"USA",
"US"
],
"purposes": [
"TeleMarketing",
"General"
],
"enabled": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| version | version | true | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| messageTrackerName | messageTrackerName | true | none | Name of messageTracker rule. |
| messageTrackerDescription | messageTrackerDescription | false | none | Description about the messageTracker. |
| typeOfTracker | typeOfTrackerV4 | true | none | Rule type |
| numberOfAttempts | numberOfAttemptsMtV4 | true | none | Allowed number of attempts. 0 means prevent playing IVR message without considering contactAttempts count. |
| thresholdType | thresholdType | true | none | Threshold type of this rule. The day and week related rules will count contact attempts from 12:00AM of the given timezone |
| threshold | threshold | true | none | Threshold value based on thresholdType |
| thresholdActionType | thresholdActionType | true | none | Threshold action type of this rule (For future use. Use NoPlayMessage until the use of this feature is implemented) |
| dispositions | dispositions | true | none | Unique disposition list. Full list of values can retrieve from GET /compliance/dispositions endpoint |
| numberTypes | numberTypes | false | none | Unique numberType list. Full list of values can retrieve from GET /compliance/numberTypes endpoint |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| purposes | purposes | false | none | Unique purpose list. Full list of values can retrieve from GET /compliance/purposes endpoint |
| enabled | enabled | false | none | Indicates whether the rule is enabled or not. If disabled, the rule will not be considered for compliance checks. |
CollectionConvenientContactTimeResponse
{
"kind": "via#convenientContactTimeCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=0&maxResults=5"
},
"convenientContactTimes": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#convenientContactTime",
"version": 12,
"locale": "en-US",
"customer": "CUST01",
"phone": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.777Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
],
"creationTime": "2025-05-17T04:49:56.777Z",
"lastModifiedTime": "2025-05-17T04:49:56.777Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | ccKindCollection | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| links | linksCct | false | none | none |
| convenientContactTimes | [TerseConvenientContactTimesResponse] | false | none | Collection of convenientContactTime |
TerseConvenientContactTimesResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#convenientContactTime",
"version": 12,
"locale": "en-US",
"customer": "CUST01",
"phone": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.777Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
],
"creationTime": "2025-05-17T04:49:56.777Z",
"lastModifiedTime": "2025-05-17T04:49:56.777Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | ccKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| customer | customer | false | none | Customer name |
| phone | phone | false | none | Phone number |
| reason | reasonCct | false | none | Reason for creating or modifying the convenientContactTime instance. |
| endTime | endTime | false | none | Specifies when a rule becomes inactive. The rule is deactivated at the specified date and time. Use null if there is no expiry time for the rule |
| convenientTimes | convenientTimes | false | none | convenient Time list |
| creationTime | creationTime | false | none | Date and time the object instance was created. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
CollectionConvenientContactTimeResponseV4
{
"kind": "via#convenientContactTimeCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=0&maxResults=5"
},
"convenientContactTimes": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#convenientContactTime",
"version": 12,
"locale": "en-US",
"contactKeyType": "Customer",
"contactKey": "CUST01",
"contactValueType": "Voice",
"contactValue": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.777Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
],
"creationTime": "2025-05-17T04:49:56.777Z",
"lastModifiedTime": "2025-05-17T04:49:56.777Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | ccKindCollection | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| links | linksCct | false | none | none |
| convenientContactTimes | [TerseConvenientContactTimesResponseV4] | false | none | Collection of convenientContactTime |
TerseConvenientContactTimesResponseV4
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#convenientContactTime",
"version": 12,
"locale": "en-US",
"contactKeyType": "Customer",
"contactKey": "CUST01",
"contactValueType": "Voice",
"contactValue": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.777Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
],
"creationTime": "2025-05-17T04:49:56.777Z",
"lastModifiedTime": "2025-05-17T04:49:56.777Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | ccKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| contactKeyType | contactKeyType | false | none | Type of contact key |
| contactKey | contactKey | false | none | A customer or an account number |
| contactValueType | contactValueType | false | none | Type of contact value |
| contactValue | contactValue | false | none | A phone number or email address. Value must be empty for contactValueType of 'All'. |
| reason | reasonCct | false | none | Reason for creating or modifying the convenientContactTime instance. |
| endTime | endTime | false | none | Specifies when a rule becomes inactive. The rule is deactivated at the specified date and time. Use null if there is no expiry time for the rule |
| convenientTimes | convenientTimes | false | none | convenient Time list |
| creationTime | creationTime | false | none | Date and time the object instance was created. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
ConvenientContactTimesInsertRequest
{
"locale": "en-US",
"customer": "CUST01",
"phone": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.777Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | locale | false | none | Resource's locale name |
| customer | customer | true | none | Customer name |
| phone | phone | false | none | Phone number |
| reason | reasonCct | false | none | Reason for creating or modifying the convenientContactTime instance. |
| endTime | endTime | true | none | Specifies when a rule becomes inactive. The rule is deactivated at the specified date and time. Use null if there is no expiry time for the rule |
| convenientTimes | convenientTimes | true | none | convenient Time list |
ConvenientContactTimesInsertRequestV4
{
"locale": "en-US",
"contactKeyType": "Customer",
"contactKey": "CUST01",
"contactValueType": "Voice",
"contactValue": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.778Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | locale | false | none | Resource's locale name |
| contactKeyType | contactKeyType | true | none | Type of contact key |
| contactKey | contactKey | true | none | A customer or an account number |
| contactValueType | contactValueType | true | none | Type of contact value |
| contactValue | contactValue | false | none | A phone number or email address. Value must be empty for contactValueType of 'All'. |
| reason | reasonCct | false | none | Reason for creating or modifying the convenientContactTime instance. |
| endTime | endTime | true | none | Specifies when a rule becomes inactive. The rule is deactivated at the specified date and time. Use null if there is no expiry time for the rule |
| convenientTimes | convenientTimes | true | none | convenient Time list |
ConvenientContactTimesUpdateRequest
{
"version": 12,
"locale": "en-US",
"customer": "CUST01",
"phone": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.778Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| version | version | true | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| customer | customer | true | none | Customer name |
| phone | phone | false | none | Phone number |
| reason | reasonCct | false | none | Reason for creating or modifying the convenientContactTime instance. |
| endTime | endTime | true | none | Specifies when a rule becomes inactive. The rule is deactivated at the specified date and time. Use null if there is no expiry time for the rule |
| convenientTimes | convenientTimes | true | none | convenient Time list |
ConvenientContactTimesUpdateRequestV4
{
"version": 12,
"locale": "en-US",
"contactKeyType": "Customer",
"contactKey": "CUST01",
"contactValueType": "Voice",
"contactValue": "91-655712335",
"reason": "Customer is available",
"endTime": "2025-05-17T04:49:56.778Z",
"convenientTimes": [
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| version | version | true | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| contactKeyType | contactKeyType | true | none | Type of contact key |
| contactKey | contactKey | true | none | A customer or an account number |
| contactValueType | contactValueType | true | none | Type of contact value |
| contactValue | contactValue | false | none | A phone number or email address. Value must be empty for contactValueType of 'All'. |
| reason | reasonCct | false | none | Reason for creating or modifying the convenientContactTime instance. |
| endTime | endTime | true | none | Specifies when a rule becomes inactive. The rule is deactivated at the specified date and time. Use null if there is no expiry time for the rule |
| convenientTimes | convenientTimes | true | none | convenient Time list |
CollectionQuotaControlsResponse
{
"kind": "via#quotaControlCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/quotaControls?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/quotaControls?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/quotaControls?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/quotaControls?startIndex=0&maxResults=5"
},
"quotaControls": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#quotaControl",
"version": 12,
"locale": "en-US",
"product": "Alvaria Cloud",
"productDescription": "Contact Center Solutions",
"totalQuota": 100,
"productSold": 50,
"unitValue": 200,
"creationTime": "2025-05-17T04:49:56.778Z",
"lastModifiedTime": "2025-05-17T04:49:56.778Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | qcKindCollection | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| links | linksQc | false | none | none |
| quotaControls | [TerseQuotaControlsResponse] | false | none | Collection of QuotaControl |
TerseQuotaControlsResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#quotaControl",
"version": 12,
"locale": "en-US",
"product": "Alvaria Cloud",
"productDescription": "Contact Center Solutions",
"totalQuota": 100,
"productSold": 50,
"unitValue": 200,
"creationTime": "2025-05-17T04:49:56.778Z",
"lastModifiedTime": "2025-05-17T04:49:56.778Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | qcKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| product | product | false | none | Product name used for quotaControl |
| productDescription | productDescription | false | none | Product description |
| totalQuota | totalQuota | false | none | Total allowed quota for sale. |
| productSold | productSold | false | none | Number of products sold |
| unitValue | unitValue | false | none | Unit price in respective currency |
| creationTime | creationTime | false | none | Date and time the object instance was created. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
QuotaControlsInsertRequest
{
"locale": "en-US",
"product": "Alvaria Cloud",
"productDescription": "Contact Center Solutions",
"totalQuota": 100,
"productSold": 50,
"unitValue": 200
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | locale | false | none | Resource's locale name |
| product | product | true | none | Product name used for quotaControl |
| productDescription | productDescription | false | none | Product description |
| totalQuota | totalQuota | true | none | Total allowed quota for sale. |
| productSold | productSold | true | none | Number of products sold |
| unitValue | unitValue | true | none | Unit price in respective currency |
QuotaControlsUpdateRequest
{
"version": 12,
"locale": "en-US",
"product": "Alvaria Cloud",
"productDescription": "Contact Center Solutions",
"totalQuota": 100,
"productSold": 50,
"unitValue": 200
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| version | version | true | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| product | product | true | none | Product name used for quotaControl |
| productDescription | productDescription | false | none | Product description |
| totalQuota | totalQuota | true | none | Total allowed quota for sale. |
| productSold | productSold | true | none | Number of products sold |
| unitValue | unitValue | true | none | Unit price in respective currency |
ComplianceStatusesInsertRequestV4
{
"requiredChecks": [
"exclusions",
"attemptTrackers",
"messageTrackers"
],
"contactChannel": "Voice",
"contactAddress": "91-99994532",
"customer": "CUST01",
"accountNumber": "101010",
"ssn": "123456",
"contactListName": "creditCardList",
"numberType": 1,
"geocodes": [
"USA",
"US"
],
"purpose": "TeleMarketing",
"timeZone": "America/Los_Angeles",
"product": "Alvaria Cloud",
"key": "0f2ece75-b214-41a8-b442-4c128d9530e8"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| requiredChecks | requiredChecks | false | none | Types of rules against compliance check is required. This would not give guarantee on the evaluation order. |
| contactChannel | contactChannelToCheck | true | none | Contact Channel to be evaluated against exclusion, attemptTracker, messageTracker, convenientContactTime rules. |
| contactAddress | contactAddressToCheck | true | none | Contact Address to be evaluated against exclusion, attemptTracker, messageTracker, convenientContactTime and quotaControl rules. This can be phone Number, SMS Number or Email address based on ContactType. |
| customer | customerToCheck | false | none | Customer to be evaluated against attemptTracker, messageTracker and convenientContactTime rules. |
| accountNumber | accountNumberToCheck | false | none | Account Number to be evaluated against exclusion, attemptTracker, messageTracker and convenientContactTime rules. |
| ssn | ssnToCheck | false | none | SSN to be evaluated against exclusion rules. |
| contactListName | contactListNameToCheck | false | none | Contact list name to be evaluated against exclusion rules. |
| numberType | numberTypeToCheck | false | none | NumberType to be evaluated against attemptTracker, messageTracker rules. |
| geocodes | geocodesToCheck | false | none | Geocodes to be evaluated against attemptTracker, messageTracker rules. |
| purpose | purposeToCheck | false | none | Purpose to be evaluated against attemptTracker, messageTracker rules. |
| timeZone | timeZoneToCheck | false | none | TimeZone to be evaluated against attemptTracker, messageTracker and convenientContactTime rules. This will accept Olson name for the Time zone(see https://www.iana.org/time-zones for more information). Use GET /via/v3/organizations/{orgId}/campaign/timeZones from Alvaria™ Cloud Campaign REST API to retrieve list of Olson Time Zone list. |
| product | productToCheck | false | none | Product name to be evaluated against quotaControl rules. |
| key | postKey | false | none | Unique identifier for transaction on current contact. This value will generate in first compliance check without a key, then subsequent compliance checks(if any) for the same contact must have this key. These subsequent compliance checks will return the same key generated in first check. This key returned in first compliance check must specify in POST on /contactAttempts to mark transaction on current contact to complete. |
TerseComplianceStatusesResponse
{
"kind": "via#complianceStatus",
"restricted": true,
"restrictionType": "AttemptTrackerCustomer",
"restrictionStartTime": "2025-05-17T04:49:56.779Z",
"restrictionEndTime": "2025-05-17T04:49:56.779Z",
"messageType": "CannotPlay",
"availableQuota": 50,
"key": "0f2ece75-b214-41a8-b442-4c128d9530e8"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | csKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| restricted | restricted | false | none | True if record is not allowed to be contacted else false |
| restrictionType | restrictionType | false | none | Type of restriction |
| restrictionStartTime | restrictionStartTime | false | none | Applicable when record is not restricted and any configured exclusion starts or convenientContactTime ends in future |
| restrictionEndTime | restrictionEndTime | false | none | When the restriction of this record will end |
| messageType | messageType | false | none | This is applicable with messageTracker configurations. It is used to identify if IVR message can be played for the record |
| availableQuota | availableQuota | false | none | Available quota for the specified product name |
| key | key | false | none | Unique identifier for transaction on current contact. This value will generate in first compliance check without a key, then subsequent compliance checks(if any) for the same contact must have this key. These subsequent compliance checks will return null for key in response. This key returned in first compliance check must specify in POST on /contactAttempts to mark transaction on current contact to complete. |
TerseComplianceStatusesResponseV4
{
"kind": "via#complianceStatus",
"restricted": true,
"restrictedRuleId": "99f31b29-b522-4203-beb4-60f2c714f473",
"restrictedRuleName": "OneAttemptsPerDay",
"restrictionType": "AttemptTrackerAccountContactAddressVoice",
"restrictionStartTime": "2025-05-17T04:49:56.779Z",
"restrictionEndTime": "2025-05-17T04:49:56.779Z",
"messageType": "CannotPlay",
"availableQuota": 50,
"key": "0f2ece75-b214-41a8-b442-4c128d9530e8"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | csKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| restricted | restricted | false | none | True if record is not allowed to be contacted else false |
| restrictedRuleId | restrictedRuleId | false | none | Id of rule which causes the restriction. Refer to restrictionType for the type of rule. |
| restrictedRuleName | restrictedRuleName | false | none | Name of the rule which causes the restriction. This will be populated only for AttemptTracker restrictions. |
| restrictionType | restrictionTypeV4 | false | none | Type of restriction |
| restrictionStartTime | restrictionStartTime | false | none | Applicable when record is not restricted and any configured exclusion starts or convenientContactTime ends in future |
| restrictionEndTime | restrictionEndTime | false | none | When the restriction of this record will end |
| messageType | messageTypeV4 | false | none | This is applicable with messageTracker configurations. It is used to identify if IVR message can be played and the type of message. |
| availableQuota | availableQuota | false | none | Available quota for the specified product name |
| key | key | false | none | Unique identifier for transaction on current contact. This value will generate in first compliance check without a key, then subsequent compliance checks(if any) for the same contact must have this key. These subsequent compliance checks will return null for key in response. This key returned in first compliance check must specify in POST on /contactAttempts to mark transaction on current contact to complete. |
TersePostComplianceStatusesResponseV4
{
"kind": "via#complianceStatus",
"restricted": true,
"restrictedRuleId": "99f31b29-b522-4203-beb4-60f2c714f473",
"restrictedRuleName": "OneAttemptsPerDay",
"restrictionType": "AttemptTrackerAccountContactAddressVoice",
"restrictionStartTime": "2025-05-17T04:49:56.779Z",
"restrictionEndTime": "2025-05-17T04:49:56.779Z",
"messageType": "CannotPlay",
"availableQuota": 50,
"key": "0f2ece75-b214-41a8-b442-4c128d9530e8"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | csKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| restricted | restricted | false | none | True if record is not allowed to be contacted else false |
| restrictedRuleId | restrictedRuleId | false | none | Id of rule which causes the restriction. Refer to restrictionType for the type of rule. |
| restrictedRuleName | restrictedRuleName | false | none | Name of the rule which causes the restriction. This will be populated only for AttemptTracker restrictions. |
| restrictionType | restrictionTypeV4 | false | none | Type of restriction |
| restrictionStartTime | restrictionStartTime | false | none | Applicable when record is not restricted and any configured exclusion starts or convenientContactTime ends in future |
| restrictionEndTime | restrictionEndTime | false | none | When the restriction of this record will end |
| messageType | messageTypeV4 | false | none | This is applicable with messageTracker configurations. It is used to identify if IVR message can be played and the type of message. |
| availableQuota | availableQuota | false | none | Available quota for the specified product name |
| key | postKey | false | none | Unique identifier for transaction on current contact. This value will generate in first compliance check without a key, then subsequent compliance checks(if any) for the same contact must have this key. These subsequent compliance checks will return the same key generated in first check. This key returned in first compliance check must specify in POST on /contactAttempts to mark transaction on current contact to complete. |
CollectionContactAttemptsResponse
{
"kind": "via#contactAttemptCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=0&maxResults=5"
},
"contactAttempts": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#contactAttempt",
"version": 12,
"locale": "en-US",
"contactChannel": "Voice",
"contactAddress": "1-4345346",
"customer": "CUST01",
"timeOfContact": "2025-05-17T04:49:56.779Z",
"timeZone": "America/Los_Angeles",
"disposition": "BZ",
"numberType": 1,
"purpose": "TeleMarketing",
"geocodes": [
"USA",
"US"
],
"creationTime": "2025-05-17T04:49:56.779Z"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | caKindCollection | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| links | linksCa | false | none | none |
| contactAttempts | [TerseContactAttemptsResponse] | false | none | Collection of contactAttempt |
CollectionContactAttemptsResponseV4
{
"kind": "via#contactAttemptCollection",
"totalItems": 35,
"links": {
"first": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=0&maxResults=5"
},
"contactAttempts": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#contactAttempt",
"version": 12,
"locale": "en-US",
"contactChannel": "Voice",
"contactAddress": "1-4345346",
"customer": "CUST01",
"accountNumber": "1010100",
"timeOfContact": "2025-05-17T04:49:56.780Z",
"timeZone": "America/Los_Angeles",
"disposition": "BZ",
"numberType": 1,
"purpose": "TeleMarketing",
"geocodes": [
"USA",
"US"
],
"status": "Enabled",
"reason": "Contact by mistake",
"creationTime": "2025-05-17T04:49:56.780Z",
"lastModifiedTime": "2025-05-17T04:49:56.780Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | caKindCollection | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| links | linksCa | false | none | none |
| contactAttempts | [TerseContactAttemptsResponseV4] | false | none | Collection of contactAttempts |
TerseContactAttemptsResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#contactAttempt",
"version": 12,
"locale": "en-US",
"contactChannel": "Voice",
"contactAddress": "1-4345346",
"customer": "CUST01",
"timeOfContact": "2025-05-17T04:49:56.780Z",
"timeZone": "America/Los_Angeles",
"disposition": "BZ",
"numberType": 1,
"purpose": "TeleMarketing",
"geocodes": [
"USA",
"US"
],
"creationTime": "2025-05-17T04:49:56.780Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | caKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| contactChannel | contactChannel | false | none | Contact channel of this record |
| contactAddress | contactAddress | false | none | Contact address based on contactChannel. This can be phone number or sms or email |
| customer | customer | false | none | Customer name |
| timeOfContact | timeOfContact | false | none | Time of contact |
| timeZone | timeZone | false | none | The Olson Time Zone Name(see https://www.iana.org/time-zones for more information). Use GET /via/v3/organizations/{orgId}/campaign/timeZones from Alvaria™ Cloud Campaign REST API to retrieve list of Olson Time Zone list |
| disposition | disposition | false | none | Disposition name |
| numberType | numberType | false | none | NumberType code |
| purpose | purpose | false | none | Purpose name |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| creationTime | creationTime | false | none | Date and time the object instance was created. |
TerseContactAttemptsResponseV4
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#contactAttempt",
"version": 12,
"locale": "en-US",
"contactChannel": "Voice",
"contactAddress": "1-4345346",
"customer": "CUST01",
"accountNumber": "1010100",
"timeOfContact": "2025-05-17T04:49:56.780Z",
"timeZone": "America/Los_Angeles",
"disposition": "BZ",
"numberType": 1,
"purpose": "TeleMarketing",
"geocodes": [
"USA",
"US"
],
"status": "Enabled",
"reason": "Contact by mistake",
"creationTime": "2025-05-17T04:49:56.780Z",
"lastModifiedTime": "2025-05-17T04:49:56.780Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | caKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| contactChannel | contactChannel | false | none | Contact channel of this record |
| contactAddress | contactAddress | false | none | Contact address based on contactChannel. This can be phone number or sms or email |
| customer | customer | false | none | Customer name |
| accountNumber | accountNumber | false | none | AccountNumber |
| timeOfContact | timeOfContact | false | none | Time of contact |
| timeZone | timeZone | false | none | The Olson Time Zone Name(see https://www.iana.org/time-zones for more information). Use GET /via/v3/organizations/{orgId}/campaign/timeZones from Alvaria™ Cloud Campaign REST API to retrieve list of Olson Time Zone list |
| disposition | disposition | false | none | Disposition name |
| numberType | numberType | false | none | NumberType code |
| purpose | purpose | false | none | Purpose name |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| status | status | false | none | Status of a contact attempt. |
| reason | reasonCa | false | none | Reason for disabling contact Attempt. |
| creationTime | creationTime | false | none | Date and time the object instance was created. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
ContactAttemptsInsertRequest
{
"locale": "en-US",
"contactChannel": "Voice",
"contactAddress": "1-4345346",
"customer": "CUST01",
"timeOfContact": "2025-05-17T04:49:56.780Z",
"key": "0f2ece75-b214-41a8-b442-4c128d9530e8",
"timeZone": "America/Los_Angeles",
"disposition": "BZ",
"numberType": 1,
"purpose": "TeleMarketing",
"geocodes": [
"USA",
"US"
],
"product": "Alvaria Cloud",
"productSold": 50
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | locale | false | none | Resource's locale name |
| contactChannel | contactChannel | true | none | Contact channel of this record |
| contactAddress | contactAddress | false | none | Contact address based on contactChannel. This can be phone number or sms or email |
| customer | customer | false | none | Customer name |
| timeOfContact | timeOfContact | true | none | Time of contact |
| key | key | true | none | Unique identifier for transaction on current contact. This value will generate in first compliance check without a key, then subsequent compliance checks(if any) for the same contact must have this key. These subsequent compliance checks will return null for key in response. This key returned in first compliance check must specify in POST on /contactAttempts to mark transaction on current contact to complete. |
| timeZone | timeZone | false | none | The Olson Time Zone Name(see https://www.iana.org/time-zones for more information). Use GET /via/v3/organizations/{orgId}/campaign/timeZones from Alvaria™ Cloud Campaign REST API to retrieve list of Olson Time Zone list |
| disposition | disposition | true | none | Disposition name |
| numberType | numberType | true | none | NumberType code |
| purpose | purpose | false | none | Purpose name |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| product | productCa | false | none | Product name used for quotaControl. This won't persist in contactAttempts record, instead total quota in quotaControl rule for this product will get decrement as per productSold |
| productSold | productSoldCa | false | none | Product quantity sold. This quantity sold will decrement from total quota in quotaControl rule for the product mentioned in product property. This won't persist in contactAttempts record |
ContactAttemptsInsertRequestV4
{
"locale": "en-US",
"contactChannel": "Voice",
"contactAddress": "1-4345346",
"customer": "CUST01",
"accountNumber": "1010100",
"timeOfContact": "2025-05-17T04:49:56.780Z",
"key": "0f2ece75-b214-41a8-b442-4c128d9530e8",
"timeZone": "America/Los_Angeles",
"disposition": "BZ",
"numberType": 1,
"purpose": "TeleMarketing",
"geocodes": [
"USA",
"US"
],
"product": "Alvaria Cloud",
"productSold": 50,
"operationType": "CancelContact"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | locale | false | none | Resource's locale name |
| contactChannel | contactChannel | true | none | Contact channel of this record |
| contactAddress | contactAddress | false | none | Contact address based on contactChannel. This can be phone number or sms or email |
| customer | customer | false | none | Customer name |
| accountNumber | accountNumber | false | none | AccountNumber |
| timeOfContact | timeOfContact | true | none | Time of contact |
| key | key | false | none | Unique identifier for transaction on current contact. This value will generate in first compliance check without a key, then subsequent compliance checks(if any) for the same contact must have this key. These subsequent compliance checks will return null for key in response. This key returned in first compliance check must specify in POST on /contactAttempts to mark transaction on current contact to complete. |
| timeZone | timeZone | false | none | The Olson Time Zone Name(see https://www.iana.org/time-zones for more information). Use GET /via/v3/organizations/{orgId}/campaign/timeZones from Alvaria™ Cloud Campaign REST API to retrieve list of Olson Time Zone list |
| disposition | disposition | true | none | Disposition name |
| numberType | numberType | true | none | NumberType code |
| purpose | purpose | false | none | Purpose name |
| geocodes | geocodes | false | none | Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint |
| product | productCa | false | none | Product name used for quotaControl. This won't persist in contactAttempts record, instead total quota in quotaControl rule for this product will get decrement as per productSold |
| productSold | productSoldCa | false | none | Product quantity sold. This quantity sold will decrement from total quota in quotaControl rule for the product mentioned in product property. This won't persist in contactAttempts record |
| operationType | operationType | false | none | Type of operations to be performed in this request. Default is SaveContactWithKeyCheck. CancelContact - Do not save ContactAttempt and delete the active record for the given key if its valid. SaveContactNoKeyCheck - Save ContactAttempt without an active record key validate and delete. SaveContactWithKeyCheck - Save ContactAttempt and delete the active record for the given key if its valid. |
ContactAttemptsPatchRequest
{
"status": "Enabled",
"reason": "Contact by mistake",
"version": 12
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| status | status | false | none | Status of a contact attempt. |
| reason | reasonCa | false | none | Reason for disabling contact Attempt. |
| version | version | true | none | Version of the entity |
CollectionExternalDataResponse
{
"kind": "via#redirectCollection",
"totalItems": 35,
"externalData": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#redirect",
"version": 12,
"locale": "en-US",
"resource": "Dispositions",
"valueType": "Url",
"value": "https://orgId.via.aspect-cloud.net/via/v3/organizations/orgId/campaign/dispositions",
"creationTime": "2025-05-17T04:49:56.781Z",
"lastModifiedTime": "2025-05-17T04:49:56.781Z",
"lastModifiedBy": "jose@alvaria.com"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | rKindCollection | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| externalData | [TerseExternalDataResponse] | false | none | Collection of ExternalData |
TerseExternalDataResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#redirect",
"version": 12,
"locale": "en-US",
"resource": "Dispositions",
"valueType": "Url",
"value": "https://orgId.via.aspect-cloud.net/via/v3/organizations/orgId/campaign/dispositions",
"creationTime": "2025-05-17T04:49:56.781Z",
"lastModifiedTime": "2025-05-17T04:49:56.781Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | rKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| resource | resource | false | none | ExternalData resource name |
| valueType | valueType | false | none | Data type stored in 'value' property. If Url then 'value' hold url else filename |
| value | value | false | none | ExternalData value. If valueType is Url then this will hold redirect url else jsonFile name |
| creationTime | creationTime | false | none | Date and time the object instance was created. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
CollectionDispositionsResponse
{
"kind": "via#dispositionCollection",
"totalItems": 35,
"dispositions": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#disposition",
"friendlyName": [
{
"locale": "en-US",
"value": "Service Level Callback"
}
],
"dispositionCode": "CB"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| dispositions | [TerseDispositionsResponse] | false | none | Collection of dispositions |
TerseDispositionsResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#disposition",
"friendlyName": [
{
"locale": "en-US",
"value": "Service Level Callback"
}
],
"dispositionCode": "CB"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| friendlyName | [DispositionsFriendlyNameResponse] | false | none | Unique descriptive name for this Disposition instance |
| dispositionCode | string | false | none | Short code for disposition |
DispositionsFriendlyNameResponse
{
"locale": "en-US",
"value": "Service Level Callback"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | locale | true | none | Resource's locale name |
| value | string | true | none | The Localized value of the Disposition Name. |
CollectionNumberTypesResponse
{
"kind": "via#numberTypeCollection",
"totalItems": 35,
"numberTypes": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#numberType",
"friendlyName": [
{
"locale": "en-US",
"value": "HomePhone"
}
],
"numberTypeCode": 1
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| numberTypes | [TerseNumberTypesResponse] | false | none | Collection of number types |
TerseNumberTypesResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#numberType",
"friendlyName": [
{
"locale": "en-US",
"value": "HomePhone"
}
],
"numberTypeCode": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| friendlyName | [NumberTypesFriendlyNameResponse] | false | none | Unique descriptive name for this NumberType instance |
| numberTypeCode | integer | false | none | Number type code |
NumberTypesFriendlyNameResponse
{
"locale": "en-US",
"value": "HomePhone"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | locale | true | none | Resource's locale name |
| value | string | true | none | The Localized value of the NumberType Name. |
CollectionGeocodesResponse
{
"kind": "via#geocodeCollection",
"totalItems": 35,
"geocodes": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#geocode",
"friendlyName": [
{
"locale": "en-US",
"value": "US"
}
]
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| geocodes | [TerseGeocodesResponse] | false | none | Collection of geocode name |
TerseGeocodesResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#geocode",
"friendlyName": [
{
"locale": "en-US",
"value": "US"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| friendlyName | [GeocodesFriendlyNameResponse] | false | none | Unique descriptive name for this Geocode instance |
GeocodesFriendlyNameResponse
{
"locale": "en-US",
"value": "US"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | locale | true | none | Resource's locale name |
| value | string | true | none | The Localized value of the Geocode name. |
CollectionPurposesResponse
{
"kind": "via#purposeCollection",
"totalItems": 35,
"purposes": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#purpose",
"friendlyName": [
{
"locale": "en-US",
"value": "TeleMarketing Purpose"
}
]
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| purposes | [TersePurposesResponse] | false | none | Collection of purposes |
TersePurposesResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#purpose",
"friendlyName": [
{
"locale": "en-US",
"value": "TeleMarketing Purpose"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| friendlyName | [PurposesFriendlyNameResponse] | false | none | Unique descriptive name for this Purpose instance |
PurposesFriendlyNameResponse
{
"locale": "en-US",
"value": "TeleMarketing Purpose"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | locale | true | none | Resource's locale name |
| value | string | true | none | The Localized value of the Purpose Name. |
CollectionContactListsResponse
{
"kind": "via#contactListCollection",
"totalItems": 35,
"contactLists": [
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#contactList",
"friendlyName": [
{
"locale": "en-US",
"value": "CreditCardList"
}
]
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| totalItems | totalItems | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
| contactLists | [TerseContactListsResponse] | false | none | Collection of contactLists |
TerseContactListsResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#contactList",
"friendlyName": [
{
"locale": "en-US",
"value": "CreditCardList"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| friendlyName | [ContactListsFriendlyNameResponse] | false | none | Unique descriptive name for this Purpose instance |
ContactListsFriendlyNameResponse
{
"locale": "en-US",
"value": "CreditCardList"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | locale | true | none | Resource's locale name |
| value | string | true | none | The Localized value of the ContactList Name. |
exclusionsLoadRequest
{
"fileName": "sample.act",
"errorResponseType": "NoErrorFile"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| fileName | ExLoadFilename | true | none | The name of an 'act' file located in the storage path imports/outreach/exclusions |
| errorResponseType | ErrorResponseType | false | none | Error response type. Defaulted to NoErrorFile where an error file won't get generated on an error. ErrorFileWithSummary generates an error file with the failed record index and the reason. |
convenientContactTimesLoadRequest
{
"fileName": "sample.cct",
"errorResponseType": "NoErrorFile"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| fileName | CCTLoadFilename | true | none | The name of a 'cct' file located in the storage path imports/outreach/exclusions |
| errorResponseType | ErrorResponseType | false | none | Error response type. Defaulted to NoErrorFile where an error file won't get generated on an error. ErrorFileWithSummary generates an error file with the failed record index and the reason. |
contactAttemptsLoadRequest
{
"fileName": "sample.cet",
"errorResponseType": "NoErrorFile"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| fileName | CETLoadFilename | true | none | The name of a 'cet' file located in the storage path imports/outreach/exclusions |
| errorResponseType | ErrorResponseType | false | none | Error response type. Defaulted to NoErrorFile where an error file won't get generated on an error. ErrorFileWithSummary generates an error file with the failed record index and the reason. |
exclusionsLoadJobResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#exclusionsLoadJob",
"version": 12,
"locale": "en-US",
"uri": "/via/v4/organizations/orgId/compliance/jobs/99f31b29-b522-4203-beb4-60f2c714f473",
"creationTime": "2025-05-17T04:49:56.783Z",
"lastModifiedTime": "2025-05-17T04:49:56.783Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| uri | uri | false | none | URI to get the status of the job. |
| creationTime | creationTime | false | none | Date and time the object instance was created. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
convenientContactTimesLoadJobResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#convenientContactTimesLoadJob",
"version": 12,
"locale": "en-US",
"uri": "/via/v4/organizations/orgId/compliance/jobs/99f31b29-b522-4203-beb4-60f2c714f473",
"creationTime": "2025-05-17T04:49:56.783Z",
"lastModifiedTime": "2025-05-17T04:49:56.783Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| uri | uri | false | none | URI to get the status of the job. |
| creationTime | creationTime | false | none | Date and time the object instance was created. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
contactAttemptsLoadJobResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#contactAttemptsLoadJob",
"version": 12,
"locale": "en-US",
"uri": "/via/v4/organizations/orgId/compliance/jobs/99f31b29-b522-4203-beb4-60f2c714f473",
"creationTime": "2025-05-17T04:49:56.783Z",
"lastModifiedTime": "2025-05-17T04:49:56.783Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | false | none | Alvaria-generated unique identifier for the entity instance |
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| uri | uri | false | none | URI to get the status of the job. |
| creationTime | creationTime | false | none | Date and time the object instance was created. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
attemptTrackerConfigurationResponse
{
"kind": "via#attemptTrackerConfiguration",
"version": 12,
"locale": "en-US",
"excludeFromContactAddressRule": [
"9855555"
],
"excludedContactAddresses": [
"9855555"
],
"enableActiveRecordFeature": true,
"lifeTimeOfActiveRecord": 120,
"minutesToWaitAfterActiveRestriction": 10,
"lastModifiedTime": "2025-05-17T04:49:56.784Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | atConfKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| excludeFromContactAddressRule | excludeFromContactAddressRuleAT | false | none | Excludes the specified contactAddresses from contactAddress rule(s) in attemptTracker evaluation. Use 'BLANK' to exclude blank contactAddress. |
| excludedContactAddresses | excludedContactAddressesAT | false | none | Excludes the specified contactAddresses from attemptTracker rule evaluation. Use 'BLANK' to exclude blank contactAddress. |
| enableActiveRecordFeature | enableActiveRecordFeature | false | none | Set true to enable active record support in attemptTracker rule evaluation. |
| lifeTimeOfActiveRecord | lifeTimeOfActiveRecord | false | none | The maximum lifetime of active record in minutes. A contact is not completed in specified number of minutes then record will remove from the active record list. |
| minutesToWaitAfterActiveRestriction | minutesToWaitAfterActiveRestriction | false | none | Specified minutes will add to current time to set 'restrictionEndTime' in GET /complianceStatuses if the restriction is due to active records. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
attemptTrackerConfigurationPatchRequest
{
"version": 12,
"locale": "en-US",
"excludeFromContactAddressRule": [
"9855555"
],
"excludedContactAddresses": [
"9855555"
],
"enableActiveRecordFeature": true,
"lifeTimeOfActiveRecord": 120,
"minutesToWaitAfterActiveRestriction": 10
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| version | version | true | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| excludeFromContactAddressRule | excludeFromContactAddressRuleAT | false | none | Excludes the specified contactAddresses from contactAddress rule(s) in attemptTracker evaluation. Use 'BLANK' to exclude blank contactAddress. |
| excludedContactAddresses | excludedContactAddressesAT | false | none | Excludes the specified contactAddresses from attemptTracker rule evaluation. Use 'BLANK' to exclude blank contactAddress. |
| enableActiveRecordFeature | enableActiveRecordFeature | false | none | Set true to enable active record support in attemptTracker rule evaluation. |
| lifeTimeOfActiveRecord | lifeTimeOfActiveRecord | false | none | The maximum lifetime of active record in minutes. A contact is not completed in specified number of minutes then record will remove from the active record list. |
| minutesToWaitAfterActiveRestriction | minutesToWaitAfterActiveRestriction | false | none | Specified minutes will add to current time to set 'restrictionEndTime' in GET /complianceStatuses if the restriction is due to active records. |
messageTrackerConfigurationResponse
{
"kind": "via#messageTrackerConfiguration",
"version": 12,
"locale": "en-US",
"excludeFromContactAddressRule": [
"9855555"
],
"excludedContactAddresses": [
"9855555"
],
"lastModifiedTime": "2025-05-17T04:49:56.784Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | mtConfKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| excludeFromContactAddressRule | excludeFromContactAddressRuleMT | false | none | Excludes the specified contactAddresses from contactAddress rule(s) in messageTracker evaluation. Use 'BLANK' to exclude blank contactAddress. |
| excludedContactAddresses | excludedContactAddressesMT | false | none | Excludes the specified contactAddresses from messageTracker rule evaluation. Use 'BLANK' to exclude blank contactAddress. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
messageTrackerConfigurationPatchRequest
{
"version": 12,
"locale": "en-US",
"excludeFromContactAddressRule": [
"9855555"
],
"excludedContactAddresses": [
"9855555"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| version | version | true | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| excludeFromContactAddressRule | excludeFromContactAddressRuleMT | false | none | Excludes the specified contactAddresses from contactAddress rule(s) in messageTracker evaluation. Use 'BLANK' to exclude blank contactAddress. |
| excludedContactAddresses | excludedContactAddressesMT | false | none | Excludes the specified contactAddresses from messageTracker rule evaluation. Use 'BLANK' to exclude blank contactAddress. |
exclusionConfigurationResponse
{
"kind": "via#exclusionConfiguration",
"version": 12,
"locale": "en-US",
"retainDays": 14,
"retainNoEndTime": false,
"lastModifiedTime": "2025-05-17T04:49:56.784Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | exConfKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| retainDays | retainDays | false | none | Number of days to retain the expired rules. The rules with no endTime will retain based on retainNoEndTime. |
| retainNoEndTime | retainNoEndTime | false | none | Retain rules with no endTime. If true then rules does not have an endTime will not remove during the daily purge else it will remove. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
exclusionConfigurationPatchRequest
{
"version": 12,
"locale": "en-US",
"retainDays": 14,
"retainNoEndTime": false
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| version | version | true | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| retainDays | retainDays | false | none | Number of days to retain the expired rules. The rules with no endTime will retain based on retainNoEndTime. |
| retainNoEndTime | retainNoEndTime | false | none | Retain rules with no endTime. If true then rules does not have an endTime will not remove during the daily purge else it will remove. |
convenientContactTimeConfigurationResponse
{
"kind": "via#convenientContactTimeConfiguration",
"version": 12,
"locale": "en-US",
"retainDays": 14,
"lastModifiedTime": "2025-05-17T04:49:56.785Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | cctConfKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| retainDays | retainDaysCCT | false | none | Number of days to retain the expired rules. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
convenientContactTimeConfigurationPatchRequest
{
"version": 12,
"locale": "en-US",
"retainDays": 14
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| version | version | true | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| retainDays | retainDaysCCT | true | none | Number of days to retain the expired rules. |
jobKind
"via#job"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
ItemJobResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"kind": "via#job",
"version": 12,
"locale": "en-US",
"jobType": "ExclusionsLoad",
"fileName": "Exclusions.act",
"jobState": "Completed",
"message": "Completed with error.",
"stats": {
"processed": 100,
"added": 50,
"updated": 30,
"deleted": 10,
"failures": 5,
"duplicates": 5
},
"errorFileName": "99f31b29-b522-4203-beb4-60f2c714f473.json",
"creationTime": "2025-05-17T04:49:56.785Z",
"lastModifiedTime": "2025-05-17T04:49:56.785Z",
"lastModifiedBy": "jose@alvaria.com"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | id | true | none | Alvaria-generated unique identifier for the entity instance |
| kind | jobKind | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| version | version | false | none | Version of the entity |
| locale | locale | false | none | Resource's locale name |
| jobType | JobType | true | none | Job Type. |
| fileName | FileName | false | none | File name of load/import/export job. |
| jobState | JobState | true | none | Job State. |
| message | string | false | none | Job status message |
| stats | object | true | none | none |
| » processed | integer | true | none | Number of records processed from the file. |
| » added | integer | true | none | Number of records added. |
| » updated | integer | true | none | Number of records updated. |
| » deleted | integer | true | none | Number of records deleted. |
| » failures | integer | true | none | Number of records failed due to error or by the invalid format. If the count is greater than zero, then download the error file to get failure details to correct and retry the load. |
| » duplicates | integer | true | none | Number of duplicate records. Already existing data or the same data in file. |
| errorFileName | ErrorFile | false | none | Job error file with the details of the failure records. The file can be downloaded from the media storage path 'exports/compliance/audit' using the mediaStorage endpoint. |
| creationTime | creationTime | false | none | Date and time the object instance was created. |
| lastModifiedTime | lastModifiedTime | false | none | Date and time of the most recent change to the instance. |
| lastModifiedBy | lastModifiedBy | false | none | User that last changed the instance. |
JobType
"ExclusionsLoad"
Job Type.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Job Type. |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | ExclusionsLoad |
| anonymous | ConvenientContactTimesLoad |
| anonymous | ContactAttemptsLoad |
FileName
"Exclusions.act"
File name of load/import/export job.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | File name of load/import/export job. |
JobState
"Completed"
Job State.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Job State. |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Pending |
| anonymous | Running |
| anonymous | Completed |
| anonymous | Failed |
ErrorResponse400
{
"error": {
"code": 400,
"message": "Bad Request",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | ErrorResponseObj400 | false | none | none |
ErrorResponseObj400
{
"code": 400,
"message": "Bad Request",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| code | integer | false | none | Error code |
| message | string | false | none | Error message |
| errors | [ErrorResponseItem] | false | none | none |
ErrorResponse409
{
"error": {
"code": 409,
"message": "Conflict",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | ErrorResponseObj409 | false | none | none |
ErrorResponseObj409
{
"code": 409,
"message": "Conflict",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| code | integer | false | none | Error code |
| message | string | false | none | Error message |
| errors | [ErrorResponseItem] | false | none | none |
ErrorResponse405
{
"error": {
"code": 405,
"message": "Method Not Allowed",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | ErrorResponseObj405 | false | none | none |
ErrorResponseObj405
{
"code": 405,
"message": "Method Not Allowed",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| code | integer | false | none | Error code |
| message | string | false | none | Error message |
| errors | [ErrorResponseItem] | false | none | none |
ErrorResponse408
{
"error": {
"code": 408,
"message": "Request Timeout",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | ErrorResponseObj408 | false | none | none |
ErrorResponseObj408
{
"code": 408,
"message": "Request Timeout",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| code | integer | false | none | Error code |
| message | string | false | none | Error message |
| errors | [ErrorResponseItem] | false | none | none |
ErrorResponse415
{
"error": {
"code": 415,
"message": "Unsupported Media Type",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | ErrorResponseObj415 | false | none | none |
ErrorResponseObj415
{
"code": 415,
"message": "Unsupported Media Type",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| code | integer | false | none | Error code |
| message | string | false | none | Error message |
| errors | [ErrorResponseItem] | false | none | none |
ErrorResponse429
{
"error": {
"code": 429,
"message": "Throttled",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | ErrorResponseObj429 | false | none | none |
ErrorResponseObj429
{
"code": 429,
"message": "Throttled",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| code | integer | false | none | Error code |
| message | string | false | none | Error message |
| errors | [ErrorResponseItem] | false | none | none |
ErrorResponse500
{
"error": {
"code": 500,
"message": "Internal Server Error",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | ErrorResponseObj500 | false | none | none |
ErrorResponseObj500
{
"code": 500,
"message": "Internal Server Error",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| code | integer | false | none | Error code |
| message | string | false | none | Error message |
| errors | [ErrorResponseItem] | false | none | none |
ErrorResponse404
{
"error": {
"code": 404,
"message": "Not Found",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | ErrorResponseObj404 | false | none | none |
ErrorResponseObj404
{
"code": 404,
"message": "Not Found",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| code | integer | false | none | Error code |
| message | string | false | none | Error message |
| errors | [ErrorResponseItem] | false | none | none |
ErrorResponseItem
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| scope | string | false | none | Scope of the error |
| reason | string | false | none | Reason for failure |
| message | string | false | none | Message associated with failure |
linksEx
{
"first": "/via/v3/organizations/orgId/compliance/exclusions?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/exclusions?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/exclusions?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/exclusions?startIndex=0&maxResults=5"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| first | string | false | none | Link to first page |
| last | string | false | none | Link to last page |
| next | string | false | none | Link to next page |
| prev | string | false | none | Link to previous page |
linksAt
{
"first": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/attemptTrackers?startIndex=0&maxResults=5"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| first | string | false | none | Link to first page |
| last | string | false | none | Link to last page |
| next | string | false | none | Link to next page |
| prev | string | false | none | Link to previous page |
linksMt
{
"first": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/messageTrackers?startIndex=0&maxResults=5"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| first | string | false | none | Link to first page |
| last | string | false | none | Link to last page |
| next | string | false | none | Link to next page |
| prev | string | false | none | Link to previous page |
linksCct
{
"first": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/convenientContactTimes?startIndex=0&maxResults=5"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| first | string | false | none | Link to first page |
| last | string | false | none | Link to last page |
| next | string | false | none | Link to next page |
| prev | string | false | none | Link to previous page |
linksQc
{
"first": "/via/v3/organizations/orgId/compliance/quotaControls?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/quotaControls?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/quotaControls?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/quotaControls?startIndex=0&maxResults=5"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| first | string | false | none | Link to first page |
| last | string | false | none | Link to last page |
| next | string | false | none | Link to next page |
| prev | string | false | none | Link to previous page |
linksCa
{
"first": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=0&maxResults=5",
"last": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=30&maxResults=5",
"next": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=10&maxResults=5",
"prev": "/via/v3/organizations/orgId/compliance/contactAttempts?startIndex=0&maxResults=5"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| first | string | false | none | Link to first page |
| last | string | false | none | Link to last page |
| next | string | false | none | Link to next page |
| prev | string | false | none | Link to previous page |
id
"99f31b29-b522-4203-beb4-60f2c714f473"
Alvaria-generated unique identifier for the entity instance
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Alvaria-generated unique identifier for the entity instance |
exKind
"via#exclusion"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
exKindCollection
"via#exclusionCollection"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
atKind
"via#attemptTracker"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
atKindCollection
"via#attemptTrackerCollection"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
mtKind
"via#messageTracker"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
mtKindCollection
"via#messageTrackerCollection"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
ccKind
"via#convenientContactTime"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
ccKindCollection
"via#convenientContactTimeCollection"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
qcKind
"via#quotaControl"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
qcKindCollection
"via#quotaControlCollection"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
csKind
"via#complianceStatus"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
caKindCollection
"via#contactAttemptCollection"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
caKind
"via#contactAttempt"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
rKind
"via#redirect"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
rKindCollection
"via#redirectCollection"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
atConfKind
"via#attemptTrackerConfiguration"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
mtConfKind
"via#messageTrackerConfiguration"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
exConfKind
"via#exclusionConfiguration"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
cctConfKind
"via#convenientContactTimeConfiguration"
Identifier used by Alvaria™ Cloud components to serialize the payload of the results
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
totalItems
35
Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set |
attemptTrackerName
"OneAttemptPerDay"
Name of attemptTracker rule.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Name of attemptTracker rule. |
messageTrackerName
"DonotPlayMessage"
Name of messageTracker rule.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Name of messageTracker rule. |
attemptTrackerDescription
"Allow only one attempt per day"
Description about the attemptTracker.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Description about the attemptTracker. |
messageTrackerDescription
"Allowed to play message once in a day"
Description about the messageTracker.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Description about the messageTracker. |
version
12
Version of the entity
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Version of the entity |
creationTime
"2025-05-17T04:49:56.672Z"
Date and time the object instance was created.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date-time) | false | none | Date and time the object instance was created. |
uri
"/via/v4/organizations/orgId/compliance/jobs/99f31b29-b522-4203-beb4-60f2c714f473"
URI to get the status of the job.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | URI to get the status of the job. |
lastModifiedTime
"2025-05-17T04:49:56.672Z"
Date and time of the most recent change to the instance.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date-time) | false | none | Date and time of the most recent change to the instance. |
lastModifiedBy
"jose@alvaria.com"
User that last changed the instance.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | User that last changed the instance. |
ErrorFile
"99f31b29-b522-4203-beb4-60f2c714f473.json"
Job error file with the details of the failure records. The file can be downloaded from the media storage path 'exports/compliance/audit' using the mediaStorage endpoint.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Job error file with the details of the failure records. The file can be downloaded from the media storage path 'exports/compliance/audit' using the mediaStorage endpoint. |
reasonEx
"Customer is not available"
Reason for creating or modifying the exclusion instance.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Reason for creating or modifying the exclusion instance. |
reasonCct
"Customer is available"
Reason for creating or modifying the convenientContactTime instance.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Reason for creating or modifying the convenientContactTime instance. |
reasonCa
"Contact by mistake"
Reason for disabling contact Attempt.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Reason for disabling contact Attempt. |
status
"Enabled"
Status of a contact attempt.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Status of a contact attempt. |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Enabled |
| anonymous | Disabled |
endTime
"2025-05-17T04:49:56.672Z"
Specifies when a rule becomes inactive. The rule is deactivated at the specified date and time. Use null if there is no expiry time for the rule
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date-time) | false | none | Specifies when a rule becomes inactive. The rule is deactivated at the specified date and time. Use null if there is no expiry time for the rule |
exclusionType
"Account"
Exclusion Type
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Exclusion Type |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Account |
| anonymous | Voice |
| anonymous | |
| anonymous | SMS |
| anonymous | SSN |
exclusionValue
"91-99994532"
Value for exclusion. This can be account number or phone number or sms or email or ssn(a custom exclusion number)
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Value for exclusion. This can be account number or phone number or sms or email or ssn(a custom exclusion number) |
contactListName
"CreditCardList"
Name of a contact list. If this is empty, the exclusion apply to all lists. The valid contact list names can retrieve using GET /compliance/contactLists endpoint
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Name of a contact list. If this is empty, the exclusion apply to all lists. The valid contact list names can retrieve using GET /compliance/contactLists endpoint |
startTime
"2025-05-17T04:49:56.672Z"
Exclusion start time
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date-time) | false | none | Exclusion start time |
typeOfTracker
"Customer"
Rule type
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Rule type |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Customer |
| anonymous | Phone |
| anonymous | CustomerPhone |
typeOfTrackerV4
"Account"
Rule type
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Rule type |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Customer |
| anonymous | ContactAddress |
| anonymous | CustomerContactAddress |
| anonymous | Account |
| anonymous | AccountContactAddress |
numberOfAttempts
10
Allowed number of attempts.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Allowed number of attempts. |
numberOfAttemptsAtV4
10
Allowed number of attempts. 0 means attempts will be blocked without considering contactAttempts count.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Allowed number of attempts. 0 means attempts will be blocked without considering contactAttempts count. |
numberOfAttemptsMtV4
10
Allowed number of attempts. 0 means prevent playing IVR message without considering contactAttempts count.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Allowed number of attempts. 0 means prevent playing IVR message without considering contactAttempts count. |
threshold
3
Threshold value based on thresholdType
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Threshold value based on thresholdType |
thresholdType
"Day"
Threshold type of this rule. The day and week related rules will count contact attempts from 12:00AM of the given timezone
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Threshold type of this rule. The day and week related rules will count contact attempts from 12:00AM of the given timezone |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Minute |
| anonymous | Hour |
| anonymous | Day |
| anonymous | Week |
| anonymous | CurrentDay |
| anonymous | CurrentWeek |
| anonymous | CurrentMonth |
thresholdActionType
"NoPlayMessage"
Threshold action type of this rule (For future use. Use NoPlayMessage until the use of this feature is implemented)
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Threshold action type of this rule (For future use. Use NoPlayMessage until the use of this feature is implemented) |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | NoPlayMessage |
| anonymous | PlayStandardMessage |
disposition
"BZ"
Disposition name
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Disposition name |
numberType
1
NumberType code
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | NumberType code |
purpose
"TeleMarketing"
Purpose name
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Purpose name |
dispositions
[
"BZ",
"C1"
]
Unique disposition list. Full list of values can retrieve from GET /compliance/dispositions endpoint
Properties
None
numberTypes
[
1,
2
]
Unique numberType list. Full list of values can retrieve from GET /compliance/numberTypes endpoint
Properties
None
geocodes
[
"USA",
"US"
]
Unique geocode list. Full list of values can retrieve from GET /compliance/geocodes endpoint
Properties
None
purposes
[
"TeleMarketing",
"General"
]
Unique purpose list. Full list of values can retrieve from GET /compliance/purposes endpoint
Properties
None
contactChannels
[
"Voice"
]
Exclude or include the list of unique contact channels based on the excludeContactChannels value.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [contactChannel] | false | none | Exclude or include the list of unique contact channels based on the excludeContactChannels value. |
acrossContactChannels
false
If true the rule will be evaluated across all the channels mentioned in contactChannels. If false the rule will be evaluated within the selected list of channels in contactChannels.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | boolean | false | none | If true the rule will be evaluated across all the channels mentioned in contactChannels. If false the rule will be evaluated within the selected list of channels in contactChannels. |
excludeContactChannels
false
If true the contact channels specified in contactChannels are excluded from the evaluation. If false the contact channels specified in contactChannels are included from the evaluation. contactChannels should not be empty if set as false.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | boolean | false | none | If true the contact channels specified in contactChannels are excluded from the evaluation. If false the contact channels specified in contactChannels are included from the evaluation. contactChannels should not be empty if set as false. |
enabled
true
Indicates whether the rule is enabled or not. If disabled, the rule will not be considered for compliance checks.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | boolean | false | none | Indicates whether the rule is enabled or not. If disabled, the rule will not be considered for compliance checks. |
customer
"CUST01"
Customer name
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Customer name |
accountNumber
"1010100"
AccountNumber
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | AccountNumber |
operationType
"CancelContact"
Type of operations to be performed in this request. Default is SaveContactWithKeyCheck. CancelContact - Do not save ContactAttempt and delete the active record for the given key if its valid. SaveContactNoKeyCheck - Save ContactAttempt without an active record key validate and delete. SaveContactWithKeyCheck - Save ContactAttempt and delete the active record for the given key if its valid.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Type of operations to be performed in this request. Default is SaveContactWithKeyCheck. CancelContact - Do not save ContactAttempt and delete the active record for the given key if its valid. SaveContactNoKeyCheck - Save ContactAttempt without an active record key validate and delete. SaveContactWithKeyCheck - Save ContactAttempt and delete the active record for the given key if its valid. |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | CancelContact |
| anonymous | SaveContactNoKeyCheck |
| anonymous | SaveContactWithKeyCheck |
phone
"91-655712335"
Phone number
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Phone number |
convenientTime
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| dayOfWeek | [dayOfWeekEnum] | true | none | Day of week |
| startTime | string(hh:mm) | true | none | Convenient contact start time |
| endTime | string(hh:mm) | true | none | Convenient contact end time |
dayOfWeekEnum
"Monday"
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Monday |
| anonymous | Tuesday |
| anonymous | Wednesday |
| anonymous | Thursday |
| anonymous | Friday |
| anonymous | Saturday |
| anonymous | Sunday |
convenientTimes
[
{
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"startTime": "10:00",
"endTime": "17:00"
}
]
convenient Time list
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [convenientTime] | false | none | convenient Time list |
contactKey
"CUST01"
A customer or an account number
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | A customer or an account number |
contactKeyType
"Customer"
Type of contact key
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Type of contact key |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Customer |
| anonymous | Account |
contactValue
"91-655712335"
A phone number or email address. Value must be empty for contactValueType of 'All'.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | A phone number or email address. Value must be empty for contactValueType of 'All'. |
contactValueType
"Voice"
Type of contact value
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Type of contact value |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Voice |
| anonymous | |
| anonymous | SMS |
| anonymous | All |
product
"Alvaria Cloud"
Product name used for quotaControl
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Product name used for quotaControl |
productDescription
"Contact Center Solutions"
Product description
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Product description |
totalQuota
100
Total allowed quota for sale.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Total allowed quota for sale. |
productSold
50
Number of products sold
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Number of products sold |
unitValue
200
Unit price in respective currency
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Unit price in respective currency |
availableQuota
50
Available quota for the specified product name
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Available quota for the specified product name |
productCa
"Alvaria Cloud"
Product name used for quotaControl. This won't persist in contactAttempts record, instead total quota in quotaControl rule for this product will get decrement as per productSold
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Product name used for quotaControl. This won't persist in contactAttempts record, instead total quota in quotaControl rule for this product will get decrement as per productSold |
productSoldCa
50
Product quantity sold. This quantity sold will decrement from total quota in quotaControl rule for the product mentioned in product property. This won't persist in contactAttempts record
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Product quantity sold. This quantity sold will decrement from total quota in quotaControl rule for the product mentioned in product property. This won't persist in contactAttempts record |
restricted
true
True if record is not allowed to be contacted else false
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | boolean | false | none | True if record is not allowed to be contacted else false |
restrictionType
"AttemptTrackerCustomer"
Type of restriction
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Type of restriction |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | ExclusionAccount |
| anonymous | ExclusionVoice |
| anonymous | ExclusionEmail |
| anonymous | ExclusionSMS |
| anonymous | ExclusionSSN |
| anonymous | ConvenientContactTimeCustomer |
| anonymous | ConvenientContactTimePhone |
| anonymous | AttemptTrackerCustomer |
| anonymous | AttemptTrackerPhone |
| anonymous | AttemptTrackerCustomerPhone |
| anonymous | QuotaExhausted |
restrictionTypeV4
"AttemptTrackerAccountContactAddressVoice"
Type of restriction
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Type of restriction |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | ExclusionAccount |
| anonymous | ExclusionVoice |
| anonymous | ExclusionEmail |
| anonymous | ExclusionSMS |
| anonymous | ExclusionSSN |
| anonymous | ConvenientContactTimeCustomer |
| anonymous | ConvenientContactTimeCustomerVoice |
| anonymous | ConvenientContactTimeCustomerNoVoice |
| anonymous | ConvenientContactTimeCustomerSMS |
| anonymous | ConvenientContactTimeCustomerNoSMS |
| anonymous | ConvenientContactTimeCustomerEmail |
| anonymous | ConvenientContactTimeCustomerNoEmail |
| anonymous | ConvenientContactTimeAccount |
| anonymous | ConvenientContactTimeAccountVoice |
| anonymous | ConvenientContactTimeAccountNoVoice |
| anonymous | ConvenientContactTimeAccountSMS |
| anonymous | ConvenientContactTimeAccountNoSMS |
| anonymous | ConvenientContactTimeAccountEmail |
| anonymous | ConvenientContactTimeAccountNoEmail |
| anonymous | AttemptTrackerCustomerVoice |
| anonymous | AttemptTrackerContactAddressVoice |
| anonymous | AttemptTrackerCustomerContactAddressVoice |
| anonymous | AttemptTrackerAccountVoice |
| anonymous | AttemptTrackerAccountContactAddressVoice |
| anonymous | AttemptTrackerCustomerSMS |
| anonymous | AttemptTrackerContactAddressSMS |
| anonymous | AttemptTrackerCustomerContactAddressSMS |
| anonymous | AttemptTrackerAccountSMS |
| anonymous | AttemptTrackerAccountContactAddressSMS |
| anonymous | AttemptTrackerCustomerEmail |
| anonymous | AttemptTrackerContactAddressEmail |
| anonymous | AttemptTrackerCustomerContactAddressEmail |
| anonymous | AttemptTrackerAccountEmail |
| anonymous | AttemptTrackerAccountContactAddressEmail |
| anonymous | QuotaExhausted |
| anonymous | AttemptTrackerBlockContactAddress |
| anonymous | AttemptTrackerBlockCustomer |
| anonymous | AttemptTrackerBlockAccount |
restrictionStartTime
"2025-05-17T04:49:56.672Z"
Applicable when record is not restricted and any configured exclusion starts or convenientContactTime ends in future
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date-time) | false | none | Applicable when record is not restricted and any configured exclusion starts or convenientContactTime ends in future |
restrictionEndTime
"2025-05-17T04:49:56.672Z"
When the restriction of this record will end
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date-time) | false | none | When the restriction of this record will end |
restrictedRuleId
"99f31b29-b522-4203-beb4-60f2c714f473"
Id of rule which causes the restriction. Refer to restrictionType for the type of rule.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Id of rule which causes the restriction. Refer to restrictionType for the type of rule. |
restrictedRuleName
"OneAttemptsPerDay"
Name of the rule which causes the restriction. This will be populated only for AttemptTracker restrictions.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Name of the rule which causes the restriction. This will be populated only for AttemptTracker restrictions. |
messageType
"CannotPlay"
This is applicable with messageTracker configurations. It is used to identify if IVR message can be played for the record
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | This is applicable with messageTracker configurations. It is used to identify if IVR message can be played for the record |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | CanPlay |
| anonymous | CannotPlay |
messageTypeV4
"CannotPlay"
This is applicable with messageTracker configurations. It is used to identify if IVR message can be played and the type of message.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | This is applicable with messageTracker configurations. It is used to identify if IVR message can be played and the type of message. |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | CanPlay |
| anonymous | CannotPlay |
| anonymous | CanPlayStandard |
timeOfContact
"2025-05-17T04:49:56.672Z"
Time of contact
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date-time) | false | none | Time of contact |
key
"0f2ece75-b214-41a8-b442-4c128d9530e8"
Unique identifier for transaction on current contact. This value will generate in first compliance check without a key, then subsequent compliance checks(if any) for the same contact must have this key. These subsequent compliance checks will return null for key in response. This key returned in first compliance check must specify in POST on /contactAttempts to mark transaction on current contact to complete.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Unique identifier for transaction on current contact. This value will generate in first compliance check without a key, then subsequent compliance checks(if any) for the same contact must have this key. These subsequent compliance checks will return null for key in response. This key returned in first compliance check must specify in POST on /contactAttempts to mark transaction on current contact to complete. |
postKey
"0f2ece75-b214-41a8-b442-4c128d9530e8"
Unique identifier for transaction on current contact. This value will generate in first compliance check without a key, then subsequent compliance checks(if any) for the same contact must have this key. These subsequent compliance checks will return the same key generated in first check. This key returned in first compliance check must specify in POST on /contactAttempts to mark transaction on current contact to complete.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Unique identifier for transaction on current contact. This value will generate in first compliance check without a key, then subsequent compliance checks(if any) for the same contact must have this key. These subsequent compliance checks will return the same key generated in first check. This key returned in first compliance check must specify in POST on /contactAttempts to mark transaction on current contact to complete. |
contactChannel
"Voice"
Contact channel of this record
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Contact channel of this record |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Voice |
| anonymous | SMS |
| anonymous |
requiredChecks
[
"exclusions",
"attemptTrackers",
"messageTrackers"
]
Types of rules against compliance check is required. This would not give guarantee on the evaluation order.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [requiredChecksEnum] | false | none | Types of rules against compliance check is required. This would not give guarantee on the evaluation order. |
requiredChecksEnum
"exclusions"
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | exclusions |
| anonymous | attemptTrackers |
| anonymous | messageTrackers |
| anonymous | convenientContactTimes |
| anonymous | quotaControls |
| anonymous | all |
contactAddressToCheck
"91-99994532"
Contact Address to be evaluated against exclusion, attemptTracker, messageTracker, convenientContactTime and quotaControl rules. This can be phone Number, SMS Number or Email address based on ContactType.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Contact Address to be evaluated against exclusion, attemptTracker, messageTracker, convenientContactTime and quotaControl rules. This can be phone Number, SMS Number or Email address based on ContactType. |
contactChannelToCheck
"Voice"
Contact Channel to be evaluated against exclusion, attemptTracker, messageTracker, convenientContactTime rules.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Contact Channel to be evaluated against exclusion, attemptTracker, messageTracker, convenientContactTime rules. |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Voice |
| anonymous | SMS |
| anonymous |
accountNumberToCheck
"101010"
Account Number to be evaluated against exclusion, attemptTracker, messageTracker and convenientContactTime rules.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Account Number to be evaluated against exclusion, attemptTracker, messageTracker and convenientContactTime rules. |
ssnToCheck
"123456"
SSN to be evaluated against exclusion rules.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | SSN to be evaluated against exclusion rules. |
contactListNameToCheck
"creditCardList"
Contact list name to be evaluated against exclusion rules.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Contact list name to be evaluated against exclusion rules. |
customerToCheck
"CUST01"
Customer to be evaluated against attemptTracker, messageTracker and convenientContactTime rules.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Customer to be evaluated against attemptTracker, messageTracker and convenientContactTime rules. |
numberTypeToCheck
1
NumberType to be evaluated against attemptTracker, messageTracker rules.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | NumberType to be evaluated against attemptTracker, messageTracker rules. |
geocodesToCheck
[
"USA",
"US"
]
Geocodes to be evaluated against attemptTracker, messageTracker rules.
Properties
None
purposeToCheck
"TeleMarketing"
Purpose to be evaluated against attemptTracker, messageTracker rules.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Purpose to be evaluated against attemptTracker, messageTracker rules. |
timeZoneToCheck
"America/Los_Angeles"
TimeZone to be evaluated against attemptTracker, messageTracker and convenientContactTime rules. This will accept Olson name for the Time zone(see https://www.iana.org/time-zones for more information). Use GET /via/v3/organizations/{orgId}/campaign/timeZones from Alvaria™ Cloud Campaign REST API to retrieve list of Olson Time Zone list.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | TimeZone to be evaluated against attemptTracker, messageTracker and convenientContactTime rules. This will accept Olson name for the Time zone(see https://www.iana.org/time-zones for more information). Use GET /via/v3/organizations/{orgId}/campaign/timeZones from Alvaria™ Cloud Campaign REST API to retrieve list of Olson Time Zone list. |
productToCheck
"Alvaria Cloud"
Product name to be evaluated against quotaControl rules.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Product name to be evaluated against quotaControl rules. |
contactAddress
"1-4345346"
Contact address based on contactChannel. This can be phone number or sms or email
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Contact address based on contactChannel. This can be phone number or sms or email |
timeZone
"America/Los_Angeles"
The Olson Time Zone Name(see https://www.iana.org/time-zones for more information). Use GET /via/v3/organizations/{orgId}/campaign/timeZones from Alvaria™ Cloud Campaign REST API to retrieve list of Olson Time Zone list
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | The Olson Time Zone Name(see https://www.iana.org/time-zones for more information). Use GET /via/v3/organizations/{orgId}/campaign/timeZones from Alvaria™ Cloud Campaign REST API to retrieve list of Olson Time Zone list |
locale
"en-US"
Resource's locale name
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Resource's locale name |
resource
"Dispositions"
ExternalData resource name
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | ExternalData resource name |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Dispositions |
| anonymous | NumberTypes |
| anonymous | Geocodes |
| anonymous | Purposes |
| anonymous | ContactLists |
valueType
"Url"
Data type stored in 'value' property. If Url then 'value' hold url else filename
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Data type stored in 'value' property. If Url then 'value' hold url else filename |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Url |
| anonymous | File |
value
"https://orgId.via.aspect-cloud.net/via/v3/organizations/orgId/campaign/dispositions"
ExternalData value. If valueType is Url then this will hold redirect url else jsonFile name
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | ExternalData value. If valueType is Url then this will hold redirect url else jsonFile name |
enableActiveRecordFeature
true
Set true to enable active record support in attemptTracker rule evaluation.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | boolean | false | none | Set true to enable active record support in attemptTracker rule evaluation. |
excludeFromContactAddressRuleAT
[
"9855555"
]
Excludes the specified contactAddresses from contactAddress rule(s) in attemptTracker evaluation. Use 'BLANK' to exclude blank contactAddress.
Properties
None
excludeFromContactAddressRuleMT
[
"9855555"
]
Excludes the specified contactAddresses from contactAddress rule(s) in messageTracker evaluation. Use 'BLANK' to exclude blank contactAddress.
Properties
None
lifeTimeOfActiveRecord
120
The maximum lifetime of active record in minutes. A contact is not completed in specified number of minutes then record will remove from the active record list.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | The maximum lifetime of active record in minutes. A contact is not completed in specified number of minutes then record will remove from the active record list. |
minutesToWaitAfterActiveRestriction
10
Specified minutes will add to current time to set 'restrictionEndTime' in GET /complianceStatuses if the restriction is due to active records.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Specified minutes will add to current time to set 'restrictionEndTime' in GET /complianceStatuses if the restriction is due to active records. |
excludedContactAddressesAT
[
"9855555"
]
Excludes the specified contactAddresses from attemptTracker rule evaluation. Use 'BLANK' to exclude blank contactAddress.
Properties
None
excludedContactAddressesMT
[
"9855555"
]
Excludes the specified contactAddresses from messageTracker rule evaluation. Use 'BLANK' to exclude blank contactAddress.
Properties
None
retainDays
14
Number of days to retain the expired rules. The rules with no endTime will retain based on retainNoEndTime.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Number of days to retain the expired rules. The rules with no endTime will retain based on retainNoEndTime. |
retainNoEndTime
false
Retain rules with no endTime. If true then rules does not have an endTime will not remove during the daily purge else it will remove.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | boolean | false | none | Retain rules with no endTime. If true then rules does not have an endTime will not remove during the daily purge else it will remove. |
retainDaysCCT
14
Number of days to retain the expired rules.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Number of days to retain the expired rules. |
ExLoadFilename
"sample.act"
The name of an 'act' file located in the storage path imports/outreach/exclusions
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | The name of an 'act' file located in the storage path imports/outreach/exclusions |
CCTLoadFilename
"sample.cct"
The name of a 'cct' file located in the storage path imports/outreach/exclusions
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | The name of a 'cct' file located in the storage path imports/outreach/exclusions |
CETLoadFilename
"sample.cet"
The name of a 'cet' file located in the storage path imports/outreach/exclusions
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | The name of a 'cet' file located in the storage path imports/outreach/exclusions |
ErrorResponseType
"NoErrorFile"
Error response type. Defaulted to NoErrorFile where an error file won't get generated on an error. ErrorFileWithSummary generates an error file with the failed record index and the reason.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Error response type. Defaulted to NoErrorFile where an error file won't get generated on an error. ErrorFileWithSummary generates an error file with the failed record index and the reason. |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | NoErrorFile |
| anonymous | ErrorFileWithSummary |