Cint Recontacts API
Create, update, list and delete recontacts for a target group. Recontacts allow only specific respondents to enter your survey and are part of a larger workflow that needs specific configurations across other endpoints.
Create, update, list and delete recontacts for a target group. Recontacts allow only specific respondents to enter your survey and are part of a larger workflow that needs specific configurations across other endpoints.
openapi: 3.0.3
info:
title: Demand Accounts Recontacts API
description: 'Cint''s demand ordering API is REST oriented. It has predictable resource based URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. Error responses are also JSON-encoded and follow a standard format, providing a unique error ID and detailed information about what went wrong.
Authentication is handled via bearer tokens passed in the `Authorization` header. All requests must also include a `Cint-API-Version` header with a date in `YYYY-MM-DD` format to specify the desired API version. Depending on the version you use, endpoint behavior may differ as we improve our API with every version release.
While many operations work on a single object per request, the demand ordering API also provides asynchronous batch endpoints for performing bulk updates efficiently on certain resources. For safety, `POST` requests support an `Idempotency-Key` header to allow for safe retries without accidentally performing the same operation twice.
'
version: '2025-12-18'
servers:
- description: Production server
url: https://api.cint.com/v1
security:
- BearerAuth: []
tags:
- name: Recontacts
description: Create, update, list and delete recontacts for a target group. Recontacts allow only specific respondents to enter your survey and are part of a larger workflow that needs specific configurations across other endpoints.
paths:
/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/recontacts/jobs/remove-all-rsids:
parameters:
- $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
post:
operationId: create_all_recontact_rsids_removal_job
summary: Create a job to remove all recontact respondent IDs
description: 'This endpoint creates an asynchronous job to remove all stored Respondent IDs (RSIDs) recontact opportunities for the specified Target Group.
A successful request returns a `201 Created` response with a `job_id` that you can use to track the operation''s status.
:::caution Operational Constraint
Only one recontact job can run at a time per Target Group. If a job is already in `Processing` status for this Target Group, the API will return a `409 Conflict` error.
Estimated execution time: Removing 10,000 respondents typically takes between 3 and 5 minutes.
:::
'
tags:
- Recontacts
parameters:
- $ref: '#/components/parameters/AccountID'
- $ref: '#/components/parameters/ProjectID'
- $ref: '#/components/parameters/TargetGroupID'
responses:
'201':
description: Returns the newly created job ID for tracking the removal process.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRecontactsJobResponse'
example:
job_id: 01BTGNYV6HRNK8K8VKZASZCFP1
'400':
$ref: '#/components/responses/Error_BadRequest'
'401':
$ref: '#/components/responses/Error_Unauthorized'
'403':
$ref: '#/components/responses/Error_Forbidden'
'404':
$ref: '#/components/responses/Error_NotFound'
'409':
$ref: '#/components/responses/Error_Conflict'
'500':
$ref: '#/components/responses/Error_Internal'
? /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/recontacts/jobs/remove-all-rsids/{job_id}
: parameters:
- $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
get:
operationId: recontacts_remove_all_rsids_job_status
summary: Get information on a remove all Recontact opportunities job
description: Gets information on a specific remove all Respondent ID (RSID) Recontact opportunities job. This will remove all IDs from the Target Group and will prevent any more respondents entering your survey, or the work being launched or relaunched until more IDs are added. This should be checked regularly for progress and status. Execution time can vary but removing 10,000 identifiers could take between 3 and 5 minutes.
tags:
- Recontacts
parameters:
- $ref: '#/components/parameters/AccountID'
- $ref: '#/components/parameters/ProjectID'
- $ref: '#/components/parameters/TargetGroupID'
- $ref: '#/components/parameters/UpdateRecontactsJobID'
responses:
'200':
description: The requested "Remove All RSIDs" recontacts job.
content:
application/json:
schema:
$ref: '#/components/schemas/GetRecontactRemoveAllRsidsJobStatusResponse'
'400':
$ref: '#/components/responses/Error_BadRequest'
'401':
$ref: '#/components/responses/Error_Unauthorized'
'403':
$ref: '#/components/responses/Error_Forbidden'
'404':
$ref: '#/components/responses/Error_NotFound'
'500':
$ref: '#/components/responses/Error_Internal'
/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/recontacts/jobs/upload-rsids-by-file:
parameters:
- $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
post:
operationId: recontact_create_upload_rsids_by_file_job
summary: Create a job to upload respondent IDs by file
description: 'This endpoint creates an asynchronous job to upload a file containing Respondent IDs (RSIDs) for recontact opportunities. The new IDs will be added to any existing ones for the specified Target Group.
A successful request returns a `201 Created` response with a `job_id` that you can use to track the file processing status.
### File Format Rules
* The file must be in `CSV` or `TXT` format.
* The file must **not** contain a header row.
* Each line in the file must contain a single, unique Respondent ID.
### Validation and Capacity Limits
* **Total Capacity**: The total number of respondent IDs for a target group (existing plus new) cannot exceed 100,000.
* **File Size**: The uploaded file size must be less than 5MB.
* **Files per Job**: Only one file can be uploaded per job.
:::caution Operational Constraint
Only one recontact job can run at a time per Target Group. If a job is already in `Processing` status for this Target Group, the API will return a `409 Conflict` error.
Estimated execution time: Uploading 10,000 new respondents typically takes between 10 and 15 minutes.
:::
'
tags:
- Recontacts
parameters:
- $ref: '#/components/parameters/AccountID'
- $ref: '#/components/parameters/ProjectID'
- $ref: '#/components/parameters/TargetGroupID'
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
description: The file to upload. Must be a plain text or CSV file.
example:
file: '0F1CE179-A917-49FF-9D50-B05FC91F7BD4
75F1404C-65F6-4937-AD2A-588E4F66E07F
9C23131D-388B-4E03-97B3-CF783E491445
'
responses:
'201':
description: Returns the newly created job ID for tracking the file upload.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRecontactUploadRsidsByFileJobResponse'
example:
job_id: 01BTGNYV6HRNK8K8VKZASZCFP1
'400':
$ref: '#/components/responses/Error_BadRequest'
'401':
$ref: '#/components/responses/Error_Unauthorized'
'403':
$ref: '#/components/responses/Error_Forbidden'
'404':
$ref: '#/components/responses/Error_NotFound'
'409':
$ref: '#/components/responses/Error_Conflict'
'413':
$ref: '#/components/responses/Error_ContentTooLarge'
'415':
$ref: '#/components/responses/Error_UnsupportedMediaType'
'500':
$ref: '#/components/responses/Error_Internal'
? /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/recontacts/jobs/upload-rsids-by-file/{job_id}
: get:
operationId: get_recontacts_rsids_upload_file_job_status
summary: Get an upload-by-file job status
description: This endpoint retrieves the status and details of a specific "upload by file" job. After creating a job, you should poll this endpoint periodically until the `status` field changes from `Processing` to either `Completed` or `Failed` to get the final result.
tags:
- Recontacts
parameters:
- $ref: '#/components/parameters/AccountID'
- $ref: '#/components/parameters/ProjectID'
- $ref: '#/components/parameters/TargetGroupID'
- $ref: '#/components/parameters/UpdateRecontactsJobID'
- $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
responses:
'200':
description: Returns the details and current status of the requested upload-by-file job.
content:
application/json:
schema:
$ref: '#/components/schemas/GetRecontactRsidsUpdateJobResponse'
examples:
JobProcessing:
summary: When the job is processing
value:
job_id: 01BTGNYV6HRNK8K8VKZASZCFP1
created_at: '2023-01-01T23:00:00.000Z'
created_by: b551326b-ac9d-4d32-8823-4f025787dab9
status: Processing
completed_at: null
failure_reason: null
partial_success_reason: null
job_trace_id: null
JobCompletedWithPartialSuccess:
summary: When the job is complete (partial success)
value:
job_id: 01BTGNYV6HRNK8K8VKZASZCFP1
created_at: '2023-01-01T23:00:00.000Z'
created_by: b551326b-ac9d-4d32-8823-4f025787dab9
status: Completed
completed_at: '2023-01-01T23:05:10.000Z'
failure_reason: null
partial_success_reason:
description: Upload partially successful. 500 respondent IDs uploaded successfully, 10 failed (invalid or empty).
job_trace_id: null
JobFailed:
summary: When the job has failed
value:
job_id: 01BTGNYV6HRNK8K8VKZASZCFP1
created_at: '2023-01-01T23:00:00.000Z'
created_by: b551326b-ac9d-4d32-8823-4f025787dab9
status: Failed
completed_at: '2023-01-01T23:02:00.000Z'
failure_reason:
code: JobExecutionStartMessageFailed
description: The job execution start message failed. Please contact Cint for further assistance.
partial_success_reason: null
job_trace_id: 0af7651916cd43dd8448eb211c80319c
'400':
$ref: '#/components/responses/Error_BadRequest'
'401':
$ref: '#/components/responses/Error_Unauthorized'
'403':
$ref: '#/components/responses/Error_Forbidden'
'404':
$ref: '#/components/responses/Error_NotFound'
'500':
$ref: '#/components/responses/Error_Internal'
? /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/recontacts/jobs/upload-respondents-by-file
: parameters:
- $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
post:
operationId: recontact_create_upload_respondents_by_file_job
summary: Create a job to upload Recontact opportunities by file
description: 'This endpoint creates an asynchronous job to upload Recontact opportunities by file for the specified Target Group. Choose between sending a file with Respondent IDs or Response IDs. The new IDs will be added to the existing ones.
A successful request returns a `201 Created` response with a `job_id` that you can use to track the file processing status.
### File Format Rules
* The file must be in `CSV` or `TXT` format.
* The file must **not** contain a header row.
* Each line in the file must contain a single identifier.
* Only one file can be uploaded per job.
### Validation and Capacity Limits
* **Total Capacity**: The total number of IDs (existing plus new) cannot exceed 100,000.
* **File Size**: The uploaded file size must be less than 5MB.
### Identifier Types
Use the `entity_type` query parameter to specify the type of identifiers in your file:
* `RSID` or `RESPONDENT_ID` — for Respondent IDs
* `RID` or `RESPONSE_ID` — for Response IDs (these will be internally mapped and saved as Respondent IDs)
:::caution Operational Constraint
Only one recontact job can run at a time per Target Group. If a job is already in `Processing` status for this Target Group, the API will return a `409 Conflict` error.
Estimated execution time: Uploading 10,000 new respondents typically takes between 10 and 15 minutes.
:::
'
tags:
- Recontacts
parameters:
- $ref: '#/components/parameters/AccountID'
- $ref: '#/components/parameters/ProjectID'
- $ref: '#/components/parameters/TargetGroupID'
- $ref: '#/components/parameters/RecontactJobUploadRespondentEntityType'
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
description: The file to upload. Must be a plain text or CSV file.
example:
file: '0F1CE179-A917-49FF-9D50-B05FC91F7BD4
75F1404C-65F6-4937-AD2A-588E4F66E07F
9C23131D-388B-4E03-97B3-CF783E491445
'
responses:
'201':
description: Returns the newly created job ID for tracking the file upload.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRecontactUploadRespondentsByFileJobResponse'
example:
job_id: 01BTGNYV6HRNK8K8VKZASZCFP1
'400':
$ref: '#/components/responses/Error_BadRequest'
'401':
$ref: '#/components/responses/Error_Unauthorized'
'403':
$ref: '#/components/responses/Error_Forbidden'
'404':
$ref: '#/components/responses/Error_NotFound'
'409':
$ref: '#/components/responses/Error_Conflict'
'413':
$ref: '#/components/responses/Error_ContentTooLarge'
'415':
$ref: '#/components/responses/Error_UnsupportedMediaType'
'500':
$ref: '#/components/responses/Error_Internal'
get:
operationId: recontact_list_upload_respondents_by_file_jobs
summary: List Recontact upload-by-file jobs
description: 'This endpoint retrieves a paginated list of Recontact upload-by-file jobs for the specified Target Group. This includes jobs created via both the `upload-rsids-by-file` and `upload-respondents-by-file` endpoints.
Each job includes the job ID, the original uploaded file name, the job status, the creation timestamp, and the user who created it. The results are sorted by creation date in descending order (most recent first).
Use the `next_cursor` value from the response as the `start_after` parameter to fetch the next page.
:::note Pagination
A page may contain fewer than `page_size` items even when more pages exist. Always check the `next_cursor` field to determine whether additional pages are available.
:::
'
tags:
- Recontacts
parameters:
- $ref: '#/components/parameters/AccountID'
- $ref: '#/components/parameters/ProjectID'
- $ref: '#/components/parameters/TargetGroupID'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/StartAfter'
responses:
'200':
description: A paginated list of upload recontacts by file jobs for the target group.
content:
application/json:
schema:
$ref: '#/components/schemas/GetUploadByFileJobsPaginatedResponse'
example:
data:
- job_id: 01BTGNYV6HRNK8K8VKZASZCFP2
file_name: recontacts-batch2.txt
status: Processing
created_at: '2024-01-02T10:30:00Z'
created_by: b551326b-ac9d-4d32-8823-4f025787dab9
- job_id: 01BTGNYV6HRNK8K8VKZASZCFP1
file_name: respondents.csv
status: Completed
created_at: '2024-01-01T14:05:05Z'
created_by: b551326b-ac9d-4d32-8823-4f025787dab9
next_cursor: MDFKUkc0UFdISDRKMEpWRVRTTTNKTlZKWlc
'400':
$ref: '#/components/responses/Error_BadRequest'
'401':
$ref: '#/components/responses/Error_Unauthorized'
'403':
$ref: '#/components/responses/Error_Forbidden'
'404':
$ref: '#/components/responses/Error_NotFound'
'500':
$ref: '#/components/responses/Error_Internal'
? /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/recontacts/jobs/upload-respondents-by-file/{job_id}
: parameters:
- $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
get:
operationId: get_recontact_upload_respondents_by_file_job
summary: Retrieve the status of a Recontact upload-by-file job
description: 'This endpoint retrieves the status and details of a specific Recontact upload respondents by file job. After creating a job, you should poll this endpoint periodically until the `status` field changes from `Processing` to either `Completed` or `Failed` to get the final result.
:::tip Execution Time
While execution time may vary, storing 10,000 new respondents typically takes between 10 and 15 minutes.
:::
'
tags:
- Recontacts
parameters:
- $ref: '#/components/parameters/AccountID'
- $ref: '#/components/parameters/ProjectID'
- $ref: '#/components/parameters/TargetGroupID'
- $ref: '#/components/parameters/UpdateRecontactsJobID'
responses:
'200':
description: Returns the details and current status of the requested upload-by-file job.
content:
application/json:
schema:
$ref: '#/components/schemas/GetRecontactUploadRespondentsByFileJobResponse'
examples:
JobProcessing:
summary: When the job is processing
value:
job_id: 01BTGNYV6HRNK8K8VKZASZCFP1
created_at: '2024-01-01T14:05:05Z'
created_by: b551326b-ac9d-4d32-8823-4f025787dab9
status: Processing
completed_at: null
failure_reason: null
partial_success_reason: null
job_trace_id: null
JobCompleted:
summary: When the job is complete (partial success)
value:
job_id: 01BTGNYV6HRNK8K8VKZASZCFP1
created_at: '2024-01-01T14:05:05Z'
created_by: b551326b-ac9d-4d32-8823-4f025787dab9
status: Completed
completed_at: '2024-01-01T14:15:10Z'
failure_reason: null
partial_success_reason:
description: Upload partially successful. 500 respondent IDs uploaded successfully, 10 failed (invalid or empty).
job_trace_id: null
JobFailed:
summary: When the job has failed
value:
job_id: 01BTGNYV6HRNK8K8VKZASZCFP1
created_at: '2024-01-01T14:05:05Z'
created_by: b551326b-ac9d-4d32-8823-4f025787dab9
status: Failed
completed_at: '2024-01-01T14:07:00Z'
failure_reason:
code: JobExecutionStartMessageFailed
description: The job execution start message failed. Please contact Cint for further assistance.
partial_success_reason: null
job_trace_id: 0af7651916cd43dd8448eb211c80319c
'400':
$ref: '#/components/responses/Error_BadRequest'
'401':
$ref: '#/components/responses/Error_Unauthorized'
'403':
$ref: '#/components/responses/Error_Forbidden'
'404':
$ref: '#/components/responses/Error_NotFound'
'500':
$ref: '#/components/responses/Error_Internal'
? /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/recontacts/jobs/upload-respondents-by-file/{job_id}/download
: parameters:
- $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
get:
operationId: recontact_download_job_file
summary: Download the file associated with a Recontact upload job
description: 'This endpoint downloads the uploaded file for the specified recontact upload job. The response is returned as a binary file attachment.
The attachment filename is derived from the original file name provided at upload time, sanitized for safe use in HTTP headers (non-alphanumeric characters other than dots, hyphens, and underscores are replaced with underscores). If the original file name is unavailable or invalid, the filename is derived from the internal storage key.
'
tags:
- Recontacts
parameters:
- $ref: '#/components/parameters/AccountID'
- $ref: '#/components/parameters/ProjectID'
- $ref: '#/components/parameters/TargetGroupID'
- $ref: '#/components/parameters/UpdateRecontactsJobID'
responses:
'200':
description: The file content of the recontact upload job.
headers:
Content-Disposition:
schema:
type: string
description: 'Contains the resolved file name as an attachment. The filename is sanitized from the original upload name, or derived from the storage key if the original is unavailable. Example: `attachment; filename="my-recontacts.txt"`'
content:
application/octet-stream:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/Error_BadRequest'
'401':
$ref: '#/components/responses/Error_Unauthorized'
'403':
$ref: '#/components/responses/Error_Forbidden'
'404':
$ref: '#/components/responses/Error_NotFound'
'500':
$ref: '#/components/responses/Error_Internal'
/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/recontacts/overview:
parameters:
- $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
get:
operationId: get_recontacts_overview
summary: Get recontact overview for a target group
description: 'This endpoint retrieves the total number of saved Respondent IDs that have an opportunity to enter the Target Group.
You can use this count to:
* Monitor how close you are to the recontact capacity limit.
* Check the result of an upload or removal job.
* Determine the maximum number of respondents you can request in your filling goal.
'
tags:
- Recontacts
parameters:
- $ref: '#/components/parameters/AccountID'
- $ref: '#/components/parameters/ProjectID'
- $ref: '#/components/parameters/TargetGroupID'
responses:
'200':
description: The Recontacts information for the requested Target Group
content:
application/json:
schema:
$ref: '#/components/schemas/GetTargetGroupRecontactsOverviewResponse'
example:
saved_respondent_ids_count: 12500
'400':
$ref: '#/components/responses/Error_BadRequest'
'401':
$ref: '#/components/responses/Error_Unauthorized'
'403':
$ref: '#/components/responses/Error_Forbidden'
'404':
$ref: '#/components/responses/Error_NotFound'
'500':
$ref: '#/components/responses/Error_Internal'
/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/recontacts/rsids:
get:
operationId: get_target_group_rsid_recontact_list
summary: List recontact respondent IDs
description: This endpoint returns a paginated list of all Respondent IDs (RSIDs) eligible for recontact on this Target Group. Use the `start_after` parameter with the `next_cursor` value from a previous response to navigate through pages.
tags:
- Recontacts
parameters:
- $ref: '#/components/parameters/AccountID'
- $ref: '#/components/parameters/ProjectID'
- $ref: '#/components/parameters/TargetGroupID'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/StartAfter'
- $ref: '#/components/parameters/EndBefore'
- $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
responses:
'200':
description: Returns a paginated list of respondent IDs.
content:
application/json:
schema:
$ref: '#/components/schemas/RecontactsRespondentIDListResponse'
example:
data:
- 5a3b2ada-0066-4dcb-afdd-7302be78ce9e
- 8f8e1cda-2c0a-4b9e-9e7f-7a4d5e2c1b3d
- c3d4e5f6-a7b8-4c9d-8e1f-2a3b4c5d6e7f
next_cursor: MDFKUkc0UFdISDRKMEpWRVRTTTNKTlZKWlcmMGVmZmRjOTctMTYxZS00NmJlLWJlM2MtNTU5NTYyMWU3ZDcx
url: accounts/101/projects/01BTGNYV6HRNK8K8VKZASZCFP0/target-groups/01BTGNYV6HRNK8K8VKZASZCFP1/recontacts/rsids
'400':
$ref: '#/components/responses/Error_BadRequest'
'401':
$ref: '#/components/responses/Error_Unauthorized'
'403':
$ref: '#/components/responses/Error_Forbidden'
'404':
$ref: '#/components/responses/Error_NotFound'
'500':
$ref: '#/components/responses/Error_Internal'
components:
parameters:
UpdateRecontactsJobID:
name: job_id
in: path
required: true
description: A unique identifier for the asynchronous recontact job.
schema:
$ref: '#/components/schemas/JobID'
RecontactJobUploadRespondentEntityType:
name: entity_type
in: query
required: true
description: The entity type of the respondent identifiers included in the file as recontact opportunities. Use `RSID` or `RESPONDENT_ID` for Respondent IDs, and `RID` or `RESPONSE_ID` for Response IDs.
schema:
$ref: '#/components/schemas/RecontactUploadJobEntityType'
ProjectID:
name: project_id
description: A unique identifier for the project, in ULID format.
in: path
required: true
schema:
$ref: '#/components/schemas/ProjectID'
EndBefore:
name: end_before
in: query
description: Returns a list of objects that come before the provided pagination cursor. This is used for navigating to a previous page.
schema:
type: string
example: 7daa40ad-303b-40a2-89df-a9760400cde7
CintAPIVersion-2025-12-18:
name: Cint-API-Version
in: header
required: true
schema:
type: string
example: 2025-12-18
description: 'This header is MANDATORY for all API requests. The API version format is `YYYY-MM-DD`.
'
PageSize:
name: page_size
in: query
description: A limit on the number of objects to be returned, between 1 and 100.
schema:
type: integer
default: 10
example: 15
StartAfter:
name: start_after
in: query
description: Returns a list of objects after the provided pagination cursor, using the next_cursor from the previous response.
schema:
type: string
example: bff6a669-a469-409d-8c94-dcf92258043a
TargetGroupID:
name: target_group_id
description: A unique identifier for the target group, in ULID format.
in: path
required: true
schema:
$ref: '#/components/schemas/TargetGroupID'
AccountID:
name: account_id
description: The account's unique identifier.
in: path
required: true
schema:
$ref: '#/components/schemas/AccountID'
schemas:
JobID:
description: The character string representing a unique job ID.
type: string
example: 01BTGNYV6HRNK8K8VKZASZCFP1
GetRecontactRsidsUpdateJobResponse:
type: object
description: The response payload containing the status and details of a recontact job.
required:
- job_id
- created_at
- created_by
- status
properties:
job_id:
$ref: '#/components/schemas/JobID'
created_at:
type: string
format: date-time
description: The timestamp when the job was created, in ISO 8601 format.
example: '2030-01-01T12:00:00.000Z'
completed_at:
type: string
format: date-time
nullable: true
description: The timestamp when the job finished processing. This field is `null` while the job status is `Processing`.
example: '2030-01-01T12:05:00.000Z'
status:
$ref: '#/components/schemas/RecontactJobStatus'
created_by:
$ref: '#/components/schemas/UserID'
failure_reason:
nullable: true
description: An object containing the reason for the job's failure. This field is `null` unless the job `status` is `Failed`.
allOf:
- $ref: '#/components/schemas/RecontactJobFailureReason'
partial_success_reason:
nullable: true
description: An object containing details about a partial success. This field may be present when the job `status` is `Completed` but not all items could be processed.
allOf:
- $ref: '#/components/schemas/RecontactJobPartialSuccessReason'
job_trace_id:
$ref: '#/components/schemas/JobTraceId'
RecontactUploadJobEntityType:
type: string
description: Indicates the respondent entity type. Use `RSID` or `RESPONDENT_ID` for Respondent IDs, and `RID` or `RESPONSE_ID` for Response IDs.
enum:
- RSID
- RESPONDENT_ID
- RID
- RESPONSE_ID
example: RID
GetUploadByFileJobsPaginatedResponse:
type: object
description: Paginated response containing upload recontacts by file jobs.
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/GetUploadByFileJobResponse'
next_cursor:
type: string
nullable: true
description: A pagination cursor that points to the next page of results. If this field is `null` or absent, you are on the last page.
example: MDFKUkc0UFdISDRKMEpWRVRTTTNKTlZKWlc
GetRecontactRemoveAllRsidsJobStatusResponse:
type: object
description: Recontacts Remove All RSIDs job status details.
required:
- job_id
- created_at
- created_by
- status
properties:
job_id:
$ref: '#/components/schemas/JobID'
created_at:
type: string
format: date-time
example: '2023-01-01T23:00:00.000Z'
completed_at:
type: string
format: date-time
nullable: true
des
# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cint/refs/heads/main/openapi/cint-recontacts-api-openapi.yml