SuggestAPI supports both synchronous and asynchronous ingestion styles.

Use inline document ingestion when

  • you have a modest batch size
  • you already hold structured JSON documents in your app
  • you want an immediate response with indexed and failed counts

Endpoint:

  • POST /v1/indexes/{index_id}/documents

Use file upload ingestion when

  • your source data is CSV, JSON, or JSONL
  • the payload is large enough to justify a background job
  • you want job progress and retry workflows

Endpoints:

  • POST /v1/indexes/{index_id}/upload
  • POST /v1/indexes/{index_id}/ingest/start
  • GET /v1/ingestion-jobs
  • GET /v1/ingestion-jobs/{job_id}
  • POST /v1/ingestion-jobs/{job_id}/requeue

Planning tips

  • keep IDs stable so updates overwrite cleanly
  • include enough display fields in raw for result cards
  • use schema tuning after import, not before you have representative data
  • watch file-size and document-limit rules when moving to larger jobs

If you are planning around tenant or plan constraints, use Service Limits alongside the ingestion reference.

To run the same jobs from the web app, see Import a catalog and Managing tasks.