Skip to content

Index multiple objects

Batch importing multiple objects

This endpoint allows you to efficiently index multiple objects into Tallyfy Answers in a single API call. It significantly outperforms making multiple individual object creation requests, especially for large datasets or initial data loading.

Large batch imports are processed in the background, allowing you to monitor progress and cancel operations if needed using the Tasks endpoints.

API endpoint

POST /collections/{collection_name}/batch

Request parameters

ParameterTypeRequiredDescription
collection_namepathYesName of the collection to import objects into

Request body format: JSON Array

The request body must be a JSON array containing multiple document objects. Each object should include the required fields for your collection schema.

Example JSON array format for three objects:

[
{
"uid": "article-123",
"title": "Getting Started Guide",
"content": "Complete guide to getting started...",
"url": "https://example.com/guide",
"source": "Documentation",
"snippet": "Quick start guide for new users"
},
{
"uid": "article-456",
"title": "Advanced Features",
"content": "Advanced functionality overview...",
"url": "https://example.com/advanced",
"source": "Documentation",
"snippet": "Deep dive into advanced capabilities"
}
]

Content-Type header

Set the Content-Type header to:

  • application/json

Response

A successful request returns a 200 OK status code and a summary of the import operation:

{
"success": true,
"count": 3,
"errors": []
}

If some objects fail to import while others succeed, you’ll receive a 207 Multi-Status response:

{
"success": true,
"count": 2,
"errors": [
{
"line": 2,
"error": "Invalid object format at line 2",
"object": "{malformed json}"
}
]
}

Error scenarios

StatusDescription
400Invalid JSONLines format or request body
404Collection not found
413Request body too large

Example request using curl

Terminal window
curl -X POST "https://answers.tallyfy.com/collections/docs/batch" \
-H "Authorization: Bearer your_api_key" \
-H "Content-Type: application/json" \
-d '[
{
"uid": "guide-123",
"title": "Getting Started",
"content": "Complete guide to getting started with our platform...",
"url": "https://example.com/guide",
"source": "Documentation",
"snippet": "Quick start guide for new users"
}
]'

Best practices for batch imports

  • Size limitations: Keep individual requests under 5MB
  • Chunking: For large datasets, break imports into smaller batches of 100-1000 objects
  • ID handling: You can mix objects with and without custom IDs in the same import
  • Error handling: Process the errors array in the response to identify and fix failed objects
  • Parallel imports: For very large datasets, you can make multiple parallel import requests to different collections

When to use batch import

  • Initial data population
  • Regular data synchronization from external systems
  • Bulk updates to multiple objects
  • Periodic content refreshes

Objects > Index a single object

The Tallyfy Answers API endpoint enables adding single objects to collections in real-time through POST requests with JSON data ideal for individual record creation and testing while bulk operations should use the import endpoint for better performance.

Collections > Create a collection

Creating collections in Tallyfy Answers requires using a POST API endpoint with a unique collection name and optional description where the system automatically detects data types as objects are indexed.

Objects > Delete an object

The DELETE endpoint permanently removes specific objects from Tallyfy Answers collections using unique identifiers with no recovery option and returns confirmation upon successful deletion.

Answers > Objects

Objects in Tallyfy Answers are fundamental JSON-formatted data records that belong to collections and can be indexed retrieved and searched with flexible schemas that automatically detect properties and support both custom and auto-generated unique identifiers.