# 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 ICP Extension API version: 1.0.0 extends: openapi/live-direct-marketing-online-icp-extension-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: 17 - target: $.paths['/api/icp-tasks'].get update: x-apievangelist-phrasing: intent: List ICP tasks effect: read questions: - Which ICP tasks do I have, and can I filter them by status? - Can I page through all my ideal customer profile tasks? instructions: - text: List ICP tasks with status {status}, page {page} of size {pageSize}. slots: status: query.status page: query.page pageSize: query.pageSize - text: Show page {page} of my ICP tasks. slots: page: query.page method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks'].post update: x-apievangelist-phrasing: intent: Create an ICP task effect: write questions: - How do I set up a new ideal customer profile task? - Can I give a new ICP task a description and config when creating it? instructions: - text: Create an ICP task titled {title}. slots: title: requestBody.title - text: Create ICP task {title} described as {description}. slots: title: requestBody.title description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks/companies/scrape/preview'].get update: x-apievangelist-phrasing: intent: Preview website crawl coverage for a company list effect: read questions: - Before crawling, how many companies in a list actually have a website domain filled in? - Can I see unique domain counts for a company list without starting a crawl? instructions: - text: Preview crawl coverage for company list {listId} using domain field {domainField}. slots: listId: query.listId domainField: query.domainField - text: Count unique domains in list {listId} from field {domainField} without crawling. slots: listId: query.listId domainField: query.domainField method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks/companies/scrape/{taskId}'].get update: x-apievangelist-phrasing: intent: Check a company website crawl's progress effect: read questions: - How far along is my company website crawl? - Can I get crawl status without the huge results payload on big tasks? instructions: - text: Get the status of crawl task {taskId}. slots: taskId: path.taskId - text: Check crawl {taskId} progress with includeResults set to {includeResults}. slots: taskId: path.taskId includeResults: query.includeResults method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks/companies/scrape/{taskId}/cancel'].post update: x-apievangelist-phrasing: intent: Cancel a company website crawl effect: destructive questions: - Can I abort a site crawl that is running on my companies? - What if I need to kill a crawl task permanently rather than pause it? instructions: - text: Cancel crawl task {taskId}. slots: taskId: path.taskId - text: Abort the site crawl {taskId}. slots: taskId: path.taskId method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks/{id}'].get update: x-apievangelist-phrasing: intent: Get an ICP task effect: read questions: - What are the settings of one specific ICP task? - Can I fetch an ICP task's details by id? instructions: - text: Get ICP task {id}. slots: id: path.id - text: Show details for ICP task {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks/{id}'].delete update: x-apievangelist-phrasing: intent: Delete an ICP task effect: destructive questions: - Can I delete an ICP task I no longer need? - Is removing an ICP task permanent? instructions: - text: Delete ICP task {id}. slots: id: path.id - text: Remove the ICP task {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks/{id}'].patch update: x-apievangelist-phrasing: intent: Update an ICP task effect: write questions: - Can I rename an ICP task or change its status and config? - What can I edit on an existing ideal customer profile task? instructions: - text: Rename ICP task {id} to {title}. slots: id: path.id title: requestBody.title - text: Set ICP task {id} status to {status}. slots: id: path.id status: requestBody.status method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks/{id}/scoring-prompt'].get update: x-apievangelist-phrasing: intent: Preview an ICP task's scoring prompt effect: read questions: - What exact prompt will be used to score companies for this ICP task? - Can I see whether the scoring prompt is brief-driven, custom or the default? instructions: - text: Preview the scoring prompt for ICP task {id}. slots: id: path.id - text: Show the actual scoring prompt used by ICP task {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks/companies/scrape'].post update: x-apievangelist-phrasing: intent: Start a website crawl on companies effect: write questions: - Can I crawl the websites of every company in a list in the background? - Is there a limit on how many company pages get visited during a crawl? instructions: - text: Crawl the websites of companies in list {listId}. slots: listId: requestBody.listId - text: Start a site crawl on companies {companyIds} and score with task {scoringTaskId}. slots: companyIds: requestBody.companyIds scoringTaskId: requestBody.scoringTaskId - text: Crawl list {listId} visiting up to {visitPages} pages per site. slots: listId: requestBody.listId visitPages: requestBody.visitPages method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks/companies/scrape/{taskId}/pause'].post update: x-apievangelist-phrasing: intent: Pause a company website crawl effect: write questions: - Can I temporarily pause a site crawl and pick it up later? - Is there a way to hold a running crawl without losing progress? instructions: - text: Pause crawl task {taskId}. slots: taskId: path.taskId - text: Put site crawl {taskId} on hold. slots: taskId: path.taskId method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks/companies/scrape/{taskId}/resume'].post update: x-apievangelist-phrasing: intent: Resume a paused website crawl effect: write questions: - How can I continue a site crawl I paused earlier? - Can a paused crawl task pick up where it stopped? instructions: - text: Resume crawl task {taskId}. slots: taskId: path.taskId - text: Restart the paused site crawl {taskId}. slots: taskId: path.taskId method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks/companies/scrape/{taskId}/items'].get update: x-apievangelist-phrasing: intent: List a crawl task's per-company results effect: read questions: - Which companies failed in my site crawl, and why? - Can I filter crawl items by outcome or reason code? instructions: - text: List items of crawl {taskId} with status {status}. slots: taskId: path.taskId status: query.status - text: Show crawl {taskId} items that failed with reason {reasonCode}. slots: taskId: path.taskId reasonCode: query.reasonCode method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks/{id}/regenerate-key'].post update: x-apievangelist-phrasing: intent: Regenerate an ICP task's project key effect: write questions: - Can I rotate the project key for an ICP task if it leaked? - What happens to the old key when I regenerate it for an ICP task? instructions: - text: Regenerate the project key for ICP task {id}. slots: id: path.id - text: Rotate ICP task {id}'s project key. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks/{id}/statistics'].get update: x-apievangelist-phrasing: intent: Get an ICP task's statistics effect: read questions: - How is a particular ICP task performing in numbers? - Can I see summary statistics for one ICP task? instructions: - text: Show statistics for ICP task {id}. slots: id: path.id - text: Get the numbers for ICP task {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks/{id}/items'].get update: x-apievangelist-phrasing: intent: List items collected by an ICP task effect: read questions: - What items has an ICP task collected, and can I filter by date or company? - Can I search within an ICP task's items by text or module? instructions: - text: List items for ICP task {id} with status {status}. slots: id: path.id status: query.status - text: Search ICP task {id} items for {q} between {dateFrom} and {dateTo}. slots: id: path.id q: query.q dateFrom: query.dateFrom dateTo: query.dateTo - text: Show ICP task {id} items for company {companyId}. slots: id: path.id companyId: query.companyId method: generated generated: '2026-10-01' - target: $.paths['/api/icp-tasks/{id}/download-extension'].get update: x-apievangelist-phrasing: intent: Download the Chrome extension for an ICP task effect: read questions: - Where do I get the pre-built Chrome extension tied to my ICP task? - Can I download the ICP browser extension in a specific language? instructions: - text: Download the Chrome extension zip for ICP task {id}. slots: id: path.id - text: Get ICP task {id}'s extension in language {lang}. slots: id: path.id lang: query.lang method: generated generated: '2026-10-01'