Skip to main content
This guide loads data into Splendor through a hosted source — storage Splendor manages for you — using a resumable multipart upload. By the end you will have a dataset you can search.

Prerequisites

  • An admin role in the tenant (creating sources and tokens requires admin).
  • A file of records to upload (for example, newline-delimited JSON).
Two credentials appear below: your admin bearer token (with the 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.

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.