Prerequisites
- An admin role in the tenant (creating sources and tokens requires admin).
- A file of records to upload (for example, newline-delimited JSON).
X-Splendor-Tenant-Id header) for the /v1/admin/... calls, and the source’s ingest token for the /v1/ingest/sources/... calls. The ingest token carries the source and tenant itself, so those calls need no tenant header.
Steps
1
Create a hosted source
A source is where your data lands and which dataset it feeds. Create a hosted source once, then reuse it for every upload. Splendor detects each file’s type automatically, so one source can hold records and images together (see Sources & images).
2
Mint an ingest token
Mint a token for the source (using its numeric
source_id from the previous response). The plaintext token is returned once; use it as the bearer credential for every upload call below.3
Initiate an upload
Start an upload session for your file. The response tells you whether to upload in a single request or in parts, and returns an
upload_session_id.4
Sign and upload the parts
Request presigned URLs for your part numbers, then
PUT each chunk directly to the returned URL. Keep the ETag each upload returns.5
Complete the upload
Finalize the upload with the part numbers and their ETags. This enqueues the object for ingestion.
6
Wait until it is searchable
Ingestion is asynchronous. Poll the upload’s readiness until text and semantic search are ready.
When readiness reports
text_search (and, if configured, semantic_search) ready, run a search against the dataset.Related
Stream logs
Send log records continuously instead of uploading files.
Connect a source
Push data over HTTP — including from a webhook — or read from your own S3 bucket.