Extole File Validation Monitors API

The File Validation Monitors API from Extole — 6 operation(s) for file validation monitors.

OpenAPI Specification

extole-file-validation-monitors-api-openapi.yml Raw ↑
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