curl
curl --request POST \
--url https://data.us.algolia.com/1/sources/6c02aeb1-775e-418e-870b-1faccd4b2c0f/run \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-algolia-api-key: ALGOLIA_API_KEY' \
--header 'x-algolia-application-id: ALGOLIA_APPLICATION_ID' \
--data '
{
"indexToInclude": [
"lorem"
],
"indexToExclude": [
"lorem"
],
"entityIDs": [
"lorem"
],
"entityType": "product",
"runMetadata": {}
}
'// Initialize the client
var client = new IngestionClient(
new IngestionConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION")
);
// Call the API
var response = await client.RunSourceAsync(
"6c02aeb1-775e-418e-870b-1faccd4b2c0f",
new RunSourcePayload
{
IndexToInclude = new List<string> { "products_us", "products eu" },
EntityIDs = new List<string> { "1234", "5678" },
EntityType = Enum.Parse<EntityType>("Product"),
}
);
// print the response
Console.WriteLine(response);// Initialize the client
final client = IngestionClient(
appId: 'ALGOLIA_APPLICATION_ID',
apiKey: 'ALGOLIA_API_KEY',
region: 'ALGOLIA_APPLICATION_REGION');
// Call the API
final response = await client.runSource(
sourceID: "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
runSourcePayload: RunSourcePayload(
indexToInclude: [
"products_us",
"products eu",
],
entityIDs: [
"1234",
"5678",
],
entityType: EntityType.fromJson("product"),
),
);
// print the response
print(response);// Initialize the client with your application region, eg. ingestion.ALGOLIA_APPLICATION_REGION
client, err := ingestion.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", ingestion.US)
if err != nil {
// The client can fail to initialize if you pass an invalid parameter.
panic(err)
}
// Call the API
response, err := client.RunSource(client.NewApiRunSourceRequest(
"6c02aeb1-775e-418e-870b-1faccd4b2c0f").WithRunSourcePayload(
ingestion.NewEmptyRunSourcePayload().SetIndexToInclude(
[]string{"products_us", "products eu"}).SetEntityIDs(
[]string{"1234", "5678"}).SetEntityType(ingestion.EntityType("product"))))
if err != nil {
// handle the eventual error
panic(err)
}
// print the response
print(response)// Initialize the client
IngestionClient client = new IngestionClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION");
// Call the API
RunSourceResponse response = client.runSource(
"6c02aeb1-775e-418e-870b-1faccd4b2c0f",
new RunSourcePayload()
.setIndexToInclude(Arrays.asList("products_us", "products eu"))
.setEntityIDs(Arrays.asList("1234", "5678"))
.setEntityType(EntityType.PRODUCT)
);
// print the response
System.out.println(response);// Initialize the client
// Replace 'us' with your Algolia Application Region
const client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY').initIngestion({ region: 'us' });
// Call the API
const response = await client.runSource({
sourceID: '6c02aeb1-775e-418e-870b-1faccd4b2c0f',
runSourcePayload: {
indexToInclude: ['products_us', 'products eu'],
entityIDs: ['1234', '5678'],
entityType: 'product',
},
});
// print the response
console.log(response);// Initialize the client
val client =
IngestionClient(
appId = "ALGOLIA_APPLICATION_ID",
apiKey = "ALGOLIA_API_KEY",
region = "ALGOLIA_APPLICATION_REGION",
)
// Call the API
var response =
client.runSource(
sourceID = "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
runSourcePayload =
RunSourcePayload(
indexToInclude = listOf("products_us", "products eu"),
entityIDs = listOf("1234", "5678"),
entityType = EntityType.entries.first { it.value == "product" },
),
)
// print the response
println(response)// Initialize the client
$client = IngestionClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY', 'ALGOLIA_APPLICATION_REGION');
// Call the API
$response = $client->runSource(
'6c02aeb1-775e-418e-870b-1faccd4b2c0f',
['indexToInclude' => [
'products_us',
'products eu',
],
'entityIDs' => [
'1234',
'5678',
],
'entityType' => 'product',
],
);
// print the response
var_dump($response);# Initialize the client
# In an asynchronous context, you can use IngestionClient instead, which exposes the exact same methods.
client = IngestionClientSync(
"ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION"
)
# Call the API
response = client.run_source(
source_id="6c02aeb1-775e-418e-870b-1faccd4b2c0f",
run_source_payload={
"indexToInclude": [
"products_us",
"products eu",
],
"entityIDs": [
"1234",
"5678",
],
"entityType": "product",
},
)
# print the response
print(response)# Initialize the client
client = Algolia::IngestionClient.create("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION")
# Call the API
response = client.run_source(
"6c02aeb1-775e-418e-870b-1faccd4b2c0f",
Algolia::Ingestion::RunSourcePayload.new(
index_to_include: ["products_us", "products eu"],
entity_ids: ["1234", "5678"],
entity_type: "product"
)
)
# print the response
puts(response)// Initialize the client
val client = IngestionClient(
appId = "ALGOLIA_APPLICATION_ID",
apiKey = "ALGOLIA_API_KEY",
region = "ALGOLIA_APPLICATION_REGION"
)
// Call the API
val response = Await.result(
client.runSource(
sourceID = "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
runSourcePayload = Some(
RunSourcePayload(
indexToInclude = Some(Seq("products_us", "products eu")),
entityIDs = Some(Seq("1234", "5678")),
entityType = Some(EntityType.withName("product"))
)
)
),
Duration(100, "sec")
)
// print the response
println(response)// Initialize the client
let client = try IngestionClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY", region: .us)
// Call the API
let response = try await client.runSource(
sourceID: "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
runSourcePayload: RunSourcePayload(
indexToInclude: ["products_us", "products eu"],
entityIDs: ["1234", "5678"],
entityType: EntityType.product
)
)
// print the response
print(response){
"createdAt": "<string>",
"taskWithRunID": {}
}{
"message": "Invalid Application-Id or API-Key"
}Sources
Run all tasks linked to a source
Runs all tasks linked to a source, only available for Shopify, BigCommerce and commercetools sources.
POST
/
1
/
sources
/
{sourceID}
/
run
curl
curl --request POST \
--url https://data.us.algolia.com/1/sources/6c02aeb1-775e-418e-870b-1faccd4b2c0f/run \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-algolia-api-key: ALGOLIA_API_KEY' \
--header 'x-algolia-application-id: ALGOLIA_APPLICATION_ID' \
--data '
{
"indexToInclude": [
"lorem"
],
"indexToExclude": [
"lorem"
],
"entityIDs": [
"lorem"
],
"entityType": "product",
"runMetadata": {}
}
'// Initialize the client
var client = new IngestionClient(
new IngestionConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION")
);
// Call the API
var response = await client.RunSourceAsync(
"6c02aeb1-775e-418e-870b-1faccd4b2c0f",
new RunSourcePayload
{
IndexToInclude = new List<string> { "products_us", "products eu" },
EntityIDs = new List<string> { "1234", "5678" },
EntityType = Enum.Parse<EntityType>("Product"),
}
);
// print the response
Console.WriteLine(response);// Initialize the client
final client = IngestionClient(
appId: 'ALGOLIA_APPLICATION_ID',
apiKey: 'ALGOLIA_API_KEY',
region: 'ALGOLIA_APPLICATION_REGION');
// Call the API
final response = await client.runSource(
sourceID: "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
runSourcePayload: RunSourcePayload(
indexToInclude: [
"products_us",
"products eu",
],
entityIDs: [
"1234",
"5678",
],
entityType: EntityType.fromJson("product"),
),
);
// print the response
print(response);// Initialize the client with your application region, eg. ingestion.ALGOLIA_APPLICATION_REGION
client, err := ingestion.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", ingestion.US)
if err != nil {
// The client can fail to initialize if you pass an invalid parameter.
panic(err)
}
// Call the API
response, err := client.RunSource(client.NewApiRunSourceRequest(
"6c02aeb1-775e-418e-870b-1faccd4b2c0f").WithRunSourcePayload(
ingestion.NewEmptyRunSourcePayload().SetIndexToInclude(
[]string{"products_us", "products eu"}).SetEntityIDs(
[]string{"1234", "5678"}).SetEntityType(ingestion.EntityType("product"))))
if err != nil {
// handle the eventual error
panic(err)
}
// print the response
print(response)// Initialize the client
IngestionClient client = new IngestionClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION");
// Call the API
RunSourceResponse response = client.runSource(
"6c02aeb1-775e-418e-870b-1faccd4b2c0f",
new RunSourcePayload()
.setIndexToInclude(Arrays.asList("products_us", "products eu"))
.setEntityIDs(Arrays.asList("1234", "5678"))
.setEntityType(EntityType.PRODUCT)
);
// print the response
System.out.println(response);// Initialize the client
// Replace 'us' with your Algolia Application Region
const client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY').initIngestion({ region: 'us' });
// Call the API
const response = await client.runSource({
sourceID: '6c02aeb1-775e-418e-870b-1faccd4b2c0f',
runSourcePayload: {
indexToInclude: ['products_us', 'products eu'],
entityIDs: ['1234', '5678'],
entityType: 'product',
},
});
// print the response
console.log(response);// Initialize the client
val client =
IngestionClient(
appId = "ALGOLIA_APPLICATION_ID",
apiKey = "ALGOLIA_API_KEY",
region = "ALGOLIA_APPLICATION_REGION",
)
// Call the API
var response =
client.runSource(
sourceID = "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
runSourcePayload =
RunSourcePayload(
indexToInclude = listOf("products_us", "products eu"),
entityIDs = listOf("1234", "5678"),
entityType = EntityType.entries.first { it.value == "product" },
),
)
// print the response
println(response)// Initialize the client
$client = IngestionClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY', 'ALGOLIA_APPLICATION_REGION');
// Call the API
$response = $client->runSource(
'6c02aeb1-775e-418e-870b-1faccd4b2c0f',
['indexToInclude' => [
'products_us',
'products eu',
],
'entityIDs' => [
'1234',
'5678',
],
'entityType' => 'product',
],
);
// print the response
var_dump($response);# Initialize the client
# In an asynchronous context, you can use IngestionClient instead, which exposes the exact same methods.
client = IngestionClientSync(
"ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION"
)
# Call the API
response = client.run_source(
source_id="6c02aeb1-775e-418e-870b-1faccd4b2c0f",
run_source_payload={
"indexToInclude": [
"products_us",
"products eu",
],
"entityIDs": [
"1234",
"5678",
],
"entityType": "product",
},
)
# print the response
print(response)# Initialize the client
client = Algolia::IngestionClient.create("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION")
# Call the API
response = client.run_source(
"6c02aeb1-775e-418e-870b-1faccd4b2c0f",
Algolia::Ingestion::RunSourcePayload.new(
index_to_include: ["products_us", "products eu"],
entity_ids: ["1234", "5678"],
entity_type: "product"
)
)
# print the response
puts(response)// Initialize the client
val client = IngestionClient(
appId = "ALGOLIA_APPLICATION_ID",
apiKey = "ALGOLIA_API_KEY",
region = "ALGOLIA_APPLICATION_REGION"
)
// Call the API
val response = Await.result(
client.runSource(
sourceID = "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
runSourcePayload = Some(
RunSourcePayload(
indexToInclude = Some(Seq("products_us", "products eu")),
entityIDs = Some(Seq("1234", "5678")),
entityType = Some(EntityType.withName("product"))
)
)
),
Duration(100, "sec")
)
// print the response
println(response)// Initialize the client
let client = try IngestionClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY", region: .us)
// Call the API
let response = try await client.runSource(
sourceID: "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
runSourcePayload: RunSourcePayload(
indexToInclude: ["products_us", "products eu"],
entityIDs: ["1234", "5678"],
entityType: EntityType.product
)
)
// print the response
print(response){
"createdAt": "<string>",
"taskWithRunID": {}
}{
"message": "Invalid Application-Id or API-Key"
}Creates one run per task.
Required ACL:
addObject, deleteIndex, editSettingsAuthorizations
Your Algolia application ID.
Your Algolia API key with the necessary permissions to make the request. Permissions are controlled through access control lists (ACL) and access restrictions. The required ACL to make a request is listed in each endpoint's reference.
Path Parameters
Unique identifier of a source. Universally uniqud identifier (UUID) of a source.
Example:
"6c02aeb1-775e-418e-870b-1faccd4b2c0f"
Body
application/json
List of entityIDs to update.
Type of entity to update.
Available options:
product, collection List of index names to exclude in reindex/update.
List of index names to include in reindex/update.
Additional information that will be passed to the created runs.
Last modified on March 23, 2026
Was this page helpful?
āI