# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for dotCMS REST Content Import API version: 1.0.0 extends: openapi/dotcms-content-import-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 12 - target: $.paths['/api/v1/content/_import/abandoned'].get update: x-apievangelist-phrasing: intent: List abandoned content import jobs effect: read questions: - Which content imports were abandoned and never finished? - Can I page through abandoned CSV import jobs? instructions: - text: List abandoned content import jobs. - text: Show page {page} of abandoned imports, {pageSize} per page. slots: page: query.page pageSize: query.pageSize method: generated generated: '2026-09-26' - target: $.paths['/api/v1/content/_import/active'].get update: x-apievangelist-phrasing: intent: List active content import jobs effect: read questions: - What content imports are running or queued right now? - Which CSV imports are still new, processing or waiting? instructions: - text: List the content import jobs currently in progress. - text: Show page {page} of active imports with {pageSize} per page. slots: page: query.page pageSize: query.pageSize method: generated generated: '2026-09-26' - target: $.paths['/api/v1/content/_import/{jobId}/cancel'].post update: x-apievangelist-phrasing: intent: Cancel a content import job effect: destructive questions: - How do I stop a CSV content import that's running? - Does canceling an import take effect immediately? instructions: - text: Cancel content import job {jobId}. slots: jobId: path.jobId - text: Request cancellation of import {jobId}. slots: jobId: path.jobId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/content/_import/canceled'].get update: x-apievangelist-phrasing: intent: List canceled content import jobs effect: read questions: - Which content imports were canceled? - Can I see a paginated history of imports someone stopped? instructions: - text: List canceled content import jobs. - text: Show page {page} of canceled imports. slots: page: query.page method: generated generated: '2026-09-26' - target: $.paths['/api/v1/content/_import/completed'].get update: x-apievangelist-phrasing: intent: List completed content import jobs effect: read questions: - Which content imports have finished running, successful or not? - Can I list every import job in the completed state? instructions: - text: List completed content import jobs. - text: Show page {page} of completed imports, {pageSize} at a time. slots: page: query.page pageSize: query.pageSize method: generated generated: '2026-09-26' - target: $.paths['/api/v1/content/_import/failed'].get update: x-apievangelist-phrasing: intent: List failed content import jobs effect: read questions: - Which CSV content imports failed? - Can I page through import jobs that ended in error? instructions: - text: List failed content import jobs. - text: Show page {page} of failed imports. slots: page: query.page method: generated generated: '2026-09-26' - target: $.paths['/api/v1/content/_import/{jobId}'].get update: x-apievangelist-phrasing: intent: Get a content import job's status effect: read questions: - What's the current status of my content import? - How far along is a specific CSV import job? instructions: - text: Get the status of content import job {jobId}. slots: jobId: path.jobId - text: Show detailed progress for import {jobId}. slots: jobId: path.jobId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/content/_import'].get update: x-apievangelist-phrasing: intent: List all content import jobs effect: read questions: - Can I see every content import job regardless of its state? - What imports have been run on this instance? instructions: - text: List all content import jobs. - text: Show page {page} of every import job, {pageSize} per page. slots: page: query.page pageSize: query.pageSize method: generated generated: '2026-09-26' - target: $.paths['/api/v1/content/_import'].post update: x-apievangelist-phrasing: intent: Import content from a CSV file effect: write questions: - How do I bulk import content into dotCMS from a CSV? - What parameters does a CSV content import need besides the file? instructions: - text: Import content from CSV {file} using import parameters {form}. slots: file: requestBody.file form: requestBody.form - text: Queue an import job for {file} with settings {form}. slots: file: requestBody.file form: requestBody.form method: generated generated: '2026-09-26' - target: $.paths['/api/v1/content/_import/{jobId}/monitor'].get update: x-apievangelist-phrasing: intent: Stream live progress of an import job effect: read questions: - Can I watch a content import's progress in real time? - Is there a server-sent events stream for import job updates? instructions: - text: Stream live updates for content import job {jobId}. slots: jobId: path.jobId - text: Monitor import {jobId} until it completes. slots: jobId: path.jobId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/content/_import/successful'].get update: x-apievangelist-phrasing: intent: List successful content import jobs effect: read questions: - Which content imports completed successfully? - Can I list only the imports that finished without errors? instructions: - text: List successful content import jobs. - text: Show page {page} of imports that succeeded. slots: page: query.page method: generated generated: '2026-09-26' - target: $.paths['/api/v1/content/_import/_validate'].post update: x-apievangelist-phrasing: intent: Validate a CSV import without importing effect: read questions: - 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? instructions: - text: Validate CSV {file} with parameters {form} in preview mode without importing. slots: file: requestBody.file form: requestBody.form - text: Dry-run the import of {file} to catch errors first. slots: file: requestBody.file method: generated generated: '2026-09-26'