openapi: 3.2.0
info:
title: Bright Pattern Campaigns API
version: 1.0.0
contact:
name: Bright Pattern
url: https://www.brightpattern.com/contact/
description: 'Operations tagged Campaigns across 3 of this provider''s published API definitions: bright-pattern-list-management-v2-openapi.yml, 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: Campaigns
paths:
/configapi/v2/campaign/getAll:
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.
get:
operationId: getCampaigns
summary: Get Campaigns
description: 'This method returns the list of enabled campaigns and the calling lists currently associated with such campaigns. It does not return any disabled campaigns.
Notes:
An empty array can be returned if there are no enabled campaigns.
Response Codes
Code
Description
200
OK
400
Bad request (missing required fields or format not understood)
401
Authentication failed
403
User authenticated but does not have sufficient privileges'
tags:
- Campaigns
responses:
'200':
description: Get Campaigns
content:
application/json:
example:
- name: CupIQ Dynamics Preview
state: STOPPED
lists:
- CupIQ Dynamics Preview.csv
security:
- bearerAuth: []
/configapi/v3/campaign/getCampaign/{campaign_id}:
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.
get:
operationId: getCampaign
summary: Get Campaign
description: "This method returns all campaign settings. To request only specific parts of the settings (e.g., only assigned teams), use the include query parameter with comma-separated values. If include is not specified, the method behaves the same as Get Campaign 3.1 (backward compatible). Possible values for include are:\n\n\\\\*: Returns all settings\n\ngeneralSettings\n\ncallerIdSettings\n\noutboundGeneral\n\nteams\n\ncallerIDs\n\ndispositions\n\nlists\n\ndncLists\n\nNote: The include query parameter is not supported for Outbound Messaging campaigns.\n\nResponse Codes\n\nCode\nDescription\n\n200\nSuccess\n\n400\nBad request (format not understood; 1 or more required fields are missing or have an unsupported value)\n\n401\nAuthentication failed (invalid token format; token is expired)\n\n403\nAuthentication succeeded but the user does not have sufficient privileges\n\n404\nSpecified campaign was not found; \nInvalid URL\n\n422\nInclude parameter is not supported for Outbound Messaging campaigns"
tags:
- Campaigns
parameters:
- name: campaign_id
in: path
required: true
schema:
type: string
- name: include
in: query
required: false
schema:
type: string
responses:
'200':
description: 'Outbound Voice: no include'
content:
application/json:
example:
name: Campaign name
enabled: true
state: STOPPED
direction: OUTBOUND_VOICE
lists:
- id: 635DB66C-AA54-41C9-9F0E-AC3A9B5EDB2D
name: List 1.csv
instanceId: DBA3A9B0-6CC4-11EE-807C-0800200C9A66
instanceName: ''
enabled: true
order: 1
dialingRatio: 1
sortingOrder:
type: CUSTOM
sortingFields:
- fieldId: f1
fieldName: Priority
sortOrder: ASC
totalRecords: 100
- id: 92A7FE1C-3EC1-4A4E-A662-7A8E57E6CA78
name: List 2.csv
instanceId: 99B6B870-6CC5-11EE-807C-0800200C9A66
instanceName: filtered
enabled: false
order: 1
dialingRatio: 1
sortingOrder:
type: NATURAL
sortingFields: []
totalRecords: 50
dncLists:
- id: A5717BD2-C610-4AE9-B1B3-0DBE34CA31BD
name: List 1
type: GEOGRAPHIC_AREACODE
Country: US
disposition: Number matches DNC
- id: B494BB83-C359-4432-A720-9858A6990E06
name: List 2
type: EXCLUSION
listField: accountId
disposition: Number matches DNC
security:
- bearerAuth: []
/configapi/v3/campaign/getAll:
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.
get:
operationId: getCampaigns
summary: Get Campaigns
description: 'This method returns a list of enabled outbound campaigns, their current states, and unique identifiers. Based on the user privileges configured, the list will contain all campaigns or only those assigned to this user (see here). An empty list will be returned if no outbound campaign is currently enabled or the user has no assigned campaigns.
Note: A campaign''s unique identifier returned in the response body can be used to reference that campaign in the path variables of further API requests.
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'
tags:
- Campaigns
responses:
'200':
description: 200 OK
content:
application/json:
example:
- id: 85389D39-E05C-4CE7-B36D-4401BEA52E14
name: Campaign name
state: STOPPED
- id: 48B91DC5-A8CD-4FCA-9AF8-EC20A4ACC14B
name: Campaign name 2
state: RUNNING
security:
- bearerAuth: []
/configapi/v3/campaign/getStatus/{campaign_id}:
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.
get:
operationId: getCampaignStatus
summary: Get Campaign Status
description: "This method returns the current state, i.e. STOPPED or RUNNING, of an enabled or disabled campaign.\n\nResponse Codes\n\nCode\nDescription\n\n200\nSuccess\n\n400\nBad request (format not understood; 1 or more required fields are missing or have an unsupported value)\n\n401\nAuthentication failed (invalid token format; token is expired)\n\n403\nAuthentication succeeded but the user does not have sufficient privileges\n\n404\nSpecified campaign was not found; \nInvalid URL"
tags:
- Campaigns
parameters:
- name: campaign_id
in: path
required: true
schema:
type: string
responses:
'404':
description: 200 OK
content:
application/json:
example:
name: Campaign name
enabled: true
state: STOPPED
security:
- bearerAuth: []
/configapi/v3/campaign/start/{campaign_id}:
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.
post:
operationId: start
summary: Start
description: "This method starts an enabled campaign, first checking that the campaign is not disabled or already running.\n\nNote: Manipulating campaign states requires the user to have an additional \"Start campaigns and enable lists\" privilege.\n\nResponse Codes\n\nCode\nDescription\n\n200\nSuccess\n\n400\nBad request (format not understood; 1 or more required fields are missing or have an unsupported value)\n\n401\nAuthentication failed (invalid token format; token is expired)\n\n403\nAuthentication succeeded but the user does not have sufficient privileges\n\n404\nSpecified campaign was not found; \nInvalid URL\n\n409\nSpecified campaign is disabled or already running"
tags:
- Campaigns
parameters:
- name: campaign_id
in: path
required: true
schema:
type: string
responses:
'200':
description: 200 OK
content:
application/json:
example: "{\n \"state\": “RUNNING”\n}"
security:
- bearerAuth: []
/configapi/v3/campaign/stop/{campaign_id}:
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.
post:
operationId: stop
summary: Stop
description: "This method stops an enabled campaign, first checking that the campaign is not disabled or already stopped.\n\nNote: Manipulating campaign states requires the user to have an additional \"Start campaigns and enable lists\" privilege.\n\nResponse Codes\n\nCode\nDescription\n\n200\nSuccess\n\n400\nBad request (format not understood; 1 or more required fields are missing or have an unsupported value)\n\n401\nAuthentication failed (invalid token format; token is expired)\n\n403\nAuthentication succeeded but the user does not have sufficient privileges\n\n404\nSpecified campaign was not found; \nInvalid URL\n\n409\nSpecified campaign is disabled or already stopped"
tags:
- Campaigns
parameters:
- name: campaign_id
in: path
required: true
schema:
type: string
responses:
'200':
description: 200 OK
content:
application/json:
example: "{\n \"state\": “STOPPED”\n}"
security:
- bearerAuth: []
/configapi/v3/campaign/bindList/{campaign_id}:
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.
post:
operationId: bindList
summary: Bind List
description: "This method adds a list to the selected campaign.\n\nOnce added, an instance of the list associated with this particular campaign is created. The ID of such an instance is returned in the response body, together with the total number of records inside the original list.\n\nNote: The instance's unique identifier can be further used to unbind or update the list, get campaign results, or query a record from that list.\n\nNote: Manipulating calling lists associated with a campaign requires the user to have an additional \"Start campaigns and enable lists\" privilege.\n\nInput parameters\n\nName\nType\nRequired?\nPossible/Default Values\n\nlistId\nstring\nyes (can be found in the Get Campaign response)\n-\n\ninstanceName\nstring\nno\n-\n\nenabled\nboolean\nno\nfalse (Default); \ntrue\n\norder\ninteger, > 0\nno\n1(Default); \n2,...\n\ndialingRatio\ninteger, > 0\nno\n1(Default); \n2,...\n\nsortingOrder\nstring\nno\nNATURAL; (Default) \nRANDOM; \nCUSTOM\n\nsortingOrder.sortingFields.fieldName\nstring\nyes, if sortingOrder.type = custom\n-\n\nsortingOrder.sortingFields.sortOrder\nstring\nyes, if sortingOrder.type = custom\nASC (Default); \nDESC\n\nResponse Codes\n\nCode\nDescription\n\n200\nSuccess\n\n400\nBad request (format not understood; 1 or more required fields are missing or have an unsupported value)\n\n401\nAuthentication failed (invalid token format; token is expired)\n\n403\nAuthentication succeeded but the user does not have sufficient privileges\n\n404\nSpecified campaign was not found; \nSpecifed list was not found; \nInvalid URL"
tags:
- Campaigns
parameters:
- name: campaign_id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
example:
listId: 635DB66C-AA54-41C9-9F0E-AC3A9B5EDB2D
instanceName: ''
enabled: true
order: 1
dialingRatio: 1
sortingOrder:
type: CUSTOM
sortingFields:
- fieldName: Expected result
sortOrder: ASC
responses:
'200':
description: 200 OK
content:
application/json:
example:
instanceId: DBA3A9B0-6CC4-11EE-807C-0800200C9A66
totalRecords: 100
security:
- bearerAuth: []
/configapi/v3/campaign/updateList/{campaign_id}:
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.
patch:
operationId: updateList
summary: Update List
description: "This method changes the properties of an instance of a list in the associated campaign. The instance is specified by its unique identifier, instanceID, returned in the response body of the Get Campaign method (see here). Additionally, this method can reset an optional parameter to its default value by passing \" \" or null to that parameter.\n\nBefore the list is updated, its binding to the specified campaign is checked. If the instance is bound to the specified campaign, the list is updated successfully.\n\nNote: Manipulating the content of calling lists associated with a campaign requires the user to have an additional \"Start campaigns and enable lists\" privilege.\n\nInput parameters\n\nName\nType\nRequired?\nPossible/Default Values\n\ninstanceId\nstring\nyes (can be found in the Get Campaign response)\n-\n\ninstanceName\nstring\nno\n-\n\nenabled\nboolean\nno\nfalse (Default); \ntrue\n\norder\ninteger, > 0\nno\n1(Default); \n2,...\n\ndialingRatio\ninteger, > 0\nno\n1(Default); \n2,...\n\nsortingOrder\nstring\nno\nNATURAL; (Default) \nRANDOM; \nCUSTOM\n\nsortingOrder.sortingFields.fieldName\nstring\nyes, if sortingOrder.type = custom\n-\n\nsortingOrder.sortingFields.sortOrder\nstring\nyes, if sortingOrder.type = custom\nASC (Default); \nDESC\n\nResponse Codes\n\nCode\nDescription\n\n200\nSuccess\n\n400\nBad request (format not understood; 1 or more required fields are missing or have an unsupported value)\n\n401\nAuthentication failed (invalid token format; token is expired)\n\n403\nAuthentication succeeded but the user does not have sufficient privileges\n\n404\nSpecified campaign was not found; \nSpecified instance was not found; \nInvalid URL\n\n409\nSpecified instance is not bound to the selected campaign"
tags:
- Campaigns
parameters:
- name: campaign_id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
example:
instanceId: DBA3A9B0-6CC4-11EE-807C-0800200C9A66
instanceName: ''
enabled: true
order: 1
dialingRatio: 1
sortingOrder:
type: CUSTOM
sortingFields:
- fieldName: Expected result
sortOrder: ASC
responses:
'200':
description: 200 OK
content:
application/json:
example:
totalRecords: 50
security:
- bearerAuth: []
/configapi/v3/campaign/unbindList/{campaign_id}:
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.
post:
operationId: unbindList
summary: Unbind List
description: "This method removes the instance of a list from the associated campaign. The instance to be removed is specified by its unique identifier, instanceID, returned in the response body of the Get Campaign method (see here).\n\nNote: Bright Pattern Contact Center solution supports several voice campaign modes (see here). Depending on the mode of the associated campaign, the active call behavior will differentiate as follows:\n\nProgressive, Predictive, or Automatic (IVR) campaigns\nUpon instance deletion, all active, i.e. in a dialing state, within a script, or connected to an agent, calls are dropped\n\nPreview campaigns\nUpon instance deletion, only the calls not yet picked up by an agent are dropped. In-progress and connected calls are not affected\n\nThe results of completed calls are archived and available for downloading in the Contact Center Administrator application (see here). Interaction results for dropped calls are not saved.\n\nInput parameters\n\nName\nType\nRequired?\nPossible/Default Values\n\ninstanceId\nstring\nyes (can be found in the Get Campaign response)\n-\n\nResponse Codes\n\nCode\nDescription\n\n200\nSuccess\n\n400\nBad request (format not understood; 1 or more required fields are missing or have an unsupported value)\n\n401\nAuthentication failed (invalid token format; token is expired)\n\n403\nAuthentication succeeded but the user does not have sufficient privileges\n\n404\nSpecified campaign was not found; \nSpecified instance was not found; \nInvalid URL\n\n409\nSpecified instance is not bound to the selected campaign"
tags:
- Campaigns
parameters:
- name: campaign_id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
example:
instanceId: DBA3A9B0-6CC4-11EE-807C-0800200C9A66
responses:
'200':
description: 200 OK
security:
- bearerAuth: []
/configapi/v3/campaign/getAllRecords/{campaign_id}:
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.
post:
operationId: getAllRecords
summary: Get All Records
description: "This method returns a list of all records in an instance. The instance is specified by its unique identifier, instanceID, returned in the response body of the Get Campaign method (see here). Optionally, this method can also display request attempts made. The records are returned and sorted by the standard MongoDB _id field.\n\nNote: 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.\n\nInput parameters\n\nName\nType\nRequired?\nPossible/Default Values\n\ninstanceId\nstring\nyes (can be found in the Get Campaign response)\n-\n\nextractAttempts\nboolean\nno (if true,the method returns the list of all attempts)\nfalse (Default); \ntrue\n\nlimit\ninteger, ≤ 1000\nyes (Specifies the maximum number of records per page when using cursor-based pagination)\n1...1000\n\ncursor\nstring\nno (used for pagination)\nFirst request: null \nSubsequent request: value received in the response to the previous request\n\nResponse Codes\n\nCode\nDescription\n\n200\nSuccess\n\n400\nBad request (format not understood; 1 or more required fields are missing or have an unsupported value)\n\n401\nAuthentication failed (invalid token format; token is expired)\n\n403\nAuthentication succeeded but the user does not have sufficient privileges\n\n404\nSpecified campaign was not found; \nInvalid URL\n\n409\nSpecified instance is not bound to the selected campaign"
tags:
- Campaigns
parameters:
- name: campaign_id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
example:
instanceId: DBA3A9B0-6CC4-11EE-807C-0800200C9A66
extractAttempts: true
limit: 1000
cursor: 590e9abd4abbf1165862d342
responses:
'200':
description: All
content:
application/json:
example:
next_cursor: 590e9abd4abbf1165862d342
records:
- entry:
firstname: Firstname4
date_time: 29-12-2023
phone: '1004'
id: N4
lastname: Lastname4
status:
globalInteractionID: ''
lastCallDuration: 0
lastDisposition: ''
totalAttempts: 0
completed: false
completedTime: ''
lastAgent: ''
lastPhone: ''
lastDate: ''
attempts: []
- entry:
firstname: Firstname2
date_time: 01-12-2023
phone: '1002'
id: N2
lastname: Lastname2
status:
globalInteractionID: F944CE77-2B21-472F-BE85-8BDE356A9500
lastCallDuration: 30
lastDisposition: Appointment approved
totalAttempts: 1
completed: true
completedTime: '2023-01-19T20:46:35.000'
lastAgent: katie.kent
lastPhone: '1003'
lastDate: '2023-01-19T20:46:35.000'
custom_field_1: value1
custom_field_2: value2
attempts:
- call_attempted: true
disposition: Appointment approved
date: '2023-01-19T20:46:35.000'
phone: '1003'
timezone: Europe/Dublin
timezoneBy: field
callDuration: 30
dialingDuration: 5
callNotes: ''
agent: katie.kent
globalInteractionID: F944CE77-2B21-472F-BE85-8BDE356A9500
CPADuration: 2
CPAResult: Voice
custom_field_1: value1
custom_field_2: value2
security:
- bearerAuth: []
/configapi/v3/campaign/getCompletedRecords/{campaign_id}:
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.
post:
operationId: getCompletedRecords
summary: Get Completed Records
description: "This method returns a list of all completed records within an instance. The instance is specified by its unique identifier, instanceID, returned in the response body of the Get Campaign method (see here). Optionally, the user can view request attempts and specify the completion time frame for which they want to display the completed records list. The records are returned and sorted by completion time (MongoDB completedTime field).\n\nNote: To accommodate the display of large numbers of list records, Bright Pattern Contact Solution utilizes Cursor-based pagination (see here). The _id and the completedTimefields are concatenated and used as the \"cursor\" to reference the last served record.\n\nNote: The input parameters defined for this method in the List Management API 3.0 differ from the previous version.\n\nInput parameters\n\nName\nType\nRequired?\nPossible/Default Values\n\ninstanceId\nstring\nyes (can be found in the Get Campaign response)\n-\n\nstartTime\ntime (UTC)\nno (if specified, the method returns all records completed at or after the startTime)\n-\n\nendTime\ntime (UTC)\nno (if specified, the method returns all records completed before the endTime)\n-\n\nextractAttempts\nboolean\nno (if true,the method returns the list of all attempts)\nfalse (Default); \ntrue\n\nlimit\ninteger, ≤ 1000\nyes (Specifies the maximum number of records per page when using cursor-based pagination)\n1...1000\n\ncursor\nstring\nno (used for pagination)\nFirst request: null \nSubsequent request: \nvalue received in the response to the previous request\n\nResponse Codes\n\nCode\nDescription\n\n200\nSuccess\n\n400\nBad request (format not understood; 1 or more required fields are missing or have an unsupported value)\n\n401\nAuthentication failed (invalid token format; token is expired)\n\n403\nAuthentication succeeded but the user does not have sufficient privileges\n\n404\nSpecified campaign was not found; \nInvalid URL\n\n409\nSpecified instance is not bound to the selected campaign"
tags:
- Campaigns
parameters:
- name: campaign_id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
example:
instanceId: DBA3A9B0-6CC4-11EE-807C-0800200C9A66
startTime: '2023-01-01T00:00:00.000'
endTime: '2023-01-30T00:00:00.000'
extractAttempts: true
limit: 1000
cursor: 2023-01-10T12:13:59.001_590e9abd4abbf1165862d342
responses:
'200':
description: Completed
content:
application/json:
example: "{\n \"next_cursor\": \"2023-01-15T18:13:59.111_6870e9abd4abbf1165862d22\",\n \"records\": [\n {\n \"entry\": {\n \"firstname\": \"Firstname2\",\n \"date_time\": \"01-12-2023\",\n \"phone\": \"1002\",\n \"id\": \"N2\",\n \"lastname\": \"Lastname2\"\n },\n \"status\": {\n \"globalInteractionID\": \"F944CE77-2B21-472F-BE85-8BDE356A9500\",\n \"lastCallDuration\": 30,\n \"lastDisposition\": \"Appointment approved\",\n \"totalAttempts\": 1,\n \"completed\": true,\n \"completedTime\": \"2023-01-19T20:46:35.000\",\n \"lastAgent\": \"katie.kent\",\n \"lastPhone\": \"1002\",\n \"lastDate\": \"2023-01-19T20:46:35.000\",\n \"custom_field_1\": \"value1\",\n \"custom_field_2\": \"value2\"\n },\n \"attempts\": [\n {\n \"call_attempted\": true,\n \"disposition\": \"Appointment approved\",\n \"date\": \"2023-01-19T20:46:35.000\",\n \"phone\": \"1003\",\n \"phoneTimezone\": \"Europe/Dublin\", //Dialer 2.5\n \"postalCodeTimezone\": \"\", //Dialer 2.5\n \"timezonesBy\": \"field\", //Dialer 2.5\n \"callDuration\": 30,\n \"dialingDuration\": 5,\n \"callNotes\": \"\",\n \"agent\": \"katie.kent\",\n \"globalInteractionID\": \"F944CE77-2B21-472F-BE85-8BDE356A9500\",\n \"CPADuration\": 2,\n \"CPAResult\": \"Voice\",\n \"custom_field_1\": \"value1\",\n \"custom_field_2\": \"value2\"\n }\n ]\n }\n ]\n}"
security:
- bearerAuth: []
/configapi/v3/campaign/getUpdatedRecords/{campaign_id}:
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.
post:
operationId: getUpdatedRecords
summary: Get Updated Records
description: "This method returns a list of all updated records within an instance. The instance is specified by its unique identifier, instanceID, returned in the response body of the Get Campaign method. Optionally, the user can view request attempts and specify the time frame for which they want to display the updated records list. The records are returned and sorted by the last date attempted (MongoDB lastDate field).\n\nNote: To accommodate the display of large numbers of list records, Bright Pattern Contact Solution utilizes Cursor-based pagination (see here). The _id and the lastDatefields are concatenated and used as the \"cursor\" to reference the last served record.\n\nNote: The input parameters defined for this method in the List Management API 3.0 differ from the previous version.\n\nInput parameters\n\nName\nType\nRequired?\nPossible/Default Values\n\ninstanceId\nstring\nyes (can be found in the Get Campaign response)\n-\n\nstartTime\ntime (UTC)\nno (if specified, the method returns all records completed at or after the startTime)\n-\n\nendTime\ntime (UTC)\nno (if specified, the method returns all records completed before the endTime)\n-\n\nextractAttempts\nboolean\nno (if true,the method returns the list of all attempts)\nfalse (Default); \ntrue\n\nlimit\ninteger, ≤ 1000\nyes (Specifies the maximum number of records per page when using cursor-based pagination)\n1...1000\n\ncursor\nstring\nno (mn for pagination)\nFirst request: null \nSubsequent request: \nvalue received in the response to the previous request\n\nResponse Codes\n\nCode\nDescription\n\n200\nSuccess\n\n400\nBad request (format not understood; 1 or more required fields are missing or have an unsupported value)\n\n401\nAuthentication failed (invalid token format; token is expired)\n\n403\nAuthentication succeeded but th
# --- truncated at 32 KB (73 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bright-pattern/refs/heads/main/openapi/bright-pattern-campaigns-api-openapi.yml