The generated API clients are a work in progress, you can also find our stable clients on the Algolia documentation.

Skip to main content

Ingestion API (1.0.0)

Download OpenAPI specification:Download

The Ingestion API lets you connect third-party services and platforms with Algolia and schedule tasks to ingest your data. The Ingestion API powers the no-code data connectors.

Base URLs

The base URLs for requests to the Ingestion API are:

  • https://data.us.algolia.com
  • https://data.eu.algolia.com

Use the URL that matches your analytics region.

All requests must use HTTPS.

Authentication

To authenticate your API requests, add these headers:

  • x-algolia-application-id. Your Algolia application ID.
  • x-algolia-api-key. An API key with the necessary permissions to make the request. The required access control list (ACL) to make a request is listed in each endpoint's reference.

You can find your application ID and API key in the Algolia dashboard.

Request format

Request bodies must be JSON objects.

Response status and errors

Response bodies are JSON objects. Deleting a user token returns an empty response body with rate-limiting information as headers.

Successful responses return a 2xx status. Client errors return a 4xx status. Server errors are indicated by a 5xx status. Error responses have a message property with more information.

The Insights API doesn't validate if the event parameters such as indexName, objectIDs, or userToken, correspond to anything in the Search API. It justs checks if they're formatted correctly. Check the Events health section, whether your events can be used for Algolia features such as Analytics, or Dynamic Re-Ranking.

Version

The current version of the Insights API is version 1, as indicated by the /1/ in each endpoint's URL.

Authentications

Authentication resources describe how to connect to a source or destination.

List authentication resources

Retrieves a list of all authentication resources.

acl: ["addObject","deleteIndex","editSettings"]
query Parameters
itemsPerPage
integer [ 1 .. 100 ]
Default: 10

Number of items per page.

order
string
Default: "desc"
Enum: "asc" "desc"

Sort order of the response, ascending or descending.

page
integer >= 1

Page number of the paginated API response.

Array of (Platform (Platform (string) or Platform (null))) or platformNone (string)
Example: platform=commercetools,none

Ecommerce platform for which to retrieve authentication resources.

sort
string
Default: "createdAt"
Enum: "auth_type" "createdAt" "name" "platform" "updatedAt"

Property by which to sort the list of authentication resources.

type
Array of strings
Items Enum: "algolia" "algoliaInsights" "apiKey" "basic" "googleServiceAccount" "oauth"
Example: type=basic,oauth

Type of authentication resource to retrieve.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.GetAuthenticationsAsync();

Response samples

Content type
application/json
{
  • "authentications": [
    ],
  • "pagination": {
    }
}

Create an authentication resource

Creates a new authentication resource.

acl: ["addObject","deleteIndex","editSettings"]
Request Body schema: application/json
required
required
Google service account (object) or Basic (object) or API key (object) or OAuth (object) or Algolia (object) or Algolia Insights (object)
name
required
string

Descriptive name for the resource.

type
required
string
Enum: "algolia" "algoliaInsights" "apiKey" "basic" "googleServiceAccount" "oauth"

Type of authentication. This determines the type of credentials required in the input object.

string or null
Default: null

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.CreateAuthenticationAsync(
  new AuthenticationCreate
  {
    Type = Enum.Parse<AuthenticationType>("Oauth"),
    Name = "authName",
    Input = new AuthInput(
      new AuthOAuth
      {
        Url = "http://test.oauth",
        ClientId = "myID",
        ClientSecret = "mySecret",
      }
    ),
  }
);

Response samples

Content type
application/json
{
  • "authenticationID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "name": "string",
  • "createdAt": "string"
}

Search for authentication resources

Searches for authentication resources.

acl: ["addObject","deleteIndex","editSettings"]
Request Body schema: application/json
required
authenticationIDs
required
Array of strings

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.SearchAuthenticationsAsync(
  new AuthenticationSearch
  {
    AuthenticationIDs = new List<string>
    {
      "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
      "947ac9c4-7e58-4c87-b1e7-14a68e99699a"
    },
  }
);

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve an authentication resource

Retrieves an authentication resource by its ID.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
authenticationID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of an authentication resource.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.GetAuthenticationAsync("6c02aeb1-775e-418e-870b-1faccd4b2c0f");

Response samples

Content type
application/json
{
  • "authenticationID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "type": "algolia",
  • "name": "string",
  • "platform": null,
  • "input": {
    },
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update an authentication resource

Updates an authentication resource.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
authenticationID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of an authentication resource.

Request Body schema: application/json
required
Google service account (object) or Basic (object) or API key (object) or OAuth (object) or Algolia (object) or Algolia Insights (object)
name
string

Descriptive name for the resource.

string or null
Default: null
type
string
Enum: "algolia" "algoliaInsights" "apiKey" "basic" "googleServiceAccount" "oauth"

Type of authentication. This determines the type of credentials required in the input object.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.UpdateAuthenticationAsync(
  "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  new AuthenticationUpdate { Name = "newName", }
);

Response samples

Content type
application/json
{
  • "authenticationID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "name": "string",
  • "updatedAt": "string"
}

Delete an authentication resource

Deletes an authentication resource. You can't delete authentication resources that are used by a source or a destination.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
authenticationID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of an authentication resource.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.DeleteAuthenticationAsync("6c02aeb1-775e-418e-870b-1faccd4b2c0f");

Response samples

Content type
application/json
{
  • "deletedAt": "string"
}

Sources

Sources are third-party platforms or services from where you want to ingest your data. Sources may require authentication. To interact with such sources, you can reference an authentication resource by its ID.

List sources

Retrieves a list of sources.

acl: ["addObject","deleteIndex","editSettings"]
query Parameters
authenticationID
Array of strings
Example: authenticationID=10000000-0a75-4000-a000-000000000001,none

Authentication IDs of the sources to retrieve. 'none' returns sources that doesn't have an authentication resource.

itemsPerPage
integer [ 1 .. 100 ]
Default: 10

Number of items per page.

order
string
Default: "desc"
Enum: "asc" "desc"

Sort order of the response, ascending or descending.

page
integer >= 1

Page number of the paginated API response.

sort
string
Default: "createdAt"
Enum: "createdAt" "name" "type" "updatedAt"

Property by which to sort the list of sources.

type
Array of strings
Items Enum: "bigcommerce" "bigquery" "commercetools" "csv" "docker" "ga4BigqueryExport" "json" "sfcc" "shopify"
Example: type=commercetools,bigcommerce

Source type. Some sources require authentication.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.GetSourcesAsync();

Response samples

Content type
application/json
{
  • "sources": [
    ],
  • "pagination": {
    }
}

Create a source

Creates a new source.

acl: ["addObject","deleteIndex","editSettings"]
Request Body schema: application/json
required
required
Commercetools (object) or BigCommerce (object) or JSON (object) or CSV (object) or BigQuery (object) or GA4 BigQuery export (object) or Docker (object) or Shopify (object)
name
required
string

Descriptive name of the source.

type
required
string
Enum: "bigcommerce" "bigquery" "commercetools" "csv" "docker" "ga4BigqueryExport" "json" "sfcc" "shopify"
authenticationID
string

Universally unique identifier (UUID) of an authentication resource.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.CreateSourceAsync(
  new SourceCreate
  {
    Type = Enum.Parse<SourceType>("Commercetools"),
    Name = "sourceName",
    Input = new SourceInput(
      new SourceCommercetools
      {
        StoreKeys = new List<string> { "myStore" },
        Locales = new List<string> { "de" },
        Url = "http://commercetools.com",
        ProjectKey = "keyID",
      }
    ),
    AuthenticationID = "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  }
);

Response samples

Content type
application/json
{
  • "sourceID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "name": "string",
  • "createdAt": "string"
}

Search for sources

Searches for sources.

acl: ["addObject","deleteIndex","editSettings"]
Request Body schema: application/json
required
sourceIDs
required
Array of strings

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.SearchSourcesAsync(
  new SourceSearch
  {
    SourceIDs = new List<string>
    {
      "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
      "947ac9c4-7e58-4c87-b1e7-14a68e99699a"
    },
  }
);

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a source

Retrieve a source by its ID.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
sourceID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a source.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.GetSourceAsync("75eeb306-51d3-4e5e-a279-3c92bd8893ac");

Response samples

Content type
application/json
{
  • "sourceID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "type": "bigcommerce",
  • "name": "string",
  • "input": {
    },
  • "authenticationID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update a source

Updates a source by its ID.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
sourceID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a source.

Request Body schema: application/json
required
authenticationID
string

Universally unique identifier (UUID) of an authentication resource.

SourceUpdateCommercetools (object) or JSON (object) or CSV (object) or BigQuery (object) or GA4 BigQuery export (object) or SourceUpdateDocker (object) or Shopify (object)
name
string

Descriptive name of the source.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.UpdateSourceAsync(
  "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  new SourceUpdate { Name = "newName", }
);

Response samples

Content type
application/json
{
  • "sourceID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "name": "string",
  • "updatedAt": "string"
}

Delete a source

Deletes a source by its ID. You can't delete sources that are referenced in tasks.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
sourceID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a source.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.DeleteSourceAsync("6c02aeb1-775e-418e-870b-1faccd4b2c0f");

Response samples

Content type
application/json
{
  • "deletedAt": "string"
}

Retrieve a stream listing

Retrieves a stream listing for a source.

Listing streams only works with sources with type: docker and imageType: singer.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
sourceID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a source.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.GetDockerSourceStreamsAsync("6c02aeb1-775e-418e-870b-1faccd4b2c0f");

Response samples

Content type
application/json
{
  • "streams": [
    ]
}

Trigger a stream-listing request

Triggers a stream-listing request for a source. Triggering stream-listing requests only works with sources with type: docker and imageType: singer.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
sourceID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a source.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.TriggerDockerSourceDiscoverAsync(
  "6c02aeb1-775e-418e-870b-1faccd4b2c0f"
);

Response samples

Content type
application/json
{
  • "runID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "createdAt": "string"
}

Destinations

Destinations are Algolia products or features where your data should be used, such as a search index or events. Algolia destinations require authentication with the algolia type. You can reference authentications by their ID when creating destinations.

List destinations

Retrieves a list of destinations.

acl: ["addObject","deleteIndex","editSettings"]
query Parameters
authenticationID
Array of strings
Example: authenticationID=6c02aeb1-775e-418e-870b-1faccd4b2c0f

Authentication ID used by destinations.

itemsPerPage
integer [ 1 .. 100 ]
Default: 10

Number of items per page.

order
string
Default: "desc"
Enum: "asc" "desc"

Sort order of the response, ascending or descending.

page
integer >= 1

Page number of the paginated API response.

sort
string
Default: "createdAt"
Enum: "createdAt" "name" "type" "updatedAt"
Example: sort=type

Property by which to sort the destinations.

type
Array of strings
Items Enum: "insights" "search"
Example: type=search

Destination type.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.GetDestinationsAsync();

Response samples

Content type
application/json
{
  • "destinations": [
    ],
  • "pagination": {
    }
}

Create a destination

Creates a new destination.

acl: ["addObject","deleteIndex","editSettings"]
Request Body schema: application/json
required
required
DestinationIndexPrefix (object) or DestinationIndexName (object)
name
required
string

Descriptive name for the resource.

type
required
string
Enum: "insights" "search"

Destination type.

  • search. Data is stored in an Algolia index.

  • insights. Data is recorded as user events in the Insights API.

authenticationID
string

Universally unique identifier (UUID) of an authentication resource.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.CreateDestinationAsync(
  new DestinationCreate
  {
    Type = Enum.Parse<DestinationType>("Search"),
    Name = "destinationName",
    Input = new DestinationInput(new DestinationIndexPrefix { IndexPrefix = "prefix_", }),
    AuthenticationID = "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  }
);

Response samples

Content type
application/json
{
  • "destinationID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "name": "string",
  • "createdAt": "string"
}

Search for destinations

Searches for destinations.

acl: ["addObject","deleteIndex","editSettings"]
Request Body schema: application/json
required
destinationIDs
required
Array of strings

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.SearchDestinationsAsync(
  new DestinationSearch
  {
    DestinationIDs = new List<string>
    {
      "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
      "947ac9c4-7e58-4c87-b1e7-14a68e99699a"
    },
  }
);

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a destination

Retrieves a destination by its ID.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
destinationID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a destination.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.GetDestinationAsync("6c02aeb1-775e-418e-870b-1faccd4b2c0f");

Response samples

Content type
application/json
{
  • "destinationID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "type": "insights",
  • "name": "string",
  • "input": {
    },
  • "createdAt": "string",
  • "updatedAt": "string",
  • "authenticationID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f"
}

Update a destination

Updates the destination by its ID.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
destinationID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a destination.

Request Body schema: application/json
required
authenticationID
string

Universally unique identifier (UUID) of an authentication resource.

DestinationIndexPrefix (object) or DestinationIndexName (object)
name
string

Descriptive name for the resource.

type
string
Enum: "insights" "search"

Destination type.

  • search. Data is stored in an Algolia index.

  • insights. Data is recorded as user events in the Insights API.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.UpdateDestinationAsync(
  "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  new DestinationUpdate { Name = "newName", }
);

Response samples

Content type
application/json
{
  • "destinationID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "name": "string",
  • "updatedAt": "string"
}

Delete a destination

Deletes a destination by its ID. You can't delete destinations that are referenced in tasks.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
destinationID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a destination.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.DeleteDestinationAsync("6c02aeb1-775e-418e-870b-1faccd4b2c0f");

Response samples

Content type
application/json
{
  • "deletedAt": "string"
}

Tasks

Tasks contain information how your data should be read from a source and stored in a destination. Tasks have triggers which determine when the task should run.

List tasks

Retrieves a list of tasks.

acl: ["addObject","deleteIndex","editSettings"]
query Parameters
action
Array of strings
Items Enum: "append" "partial" "replace" "save"
Example: action=save,replace,partial,append

Actions for filtering the list of tasks.

destinationID
Array of strings
Example: destinationID=6c02aeb1-775e-418e-870b-1faccd4b2c0f

Destination IDs for filtering the list of tasks.

enabled
boolean

Whether to filter the list of tasks by the enabled status.

itemsPerPage
integer [ 1 .. 100 ]
Default: 10

Number of items per page.

order
string
Default: "desc"
Enum: "asc" "desc"

Sort order of the response, ascending or descending.

page
integer >= 1

Page number of the paginated API response.

sort
string
Default: "createdAt"
Enum: "action" "createdAt" "enabled" "triggerType" "updatedAt"

Property by which to sort the list of tasks.

sourceID
Array of strings
Example: sourceID=6c02aeb1-775e-418e-870b-1faccd4b2c0f

Source IDs for filtering the list of tasks.

triggerType
Array of strings
Items Enum: "onDemand" "schedule" "streaming" "subscription"
Example: triggerType=onDemand,schedule,subscription,streaming

Type of task trigger for filtering the list of tasks.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.GetTasksAsync();

Response samples

Content type
application/json
{
  • "tasks": [
    ],
  • "pagination": {
    }
}

Create a task

Creates a new task.

Request Body schema: application/json
required

Request body for creating a task.

action
required
string
Enum: "append" "partial" "replace" "save"

Action to perform on the Algolia index.

destinationID
required
string

Universally unique identifier (UUID) of a destination resource.

sourceID
required
string

Universally uniqud identifier (UUID) of a source.

required
On demand (object) or Schedule (object) or Subscription (object) or Streaming (object)
enabled
boolean

Whether the task is enabled.

failureThreshold
integer [ 0 .. 100 ]

Maximum accepted percentage of failures for a task run to finish successfully.

On demand date range (object) or Schedule dates (object) or Streaming input (object) or Shopify input (object)

Configuration of the task, depending on its type.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.CreateTaskAsync(
  new TaskCreate
  {
    SourceID = "search",
    DestinationID = "destinationName",
    Trigger = new TaskCreateTrigger(
      new OnDemandTriggerInput { Type = Enum.Parse<OnDemandTriggerType>("OnDemand"), }
    ),
    Action = Enum.Parse<ActionType>("Replace"),
  }
);

Response samples

Content type
application/json
{
  • "taskID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "createdAt": "string"
}

Search for tasks

Searches for tasks.

acl: ["addObject","deleteIndex","editSettings"]
Request Body schema: application/json
required
taskIDs
required
Array of strings

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.SearchTasksAsync(
  new TaskSearch
  {
    TaskIDs = new List<string>
    {
      "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
      "947ac9c4-7e58-4c87-b1e7-14a68e99699a",
      "76ab4c2a-ce17-496f-b7a6-506dc59ee498"
    },
  }
);

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a task

Retrieves a task by its ID.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
taskID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a task.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.GetTaskAsync("6c02aeb1-775e-418e-870b-1faccd4b2c0f");

Response samples

Content type
application/json
{
  • "taskID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "sourceID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "destinationID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "trigger": {
    },
  • "input": {
    },
  • "enabled": true,
  • "failureThreshold": 100,
  • "action": "append",
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update a task

Updates a task by its ID.

path Parameters
taskID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a task.

Request Body schema: application/json
required
destinationID
string

Universally unique identifier (UUID) of a destination resource.

enabled
boolean

Whether the task is enabled.

failureThreshold
integer [ 0 .. 100 ]

Maximum accepted percentage of failures for a task run to finish successfully.

On demand date range (object) or Schedule dates (object) or Streaming input (object) or Shopify input (object)

Configuration of the task, depending on its type.

object

Trigger for a task update.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.UpdateTaskAsync(
  "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  new TaskUpdate { Enabled = false, }
);

Response samples

Content type
application/json
{
  • "taskID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "updatedAt": "string"
}

Delete a task

Deletes a task by its ID.

path Parameters
taskID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a task.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.DeleteTaskAsync("6c02aeb1-775e-418e-870b-1faccd4b2c0f");

Response samples

Content type
application/json
{
  • "deletedAt": "string"
}

Run a task

Runs a task. You can check the status of task runs with the observability endpoints.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
taskID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a task.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.RunTaskAsync("6c02aeb1-775e-418e-870b-1faccd4b2c0f");

Response samples

Content type
application/json
{
  • "runID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "createdAt": "string"
}

Enable a task

Enables a task.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
taskID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a task.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.EnableTaskAsync("76ab4c2a-ce17-496f-b7a6-506dc59ee498");

Response samples

Content type
application/json
{
  • "taskID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "updatedAt": "string"
}

Disable a task

Disables a task.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
taskID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a task.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.DisableTaskAsync("6c02aeb1-775e-418e-870b-1faccd4b2c0f");

Response samples

Content type
application/json
{
  • "taskID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "updatedAt": "string"
}

Observability

Check the status and details of your task runs. A run is one instance of a configured task.

List task runs

Retrieve a list of task runs.

acl: ["addObject","deleteIndex","editSettings"]
query Parameters
endDate
string

Date in RFC3339 format for the latest run to retrieve. By default, the current day is used.

itemsPerPage
integer [ 1 .. 100 ]
Default: 10

Number of items per page.

order
string
Default: "desc"
Enum: "asc" "desc"

Sort order of the response, ascending or descending.

page
integer >= 1

Page number of the paginated API response.

sort
string
Default: "createdAt"
Enum: "createdAt" "status" "updatedAt"

Property by which to sort the list of task runs.

startDate
string

Date in RFC3339 format for the earliest run to retrieve. By default, the current day minus seven days is used.

status
Array of strings
Items Enum: "created" "finished" "idled" "skipped" "started"

Run status for filtering the list of task runs.

taskID
string
Example: taskID=6c02aeb1-775e-418e-870b-1faccd4b2c0f

Task ID for filtering the list of task runs.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.GetRunsAsync();

Response samples

Content type
application/json
{
  • "runs": [
    ],
  • "pagination": {
    },
  • "window": {
    }
}

Retrieve a task run

Retrieve a single task run by its ID.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
runID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a task run.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.GetRunAsync("6c02aeb1-775e-418e-870b-1faccd4b2c0f");

Response samples

Content type
application/json
{
  • "runID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "appID": "string",
  • "taskID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "status": "created",
  • "progress": {
    },
  • "outcome": "failure",
  • "failureThreshold": 100,
  • "reason": "string",
  • "reasonCode": "blocking",
  • "type": "discover",
  • "createdAt": "string",
  • "startedAt": "string",
  • "finishedAt": "string"
}

List task run events

Retrieves a list of events for a task run, identified by it's ID.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
runID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a task run.

query Parameters
endDate
string

Date and time in RFC3339 format for the latest events to retrieve. By default, the current time is used.

itemsPerPage
integer [ 1 .. 100 ]
Default: 10

Number of items per page.

order
string
Default: "desc"
Enum: "asc" "desc"

Sort order of the response, ascending or descending.

page
integer >= 1

Page number of the paginated API response.

sort
string
Enum: "publishedAt" "status" "type"

Property by which to sort the list of task run events.

startDate
string

Date and time in RFC3339 format for the earliest events to retrieve. By default, the current time minus three hours is used.

status
Array of strings
Items Enum: "created" "critical" "failed" "retried" "started" "succeeded"

Event status for filtering the list of task runs.

type
Array of strings
Items Enum: "fetch" "log" "record" "transform"

Event type for filtering the list of task runs.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.GetEventsAsync("6c02aeb1-775e-418e-870b-1faccd4b2c0f");

Response samples

Content type
application/json
{
  • "events": [
    ],
  • "pagination": {
    },
  • "window": {
    }
}

Retrieve a task run event

Retrieves a single task run event by its ID.

acl: ["addObject","deleteIndex","editSettings"]
path Parameters
eventID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of an event.

runID
required
string
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

Unique identifier of a task run.

Responses

Request samples

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("YOUR_APP_ID", "YOUR_API_KEY", "YOUR_APP_ID_REGION")
);

// Call the API
var response = await client.GetEventAsync(
  "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  "6c02aeb1-775e-418e-870b-1faccd4b2c0c"
);

Response samples

Content type
application/json
{
  • "eventID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "runID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "parentID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "status": "created",
  • "type": "fetch",
  • "batchSize": 10,
  • "data": { },
  • "publishedAt": "string"
}