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.