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)

Download OpenAPI specification:Download

API powering the Data Ingestion connectors of Algolia.

Authentications

An authentication describe the way we connect to Algolia, or any supported connector.

Get a list of authentications

Get a list of authentications for the given query parameters, with pagination details.

Authorizations:
(appIdapiKey)
query Parameters
itemsPerPage
integer

The number of items per page to return.

page
integer

The page number to fetch, starting at 1.

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

The type of the authentications to retrieve.

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

The platform of the authentications to retrieve.

sort
string (authenticationSortKeys)
Enum: "name" "auth_type" "platform" "updatedAt" "createdAt"

The key by which the list should be sorted.

order
string (orderKeys)
Enum: "asc" "desc"

The order of the returned list.

Responses

Response samples

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

Create a authentication

Create a authentication.

Authorizations:
(appIdapiKey)
Request Body schema: application/json
type
required
string (AuthenticationType)
Enum: "googleServiceAccount" "basic" "apiKey" "oauth" "algolia"

Type of the Authentication, defines what kind of object is stored in the input.

name
required
string (name)

An human readable name describing the object.

platform
string (Platform)
Enum: "bigcommerce" "commercetools"

Describe which platform the Authentication is used for.

required
AuthGoogleServiceAccount (object) or AuthBasic (object) or AuthAPIKey (object) or AuthOAuth (object) or AuthAlgolia (object) (AuthInput)

Responses

Request samples

Content type
application/json
{
  • "type": "googleServiceAccount",
  • "name": "string",
  • "platform": "bigcommerce",
  • "input": {
    }
}

Response samples

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

Search among authentications

Search among authentications with a defined set of parameters.

Authorizations:
(appIdapiKey)
Request Body schema: application/json
authenticationIDs
required
Array of strings (authenticationID)

Responses

Request samples

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

Response samples

Content type
application/json
[
  • {
    }
]

Get a authentication

Get the authentication of the given authenticationID.

Authorizations:
(appIdapiKey)
path Parameters
authenticationID
required
string (authenticationID)
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

The authentication UUID.

Responses

Response samples

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

Update a authentication

Update the authentication of the given authenticationID.

Authorizations:
(appIdapiKey)
path Parameters
authenticationID
required
string (authenticationID)
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

The authentication UUID.

Request Body schema: application/json
type
string (AuthenticationType)
Enum: "googleServiceAccount" "basic" "apiKey" "oauth" "algolia"

Type of the Authentication, defines what kind of object is stored in the input.

name
string (name)

An human readable name describing the object.

platform
string (Platform)
Enum: "bigcommerce" "commercetools"

Describe which platform the Authentication is used for.

AuthGoogleServiceAccountPartial (object) or AuthBasicPartial (object) or AuthAPIKeyPartial (object) or AuthOAuthPartial (object) or AuthAlgoliaPartial (object) (AuthInputPartial)

Responses

Request samples

Content type
application/json
{
  • "type": "googleServiceAccount",
  • "name": "string",
  • "platform": "bigcommerce",
  • "input": {
    }
}

Response samples

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

Delete a authentication

Soft delete the authentication of the given authenticationID.

Authorizations:
(appIdapiKey)
path Parameters
authenticationID
required
string (authenticationID)
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

The authentication UUID.

Responses

Response samples

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

Destinations

A destination refers to an Algolia product (Search, Insight, Recommend, ...).

Get a list of destinations

Get a list of destinations for the given query parameters, with pagination details.

Authorizations:
(appIdapiKey)
query Parameters
itemsPerPage
integer

The number of items per page to return.

page
integer

The page number to fetch, starting at 1.

type
Array of strings (DestinationType)
Items Enum: "search" "insights" "flow"
Example: type=search

The type of the destinations to retrive.

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

The authenticationIDs of the destinations to retrive.

sort
string (destinationSortKeys)
Enum: "name" "type" "updatedAt" "createdAt"

The key by which the list should be sorted.

order
string (orderKeys)
Enum: "asc" "desc"

The order of the returned list.

Responses

Response samples

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

Create a destination

Create a destination.

Authorizations:
(appIdapiKey)
Request Body schema: application/json
type
required
string (DestinationType)
Enum: "search" "insights" "flow"

Type of the Destination, defines in which Algolia product the data will be stored.

name
required
string (name)

An human readable name describing the object.

required
DestinationIndexPrefix (object) or DestinationIndexName (object) (DestinationInput)
authenticationID
string (authenticationID)

The authentication UUID.

Responses

Request samples

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

Response samples

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

Search among destinations

Search among destinations with a defined set of parameters.

Authorizations:
(appIdapiKey)
Request Body schema: application/json
destinationIDs
required
Array of strings (destinationID)

Responses

Request samples

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

Response samples

Content type
application/json
[
  • {
    }
]

Get a destination

Get the destination of the given destinationID.

Authorizations:
(appIdapiKey)
path Parameters
destinationID
required
string (destinationID)
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

The destination UUID.

Responses

Response samples

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

Update a destination

Update the destination of the given destinationID.

Authorizations:
(appIdapiKey)
path Parameters
destinationID
required
string (destinationID)
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

The destination UUID.

Request Body schema: application/json
type
string (DestinationType)
Enum: "search" "insights" "flow"

Type of the Destination, defines in which Algolia product the data will be stored.

name
string (name)

An human readable name describing the object.

DestinationIndexPrefix (object) or DestinationIndexName (object) (DestinationInput)
authenticationID
string

Responses

Request samples

Content type
application/json
{
  • "type": "search",
  • "name": "string",
  • "input": {
    },
  • "authenticationID": "string"
}

Response samples

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

Delete a destination

Soft delete the destination of the given destinationID.

Authorizations:
(appIdapiKey)
path Parameters
destinationID
required
string (destinationID)
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

The destination UUID.

Responses

Response samples

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

Observability

The observability API associates a run to a task execution.

Get a list of runs

Get a list of runs for the given query parameters, with pagination details.

Authorizations:
(appIdapiKey)
query Parameters
itemsPerPage
integer

The number of items per page to return.

page
integer

The page number to fetch, starting at 1.

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

Filter the status of the runs.

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

Filter by taskID.

sort
string (runSortKeys)
Enum: "status" "updatedAt" "createdAt"

The key by which the list should be sorted.

order
string (orderKeys)
Enum: "asc" "desc"

The order of the returned list.

startDate
string

The start date (in RFC3339 format) of the runs fetching window. Defaults to 'now'-7 days if omitted. The timespan between startDate and endDate must be smaller than 7 days.

endDate
string

The end date (in RFC3339 format) of the runs fetching window. Defaults to 'now' days if omitted. The timespan between startDate and endDate must be smaller than 7 days.

Responses

Response samples

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

Get a run

Get a single run for the given ID.

Authorizations:
(appIdapiKey)
path Parameters
runID
required
string (runID)
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

The run UUID.

Responses

Response samples

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

Get a list of events

Get a list of events associated to the given runID, for the given query parameters.

Authorizations:
(appIdapiKey)
path Parameters
runID
required
string (runID)
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

The run UUID.

query Parameters
itemsPerPage
integer

The number of items per page to return.

page
integer

The page number to fetch, starting at 1.

status
Array of strings (EventStatus)
Items Enum: "created" "started" "retried" "failed" "succeeded"

Filter the status of the events.

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

Filter the type of the events.

sort
string (eventSortKeys)
Enum: "status" "type" "publishedAt"

The key by which the list should be sorted.

order
string (orderKeys)
Enum: "asc" "desc"

The order of the returned list.

Responses

Response samples

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

Get an event

Get a single event for a specific runID.

Authorizations:
(appIdapiKey)
path Parameters
runID
required
string (runID)
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

The run UUID.

eventID
required
string (eventID)
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

The event UUID.

Responses

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",
  • "data": { },
  • "publishedAt": "string"
}

Sources

A source describe the platform informations.

Get a list of sources

Get a list of sources for the given query parameters, with pagination details.

Authorizations:
(appIdapiKey)
query Parameters
itemsPerPage
integer

The number of items per page to return.

page
integer

The page number to fetch, starting at 1.

type
Array of strings (SourceType)
Items Enum: "bigcommerce" "commercetools" "json" "csv" "bigquery" "docker"
Example: type=commercetools,bigcommerce

The type of the sources to retrieve.

authenticationID
Array of strings (authenticationID)
Example: authenticationID=10000000-0a75-4000-a000-000000000001,none

The authenticationIDs of the sources to retrieve. 'none' returns sources that doesn't have an authentication.

sort
string (sourceSortKeys)
Enum: "name" "type" "updatedAt" "createdAt"

The key by which the list should be sorted.

order
string (orderKeys)
Enum: "asc" "desc"

The order of the returned list.

Responses

Response samples

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

Create a source

Create a source.

Authorizations:
(appIdapiKey)
Request Body schema: application/json
type
required
string (SourceType)
Enum: "bigcommerce" "commercetools" "json" "csv" "bigquery" "docker"
name
required
string
required
SourceCommercetools (object) or SourceBigCommerce (object) or SourceJSON (object) or SourceCSV (object) or SourceBigQuery (object) or SourceDocker (object) (SourceInput)
authenticationID
string (authenticationID)

The authentication UUID.

Responses

Request samples

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

Response samples

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

Search among sources

Search among sources with a defined set of parameters.

Authorizations:
(appIdapiKey)
Request Body schema: application/json
sourceIDs
required
Array of strings

Responses

Request samples

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

Response samples

Content type
application/json
[
  • {
    }
]

Get a source

Get the source of the given sourceID.

Authorizations:
(appIdapiKey)
path Parameters
sourceID
required
string (sourceID)
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

The source UUID.

Responses

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

Update the source of the given sourceID.

Authorizations:
(appIdapiKey)
path Parameters
sourceID
required
string (sourceID)
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

The source UUID.

Request Body schema: application/json
name
string
SourceUpdateCommercetools (object) or SourceJSON (object) or SourceCSV (object) or SourceBigQuery (object) or SourceDocker (object) (SourceUpdateInput)
authenticationID
string (authenticationID)

The authentication UUID.

Responses

Request samples

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

Response samples

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

Delete a source

Soft delete the source of the given sourceID.

Authorizations:
(appIdapiKey)
path Parameters
sourceID
required
string (sourceID)
Example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

The source UUID.

Responses

Response samples

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

Tasks

A Task describe how we fetch the data (onDemand, schedule, subscription) from a source and how we index it on the Algolia side.

Get a list of tasks

Get a list of tasks for the given query parameters, with pagination details.

Authorizations:
(appIdapiKey)
query Parameters
itemsPerPage
integer

The number of items per page to return.

page
integer

The page number to fetch, starting at 1.

action
Array of strings (ActionType)
Items Enum: "replace" "save"
Example: action=save,replace

The action of the tasks to retrieve.

enabled
boolean

Whether the task is enabled or not.

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

The sourceIDs of the tasks to retrive.

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

The destinationIDs of the tasks to retrive.

triggerType
Array of strings (TriggerType)
Items Enum: "onDemand" "schedule" "subscription"
Example: triggerType=onDemand,schedule

The trigger type of the task.

sort
string (taskSortKeys)
Enum: "enabled" "triggerType" "action" "updatedAt" "createdAt"

The key by which the list should be sorted.

order
string (orderKeys)
Enum: "asc" "desc"

The order of the returned list.

Responses

Response samples

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

Create a task

Create a task.

Authorizations:
(appIdapiKey)
Request Body schema: application/json
sourceID
required
string (sourceID)

The source UUID.

destinationID
required
string (destinationID)

The destination UUID.

required
OnDemandTriggerInput (object) or ScheduleTriggerInput (object) or SubscriptionTrigger (object) (TaskCreateTrigger)
action
required
string (ActionType)
Enum: "replace" "save"

The action to perform on the Algolia index.

enabled
boolean

Whether the task is enabled or not.

failureThreshold
integer (failureThreshold) [ 0 .. 100 ]

A percentage representing the accepted failure threshold to determine if a run succeeded or not.

OnDemandDateUtilsInput (object) or ScheduleDateUtilsInput (object) (TaskInput)

Responses

Request samples

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

Response samples

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

Search among tasks

Search among tasks with a defined set of parameters.

Authorizations:
(appIdapiKey)
Request Body schema: application/json
taskIDs
required
Array of strings

Responses

Request samples

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

Response samples

Content type
application/json
[
  • {
    }
]

Get a task

Get the task of the given taskID.

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

The task UUID.

Responses

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,
  • "action": "replace",
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update a task

Update the task of the given taskID.

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

The task UUID.

Request Body schema: application/json
destinationID
string (destinationID)

The destination UUID.

object (TriggerInput)

The trigger input of a task.

OnDemandDateUtilsInput (object) or ScheduleDateUtilsInput (object) (TaskInput)
enabled
boolean

Whether the task is enabled or not.

Responses

Request samples

Content type
application/json
{
  • "destinationID": "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
  • "trigger": {
    },
  • "input": {
    },
  • "enabled": true
}

Response samples

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

Delete a task

Soft delete the task of the given taskID.

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

The task UUID.

Responses

Response samples

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

Run a task

Run the task of the given taskID.

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

The task UUID.

Responses

Response samples

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

Enable a task

Enable the task of the given taskID.

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

The task UUID.

Responses

Response samples

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

Disable a task

Disable the task of the given taskID.

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

The task UUID.

Responses

Response samples

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

Send requests to the Algolia REST API

This method allow you to send requests to the Algolia REST API.

Authorizations:
(appIdapiKey)
path Parameters
path
required
string
Example: /keys

Path of the endpoint, anything after "/1" must be specified.

query Parameters
object

Query parameters to apply to the current query.

Responses

Response samples

Content type
application/json
{ }

Send requests to the Algolia REST API

This method allow you to send requests to the Algolia REST API.

Authorizations:
(appIdapiKey)
path Parameters
path
required
string
Example: /keys

Path of the endpoint, anything after "/1" must be specified.

query Parameters
object

Query parameters to apply to the current query.

Request Body schema: application/json

Parameters to send with the custom request.

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Send requests to the Algolia REST API

This method allow you to send requests to the Algolia REST API.

Authorizations:
(appIdapiKey)
path Parameters
path
required
string
Example: /keys

Path of the endpoint, anything after "/1" must be specified.

query Parameters
object

Query parameters to apply to the current query.

Request Body schema: application/json

Parameters to send with the custom request.

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Send requests to the Algolia REST API

This method allow you to send requests to the Algolia REST API.

Authorizations:
(appIdapiKey)
path Parameters
path
required
string
Example: /keys

Path of the endpoint, anything after "/1" must be specified.

query Parameters
object

Query parameters to apply to the current query.

Responses

Response samples

Content type
application/json
{ }