Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Bright Pattern DNC Lists API
version: 1.0.0
contact:
name: Bright Pattern
url: https://www.brightpattern.com/contact/
x-refined-note:
- x-evidence differs across the merged source definitions and was not carried
- x-origin differs across the merged source definitions and was not carried
description: 'Operations tagged DNC Lists across 2 of this provider''s published API definitions: bright-pattern-list-management-v3-2-openapi.yml, bright-pattern-list-management-v3-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://{tenant_url}
description: Bright Pattern is multi-tenant; the base host is the customer contact-center tenant domain.
variables:
tenant_url:
default: example.brightpattern.com
description: Your Bright Pattern Contact Center tenant hostname.
security:
- bearerAuth: []
tags:
- name: DNC Lists
description: Bright Pattern's List Management API makes it easy to manage the contents of Do Not Call (DNC) lists with bulk delete, add, and replace actions.
paths:
/configapi/v3/donotcalllist/deleteAll/{do_not_call_list_id}:
post:
operationId: deleteAllRecordsDNCLists
summary: Delete All Records
description: 'Privileges required:
Service and Campaign Administration -> Manage Lists
This method deletes all records from the specified DNC List and returns the number of deleted records.
Response Codes:
Code
Description
200
Success
400
Bad request (format not understood/1 or more required fields are missed or have unsupported value)
401
Authentication failed
403
User authenticated but does not have sufficient privileges, or modification of this type of list is not allowed
404
DNC List is not found or invalid URL'
tags:
- DNC Lists
parameters:
- name: do_not_call_list_id
in: path
required: true
schema:
type: string
responses:
'200':
description: 200 OK
content:
application/json:
example:
deleted: 2
security:
- bearerAuth: []
servers:
- url: https://{tenant_url}
description: Bright Pattern is multi-tenant; the base host is the customer contact-center tenant domain.
variables:
tenant_url:
default: example.brightpattern.com
description: Your Bright Pattern Contact Center tenant hostname.
/configapi/v3/donotcalllist/delete/{do_not_call_list_id}:
post:
operationId: deleteManyRecordsDNCLists
summary: Delete Many Records
description: 'Privileges required:
Service and Campaign Administration -> Manage Lists
This method deletes the list of specified records from the DNC List, returns the number of deleted records and list of errors if there are.
The following errors should be caught:
missingKey - one or more key fields are missed;
formatError - one or more fields has wrong format (e.g. string value for an integer field).
Input parameters: list of DNC list record JSON objects, only key field is required.
Response Codes:
Code
Description
200
Success
400
Bad request (format not understood/1 or more required fields are missed or have unsupported value)
401
Authentication failed
403
User authenticated but does not have sufficient privileges, or modification of this type of list is not allowed
404
DNC List is not found or invalid URL'
tags:
- DNC Lists
parameters:
- name: do_not_call_list_id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: array
example:
- key: '9999999'
- key: '8888888'
responses:
'200':
description: 200 OK
content:
application/json:
example:
deleted: 1
error:
keyNotFound:
- key: '9999999'
security:
- bearerAuth: []
servers:
- url: https://{tenant_url}
description: Bright Pattern is multi-tenant; the base host is the customer contact-center tenant domain.
variables:
tenant_url:
default: example.brightpattern.com
description: Your Bright Pattern Contact Center tenant hostname.
/configapi/v3/donotcalllist/addAll/{do_not_call_list_id}:
post:
operationId: addManyRecordsDNCLists
summary: Add Many Records
description: 'Privileges required:
Service and Campaign Administration -> Manage Lists
This method adds new records to the specified Do Not Call (DNC) list and returns the number of added (i.e., appended) records. Duplicates are ignored.
The following errors should be caught:
missingKey - one or more key fields are missed;
duplicateKey - a record with the same key already exists;
formatError - one or more fields has wrong format (e.g. string value for an integer field) or unsupported fields are sent;
Input parameters: list of DNC list record JSON objects.
Response Codes:
Code
Description
200
Success
400
Bad request (format not understood/1 or more required fields are missed or have unsupported value)
401
Authentication failed
403
User authenticated but does not have sufficient privileges, or modification of this type of list is not allowed
404
DNC List is not found or invalid URL'
tags:
- DNC Lists
parameters:
- name: do_not_call_list_id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: array
example:
- key: '9999999'
expirationPeriod: 3
comment: optional comment
- key: '8888888'
responses:
'200':
description: 200 OK
content:
application/json:
example:
added: 1
error:
duplicateKey:
- key: '8888888'
security:
- bearerAuth: []
servers:
- url: https://{tenant_url}
description: Bright Pattern is multi-tenant; the base host is the customer contact-center tenant domain.
variables:
tenant_url:
default: example.brightpattern.com
description: Your Bright Pattern Contact Center tenant hostname.
/configapi/v3/donotcalllist/add/{do_not_call_list_id}:
post:
operationId: addRecordsDeprecated
summary: Add Records DEPRECATED
description: 'Privileges required:
Service and Campaign Administration -> Manage Lists
This method adds new records to the specified Do Not Call (DNC) list and returns the number of added (i.e., appended) records. Duplicates are ignored.
Response Codes:
Code
Description
200
Success
400
Bad request (format not understood/1 or more required fields are missed or have unsupported value)
401
Authentication failed
403
User authenticated but does not have sufficient privileges, or modification of this type of list is not allowed
404
DNC List is not found or invalid URL'
tags:
- DNC Lists
parameters:
- name: do_not_call_list_id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: array
example:
- - '123456789'
- optional comment
- - '9999999999'
- optional comment
responses:
'200':
description: 200 OK
content:
application/json:
example:
added: 2
security:
- bearerAuth: []
servers:
- url: https://{tenant_url}
description: Bright Pattern is multi-tenant; the base host is the customer contact-center tenant domain.
variables:
tenant_url:
default: example.brightpattern.com
description: Your Bright Pattern Contact Center tenant hostname.
/configapi/v3/donotcalllist/replaceAll/{do_not_call_list_id}:
post:
operationId: replaceRecordsDeprecated
summary: Replace Records DEPRECATED
description: 'Privileges required:
Service and Campaign Administration -> Manage Lists
The method deletes all records in the specified Do Not Call (DNC) list, inserts new ones and returns the number of newly inserted records. Duplicates are ignored.
Response Codes:
Code
Description
200
Success
400
Bad request (format not understood/1 or more required fields are missed or have unsupported value)
401
Authentication failed
403
User authenticated but does not have sufficient privileges, or modification of this type of list is not allowed
404
DNC List is not found or invalid URL'
tags:
- DNC Lists
parameters:
- name: do_not_call_list_id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: array
example:
- - '123456789'
- optional comment
- - '9999999999'
- optional comment
responses:
'200':
description: 200 OK
content:
application/json:
example:
added: 2
security:
- bearerAuth: []
servers:
- url: https://{tenant_url}
description: Bright Pattern is multi-tenant; the base host is the customer contact-center tenant domain.
variables:
tenant_url:
default: example.brightpattern.com
description: Your Bright Pattern Contact Center tenant hostname.
/configapi/v3/donotcalllist/getDNCRecords/{do_not_call_list_id}:
get:
operationId: getDncRecords
summary: Get DNC Records
description: 'This method returns a list of all records, including their in an existing DNC List, specified in the path variable, do_not_call_list_id. The records are returned and sorted by the standard MongoDB _id field.
Note: To accommodate the display of large numbers of list records, Bright Pattern Contact Solution utilizes Cursor-based pagination (see here). The _id field is used as the "cursor" to reference the last served record.
Input parameters
Name
Type
Required?
Possible/Default Values
limit
integer, ≤ 1000
yes (Specifies the maximum number of records per page when using cursor-based pagination)
1...1000
cursor
string
no (used for pagination)
First request: null
Subsequent request: value received in the response to the previous request
Response Codes
Code
Description
200
Success
400
Bad request (format not understood; 1 or more required fields are missing or have an unsupported value)
401
Authentication failed (invalid token format; token is expired)
403
Authentication succeeded but the user does not have sufficient privileges;
Modification of this type of list is not allowed
404
Specified DNC List was not found;
Invalid URL'
tags:
- DNC Lists
parameters:
- name: do_not_call_list_id
in: path
required: true
schema:
type: string
responses:
'200':
description: 200 OK
content:
application/json:
example:
next_cursor: 590e9abd4abbf1165862d342
records:
- key: '8888888'
added: '2023-01-19T20:46:34.000'
comment: optional comment
setOn: '2023-01-19T20:46:35.000'
expireAt: '2023-04-19T20:46:35.000'
- key: '9999999'
comment: optional comment
setOn: '2023-01-19T20:48:35.000'
expireAt: '2023-02-09T20:46:35.000'
security:
- bearerAuth: []
servers:
- url: https://{tenant_url}
description: Bright Pattern is multi-tenant; the base host is the customer contact-center tenant domain.
variables:
tenant_url:
default: example.brightpattern.com
description: Your Bright Pattern Contact Center tenant hostname.
/configapi/v3/donotcalllist/getAll:
get:
operationId: getDncLists
summary: Get DNC Lists
description: 'This method returns all DNC Lists, sorted by the standard MongoDB _id field.
Note: To accommodate the display of large numbers of list records, Bright Pattern Contact Solution utilizes Cursor-based pagination (see here). The _id field is used as the "cursor" to reference the last served record.
Input parameters
Name
Type
Required?
Possible/Default Values
limit
integer, ≤ 100
yes (Specifies the maximum number of records per page when using cursor-based pagination)
1...100
cursor
string
no (used for pagination)
First request: null
Subsequent request: value received in the response to the previous request
Response Codes
Code
Description
200
Success
400
Bad request (format not understood; limit exceeded; 1 or more required fields are missing or have an unsupported value)
401
Authentication failed (invalid token format; token is expired)
403
Authentication succeeded but the user does not have sufficient privileges
404
Invalid URL'
tags:
- DNC Lists
responses:
'200':
description: 200 OK
content:
application/json:
example: "{\n \"next_cursor\": \"590e9abd4abbf1165862d342\",\n \"records\": [\n {\n \"id\": \"635DB66C-AA54-41C9-9F0E-AC3A9B5EDB2D\",\n \"name\": \"DNC - July\",\n \"type\": \"Internal\"\n \"creationDate\": \"2024-07-01T19:11:40.000\",\n \"totalRecords\": 29\n },\n {\n \"id\": \"635DB66C-AA54-41C9-9F0E-AC3A9B5EDB2C\",\n \"name\": \"DNC - June\",\n \"type\": \"Internal\"\n \"creationDate\": \"2025-06-01T19:11:41.000\",\n \"totalRecords\": 34\n }\n ]\n}\n"
security:
- bearerAuth: []
servers:
- url: https://{tenant_url}
description: Bright Pattern is multi-tenant; the base host is the customer contact-center tenant domain.
variables:
tenant_url:
default: example.brightpattern.com
description: Your Bright Pattern Contact Center tenant hostname.
/configapi/v3/donotcalllist/getDNCList/{do_not_call_list_id}:
get:
operationId: getDncList
summary: Get DNC List
description: 'This method returns the detailed information about a specified DNC list, including it''s name, type and total number of records, as well as exipartion and reset settings, if applicable.
Additionally, this method returns information about the campaigns associated with that DNC list, if any.
Response Codes
Code
Description
200
Success
400
Bad request (format not understood; limit exceeded; 1 or more required fields are missing or have an unsupported value)
401
Authentication failed (invalid token format; token is expired)
403
Authentication succeeded but the user does not have sufficient privileges
404
Invalid URL'
tags:
- DNC Lists
parameters:
- name: do_not_call_list_id
in: path
required: true
schema:
type: string
responses:
'200':
description: 200 OK
content:
application/json:
example: "{ \n \"id\": \"635DB66C-AA54-41C9-9F0E-AC3A9B5EDB2D\",\n \"name\": \"DNC - July\",\n \"type\": \"INTERNAL\",\n \"creationDate\": \"2024-07-01T19:11:40.000\",\n \"totalRecords\": 100,\n \"expireRecords\": true,\n \"defaultExpirationPeriod\": 120,\n \"resetDaily\" : true,\n \"resetTime\" : \"12:00:00 PM -08:00\"\n\n \"campaigns\": [\n {\n \"campaignName\": \"Campaign name 1\",\n \"campaignId\": \"99B6B870-6CC5-11EE-807C-0800200C9A66\",\n \"disposition\": \"Requested DNC\",\n\t \"allowAppend\": true\n },\n {\n \"campaignName\": \"Campaign name 2\",\n \"campaignId\": \"99B6B870-6CC5-11EE-807C-0800200C9A66\",\n \"disposition\": \"Requested DNC\",\n \"allowAppend\": true\n },\n {\n \"campaignName\": \"Campaign name 3\",\n \"campaignId\": \"7E57DE70-6CF1-11EE-807C-0800200C9A66\",\n \"disposition\": \"Matched DNC\",\n \"allowAppend\": false\n }\n ]\n} "
security:
- bearerAuth: []
servers:
- url: https://{tenant_url}
description: Bright Pattern is multi-tenant; the base host is the customer contact-center tenant domain.
variables:
tenant_url:
default: example.brightpattern.com
description: Your Bright Pattern Contact Center tenant hostname.
/configapi/v3/donotcalllist/createDNCList:
post:
operationId: createDncList
summary: Create DNC List
description: 'This method creates a new empty DNC list. Depending on the specified DNC list type, the creation process is as follows:
For Internal, Geographic, Area Codes - new DNC lists are created using the fixed format corresponding to the list type
For Record Exclusion - the exclusion field has to be explicitly specified in the request body
Additionally, for DNC lists of Area Codes and Geographic Postal types, the ISO country code has to be explicitly specified in the request body.
Note: For Area Codes, additional option “Each area code had country prefix” is available. This option can be specified using “Prefixed” as the country value.
On succesfull excution, the response should contain the ID of the newly created DNC list.
Input parameters
Name
Type
Required?
Possible/Default Values
name
string, ≤ 255 characters
Note: DNC list name must be unique within the contact center
yes
-
type
string
yes
“INTERNAL”
“GEOGRAPHIC_POSTAL”
“AREA_CODES”
“EXCLUSION”
country
ISO country code;
OR “prefixed” (applicable only to DNC lists of Area Codes type)
only required for DNC lists of Area Codes and Geographic Postal types
expireRecords
boolean
only required for DNC lists of Internal and Record Exclusion types
Default = false
defaultExpirationPeriod
integer, [0, 365]
Note: Specifies number of days since record was added to the DNC list, after which that records is considered expired by the Dialer
required, if expireRecords = true
Default = 90 days
exclusionField
Filed name to be set as "key" for records exclusion
Note: Must contain a valid field from the available calling list formats.
only required for DNC lists of Record Exclusion type
-
resetDaily
boolean
only required for DNC lists of Record Exclusion type
Default = false
resetPeriod
JSON object, consisting of:
resetTime, formatted as HH:mm:ss
AND
timezoneID, formatted as {Area}/{Location}
e.g., "America/New_York"
required, if resetDaily = true
Default resetTime = 00:00:00
Default timezoneID = user’s timezone
Response Codes
Code
Description
200
Success
400
Bad request (format not understood; 1 or more required fields are missing or have an unsupported value)
401
Authentication failed (invalid token format; token is expired)
403
Authentication succeeded but the user does not have sufficient privileges
404
Invalid URL
409
Duplicate name error'
tags:
- DNC Lists
requestBody:
required: true
content:
application/json:
schema:
type: string
example: "//FOR INTERNAL, GEOGRAPHIC POSTAL, AREA CODES\n\n{\n \"name\": \"DNC - June\",\n \"type\": \"INTERNAL\",\n \"expireRecords\": true, \n \"defaultExpirationPeriod\": 120\n}\n\n//FOR GEOGRAPHIC POSTAL, AREA CODES\n\n{\n \"name\": \"DNC - June\",\n \"type\": \"AREA_CODES\",\n \"country\": \"US\"\n}\n\n//FOR RECORD EXCLUSION\n\n{\n \"name\": \"Account Exclusion List\",\n \"type\": \"EXCLUSION\",\n \"expireRecords\": true, \n \"defaultExpirationPeriod\": 120, \n \"exclusionField\": \"Account Number\",\n \"resetDaily\" : true,\n \"resetPeriod\": \n { \n \"time\": \"04:00:00\",\n \"timezoneID\" : \"America/Los_Angeles\" \t\n }\n}"
responses:
'200':
description: 200 OK
content:
application/json:
example:
id: 31CAA7DA-0AE2-4D1A-BE8C-07CA1A4C39AE
security:
- bearerAuth: []
servers:
- url: https://{tenant_url}
description: Bright Pattern is multi-tenant; the base host is the customer contact-center tenant domain.
variables:
tenant_url:
default: example.brightpattern.com
description: Your Bright Pattern Contact Center tenant hostname.
/configapi/v3/donotcalllist/deleteDNCList/{do_not_call_list_id}:
delete:
operationId: deleteDncList
summary: Delete DNC List
description: 'This method deletes the DNC list specified in the path variable, do_not_call_list_id.
Once the DNC List is deleted, all records previously blocked by it in the associated campaign(s) become dialable again.
Note: Archivation of DNC Lists and DNS List records is not supported in the Admin Portal, so no special considerations should be made for List API.'
tags:
- DNC Lists
parameters:
- name: do_not_call_list_id
in: path
required: true
schema:
type: string
responses:
'200':
description: 200 OK
security:
- bearerAuth: []
servers:
- url: https://{tenant_url}
description: Bright Pattern is multi-tenant; the base host is the customer contact-center tenant domain.
variables:
tenant_url:
default: example.brightpattern.com
description: Your Bright Pattern Contact Center tenant hostname.
/configapi/v3/campaign/bindDNCList/{campaign_id}:
post:
operationId: bindDncList
summary: Bind DNC List
description: 'This method adds a DNC list to the campaign, referenced by its ID in the path variable.
Note: Manipulating calling lists associated with a campaign requires the user to have an additional "Start campaigns and enable lists" privilege.
Input parameters
Name
Type
Required?
Possible/Default Values
dncListId
string
yes
-
disposition
string
Note: Specifies disposition to be attached to call attempts and completed records in case of a match against DNC record
yes
-
applyToLinkGroup
boolean
Note: Allows to automatically apply DNC to all other campaigns in link group
no
-
allowAppend
boolean
Note: Allows numbers to be added to Internal DNC list based on “Add to DNC” disposition set by agents during the given campaign
only required for DNC lists of Internal type
Default = false
Response Codes
Code
Description
200
Success
400
Bad request (format not understood; 1 or more required fields are missing or have an unsupported value)
401
Authentication failed (invalid token format; token is expired)
403
Authentication succeeded but the user does not have sufficient privileges
404
Specified campaign was not found;
Specifed DNC list was not found;
Invalid URL'
tags:
- DNC Lists
parameters:
- name: campaign_id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
example:
dncListid: 31CAA7DA-0AE0-4D1A-BE8C-07CA1A4C39AC
disposition: Number matched DNC
applyToLinkGroup: false
allowAppend: true
responses:
'200':
description: 200 OK
security:
- bearerAuth: []
servers:
- url: https://{tenant_url}
description: Bright Pattern is multi-tenant; the base host is the customer contact-center tenant domain.
variables:
tenant_url:
default: example.brightpattern.com
description: Your Bright Pattern Contact Center tenant hostname.
/configapi/v3/campaign/unbindDNCList/{campaign_id}:
post:
operationId: unbindDncList
summary: Unbind DNC List
description: 'This method removes the DNC list from the associated campaign, referenced by its ID in the path variable., campaign_id.
The DNC list to be removed is specified in the request body by its unique identifier, dncListId.
Note: Manipulating calling lists associated with a campaign requires the user to have an additional "Start campaigns and enable lists" privilege.
Input parameters
Name
Type
Required?
Possible/Default Values
dncListId
string
yes
-'
tags:
- DNC Lists
parameters:
- name: campaign_id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
example:
dncListId: DBA3A9B0-6CC4-11EE-807C-0800200C9A66
responses:
'200':
description: 200 OK
security:
- bearerAuth: []
servers:
- url: https://{tenant_url}
description: Bright Pattern is multi-tenant; the base host is the customer contact-center tenant domain.
variables:
tenant_url:
default: example.brightpattern.com
description: Your Bright Pattern Contact Center tenant hostname.
/configapi/v3/donotcalllist/updateDNCProperties/{do_not_call_list_id}:
patch:
operationId: updateDncListProperties
summary: Update DNC List Properties
description: 'This method allows to change properties and settings of an existing DNC list, specified in the path variable, do_not_call_list_id.
Input parameters
Name
Type
Required?
Possible/Default Values
name
string, ≤ 255 characters
Note: DNC list name must be unique within the contact center
no
-
type
string
no
“INTERNAL”
“GEOGRAPHIC_POSTAL”
“AREA_CODES”
“EXCLUSION”
country
ISO country code;
OR “prefixed” (applicable only to DNC lists of Area Codes type)
no, only applicable to DNC lists of Area Codes and Geographic Postal types
expireRecords
boolean
no, only applicable to DNC lists of Internal and Record Exclusion types
Default = false
defaultExpirationPeriod
integer, [0, 365]
Note: Specifies number of days since record was added to the DNC list, after which that records is considered expired by the Dialer
required, if expireRecords = true
Default = 90 days
exclusionField
Filed name to be set as "key" for records exclusion
Note: Must contain a valid field from the available calling list formats.
no, only applicable to DNC lists of Record Exclusion type
-
resetDaily
boolean
no, only applicable to DNC lists of Record Exclusion type
Default = false
resetPeriod
JSON object, consisting of:
resetTime, formatted as HH:mm:ss
AND
timezoneID, formatted as {Area}/{Location}
e.g., "America/New_York"
required, if resetDaily = true
Default resetTime = 00:00:00
Default timezoneID = user’s timezone
Response Codes
Code
Description
200
Success
400
Bad request (format not understood; 1 or more required fields are missing or have an unsupported value)
401
Authentication failed (invalid token format; token is expired)
403
Authentication succeeded but the user does not have sufficient privileges
404
Invalid URL
409
Duplicate name error'
tags:
- DNC Lists
requestBody:
required: true
content:
application/json:
schema:
type: object
example:
name: new DNC name
expireRecords: true
defaultExpirationPeriod: 180
resetDaily: true
resetTime: 12:00:00 PM -08:00
responses:
'200':
description: 200 OK
security:
- bearerAuth: []
parameters:
- name: do_not_call_list_id
in: path
required: true
schema:
type: string
x-normalized-from: '/configapi/v3/donotcalllist/updateDNCProperties/do_not_call_list_id (the published collection omits the : parameter marker)'
servers:
- url: https://{tenant_url}
description: Bright Pattern is multi-tenant; the base host is the customer contact-center tenant domain.
variables:
tenant_url:
default: example.brightpattern.com
description: Your Bright Pattern Contact Center tenant hostname.
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'OAuth 2.0 access token issued by the Bright Pattern token endpoint, sent as `Authorization: Bearer <token>`.'
oauth2ClientCredentials:
type: oauth2
description: OAuth 2.0 client-credentials grant against the Bright Pattern tenant token endpoint.
flows:
clientCredentials:
tokenUrl: https://{tenant_url}/configapi/v3/oauth/token
scopes: {}
x-refined-from:
- bright-pattern-list-management-v3-2-openapi.yml
- bright-pattern-list-management-v3-openapi.yml