Algolia Ingestion API
Connector-based data ingestion that pulls records from databases, storage and ecommerce platforms into Algolia indices via managed sources, destinations, transformations and tasks. The largest connector surface at 61 operations, and the only Algolia API with real dry-run operations.
Operations 61
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
Ask an LLM
“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?”
Tell an agent
Send a raw GET request to Ingestion API path {path}.
Fetch Ingestion path {path} with query parameters {parameters}.
Ask an LLM
“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?”
Tell an agent
Send a raw POST request to Ingestion API path {path}.
POST to Ingestion path {path} with query parameters {parameters}.
Ask an LLM
“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?”
Tell an agent
Send a raw PUT request to Ingestion API path {path}.
PUT to Ingestion path {path} with query parameters {parameters}.
DELETE
/{path}
Send a raw DELETE request to the Ingestion API · Send requests to the Algolia REST API
#
Ask an LLM
“Can I issue a DELETE against an arbitrary Ingestion API path?”
“Is there a generic delete call for Ingestion endpoints without a dedicated method?”
Tell an agent destructive · confirm first
Send a raw DELETE request to Ingestion API path {path}.
DELETE Ingestion path {path} with query parameters {parameters}.
POST
/1/push/{indexName}
Push records to an index through the pipeline · Push records by indexName
#
Ask an LLM
“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?”
Tell an agent
Push records {records} to index {indexName} with action {action}.
Push {records} into index {indexName} as {action} and wait for it to finish (watch={watch}).
Ask an LLM
“Which stored credentials do my ingestion connectors use?”
“Can I list only the authentication resources for one platform or type?”
Tell an agent
List all my ingestion authentication resources.
Show authentication resources of type {type} for platform {platform}.
Ask an LLM
“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?”
Tell an agent
Create a {type} authentication named {name} with credentials {input}.
Save new {type} credentials {input} as {name} for platform {platform}.
POST
/1/authentications/search
Look up several authentication resources by ID · Search for authentication resources
#
Ask an LLM
“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?”
Tell an agent
Look up authentication resources {authenticationIDs}.
Fetch the authentications with IDs {authenticationIDs} in one call.
GET
/1/authentications/{authenticationID}
Get one authentication resource · Retrieve an authentication resource
#
Ask an LLM
“How do I inspect a single stored credential by its ID?”
“What type and platform is one authentication resource set up for?”
Tell an agent
Show authentication resource {authenticationID}.
Retrieve credential record {authenticationID}.
PATCH
/1/authentications/{authenticationID}
Update an authentication resource · Update an authentication resource
#
Ask an LLM
“How do I rotate the credentials stored in an authentication resource?”
“Can I rename an existing authentication resource?”
Tell an agent
Update authentication {authenticationID} with new credentials {input}.
Rename authentication resource {authenticationID} to {name}.
DELETE
/1/authentications/{authenticationID}
Delete an authentication resource · Delete an authentication resource
#
Ask an LLM
“How do I delete stored credentials I no longer need?”
“Why can't I delete an authentication that a source or destination still uses?”
Tell an agent destructive · confirm first
Delete authentication resource {authenticationID}.
Remove unused credential record {authenticationID}.
Ask an LLM
“Which destinations are set up to receive my ingested data?”
“Can I find the destinations that use a particular transformation?”
Tell an agent
List all my ingestion destinations.
Show destinations using authentication {authenticationID}.
Ask an LLM
“How do I set up a destination index for my ingestion pipeline?”
“Can I attach transformations when I create a destination?”
Tell an agent
Create a {type} destination named {name} with settings {input}.
Create destination {name} of type {type} with input {input} and transformations {transformationIDs}.
Ask an LLM
“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?”
Tell an agent
Look up destinations {destinationIDs}.
Fetch the destinations with IDs {destinationIDs} in one call.
Ask an LLM
“How do I see the settings of a single destination?”
“Which index and transformations does one destination point to?”
Tell an agent
Show destination {destinationID}.
Retrieve the configuration of destination {destinationID}.
Ask an LLM
“How do I swap the credentials an existing destination uses?”
“Can I change the transformations applied by a destination after it's created?”
Tell an agent
Point destination {destinationID} at authentication {authenticationID}.
Set destination {destinationID}'s transformations to {transformationIDs}.
Ask an LLM
“How do I remove a destination I no longer write to?”
“Why won't a destination delete while tasks still reference it?”
Tell an agent destructive · confirm first
Delete destination {destinationID}.
Remove the unused ingestion destination {destinationID}.
Ask an LLM
“Which data sources feed my Algolia indices?”
“Can I list only sources of one type, like my commerce connectors?”
Tell an agent
List all my ingestion sources.
Show sources of type {type} sorted by {sort}.
Ask an LLM
“How do I connect a new data source to Algolia ingestion?”
“Do I need an authentication resource before creating a source?”
Tell an agent
Create a {type} source named {name}.
Create source {name} of type {type} with settings {input} and authentication {authenticationID}.
Ask an LLM
“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?”
Tell an agent
Validate a new {type} source named {name} before creating it.
Dry-run source {name} of type {type} with settings {input} to confirm Algolia can reach it.
Ask an LLM
“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?”
Tell an agent
Look up sources {sourceIDs}.
Fetch the sources with IDs {sourceIDs} in one call.
Ask an LLM
“How do I view the configuration of a single data source?”
“What type and credentials does one source use?”
Tell an agent
Show source {sourceID}.
Retrieve the settings of data source {sourceID}.
Ask an LLM
“How do I change the credentials an existing source connects with?”
“Can I rename a source or edit its settings after creation?”
Tell an agent
Update source {sourceID} to use authentication {authenticationID}.
Change source {sourceID}'s settings to {input}.
Ask an LLM
“How do I remove a data source I've stopped using?”
“Why can't I delete a source that tasks still reference?”
Tell an agent destructive · confirm first
Delete source {sourceID}.
Remove the unused data source {sourceID}.
POST
/1/sources/{sourceID}/validate
Validate changes to a source before saving · Validate an update of a source payload
#
Ask an LLM
“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?”
Tell an agent
Validate the proposed settings {input} for existing source {sourceID} without saving.
Check that source {sourceID} would still be reachable with authentication {authenticationID}.
POST
/1/sources/{sourceID}/discover
Discover the streams a Docker source offers · Trigger a stream-listing request
#
Ask an LLM
“How do I refresh the list of streams available from an Airbyte-based source?”
“Which kinds of sources support stream discovery?”
Tell an agent
Trigger stream discovery for Docker source {sourceID}.
Re-list the available streams on Airbyte source {sourceID}.
POST
/1/sources/{sourceID}/run
Run every task linked to a commerce source · Run all tasks linked to a source
#
Ask an LLM
“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?”
Tell an agent
Run all tasks linked to source {sourceID}.
Run source {sourceID}'s tasks for entities {entityIDs} of type {entityType} only.
Ask an LLM
“Which ingestion tasks are currently enabled?”
“Can I list the tasks that move data from one specific source?”
Tell an agent
List my ingestion tasks.
Show tasks from source {sourceID} to destination {destinationID}.
Ask an LLM
“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?”
Tell an agent
Create a task moving data from source {sourceID} to destination {destinationID} with action {action}.
Schedule a {action} task from {sourceID} to {destinationID} on cron {cron}.
Ask an LLM
“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?”
Tell an agent
Look up tasks {taskIDs}.
Fetch the tasks with IDs {taskIDs} in one call.
Ask an LLM
“How do I see how a specific ingestion task is configured?”
“What schedule and destination does one task use?”
Tell an agent
Show task {taskID}.
Retrieve the configuration of ingestion task {taskID}.
Ask an LLM
“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?”
Tell an agent
Replace task {taskID} entirely with destination {destinationID} and action {action}.
Overwrite all of task {taskID}: destination {destinationID}, action {action}, cron {cron}.
Ask an LLM
“How do I change only a task's schedule without resending everything?”
“Can I adjust the failure threshold on an existing task?”
Tell an agent
Change task {taskID}'s cron schedule to {cron}.
Set the failure threshold of task {taskID} to {failureThreshold}.
Ask an LLM
“How do I delete an ingestion task I no longer need?”
“Can I remove a task by its ID with the current endpoint?”
Tell an agent destructive · confirm first
Delete task {taskID}.
Remove ingestion task {taskID} permanently.
Ask an LLM
“How do I trigger an ingestion task immediately instead of waiting for its schedule?”
“Can I attach metadata to a manual task run?”
Tell an agent
Run task {taskID} now.
Start a run of task {taskID} with run metadata {runMetadata}.
Ask an LLM
“How do I push records using an existing task's pipeline and destination?”
“Can I make a push by task ID synchronous?”
Tell an agent
Push records {records} through task {taskID} with action {action}.
Send {records} via task {taskID} as {action} and wait for completion (watch={watch}).
Ask an LLM
“How do I turn a paused ingestion task back on?”
“Can I re-enable a task with the current tasks endpoint?”
Tell an agent
Enable task {taskID}.
Turn ingestion task {taskID} back on.
Ask an LLM
“How do I pause an ingestion task without deleting it?”
“Can I stop a scheduled task from running for now?”
Tell an agent
Disable task {taskID}.
Pause ingestion task {taskID}.
Ask an LLM
“How do I list ingestion tasks through the older v1 endpoint?”
“Can the legacy v1 task list filter by source and destination?”
Tell an agent
List my tasks using the v1 endpoint.
List v1 tasks from source {sourceID} to destination {destinationID}.
Ask an LLM
“How do I create a task through the older v1 endpoint with a trigger object?”
“What does the legacy v1 create-task call require?”
Tell an agent
Create a v1 task from source {sourceID} to destination {destinationID} with trigger {trigger} and action {action}.
Use the legacy v1 endpoint to create a {action} task triggered by {trigger} from {sourceID} to {destinationID}.
Ask an LLM
“Can I resolve a list of task IDs through the old v1 search endpoint?”
“Where is the legacy v1 batch lookup for tasks?”
Tell an agent
Look up v1 tasks {taskIDs}.
Fetch tasks {taskIDs} using the legacy v1 search.
Ask an LLM
“How do I retrieve a task through the older v1 endpoint?”
“Does the legacy v1 API still return a task's trigger?”
Tell an agent
Show v1 task {taskID}.
Retrieve task {taskID} with the legacy v1 endpoint.
Ask an LLM
“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?”
Tell an agent
Update v1 task {taskID} to use trigger {trigger}.
Point task {taskID} at destination {destinationID} via the legacy v1 endpoint.
Ask an LLM
“How do I delete a task through the old v1 endpoint?”
“Is there still a legacy v1 route for removing tasks?”
Tell an agent destructive · confirm first
Delete v1 task {taskID}.
Remove task {taskID} using the legacy v1 endpoint.
Ask an LLM
“How do I trigger a task run through the old v1 endpoint?”
“Is the legacy v1 run-task call still available?”
Tell an agent
Run v1 task {taskID}.
Start task {taskID} with the legacy v1 endpoint and metadata {runMetadata}.
Ask an LLM
“How do I re-enable a task through the older v1 endpoint?”
“Can I still turn tasks on with the legacy v1 API?”
Tell an agent
Enable v1 task {taskID}.
Turn task {taskID} on using the legacy v1 endpoint.
Ask an LLM
“How do I pause a task through the old v1 endpoint?”
“Is there a legacy v1 route to switch a task off?”
Tell an agent
Disable v1 task {taskID}.
Pause task {taskID} using the legacy v1 endpoint.
Ask an LLM
“Which transformations reshape my records before indexing?”
“Can I list transformations of just one type?”
Tell an agent
List all my transformations.
Show transformations of type {type}, page {page}.
Ask an LLM
“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?”
Tell an agent
Create a transformation named {name} with code {code}.
Create transformation {name}, described as {description}, using authentications {authenticationIDs}.
POST
/1/transformations/try
Test a new transformation on a sample record · Try a transformation before creating it
#
Ask an LLM
“Can I see what my transformation code outputs before I save it?”
“How do I test draft transformation code against a sample record?”
Tell an agent
Test transformation code {code} on sample record {sampleRecord}.
Preview what a new transformation would output for {sampleRecord}.
Ask an LLM
“Can I fetch a batch of transformations given their IDs?”
“What's the quickest way to resolve many transformation IDs at once?”
Tell an agent
Look up transformations {transformationIDs}.
Fetch the transformations with IDs {transformationIDs} in one call.
Ask an LLM
“How do I read the code of a single saved transformation?”
“What does one transformation currently do?”
Tell an agent
Show transformation {transformationID}.
Retrieve the code and settings of transformation {transformationID}.
Ask an LLM
“How do I change the code of an existing transformation?”
“Can I rename a saved transformation?”
Tell an agent
Update transformation {transformationID} named {name} with new code {code}.
Rename transformation {transformationID} to {name}.
Ask an LLM
“How do I delete a transformation I no longer use?”
“Can I remove a transformation by its ID?”
Tell an agent destructive · confirm first
Delete transformation {transformationID}.
Remove saved transformation {transformationID}.
POST
/1/transformations/{transformationID}/try
Test edits to an existing transformation · Try a transformation before updating it
#
Ask an LLM
“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?”
Tell an agent
Test new code {code} for transformation {transformationID} on sample {sampleRecord}.
Preview how existing transformation {transformationID} would change {sampleRecord} after my edits.
Ask an LLM
“Which ingestion runs failed in the last day?”
“Can I see the run history for one task?”
Tell an agent
List task runs with status {status}.
Show runs of task {taskID} between {startDate} and {endDate}.
Ask an LLM
“How do I check the outcome of a single ingestion run?”
“What's the status and timing of one task run?”
Tell an agent
Show task run {runID}.
Retrieve the status of run {runID}.
Ask an LLM
“What happened step by step during an ingestion run?”
“Can I see only the failed events within one run?”
Tell an agent
List events for run {runID}.
Show events of run {runID} with status {status}.
Ask an LLM
“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?”
Tell an agent
Show event {eventID} from run {runID}.
Retrieve the details of run {runID}'s event {eventID}.
GET
/setClientApiKey
Switch the API key the Ingestion client uses · Switch the API key used to authenticate requests
#
Ask an LLM
“Can I change which API key my Ingestion client authenticates with?”
“How do I rotate the key an existing Ingestion client sends?”
Tell an agent
Switch the Ingestion client to authenticate with API key {apiKey}.
Use {apiKey} for all further Ingestion API requests.
Ask an LLM
“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?”
Tell an agent
Push objects {objects} to index {indexName} in chunks.
Chunk {objects} into batches of {batchSize} and push them to {indexName}, waiting for tasks ({waitForTasks}).
Documentation
Specifications
Schemas & Data
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/algolia/refs/heads/main/json-schema/algolia-task-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/algolia/refs/heads/main/json-schema/algolia-run-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/algolia/refs/heads/main/json-schema/algolia-task-v1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/algolia/refs/heads/main/json-schema/algolia-task-create-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/algolia/refs/heads/main/json-schema/algolia-watch-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/algolia/refs/heads/main/json-schema/algolia-task-create-v1-schema.json