Extole File Validation Monitors API
The File Validation Monitors API from Extole — 6 operation(s) for file validation monitors.
The File Validation Monitors API from Extole — 6 operation(s) for file validation monitors.
openapi: 3.0.1
info:
description: 'Consumer-to-Extole integration endpoints: consumer event submission, zone rendering, profile management, and SDK-backing operations for browser and native app environments.'
title: Integration API - Consumer to Extole Audiences File Validation Monitors API
version: '1.0'
servers:
- description: Production
url: https://{brand}.extole.io
variables:
brand:
default: yourcompany
description: Your Extole client subdomain (e.g. 'mycompany' for mycompany.extole.io)
security:
- HEADER: []
- QUERY: []
- COOKIE: []
tags:
- name: File Validation Monitors
paths:
/v6/jobs:
get:
description: Returns all file validation monitor jobs configured for the client.
operationId: listJobs
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/JobResponse'
type: array
description: Successful response
'400':
content:
application/json:
examples:
binding_error:
$ref: '#/components/examples/binding_error'
invalid_json:
$ref: '#/components/examples/invalid_json'
invalid_parameter:
$ref: '#/components/examples/invalid_parameter'
missing_request_body:
$ref: '#/components/examples/missing_request_body'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Bad Request
'401':
content:
application/json:
examples:
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unauthorized
'402':
content:
application/json:
examples:
payment_required:
$ref: '#/components/examples/payment_required'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Payment Required
'403':
content:
application/json:
examples:
access_denied:
$ref: '#/components/examples/access_denied'
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
missing_access_token:
$ref: '#/components/examples/missing_access_token'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Forbidden
'415':
content:
application/json:
examples:
unsupported_media_type:
$ref: '#/components/examples/unsupported_media_type'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unsupported Media Type
'429':
content:
application/json:
examples:
too_many_requests:
$ref: '#/components/examples/too_many_requests'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Too Many Requests
summary: List jobs
tags:
- File Validation Monitors
x-extole-bundle: management
x-extole-visibility: visible
post:
description: Creates a file validation monitor job. Optional triggers and tasks may be supplied in the same request.
operationId: createJob
requestBody:
content:
application/json:
example:
enabled: true
name: name
tasks:
- expected_headers:
- expected_header
match_mode: EXACT_SET
on_mismatch: FAIL
order: 1
task_type: FILE_HEADER_VALIDATOR
triggers:
- match_type: EXACT
pattern: pattern
trigger_type: FILE_NAME_MATCHES
schema:
$ref: '#/components/schemas/JobRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/JobResponse'
description: Successful response
'400':
content:
application/json:
examples:
binding_error:
$ref: '#/components/examples/binding_error'
file_header_validator_expected_headers_required:
$ref: '#/components/examples/file_header_validator_expected_headers_required'
file_header_validator_match_mode_required:
$ref: '#/components/examples/file_header_validator_match_mode_required'
file_header_validator_on_mismatch_required:
$ref: '#/components/examples/file_header_validator_on_mismatch_required'
file_name_matches_match_type_required:
$ref: '#/components/examples/file_name_matches_match_type_required'
file_name_matches_pattern_invalid_regex:
$ref: '#/components/examples/file_name_matches_pattern_invalid_regex'
file_name_matches_pattern_required:
$ref: '#/components/examples/file_name_matches_pattern_required'
invalid_json:
$ref: '#/components/examples/invalid_json'
invalid_parameter:
$ref: '#/components/examples/invalid_parameter'
job_name_duplicated:
$ref: '#/components/examples/job_name_duplicated'
job_name_required:
$ref: '#/components/examples/job_name_required'
job_name_too_long:
$ref: '#/components/examples/job_name_too_long'
job_no_tasks:
$ref: '#/components/examples/job_no_tasks'
job_no_triggers:
$ref: '#/components/examples/job_no_triggers'
lands_in_directory_path_required:
$ref: '#/components/examples/lands_in_directory_path_required'
missing_request_body:
$ref: '#/components/examples/missing_request_body'
start_batch_job_data_source_type_required:
$ref: '#/components/examples/start_batch_job_data_source_type_required'
start_batch_job_event_name_required:
$ref: '#/components/examples/start_batch_job_event_name_required'
task_order_out_of_range:
$ref: '#/components/examples/task_order_out_of_range'
task_type_mismatch:
$ref: '#/components/examples/task_type_mismatch'
task_type_required:
$ref: '#/components/examples/task_type_required'
task_validation_failed:
$ref: '#/components/examples/task_validation_failed'
trigger_type_mismatch:
$ref: '#/components/examples/trigger_type_mismatch'
trigger_type_required:
$ref: '#/components/examples/trigger_type_required'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Bad Request
'401':
content:
application/json:
examples:
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unauthorized
'402':
content:
application/json:
examples:
payment_required:
$ref: '#/components/examples/payment_required'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Payment Required
'403':
content:
application/json:
examples:
access_denied:
$ref: '#/components/examples/access_denied'
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
missing_access_token:
$ref: '#/components/examples/missing_access_token'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Forbidden
'415':
content:
application/json:
examples:
unsupported_media_type:
$ref: '#/components/examples/unsupported_media_type'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unsupported Media Type
'429':
content:
application/json:
examples:
too_many_requests:
$ref: '#/components/examples/too_many_requests'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Too Many Requests
summary: Create a job
tags:
- File Validation Monitors
x-extole-bundle: management
x-extole-visibility: visible
/v6/jobs/{jobId}:
get:
description: Returns the job for the specified id, including its triggers and tasks.
operationId: getJob
parameters:
- in: path
name: jobId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/JobResponse'
description: Successful response
'400':
content:
application/json:
examples:
binding_error:
$ref: '#/components/examples/binding_error'
invalid_json:
$ref: '#/components/examples/invalid_json'
invalid_parameter:
$ref: '#/components/examples/invalid_parameter'
missing_request_body:
$ref: '#/components/examples/missing_request_body'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Bad Request
'401':
content:
application/json:
examples:
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unauthorized
'402':
content:
application/json:
examples:
payment_required:
$ref: '#/components/examples/payment_required'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Payment Required
'403':
content:
application/json:
examples:
access_denied:
$ref: '#/components/examples/access_denied'
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
missing_access_token:
$ref: '#/components/examples/missing_access_token'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Forbidden
'415':
content:
application/json:
examples:
unsupported_media_type:
$ref: '#/components/examples/unsupported_media_type'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unsupported Media Type
'429':
content:
application/json:
examples:
too_many_requests:
$ref: '#/components/examples/too_many_requests'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Too Many Requests
summary: Get a job
tags:
- File Validation Monitors
x-extole-bundle: management
x-extole-visibility: visible
put:
description: Updates top-level job fields. JobTrigger and task changes use the sub-endpoints.
operationId: updateJob
parameters:
- in: path
name: jobId
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
enabled: true
name: name
tasks:
- expected_headers:
- expected_header
match_mode: EXACT_SET
on_mismatch: FAIL
order: 1
task_type: FILE_HEADER_VALIDATOR
triggers:
- match_type: EXACT
pattern: pattern
trigger_type: FILE_NAME_MATCHES
schema:
$ref: '#/components/schemas/JobRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/JobResponse'
description: Successful response
'400':
content:
application/json:
examples:
binding_error:
$ref: '#/components/examples/binding_error'
invalid_json:
$ref: '#/components/examples/invalid_json'
invalid_parameter:
$ref: '#/components/examples/invalid_parameter'
job_name_duplicated:
$ref: '#/components/examples/job_name_duplicated'
job_name_required:
$ref: '#/components/examples/job_name_required'
job_name_too_long:
$ref: '#/components/examples/job_name_too_long'
job_no_tasks:
$ref: '#/components/examples/job_no_tasks'
job_no_triggers:
$ref: '#/components/examples/job_no_triggers'
missing_request_body:
$ref: '#/components/examples/missing_request_body'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Bad Request
'401':
content:
application/json:
examples:
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unauthorized
'402':
content:
application/json:
examples:
payment_required:
$ref: '#/components/examples/payment_required'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Payment Required
'403':
content:
application/json:
examples:
access_denied:
$ref: '#/components/examples/access_denied'
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
missing_access_token:
$ref: '#/components/examples/missing_access_token'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Forbidden
'415':
content:
application/json:
examples:
unsupported_media_type:
$ref: '#/components/examples/unsupported_media_type'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unsupported Media Type
'429':
content:
application/json:
examples:
too_many_requests:
$ref: '#/components/examples/too_many_requests'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Too Many Requests
summary: Update a job
tags:
- File Validation Monitors
x-extole-bundle: management
x-extole-visibility: visible
delete:
description: Soft-deletes the job and cascades soft-delete to its triggers and tasks.
operationId: deleteJob
parameters:
- in: path
name: jobId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/JobResponse'
description: Successful response
'400':
content:
application/json:
examples:
binding_error:
$ref: '#/components/examples/binding_error'
invalid_json:
$ref: '#/components/examples/invalid_json'
invalid_parameter:
$ref: '#/components/examples/invalid_parameter'
missing_request_body:
$ref: '#/components/examples/missing_request_body'
task_order_out_of_range:
$ref: '#/components/examples/task_order_out_of_range'
task_type_mismatch:
$ref: '#/components/examples/task_type_mismatch'
trigger_type_mismatch:
$ref: '#/components/examples/trigger_type_mismatch'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Bad Request
'401':
content:
application/json:
examples:
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unauthorized
'402':
content:
application/json:
examples:
payment_required:
$ref: '#/components/examples/payment_required'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Payment Required
'403':
content:
application/json:
examples:
access_denied:
$ref: '#/components/examples/access_denied'
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
missing_access_token:
$ref: '#/components/examples/missing_access_token'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Forbidden
'415':
content:
application/json:
examples:
unsupported_media_type:
$ref: '#/components/examples/unsupported_media_type'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unsupported Media Type
'429':
content:
application/json:
examples:
too_many_requests:
$ref: '#/components/examples/too_many_requests'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Too Many Requests
summary: Delete a job
tags:
- File Validation Monitors
x-extole-bundle: management
x-extole-visibility: visible
/v6/jobs/{jobId}/tasks:
get:
description: Returns all tasks for the specified job, sorted by order.
operationId: listTasks
parameters:
- in: path
name: jobId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/TaskResponse'
type: array
description: Successful response
'400':
content:
application/json:
examples:
binding_error:
$ref: '#/components/examples/binding_error'
invalid_json:
$ref: '#/components/examples/invalid_json'
invalid_parameter:
$ref: '#/components/examples/invalid_parameter'
missing_request_body:
$ref: '#/components/examples/missing_request_body'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Bad Request
'401':
content:
application/json:
examples:
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unauthorized
'402':
content:
application/json:
examples:
payment_required:
$ref: '#/components/examples/payment_required'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Payment Required
'403':
content:
application/json:
examples:
access_denied:
$ref: '#/components/examples/access_denied'
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
missing_access_token:
$ref: '#/components/examples/missing_access_token'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Forbidden
'415':
content:
application/json:
examples:
unsupported_media_type:
$ref: '#/components/examples/unsupported_media_type'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unsupported Media Type
'429':
content:
application/json:
examples:
too_many_requests:
$ref: '#/components/examples/too_many_requests'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Too Many Requests
summary: List tasks
tags:
- File Validation Monitors
x-extole-bundle: management
x-extole-visibility: visible
post:
description: Adds a task to the specified job. Order defaults to max+1 when omitted.
operationId: addTask
parameters:
- in: path
name: jobId
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
expected_headers:
- expected_header
match_mode: EXACT_SET
on_mismatch: FAIL
order: 1
task_type: FILE_HEADER_VALIDATOR
schema:
$ref: '#/components/schemas/TaskRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskResponse'
description: Successful response
'400':
content:
application/json:
examples:
binding_error:
$ref: '#/components/examples/binding_error'
file_header_validator_expected_headers_required:
$ref: '#/components/examples/file_header_validator_expected_headers_required'
file_header_validator_match_mode_required:
$ref: '#/components/examples/file_header_validator_match_mode_required'
file_header_validator_on_mismatch_required:
$ref: '#/components/examples/file_header_validator_on_mismatch_required'
invalid_json:
$ref: '#/components/examples/invalid_json'
invalid_parameter:
$ref: '#/components/examples/invalid_parameter'
missing_request_body:
$ref: '#/components/examples/missing_request_body'
start_batch_job_data_source_type_required:
$ref: '#/components/examples/start_batch_job_data_source_type_required'
start_batch_job_event_name_required:
$ref: '#/components/examples/start_batch_job_event_name_required'
task_order_out_of_range:
$ref: '#/components/examples/task_order_out_of_range'
task_type_mismatch:
$ref: '#/components/examples/task_type_mismatch'
task_type_required:
$ref: '#/components/examples/task_type_required'
task_validation_failed:
$ref: '#/components/examples/task_validation_failed'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Bad Request
'401':
content:
application/json:
examples:
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unauthorized
'402':
content:
application/json:
examples:
payment_required:
$ref: '#/components/examples/payment_required'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Payment Required
'403':
content:
application/json:
examples:
access_denied:
$ref: '#/components/examples/access_denied'
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
missing_access_token:
$ref: '#/components/examples/missing_access_token'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Forbidden
'415':
content:
application/json:
examples:
unsupported_media_type:
$ref: '#/components/examples/unsupported_media_type'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unsupported Media Type
'429':
content:
application/json:
examples:
too_many_requests:
$ref: '#/components/examples/too_many_requests'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Too Many Requests
summary: Add a task
tags:
- File Validation Monitors
x-extole-bundle: management
x-extole-visibility: visible
/v6/jobs/{jobId}/tasks/{taskId}:
get:
description: Returns the task for the specified id.
operationId: getTask
parameters:
- in: path
name: jobId
required: true
schema:
type: string
- in: path
name: taskId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskResponse'
description: Successful response
'400':
content:
application/json:
examples:
binding_error:
$ref: '#/components/examples/binding_error'
invalid_json:
$ref: '#/components/examples/invalid_json'
invalid_parameter:
$ref: '#/components/examples/invalid_parameter'
missing_request_body:
$ref: '#/components/examples/missing_request_body'
task_order_out_of_range:
$ref: '#/components/examples/task_order_out_of_range'
task_type_mismatch:
$ref: '#/components/examples/task_type_mismatch'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Bad Request
'401':
content:
application/json:
examples:
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unauthorized
'402':
content:
application/json:
examples:
payment_required:
$ref: '#/components/examples/payment_required'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Payment Required
'403':
content:
application/json:
examples:
access_denied:
$ref: '#/components/examples/access_denied'
method_unauthorized:
$ref: '#/components/examples/method_unauthorized'
missing_access_token:
$ref: '#/components/examples/missing_access_token'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Forbidden
'415':
content:
application/json:
examples:
unsupported_media_type:
$ref: '#/components/examples/unsupported_media_type'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Unsupported Media Type
'429':
content:
application/json:
examples:
too_many_requests:
$ref: '#/components/examples/too_many_requests'
schema:
$ref: '#/components/schemas/RestExceptionResponse'
description: Too Many Requests
summary: Get a task
tags:
- File Validation Monitors
x-extole-bundle: management
x-extole-visibility: visible
put:
description: Updates the task. The request task type must match the stored task.
operationId: updateTask
parameters:
- in: path
name: jobId
required: true
schema:
type: string
- in: path
name: taskId
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
expected_headers:
- expected_header
match_mode: EXACT_SET
on_mismatch: FAIL
order: 1
task_type: FILE_HEADER_VALIDATOR
schema:
$ref: '#/components/schemas/TaskRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskResponse'
description: Successful response
'400':
content:
application/json:
examples:
binding_error:
$ref: '#/components/examples/binding_error'
file_header_validator_expected_headers_required:
$ref: '#/components/examples/file_header_validator_expected_headers_required'
file_header_validator_match_mode_required:
$ref: '#/components/examples/file_header_validator_match_mode_required'
file_header_validator_on_mismatch_required:
$ref: '#/components/examples/file_header_validator_on_mismatch_required'
invalid_json:
$ref: '#/components/examples/invalid_json'
invalid_null:
$ref: '#/components/examples/invalid_null'
invalid_parameter:
$ref: '#/components/examples/invalid_parameter'
missing_request_body:
$ref: '#/components/examples/missing_request_body'
# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/extole/refs/heads/main/openapi/extole-file-validation-monitors-api-openapi.yml