İçeriğe geç

Upload one batch of NDJSON (optionally zstd)

PUT
/v1/ingest-sessions/{sid}/batches/{n}
curl --request PUT \
--url https://api.reindeer.example.tr/v1/ingest-sessions/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/batches/1 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Digest: sha-256=:BASE64:' \
--header 'Content-Encoding: zstd' \
--header 'Content-Type: application/x-ndjson' \
--data '"binary"'

A batch is recorded only after its Content-Digest matches. Initial sessions publish their recorded batches at commit; incremental sessions publish each recorded batch at once, or right after a running epoch roll releases the catalog. A body that fails the digest or cannot be decoded is discarded completely.

sid
required
string format: uuid
n
required
integer
>= 1 <= 1000000
Content-Digest
required
string

Example

sha-256=:BASE64:
Content-Encoding
string
Allowed values: zstd identity
Media typeapplication/x-ndjson
string format: binary

Example generated

binary

Same batch uploaded again

Batch receipt

RFC 9457 problem

Media typeapplication/problem+json
object
status
integer
code
string
title
string
detail
string
type
string

Example generated

{
"status": 1,
"code": "example",
"title": "example",
"detail": "example",
"type": "example"
}

RFC 9457 problem

Media typeapplication/problem+json
object
status
integer
code
string
title
string
detail
string
type
string

Example generated

{
"status": 1,
"code": "example",
"title": "example",
"detail": "example",
"type": "example"
}

RFC 9457 problem

Media typeapplication/problem+json
object
status
integer
code
string
title
string
detail
string
type
string

Example generated

{
"status": 1,
"code": "example",
"title": "example",
"detail": "example",
"type": "example"
}