# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Live Direct Marketing Online Import API version: 1.0.0 extends: openapi/live-direct-marketing-online-import-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 10 - target: $.paths['/api/import/templates'].get update: x-apievangelist-phrasing: intent: List import templates effect: read questions: - Which import templates are available for CSV uploads? - Are there predefined column mappings for importing contacts? instructions: - text: List the available import templates. - text: Show all import templates I can apply. method: generated generated: '2026-10-01' - target: $.paths['/api/import/templates/detect'].post update: x-apievangelist-phrasing: intent: Detect the best import template from CSV headers effect: read questions: - Can the system guess which import template fits my spreadsheet columns? - Which template best matches a CSV with these headers? instructions: - text: Detect the best import template for headers {headers}. slots: headers: requestBody.headers - text: Match CSV columns {headers} to an import template. slots: headers: requestBody.headers method: generated generated: '2026-10-01' - target: $.paths['/api/import/templates/apply'].post update: x-apievangelist-phrasing: intent: Map CSV headers with an import template effect: read questions: - How do my CSV columns map to fields when I apply a specific template? - Can I preview a template's field mapping before running an import? instructions: - text: Apply import template {templateId} to headers {headers}. slots: templateId: requestBody.templateId headers: requestBody.headers - text: Preview how template {templateId} maps columns {headers}. slots: templateId: requestBody.templateId headers: requestBody.headers method: generated generated: '2026-10-01' - target: $.paths['/api/import/tasks'].post update: x-apievangelist-phrasing: intent: Start an import of contacts or companies effect: write questions: - How do I import contacts from a spreadsheet into a new list? - Can an import also create CRM leads in a pipeline? - What options are there for handling duplicates during import? instructions: - text: Import {entity} rows from {sourceType} using template {templateId}. slots: entity: requestBody.entity sourceType: requestBody.sourceType templateId: requestBody.templateId - text: Import contacts into a new list called {newListName}, deduplicating by {deduplicateBy}. slots: newListName: requestBody.newListName deduplicateBy: requestBody.deduplicateBy - text: Run an import that creates leads in pipeline {pipelineId}. slots: pipelineId: requestBody.pipelineId method: generated generated: '2026-10-01' - target: $.paths['/api/import/from-url'].post update: x-apievangelist-phrasing: intent: Fetch an import file from a link effect: write questions: - Can I import a list straight from a Google Sheets link? - Does importing from a URL start the import right away? instructions: - text: Fetch the spreadsheet at {url} for import. slots: url: requestBody.url - text: Load the CSV at {url} for import into list {listId}. slots: url: requestBody.url listId: requestBody.listId method: generated generated: '2026-10-01' - target: $.paths['/api/import/tasks/{id}'].get update: x-apievangelist-phrasing: intent: Get an import task's status effect: read questions: - Is my import finished, and how many rows succeeded? - Can I check the progress of an import task? instructions: - text: Show import task {id}. slots: id: path.id - text: Check the progress of import {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/api/import/tasks/{id}/log'].get update: x-apievangelist-phrasing: intent: Read an import's row-level log effect: read questions: - Which rows in my import failed, and why? - Can I filter an import log to just errors? instructions: - text: Show page {page} of the log for import {id}, {pageSize} rows per page. slots: page: query.page id: path.id pageSize: query.pageSize - text: List rows with status {status} in import {id}'s log. slots: status: query.status id: path.id method: generated generated: '2026-10-01' - target: $.paths['/api/import/tasks/{id}/log/csv'].get update: x-apievangelist-phrasing: intent: Download an import log as CSV effect: read questions: - Can I export an import's row log to a CSV file? - Where do I get a downloadable report of an import's results? instructions: - text: Download the CSV log for import {id}. slots: id: path.id - text: Export import {id}'s row log as a spreadsheet. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/api/import/tasks/{id}/cancel'].post update: x-apievangelist-phrasing: intent: Cancel a running import effect: destructive questions: - How do I stop an import that's still running? - Can I cancel an import task partway through? instructions: - text: Cancel import {id}. slots: id: path.id - text: Stop in-progress import task {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/api/import/tasks/{id}/rollback'].post update: x-apievangelist-phrasing: intent: Roll back an import effect: destructive questions: - Can I undo everything an import created? - What happens to imported records when I roll back an import task? instructions: - text: Roll back import {id}. slots: id: path.id - text: Undo the changes made by import task {id}. slots: id: path.id method: generated generated: '2026-10-01'