dotCMS Content Import API

The Content Import API from dotCMS — 11 operation(s) for content import.

Operations 12

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/v1/content/_import/abandoned List abandoned content import jobs · Retrieves abandoned content import jobs #
Ask an LLM
“Which content imports were abandoned and never finished?”
“Can I page through abandoned CSV import jobs?”
Tell an agent
List abandoned content import jobs.
Show page {page} of abandoned imports, {pageSize} per page.
GET /api/v1/content/_import/active List active content import jobs · Retrieves active content import jobs #
Ask an LLM
“What content imports are running or queued right now?”
“Which CSV imports are still new, processing or waiting?”
Tell an agent
List the content import jobs currently in progress.
Show page {page} of active imports with {pageSize} per page.
POST /api/v1/content/_import/{jobId}/cancel Cancel a content import job · Cancel a content import job #
Ask an LLM
“How do I stop a CSV content import that's running?”
“Does canceling an import take effect immediately?”
Tell an agent destructive · confirm first
Cancel content import job {jobId}.
Request cancellation of import {jobId}.
GET /api/v1/content/_import/canceled List canceled content import jobs · Retrieves canceled content import jobs #
Ask an LLM
“Which content imports were canceled?”
“Can I see a paginated history of imports someone stopped?”
Tell an agent
List canceled content import jobs.
Show page {page} of canceled imports.
GET /api/v1/content/_import/completed List completed content import jobs · Retrieves completed content import jobs #
Ask an LLM
“Which content imports have finished running, successful or not?”
“Can I list every import job in the completed state?”
Tell an agent
List completed content import jobs.
Show page {page} of completed imports, {pageSize} at a time.
GET /api/v1/content/_import/failed List failed content import jobs · Retrieves failed content import jobs #
Ask an LLM
“Which CSV content imports failed?”
“Can I page through import jobs that ended in error?”
Tell an agent
List failed content import jobs.
Show page {page} of failed imports.
GET /api/v1/content/_import/{jobId} Get a content import job's status · Retrieves the status of a content import job #
Ask an LLM
“What's the current status of my content import?”
“How far along is a specific CSV import job?”
Tell an agent
Get the status of content import job {jobId}.
Show detailed progress for import {jobId}.
GET /api/v1/content/_import List all content import jobs · Retrieves content import jobs #
Ask an LLM
“Can I see every content import job regardless of its state?”
“What imports have been run on this instance?”
Tell an agent
List all content import jobs.
Show page {page} of every import job, {pageSize} per page.
POST /api/v1/content/_import Import content from a CSV file · Imports content from a CSV file #
Ask an LLM
“How do I bulk import content into dotCMS from a CSV?”
“What parameters does a CSV content import need besides the file?”
Tell an agent
Import content from CSV {file} using import parameters {form}.
Queue an import job for {file} with settings {form}.
GET /api/v1/content/_import/{jobId}/monitor Stream live progress of an import job · Monitor a content import job in real-time #
Ask an LLM
“Can I watch a content import's progress in real time?”
“Is there a server-sent events stream for import job updates?”
Tell an agent
Stream live updates for content import job {jobId}.
Monitor import {jobId} until it completes.
GET /api/v1/content/_import/successful List successful content import jobs · Retrieves successful content import jobs #
Ask an LLM
“Which content imports completed successfully?”
“Can I list only the imports that finished without errors?”
Tell an agent
List successful content import jobs.
Show page {page} of imports that succeeded.
POST /api/v1/content/_import/_validate Validate a CSV import without importing · Validates content import from a CSV file #
Ask an LLM
“Can I dry-run a CSV import to check it against a content type first?”
“How do I preview whether my import file will work before importing?”
Tell an agent
Validate CSV {file} with parameters {form} in preview mode without importing.
Dry-run the import of {file} to catch errors first.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dotcms:dotcms-content-import-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dotcms-content-import-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: dotCMS REST Content Import API
  version: '3'
servers:
- url: /
  description: dotCMS Server
tags:
- name: Content Import
paths:
  /api/v1/content/_import/abandoned:
    get:
      tags:
      - Content Import
      summary: Retrieves abandoned content import jobs
      description: Fetches a paginated list of abandoned content import jobs (jobs with state ABANDONED). Results can be paginated using query parameters.
      operationId: getAbandonedContentImportJobs
      parameters:
      - name: page
        in: query
        description: Page number to retrieve (1-based indexing).
        schema:
          type: integer
          format: int32
          default: 1
      - name: pageSize
        in: query
        description: Number of records per page.
        schema:
          type: integer
          format: int32
          default: 20
      responses:
        '200':
          description: Successfully retrieved the paginated list of abandoned content import jobs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityJobPaginatedResultView'
        '401':
          description: 'Unauthorized: Invalid or missing user authentication.'
        '403':
          description: 'Forbidden: User does not have necessary permissions to view jobs.'
        '500':
          description: 'Internal Server Error: An unexpected error occurred while retrieving jobs.'
  /api/v1/content/_import/active:
    get:
      tags:
      - Content Import
      summary: Retrieves active content import jobs
      description: Fetches a paginated list of active content import jobs (jobs with state NEW, PROCESSING, or WAITING). Results can be paginated using query parameters.
      operationId: getActiveContentImportJobs
      parameters:
      - name: page
        in: query
        description: Page number to retrieve (1-based indexing).
        schema:
          type: integer
          format: int32
          default: 1
      - name: pageSize
        in: query
        description: Number of records per page.
        schema:
          type: integer
          format: int32
          default: 20
      responses:
        '200':
          description: Successfully retrieved the paginated list of active content import jobs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityJobPaginatedResultView'
        '401':
          description: 'Unauthorized: Invalid or missing user authentication.'
        '403':
          description: 'Forbidden: User does not have necessary permissions to view jobs.'
        '500':
          description: 'Internal Server Error: An unexpected error occurred while retrieving jobs.'
  /api/v1/content/_import/{jobId}/cancel:
    post:
      tags:
      - Content Import
      summary: Cancel a content import job
      description: Requests cancellation of a specific content import job identified by its ID. Note that cancellation is asynchronous and may not be immediate.
      operationId: cancelContentImportJob
      parameters:
      - name: jobId
        in: path
        description: The unique identifier (UUID) of the job to be cancelled.
        required: true
        schema:
          type: string
          format: uuid
          example: e6d9bae8-657b-4e2f-8524-c0222db66355
      responses:
        '200':
          description: Cancellation request successfully sent to the job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityStringView'
              example:
                entity: Cancellation request successfully sent to job e6d9bae8-657b-4e2f-8524-c0222db66355
                errors: []
                i18nMessagesMap: {}
                messages: []
                pagination: null
                permissions: []
        '401':
          description: 'Unauthorized: Invalid or missing user authentication.'
        '403':
          description: 'Forbidden: User does not have permissions to cancel the specified job.'
        '404':
          description: 'Not Found: Job with the specified ID could not be found or is already completed/cancelled.'
        '500':
          description: 'Internal Server Error: An unexpected error occurred while attempting to cancel the job.'
  /api/v1/content/_import/canceled:
    get:
      tags:
      - Content Import
      summary: Retrieves canceled content import jobs
      description: Fetches a paginated list of canceled content import jobs (jobs with state CANCELED). Results can be paginated using query parameters.
      operationId: getCanceledContentImportJobs
      parameters:
      - name: page
        in: query
        description: Page number to retrieve (1-based indexing).
        schema:
          type: integer
          format: int32
          default: 1
      - name: pageSize
        in: query
        description: Number of records per page.
        schema:
          type: integer
          format: int32
          default: 20
      responses:
        '200':
          description: Successfully retrieved the paginated list of canceled content import jobs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityJobPaginatedResultView'
        '401':
          description: 'Unauthorized: Invalid or missing user authentication.'
        '403':
          description: 'Forbidden: User does not have necessary permissions to view jobs.'
        '500':
          description: 'Internal Server Error: An unexpected error occurred while retrieving jobs.'
  /api/v1/content/_import/completed:
    get:
      tags:
      - Content Import
      summary: Retrieves completed content import jobs
      description: Fetches a paginated list of completed content import jobs (jobs with state COMPLETED). Results can be paginated using query parameters.
      operationId: getCompletedContentImportJobs
      parameters:
      - name: page
        in: query
        description: Page number to retrieve (1-based indexing).
        schema:
          type: integer
          format: int32
          default: 1
      - name: pageSize
        in: query
        description: Number of records per page.
        schema:
          type: integer
          format: int32
          default: 20
      responses:
        '200':
          description: Successfully retrieved the paginated list of completed content import jobs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityJobPaginatedResultView'
        '401':
          description: 'Unauthorized: Invalid or missing user authentication.'
        '403':
          description: 'Forbidden: User does not have necessary permissions to view jobs.'
        '500':
          description: 'Internal Server Error: An unexpected error occurred while retrieving jobs.'
  /api/v1/content/_import/failed:
    get:
      tags:
      - Content Import
      summary: Retrieves failed content import jobs
      description: Fetches a paginated list of failed content import jobs (jobs with state FAILED). Results can be paginated using query parameters.
      operationId: getFailedContentImportJobs
      parameters:
      - name: page
        in: query
        description: Page number to retrieve (1-based indexing).
        schema:
          type: integer
          format: int32
          default: 1
      - name: pageSize
        in: query
        description: Number of records per page.
        schema:
          type: integer
          format: int32
          default: 20
      responses:
        '200':
          description: Successfully retrieved the paginated list of failed content import jobs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityJobPaginatedResultView'
        '401':
          description: 'Unauthorized: Invalid or missing user authentication.'
        '403':
          description: 'Forbidden: User does not have necessary permissions to view jobs.'
        '500':
          description: 'Internal Server Error: An unexpected error occurred while retrieving jobs.'
  /api/v1/content/_import/{jobId}:
    get:
      tags:
      - Content Import
      summary: Retrieves the status of a content import job
      description: Fetches the detailed current status of a specific content import job identified by its ID.
      operationId: getJobStatus
      parameters:
      - name: jobId
        in: path
        description: The unique identifier (UUID) of the job whose status is to be retrieved.
        required: true
        schema:
          type: string
          format: uuid
          example: e6d9bae8-657b-4e2f-8524-c0222db66355
      responses:
        '200':
          description: Successfully retrieved job status. The entity contains detailed information about the job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityJobView'
        '401':
          description: 'Unauthorized: Invalid or missing user authentication.'
        '403':
          description: 'Forbidden: User does not have permissions to view the specified job.'
        '404':
          description: 'Not Found: Job with the specified ID could not be found.'
        '500':
          description: 'Internal Server Error: An unexpected error occurred while retrieving the job status.'
  /api/v1/content/_import:
    get:
      tags:
      - Content Import
      summary: Retrieves content import jobs
      description: Fetches a paginated list of all content import jobs regardless of state. Results can be paginated using query parameters.
      operationId: getContentImportJobs
      parameters:
      - name: page
        in: query
        description: Page number to retrieve (1-based indexing).
        schema:
          type: integer
          format: int32
          default: 1
      - name: pageSize
        in: query
        description: Number of records per page.
        schema:
          type: integer
          format: int32
          default: 20
      responses:
        '200':
          description: Successfully retrieved the paginated list of content import jobs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityJobPaginatedResultView'
        '401':
          description: 'Unauthorized: Invalid or missing user authentication.'
        '403':
          description: 'Forbidden: User does not have necessary permissions to view jobs.'
        '500':
          description: 'Internal Server Error: An unexpected error occurred while retrieving jobs.'
    post:
      tags:
      - Content Import
      summary: Imports content from a CSV file
      description: Creates and enqueues a new content import job. Requires a CSV file and a JSON string representing import parameters.
      operationId: importContent
      requestBody:
        description: "This endpoint accepts a `multipart/form-data` request with two fields:\n\n| **Field** | **Type** | **Required** | **Description** |\n|-----------|----------|--------------|-----------------|\n| `file`    | File     | ✅ Yes        | The CSV file to import. Must contain content rows and match the expected structure for the content type. |\n| `form`    | String   | ✅ Yes        | A JSON string containing the import parameters. See structure below. |\n\n**`form` field structure:**\n\n| **Property**         | **Type**   | **Required** | **Default** | **Description** |\n|----------------------|------------|--------------|-------------|-----------------|\n| `contentType`        | String     | ✅ Yes        | –           | Content Type variable or ID to import data into. |\n| `language`           | String     | ❌ No         | Default language | Language code (e.g., `en-US`) or language ID. |\n| `workflowActionId`   | String     | ✅ Yes        | –           | Workflow Action UUID to apply to imported content. |\n| `fields`             | String[]   | ❌ No         | –           | List of field variables or IDs used as keys for content updates. |\n| `stopOnError`        | Boolean    | ❌ No         | `false`     | Whether to stop import on first validation error. |\n| `commitGranularity`  | Integer    | ❌ No         | `100`       | Number of rows to commit in each transaction batch. |\n\n**Example `form` value:**\n\n```json\n{\n  \"contentType\": \"webPageContent\",\n  \"language\": \"en-US\",\n  \"workflowActionId\": \"b9d89c80-3d88-4311-8365-187323c96436\",\n  \"fields\": [\"title\"],\n  \"stopOnError\": false,\n  \"commitGranularity\": 100\n}\n```"
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ContentImportParamsSchema'
        required: true
      responses:
        '200':
          description: Content import job successfully created and enqueued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityJobStatusView'
        '400':
          description: 'Bad Request: Invalid parameters or malformed request (e.g., missing file, invalid JSON in ''form'', file not CSV).'
        '401':
          description: 'Unauthorized: Invalid or missing user authentication.'
        '403':
          description: 'Forbidden: User does not have necessary permissions for content import or workflow action.'
        '404':
          description: 'Not Found: Specified Content Type or Language could not be found.'
        '500':
          description: 'Internal Server Error: An unexpected error occurred during job creation or processing.'
  /api/v1/content/_import/{jobId}/monitor:
    get:
      tags:
      - Content Import
      summary: Monitor a content import job in real-time
      description: Establishes a Server-Sent Events (SSE) connection to monitor the progress of a specific content import job in real-time. This endpoint will continuously send updates as the job progresses, including status changes and completion information.
      operationId: monitorContentImportJobs
      parameters:
      - name: jobId
        in: path
        description: The unique identifier (UUID) of the job whose status is to be retrieved.
        required: true
        schema:
          type: string
          format: uuid
          example: e6d9bae8-657b-4e2f-8524-c0222db66355
      responses:
        '200':
          description: Server-Sent Events stream established successfully. Events will be sent as the job progresses.
          content:
            text/event-stream:
              schema:
                $ref: '#/components/schemas/EventOutput'
        '401':
          description: 'Unauthorized: Invalid or missing user authentication.'
        '403':
          description: 'Forbidden: User does not have permissions to monitor the specified job.'
        '404':
          description: 'Not Found: Job with the specified ID could not be found.'
        '500':
          description: 'Internal Server Error: An unexpected error occurred while establishing the monitoring connection.'
  /api/v1/content/_import/successful:
    get:
      tags:
      - Content Import
      summary: Retrieves successful content import jobs
      description: Fetches a paginated list of successful content import jobs (jobs with state COMPLETED and successful result). Results can be paginated using query parameters.
      operationId: getSuccessfulContentImportJobs
      parameters:
      - name: page
        in: query
        description: Page number to retrieve (1-based indexing).
        schema:
          type: integer
          format: int32
          default: 1
      - name: pageSize
        in: query
        description: Number of records per page.
        schema:
          type: integer
          format: int32
          default: 20
      responses:
        '200':
          description: Successfully retrieved the paginated list of successful content import jobs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityJobPaginatedResultView'
        '401':
          description: 'Unauthorized: Invalid or missing user authentication.'
        '403':
          description: 'Forbidden: User does not have necessary permissions to view jobs.'
        '500':
          description: 'Internal Server Error: An unexpected error occurred while retrieving jobs.'
  /api/v1/content/_import/_validate:
    post:
      tags:
      - Content Import
      summary: Validates content import from a CSV file
      description: Creates and enqueues a content import job in preview mode. This validates the CSV data against the specified Content Type, language, and workflow action without actually importing content.
      operationId: validateContentImport
      requestBody:
        description: "This endpoint accepts a `multipart/form-data` request with two fields:\n\n| **Field** | **Type** | **Required** | **Description** |\n|-----------|----------|--------------|-----------------|\n| `file`    | File     | ✅ Yes        | The CSV file to import. Must contain content rows and match the expected structure for the content type. |\n| `form`    | String   | ✅ Yes        | A JSON string containing the import parameters. See structure below. |\n\n**`form` field structure:**\n\n| **Property**         | **Type**   | **Required** | **Default** | **Description** |\n|----------------------|------------|--------------|-------------|-----------------|\n| `contentType`        | String     | ✅ Yes        | –           | Content Type variable or ID to import data into. |\n| `language`           | String     | ❌ No         | Default language | Language code (e.g., `en-US`) or language ID. |\n| `workflowActionId`   | String     | ✅ Yes        | –           | Workflow Action UUID to apply to imported content. |\n| `fields`             | String[]   | ❌ No         | –           | List of field variables or IDs used as keys for content updates. |\n| `stopOnError`        | Boolean    | ❌ No         | `false`     | Whether to stop import on first validation error. |\n| `commitGranularity`  | Integer    | ❌ No         | `100`       | Number of rows to commit in each transaction batch. |\n\n**Example `form` value:**\n\n```json\n{\n  \"contentType\": \"webPageContent\",\n  \"language\": \"en-US\",\n  \"workflowActionId\": \"b9d89c80-3d88-4311-8365-187323c96436\",\n  \"fields\": [\"title\"],\n  \"stopOnError\": false,\n  \"commitGranularity\": 100\n}\n```"
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ContentImportParamsSchema'
        required: true
      responses:
        '200':
          description: Content import validation job successfully created and enqueued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityJobStatusView'
              example:
                entity:
                  jobId: e6d9bae8-657b-4e2f-8524-c0222db66355
                  statusUrl: http://localhost:8080/api/v1/_import/e6d9bae8-657b-4e2f-8524-c0222db66355
                errors: []
                i18nMessagesMap: {}
                messages: []
                pagination: null
                permissions: []
        '400':
          description: 'Bad Request: Invalid parameters or malformed request (e.g., missing file, invalid JSON in ''form'', file not CSV).'
        '401':
          description: 'Unauthorized: Invalid or missing user authentication.'
        '403':
          description: 'Forbidden: User does not have necessary permissions for validation or workflow action.'
        '404':
          description: 'Not Found: Specified Content Type or Language could not be found.'
        '500':
          description: 'Internal Server Error: An unexpected error occurred during job creation or processing.'
components:
  schemas:
    MessageEntity:
      type: object
      properties:
        message:
          type: string
    ResponseEntityStringView:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorEntity'
        entity:
          type: string
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageEntity'
        i18nMessagesMap:
          type: object
          additionalProperties:
            type: string
        permissions:
          type: array
          items:
            type: string
        pagination:
          $ref: '#/components/schemas/Pagination'
    ResponseEntityJobPaginatedResultView:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorEntity'
        entity:
          $ref: '#/components/schemas/JobPaginatedResult'
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageEntity'
        i18nMessagesMap:
          type: object
          additionalProperties:
            type: string
        permissions:
          type: array
          items:
            type: string
        pagination:
          $ref: '#/components/schemas/Pagination'
    ResponseEntityJobView:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorEntity'
        entity:
          $ref: '#/components/schemas/Job'
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageEntity'
        i18nMessagesMap:
          type: object
          additionalProperties:
            type: string
        permissions:
          type: array
          items:
            type: string
        pagination:
          $ref: '#/components/schemas/Pagination'
    ErrorDetail:
      type: object
      properties:
        message:
          type: string
        exceptionClass:
          type: string
        stackTrace:
          type: string
        timestamp:
          type: string
          format: date-time
        processingStage:
          type: string
    Pagination:
      type: object
      properties:
        currentPage:
          type: integer
          format: int32
        perPage:
          type: integer
          format: int32
        totalEntries:
          type: integer
          format: int64
    ResponseEntityJobStatusView:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorEntity'
        entity:
          $ref: '#/components/schemas/JobStatusResponse'
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageEntity'
        i18nMessagesMap:
          type: object
          additionalProperties:
            type: string
        permissions:
          type: array
          items:
            type: string
        pagination:
          $ref: '#/components/schemas/Pagination'
    JobStatusResponse:
      type: object
      properties:
        jobId:
          type: string
        statusUrl:
          type: string
    EventOutput:
      type: object
      properties:
        type:
          type: object
          properties:
            typeName:
              type: string
        closed:
          type: boolean
    JobResult:
      type: object
      properties:
        errorDetail:
          $ref: '#/components/schemas/ErrorDetail'
        metadata:
          type: object
          additionalProperties:
            type: object
    ErrorEntity:
      type: object
      properties:
        errorCode:
          type: string
        message:
          type: string
        fieldName:
          type: string
    JobPaginatedResult:
      type: object
      properties:
        total:
          type: integer
          format: int64
        page:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        jobs:
          type: array
          properties:
            empty:
              type: boolean
            first:
              $ref: '#/components/schemas/Job'
            last:
              $ref: '#/components/schemas/Job'
          items:
            $ref: '#/components/schemas/Job'
    Job:
      type: object
      properties:
        id:
          type: string
        queueName:
          type: string
        state:
          type: string
          enum:
          - PENDING
          - RUNNING
          - SUCCESS
          - FAILED
          - FAILED_PERMANENTLY
          - ABANDONED
          - ABANDONED_PERMANENTLY
          - CANCEL_REQUESTED
          - CANCELLING
          - CANCELED
        executionNode:
          type: string
        createdAt:
          type: string
          format: date-time
        startedAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        completedAt:
          type: string
          format: date-time
        result:
          $ref: '#/components/schemas/JobResult'
        parameters:
          type: object
          properties:
            empty:
              type: boolean
          additionalProperties:
            type: object
        retryCount:
          type: integer
          format: int32
        progress:
          type: number
          format: float
    ContentImportParamsSchema:
      required:
      - file
      - form
      type: object
      properties:
        file:
          type: string
          description: The CSV file to import.
          format: binary
        form:
          type: string
          description: JSON string representing import settings.
          example: "{\n  \"contentType\": \"activity\",\n  \"language\": \"en-US\",\n  \"workflowActionId\": \"b9d89c80-3d88-4311-8365-187323c96436\",\n  \"fields\": [\"title\"]\n  \"stopOnError\":false \n  \"commitGranularity\": 100\n}"
      description: Schema for content import parameters.