# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Ingestion API version: 1.0.0 extends: openapi/algolia-ingestion-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: 61 - target: $.paths['/{path}'].get update: x-apievangelist-phrasing: intent: Send a raw GET request to the Ingestion API effect: read questions: - Can I read an Ingestion endpoint that the client library doesn't wrap? - Is there a generic way to GET any Ingestion API path with custom query parameters? instructions: - text: Send a raw GET request to Ingestion API path {path}. slots: path: path.path - text: Fetch Ingestion path {path} with query parameters {parameters}. slots: path: path.path parameters: query.parameters method: generated generated: '2026-09-26' - target: $.paths['/{path}'].put update: x-apievangelist-phrasing: intent: Send a raw PUT request to the Ingestion API effect: write questions: - Can I send a custom PUT to an Ingestion path that has no dedicated method? - Is there a passthrough for PUT calls on an arbitrary Ingestion endpoint? instructions: - text: Send a raw PUT request to Ingestion API path {path}. slots: path: path.path - text: PUT to Ingestion path {path} with query parameters {parameters}. slots: path: path.path parameters: query.parameters method: generated generated: '2026-09-26' - target: $.paths['/{path}'].post update: x-apievangelist-phrasing: intent: Send a raw POST request to the Ingestion API effect: write questions: - Can I POST to an Ingestion endpoint the SDK doesn't expose as a method? - What's the generic escape hatch for posting to any Ingestion API path? instructions: - text: Send a raw POST request to Ingestion API path {path}. slots: path: path.path - text: POST to Ingestion path {path} with query parameters {parameters}. slots: path: path.path parameters: query.parameters method: generated generated: '2026-09-26' - target: $.paths['/{path}'].delete update: x-apievangelist-phrasing: intent: Send a raw DELETE request to the Ingestion API effect: destructive questions: - Can I issue a DELETE against an arbitrary Ingestion API path? - Is there a generic delete call for Ingestion endpoints without a dedicated method? instructions: - text: Send a raw DELETE request to Ingestion API path {path}. slots: path: path.path - text: DELETE Ingestion path {path} with query parameters {parameters}. slots: path: path.path parameters: query.parameters method: generated generated: '2026-09-26' - target: $.paths['/1/push/{indexName}'].post update: x-apievangelist-phrasing: intent: Push records to an index through the pipeline effect: write questions: - How do I send records through my transformation pipeline straight into an index by name? - Can I wait for a push to an index to finish instead of getting an async response? instructions: - text: Push records {records} to index {indexName} with action {action}. slots: records: requestBody.records indexName: path.indexName action: requestBody.action - text: Push {records} into index {indexName} as {action} and wait for it to finish (watch={watch}). slots: records: requestBody.records indexName: path.indexName action: requestBody.action watch: query.watch method: generated generated: '2026-09-26' - target: $.paths['/1/authentications'].get update: x-apievangelist-phrasing: intent: List authentication resources effect: read questions: - Which stored credentials do my ingestion connectors use? - Can I list only the authentication resources for one platform or type? instructions: - text: List all my ingestion authentication resources. - text: Show authentication resources of type {type} for platform {platform}. slots: type: query.type platform: query.platform method: generated generated: '2026-09-26' - target: $.paths['/1/authentications'].post update: x-apievangelist-phrasing: intent: Create an authentication resource effect: write questions: - How do I store credentials so a data source or destination can connect? - What do I need to create a new authentication resource for ingestion? instructions: - text: Create a {type} authentication named {name} with credentials {input}. slots: type: requestBody.type name: requestBody.name input: requestBody.input - text: Save new {type} credentials {input} as {name} for platform {platform}. slots: type: requestBody.type input: requestBody.input name: requestBody.name platform: requestBody.platform method: generated generated: '2026-09-26' - target: $.paths['/1/authentications/search'].post update: x-apievangelist-phrasing: intent: Look up several authentication resources by ID effect: read questions: - Can I fetch a batch of authentication resources when I have a list of their IDs? - What's the quickest way to resolve many authentication IDs at once? instructions: - text: Look up authentication resources {authenticationIDs}. slots: authenticationIDs: requestBody.authenticationIDs - text: Fetch the authentications with IDs {authenticationIDs} in one call. slots: authenticationIDs: requestBody.authenticationIDs method: generated generated: '2026-09-26' - target: $.paths['/1/authentications/{authenticationID}'].get update: x-apievangelist-phrasing: intent: Get one authentication resource effect: read questions: - How do I inspect a single stored credential by its ID? - What type and platform is one authentication resource set up for? instructions: - text: Show authentication resource {authenticationID}. slots: authenticationID: path.authenticationID - text: Retrieve credential record {authenticationID}. slots: authenticationID: path.authenticationID method: generated generated: '2026-09-26' - target: $.paths['/1/authentications/{authenticationID}'].delete update: x-apievangelist-phrasing: intent: Delete an authentication resource effect: destructive questions: - How do I delete stored credentials I no longer need? - Why can't I delete an authentication that a source or destination still uses? instructions: - text: Delete authentication resource {authenticationID}. slots: authenticationID: path.authenticationID - text: Remove unused credential record {authenticationID}. slots: authenticationID: path.authenticationID method: generated generated: '2026-09-26' - target: $.paths['/1/authentications/{authenticationID}'].patch update: x-apievangelist-phrasing: intent: Update an authentication resource effect: write questions: - How do I rotate the credentials stored in an authentication resource? - Can I rename an existing authentication resource? instructions: - text: Update authentication {authenticationID} with new credentials {input}. slots: authenticationID: path.authenticationID input: requestBody.input - text: Rename authentication resource {authenticationID} to {name}. slots: authenticationID: path.authenticationID name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/1/destinations'].get update: x-apievangelist-phrasing: intent: List ingestion destinations effect: read questions: - Which destinations are set up to receive my ingested data? - Can I find the destinations that use a particular transformation? instructions: - text: List all my ingestion destinations. - text: Show destinations using authentication {authenticationID}. slots: authenticationID: query.authenticationID - text: List destinations that apply transformation {transformationID}. slots: transformationID: query.transformationID method: generated generated: '2026-09-26' - target: $.paths['/1/destinations'].post update: x-apievangelist-phrasing: intent: Create an ingestion destination effect: write questions: - How do I set up a destination index for my ingestion pipeline? - Can I attach transformations when I create a destination? instructions: - text: Create a {type} destination named {name} with settings {input}. slots: type: requestBody.type name: requestBody.name input: requestBody.input - text: Create destination {name} of type {type} with input {input} and transformations {transformationIDs}. slots: name: requestBody.name type: requestBody.type input: requestBody.input transformationIDs: requestBody.transformationIDs method: generated generated: '2026-09-26' - target: $.paths['/1/destinations/search'].post update: x-apievangelist-phrasing: intent: Look up several destinations by ID effect: read questions: - Can I fetch a batch of destinations given a list of their IDs? - What's the fastest way to resolve many destination IDs at once? instructions: - text: Look up destinations {destinationIDs}. slots: destinationIDs: requestBody.destinationIDs - text: Fetch the destinations with IDs {destinationIDs} in one call. slots: destinationIDs: requestBody.destinationIDs method: generated generated: '2026-09-26' - target: $.paths['/1/destinations/{destinationID}'].get update: x-apievangelist-phrasing: intent: Get one ingestion destination effect: read questions: - How do I see the settings of a single destination? - Which index and transformations does one destination point to? instructions: - text: Show destination {destinationID}. slots: destinationID: path.destinationID - text: Retrieve the configuration of destination {destinationID}. slots: destinationID: path.destinationID method: generated generated: '2026-09-26' - target: $.paths['/1/destinations/{destinationID}'].delete update: x-apievangelist-phrasing: intent: Delete an ingestion destination effect: destructive questions: - How do I remove a destination I no longer write to? - Why won't a destination delete while tasks still reference it? instructions: - text: Delete destination {destinationID}. slots: destinationID: path.destinationID - text: Remove the unused ingestion destination {destinationID}. slots: destinationID: path.destinationID method: generated generated: '2026-09-26' - target: $.paths['/1/destinations/{destinationID}'].patch update: x-apievangelist-phrasing: intent: Update an ingestion destination effect: write questions: - How do I swap the credentials an existing destination uses? - Can I change the transformations applied by a destination after it's created? instructions: - text: Point destination {destinationID} at authentication {authenticationID}. slots: destinationID: path.destinationID authenticationID: requestBody.authenticationID - text: Set destination {destinationID}'s transformations to {transformationIDs}. slots: destinationID: path.destinationID transformationIDs: requestBody.transformationIDs method: generated generated: '2026-09-26' - target: $.paths['/1/sources'].get update: x-apievangelist-phrasing: intent: List ingestion sources effect: read questions: - Which data sources feed my Algolia indices? - Can I list only sources of one type, like my commerce connectors? instructions: - text: List all my ingestion sources. - text: Show sources of type {type} sorted by {sort}. slots: type: query.type sort: query.sort - text: List sources that use authentication {authenticationID}. slots: authenticationID: query.authenticationID method: generated generated: '2026-09-26' - target: $.paths['/1/sources'].post update: x-apievangelist-phrasing: intent: Create an ingestion source effect: write questions: - How do I connect a new data source to Algolia ingestion? - Do I need an authentication resource before creating a source? instructions: - text: Create a {type} source named {name}. slots: type: requestBody.type name: requestBody.name - text: Create source {name} of type {type} with settings {input} and authentication {authenticationID}. slots: name: requestBody.name type: requestBody.type input: requestBody.input authenticationID: requestBody.authenticationID method: generated generated: '2026-09-26' - target: $.paths['/1/sources/validate'].post update: x-apievangelist-phrasing: intent: Validate a new source before creating it effect: read questions: - Can I check that Algolia can reach my data source before I create it? - Is there a dry run for a source payload so I catch config errors early? instructions: - text: Validate a new {type} source named {name} before creating it. slots: type: requestBody.type name: requestBody.name - text: Dry-run source {name} of type {type} with settings {input} to confirm Algolia can reach it. slots: name: requestBody.name type: requestBody.type input: requestBody.input method: generated generated: '2026-09-26' - target: $.paths['/1/sources/search'].post update: x-apievangelist-phrasing: intent: Look up several sources by ID effect: read questions: - Can I fetch a batch of sources when I have their IDs? - What's the quickest way to resolve many source IDs in one request? instructions: - text: Look up sources {sourceIDs}. slots: sourceIDs: requestBody.sourceIDs - text: Fetch the sources with IDs {sourceIDs} in one call. slots: sourceIDs: requestBody.sourceIDs method: generated generated: '2026-09-26' - target: $.paths['/1/sources/{sourceID}'].get update: x-apievangelist-phrasing: intent: Get one ingestion source effect: read questions: - How do I view the configuration of a single data source? - What type and credentials does one source use? instructions: - text: Show source {sourceID}. slots: sourceID: path.sourceID - text: Retrieve the settings of data source {sourceID}. slots: sourceID: path.sourceID method: generated generated: '2026-09-26' - target: $.paths['/1/sources/{sourceID}'].delete update: x-apievangelist-phrasing: intent: Delete an ingestion source effect: destructive questions: - How do I remove a data source I've stopped using? - Why can't I delete a source that tasks still reference? instructions: - text: Delete source {sourceID}. slots: sourceID: path.sourceID - text: Remove the unused data source {sourceID}. slots: sourceID: path.sourceID method: generated generated: '2026-09-26' - target: $.paths['/1/sources/{sourceID}'].patch update: x-apievangelist-phrasing: intent: Update an ingestion source effect: write questions: - How do I change the credentials an existing source connects with? - Can I rename a source or edit its settings after creation? instructions: - text: Update source {sourceID} to use authentication {authenticationID}. slots: sourceID: path.sourceID authenticationID: requestBody.authenticationID - text: Change source {sourceID}'s settings to {input}. slots: sourceID: path.sourceID input: requestBody.input method: generated generated: '2026-09-26' - target: $.paths['/1/sources/{sourceID}/validate'].post update: x-apievangelist-phrasing: intent: Validate changes to a source before saving effect: read questions: - Can I test that an edited source config still connects before I apply it? - Is there a dry run for updating an existing source's settings? instructions: - text: Validate the proposed settings {input} for existing source {sourceID} without saving. slots: input: requestBody.input sourceID: path.sourceID - text: Check that source {sourceID} would still be reachable with authentication {authenticationID}. slots: sourceID: path.sourceID authenticationID: requestBody.authenticationID method: generated generated: '2026-09-26' - target: $.paths['/1/sources/{sourceID}/discover'].post update: x-apievangelist-phrasing: intent: Discover the streams a Docker source offers effect: write questions: - How do I refresh the list of streams available from an Airbyte-based source? - Which kinds of sources support stream discovery? instructions: - text: Trigger stream discovery for Docker source {sourceID}. slots: sourceID: path.sourceID - text: Re-list the available streams on Airbyte source {sourceID}. slots: sourceID: path.sourceID method: generated generated: '2026-09-26' - target: $.paths['/1/sources/{sourceID}/run'].post update: x-apievangelist-phrasing: intent: Run every task linked to a commerce source effect: write questions: - How do I resync all indices fed by my Shopify, BigCommerce or commercetools source at once? - Can I rerun a source's tasks for only certain products or indices? instructions: - text: Run all tasks linked to source {sourceID}. slots: sourceID: path.sourceID - text: Run source {sourceID}'s tasks for entities {entityIDs} of type {entityType} only. slots: sourceID: path.sourceID entityIDs: requestBody.entityIDs entityType: requestBody.entityType - text: Run source {sourceID} but skip indices {indexToExclude}. slots: sourceID: path.sourceID indexToExclude: requestBody.indexToExclude method: generated generated: '2026-09-26' - target: $.paths['/2/tasks'].get update: x-apievangelist-phrasing: intent: List ingestion tasks effect: read questions: - Which ingestion tasks are currently enabled? - Can I list the tasks that move data from one specific source? - Which tasks run on a schedule versus on demand? instructions: - text: List my ingestion tasks. - text: Show tasks from source {sourceID} to destination {destinationID}. slots: sourceID: query.sourceID destinationID: query.destinationID - text: List tasks with trigger type {triggerType} that are enabled={enabled}. slots: triggerType: query.triggerType enabled: query.enabled method: generated generated: '2026-09-26' - target: $.paths['/2/tasks'].post update: x-apievangelist-phrasing: intent: Create an ingestion task effect: write questions: - How do I connect a source to a destination so data flows into my index? - Can I schedule a task to run on a cron expression? instructions: - text: Create a task moving data from source {sourceID} to destination {destinationID} with action {action}. slots: sourceID: requestBody.sourceID destinationID: requestBody.destinationID action: requestBody.action - text: Schedule a {action} task from {sourceID} to {destinationID} on cron {cron}. slots: action: requestBody.action sourceID: requestBody.sourceID destinationID: requestBody.destinationID cron: requestBody.cron method: generated generated: '2026-09-26' - target: $.paths['/2/tasks/search'].post update: x-apievangelist-phrasing: intent: Look up several tasks by ID effect: read questions: - Can I fetch a batch of ingestion tasks when I have their IDs? - What's the fastest way to resolve a list of task IDs with the current endpoint? instructions: - text: Look up tasks {taskIDs}. slots: taskIDs: requestBody.taskIDs - text: Fetch the tasks with IDs {taskIDs} in one call. slots: taskIDs: requestBody.taskIDs method: generated generated: '2026-09-26' - target: $.paths['/2/tasks/{taskID}'].get update: x-apievangelist-phrasing: intent: Get one ingestion task effect: read questions: - How do I see how a specific ingestion task is configured? - What schedule and destination does one task use? instructions: - text: Show task {taskID}. slots: taskID: path.taskID - text: Retrieve the configuration of ingestion task {taskID}. slots: taskID: path.taskID method: generated generated: '2026-09-26' - target: $.paths['/2/tasks/{taskID}'].put update: x-apievangelist-phrasing: intent: Fully replace a task's configuration effect: write questions: - How do I overwrite every field of an ingestion task at once? - What's required when I fully replace a task rather than patching it? instructions: - text: Replace task {taskID} entirely with destination {destinationID} and action {action}. slots: taskID: path.taskID destinationID: requestBody.destinationID action: requestBody.action - text: 'Overwrite all of task {taskID}: destination {destinationID}, action {action}, cron {cron}.' slots: taskID: path.taskID destinationID: requestBody.destinationID action: requestBody.action cron: requestBody.cron method: generated generated: '2026-09-26' - target: $.paths['/2/tasks/{taskID}'].delete update: x-apievangelist-phrasing: intent: Delete an ingestion task effect: destructive questions: - How do I delete an ingestion task I no longer need? - Can I remove a task by its ID with the current endpoint? instructions: - text: Delete task {taskID}. slots: taskID: path.taskID - text: Remove ingestion task {taskID} permanently. slots: taskID: path.taskID method: generated generated: '2026-09-26' - target: $.paths['/2/tasks/{taskID}'].patch update: x-apievangelist-phrasing: intent: Partially update an ingestion task effect: write questions: - How do I change only a task's schedule without resending everything? - Can I adjust the failure threshold on an existing task? instructions: - text: Change task {taskID}'s cron schedule to {cron}. slots: taskID: path.taskID cron: requestBody.cron - text: Set the failure threshold of task {taskID} to {failureThreshold}. slots: taskID: path.taskID failureThreshold: requestBody.failureThreshold method: generated generated: '2026-09-26' - target: $.paths['/2/tasks/{taskID}/run'].post update: x-apievangelist-phrasing: intent: Run an ingestion task now effect: write questions: - How do I trigger an ingestion task immediately instead of waiting for its schedule? - Can I attach metadata to a manual task run? instructions: - text: Run task {taskID} now. slots: taskID: path.taskID - text: Start a run of task {taskID} with run metadata {runMetadata}. slots: taskID: path.taskID runMetadata: requestBody.runMetadata method: generated generated: '2026-09-26' - target: $.paths['/2/tasks/{taskID}/push'].post update: x-apievangelist-phrasing: intent: Push records through a specific task effect: write questions: - How do I push records using an existing task's pipeline and destination? - Can I make a push by task ID synchronous? instructions: - text: Push records {records} through task {taskID} with action {action}. slots: records: requestBody.records taskID: path.taskID action: requestBody.action - text: Send {records} via task {taskID} as {action} and wait for completion (watch={watch}). slots: records: requestBody.records taskID: path.taskID action: requestBody.action watch: query.watch method: generated generated: '2026-09-26' - target: $.paths['/2/tasks/{taskID}/enable'].put update: x-apievangelist-phrasing: intent: Enable an ingestion task effect: write questions: - How do I turn a paused ingestion task back on? - Can I re-enable a task with the current tasks endpoint? instructions: - text: Enable task {taskID}. slots: taskID: path.taskID - text: Turn ingestion task {taskID} back on. slots: taskID: path.taskID method: generated generated: '2026-09-26' - target: $.paths['/2/tasks/{taskID}/disable'].put update: x-apievangelist-phrasing: intent: Disable an ingestion task effect: write questions: - How do I pause an ingestion task without deleting it? - Can I stop a scheduled task from running for now? instructions: - text: Disable task {taskID}. slots: taskID: path.taskID - text: Pause ingestion task {taskID}. slots: taskID: path.taskID method: generated generated: '2026-09-26' - target: $.paths['/1/tasks'].get update: x-apievangelist-phrasing: intent: List tasks with the legacy v1 endpoint effect: read questions: - How do I list ingestion tasks through the older v1 endpoint? - Can the legacy v1 task list filter by source and destination? instructions: - text: List my tasks using the v1 endpoint. - text: List v1 tasks from source {sourceID} to destination {destinationID}. slots: sourceID: query.sourceID destinationID: query.destinationID method: generated generated: '2026-09-26' - target: $.paths['/1/tasks'].post update: x-apievangelist-phrasing: intent: Create a task with the legacy v1 endpoint effect: write questions: - How do I create a task through the older v1 endpoint with a trigger object? - What does the legacy v1 create-task call require? instructions: - text: Create a v1 task from source {sourceID} to destination {destinationID} with trigger {trigger} and action {action}. slots: sourceID: requestBody.sourceID destinationID: requestBody.destinationID trigger: requestBody.trigger action: requestBody.action - text: Use the legacy v1 endpoint to create a {action} task triggered by {trigger} from {sourceID} to {destinationID}. slots: action: requestBody.action trigger: requestBody.trigger sourceID: requestBody.sourceID destinationID: requestBody.destinationID method: generated generated: '2026-09-26' - target: $.paths['/1/tasks/search'].post update: x-apievangelist-phrasing: intent: Look up tasks by ID with the legacy v1 endpoint effect: read questions: - Can I resolve a list of task IDs through the old v1 search endpoint? - Where is the legacy v1 batch lookup for tasks? instructions: - text: Look up v1 tasks {taskIDs}. slots: taskIDs: requestBody.taskIDs - text: Fetch tasks {taskIDs} using the legacy v1 search. slots: taskIDs: requestBody.taskIDs method: generated generated: '2026-09-26' - target: $.paths['/1/tasks/{taskID}'].get update: x-apievangelist-phrasing: intent: Get a task with the legacy v1 endpoint effect: read questions: - How do I retrieve a task through the older v1 endpoint? - Does the legacy v1 API still return a task's trigger? instructions: - text: Show v1 task {taskID}. slots: taskID: path.taskID - text: Retrieve task {taskID} with the legacy v1 endpoint. slots: taskID: path.taskID method: generated generated: '2026-09-26' - target: $.paths['/1/tasks/{taskID}'].delete update: x-apievangelist-phrasing: intent: Delete a task with the legacy v1 endpoint effect: destructive questions: - How do I delete a task through the old v1 endpoint? - Is there still a legacy v1 route for removing tasks? instructions: - text: Delete v1 task {taskID}. slots: taskID: path.taskID - text: Remove task {taskID} using the legacy v1 endpoint. slots: taskID: path.taskID method: generated generated: '2026-09-26' - target: $.paths['/1/tasks/{taskID}'].patch update: x-apievangelist-phrasing: intent: Update a task with the legacy v1 endpoint effect: write questions: - How do I change a task's trigger through the older v1 endpoint? - Can I update a task's destination with the legacy v1 API? instructions: - text: Update v1 task {taskID} to use trigger {trigger}. slots: taskID: path.taskID trigger: requestBody.trigger - text: Point task {taskID} at destination {destinationID} via the legacy v1 endpoint. slots: taskID: path.taskID destinationID: requestBody.destinationID method: generated generated: '2026-09-26' - target: $.paths['/1/tasks/{taskID}/run'].post update: x-apievangelist-phrasing: intent: Run a task with the legacy v1 endpoint effect: write questions: - How do I trigger a task run through the old v1 endpoint? - Is the legacy v1 run-task call still available? instructions: - text: Run v1 task {taskID}. slots: taskID: path.taskID - text: Start task {taskID} with the legacy v1 endpoint and metadata {runMetadata}. slots: taskID: path.taskID runMetadata: requestBody.runMetadata method: generated generated: '2026-09-26' - target: $.paths['/1/tasks/{taskID}/enable'].put update: x-apievangelist-phrasing: intent: Enable a task with the legacy v1 endpoint effect: write questions: - How do I re-enable a task through the older v1 endpoint? - Can I still turn tasks on with the legacy v1 API? instructions: - text: Enable v1 task {taskID}. slots: taskID: path.taskID - text: Turn task {taskID} on using the legacy v1 endpoint. slots: taskID: path.taskID method: generated generated: '2026-09-26' - target: $.paths['/1/tasks/{taskID}/disable'].put update: x-apievangelist-phrasing: intent: Disable a task with the legacy v1 endpoint effect: write questions: - How do I pause a task through the old v1 endpoint? - Is there a legacy v1 route to switch a task off? instructions: - text: Disable v1 task {taskID}. slots: taskID: path.taskID - text: Pause task {taskID} using the legacy v1 endpoint. slots: taskID: path.taskID method: generated generated: '2026-09-26' - target: $.paths['/1/transformations'].get update: x-apievangelist-phrasing: intent: List record transformations effect: read questions: - Which transformations reshape my records before indexing? - Can I list transformations of just one type? instructions: - text: List all my transformations. - text: Show transformations of type {type}, page {page}. slots: type: query.type page: query.page method: generated generated: '2026-09-26' - target: $.paths['/1/transformations'].post update: x-apievangelist-phrasing: intent: Create a record transformation effect: write questions: - How do I write code that reshapes records before they reach my index? - Can a transformation use stored authentications to call out to other services? instructions: - text: Create a transformation named {name} with code {code}. slots: name: requestBody.name code: requestBody.code - text: Create transformation {name}, described as {description}, using authentications {authenticationIDs}. slots: name: requestBody.name description: requestBody.description authenticationIDs: requestBody.authenticationIDs method: generated generated: '2026-09-26' - target: $.paths['/1/transformations/try'].post update: x-apievangelist-phrasing: intent: Test a new transformation on a sample record effect: read questions: - Can I see what my transformation code outputs before I save it? - How do I test draft transformation code against a sample record? instructions: - text: Test transformation code {code} on sample record {sampleRecord}. slots: code: requestBody.code sampleRecord: requestBody.sampleRecord - text: Preview what a new transformation would output for {sampleRecord}. slots: sampleRecord: requestBody.sampleRecord method: generated generated: '2026-09-26' - target: $.paths['/1/transformations/search'].post update: x-apievangelist-phrasing: intent: Look up several transformations by ID effect: read questions: - Can I fetch a batch of transformations given their IDs? - What's the quickest way to resolve many transformation IDs at once? instructions: - text: Look up transformations {transformationIDs}. slots: transformationIDs: requestBody.transformationIDs - text: Fetch the transformations with IDs {transformationIDs} in one call. slots: transformationIDs: requestBody.transformationIDs method: generated generated: '2026-09-26' - target: $.paths['/1/transformations/{transformationID}'].get update: x-apievangelist-phrasing: intent: Get one transformation effect: read questions: - How do I read the code of a single saved transformation? - What does one transformation currently do? instructions: - text: Show transformation {transformationID}. slots: transformationID: path.transformationID - text: Retrieve the code and settings of transformation {transformationID}. slots: transformationID: path.transformationID method: generated generated: '2026-09-26' - target: $.paths['/1/transformations/{transformationID}'].put update: x-apievangelist-phrasing: intent: Update a transformation effect: write questions: - How do I change the code of an existing transformation? - Can I rename a saved transformation? instructions: - text: Update transformation {transformationID} named {name} with new code {code}. slots: transformationID: path.transformationID name: requestBody.name code: requestBody.code - text: Rename transformation {transformationID} to {name}. slots: transformationID: path.transformationID name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/1/transformations/{transformationID}'].delete update: x-apievangelist-phrasing: intent: Delete a transformation effect: destructive questions: - How do I delete a transformation I no longer use? - Can I remove a transformation by its ID? instructions: - text: Delete transformation {transformationID}. slots: transformationID: path.transformationID - text: Remove saved transformation {transformationID}. slots: transformationID: path.transformationID method: generated generated: '2026-09-26' - target: $.paths['/1/transformations/{transformationID}/try'].post update: x-apievangelist-phrasing: intent: Test edits to an existing transformation effect: read questions: - Can I test changes to a saved transformation before applying them? - How do I preview edited transformation code on a sample record without overwriting it? instructions: - text: Test new code {code} for transformation {transformationID} on sample {sampleRecord}. slots: code: requestBody.code transformationID: path.transformationID sampleRecord: requestBody.sampleRecord - text: Preview how existing transformation {transformationID} would change {sampleRecord} after my edits. slots: transformationID: path.transformationID sampleRecord: requestBody.sampleRecord method: generated generated: '2026-09-26' - target: $.paths['/1/runs'].get update: x-apievangelist-phrasing: intent: List task runs effect: read questions: - Which ingestion runs failed in the last day? - Can I see the run history for one task? instructions: - text: List task runs with status {status}. slots: status: query.status - text: Show runs of task {taskID} between {startDate} and {endDate}. slots: taskID: query.taskID startDate: query.startDate endDate: query.endDate method: generated generated: '2026-09-26' - target: $.paths['/1/runs/{runID}'].get update: x-apievangelist-phrasing: intent: Get one task run effect: read questions: - How do I check the outcome of a single ingestion run? - What's the status and timing of one task run? instructions: - text: Show task run {runID}. slots: runID: path.runID - text: Retrieve the status of run {runID}. slots: runID: path.runID method: generated generated: '2026-09-26' - target: $.paths['/1/runs/{runID}/events'].get update: x-apievangelist-phrasing: intent: List events from a task run effect: read questions: - What happened step by step during an ingestion run? - Can I see only the failed events within one run? instructions: - text: List events for run {runID}. slots: runID: path.runID - text: Show events of run {runID} with status {status}. slots: runID: path.runID status: query.status method: generated generated: '2026-09-26' - target: $.paths['/1/runs/{runID}/events/{eventID}'].get update: x-apievangelist-phrasing: intent: Get one task run event effect: read questions: - How do I look at the details of a single event from an ingestion run? - Where do I see the payload of one run event? instructions: - text: Show event {eventID} from run {runID}. slots: eventID: path.eventID runID: path.runID - text: Retrieve the details of run {runID}'s event {eventID}. slots: runID: path.runID eventID: path.eventID method: generated generated: '2026-09-26' - target: $.paths['/setClientApiKey'].get update: x-apievangelist-phrasing: intent: Switch the API key the Ingestion client uses effect: write questions: - Can I change which API key my Ingestion client authenticates with? - How do I rotate the key an existing Ingestion client sends? instructions: - text: Switch the Ingestion client to authenticate with API key {apiKey}. slots: apiKey: query.apiKey - text: Use {apiKey} for all further Ingestion API requests. slots: apiKey: query.apiKey method: generated generated: '2026-09-26' - target: $.paths['/chunkedPush'].get update: x-apievangelist-phrasing: intent: Push a large record list in chunks effect: write questions: - How do I push more than a thousand records without hitting the push size limit? - Can the chunked push helper wait for every batch's task to finish? instructions: - text: Push objects {objects} to index {indexName} in chunks. slots: objects: query.objects indexName: query.indexName - text: Chunk {objects} into batches of {batchSize} and push them to {indexName}, waiting for tasks ({waitForTasks}). slots: objects: query.objects batchSize: query.batchSize indexName: query.indexName waitForTasks: query.waitForTasks method: generated generated: '2026-09-26'