NAV Navigation
Shell Node.js HTTP

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

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.

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

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 Email
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 Email
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 Email
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 Email

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 Email

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 Email

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 Email
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 Email
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 Email
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 Email

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 Email

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