Jun 23, 2025
Push records by indexName
Pushes records through the Pipeline, directly to an index. You can make the call synchronous by providing the watch parameter, for asynchronous calls, you can use the observability endpoints and/or debugger dashboard to see the status of your task.
If you want to leverage the pre-indexing data transformation, this is the recommended way of ingesting your records.
This method is similar to pushTask, but requires an indexName instead of a taskID. If zero or many tasks are found, an error will be returned.
Usage
Required ACL:
addObject, deleteIndex, editSettings
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import "github.com/algolia/algoliasearch-client-go/v4/algolia/ingestion"
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)
}
response, err := client.Push(client.NewApiPushRequest(
"ALGOLIA_INDEX_NAME",
ingestion.NewEmptyPushTaskPayload().SetAction(ingestion.Action("addObject")).SetRecords(
[]ingestion.PushTaskRecords{*ingestion.NewEmptyPushTaskRecords().SetAdditionalProperty("key", "bar").SetAdditionalProperty("foo", "1").SetObjectID("o"), *ingestion.NewEmptyPushTaskRecords().SetAdditionalProperty("key", "baz").SetAdditionalProperty("foo", "2").SetObjectID("k")})))
if err != nil {
// handle the eventual error
panic(err)
}
Did you find this page helpful?