> ## Documentation Index
> Fetch the complete documentation index at: https://algolia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Run all tasks linked to a source

> Runs all tasks linked to a source, only available for Shopify, BigCommerce and commercetools sources.

**Required ACL:** `addObject`, `deleteIndex`, `editSettings`

Creates one run per task.

## Usage

<CodeGroup>
  ```cs C# theme={"system"}
  // 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);
  ```

  ```dart Dart theme={"system"}
  // 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);
  ```

  ```go Go theme={"system"}
  // 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)
  ```

  ```java Java theme={"system"}
  // 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);
  ```

  ```js JavaScript theme={"system"}
  // 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);
  ```

  ```kotlin Kotlin theme={"system"}
  // 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)
  ```

  ```php PHP theme={"system"}
  // 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);
  ```

  ```python Python theme={"system"}
  # 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)
  ```

  ```ruby Ruby theme={"system"}
  # 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)
  ```

  ```scala Scala theme={"system"}
  // 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)
  ```

  ```swift Swift theme={"system"}
  // 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)
  ```
</CodeGroup>

<Card icon="folder-code" horizontal="true" title="See the full API reference" arrow="true" href="/doc/rest-api/ingestion/run-source">
  For more details about input parameters
  and response fields.
</Card>
