Skip to content

Send a batch of the organization's own scores

POST
/v1/streaming/{pipeline}
curl --request POST \
--url https://your-tenant-host/v1/streaming/example \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "rows": [ { "user_id": "01928c4e-7d3a-7b2e-9f10-3c5d2a1b0e9f", "window_end": "2026-10-17T00:00:00Z", "churn": 0.42 } ] }'

Writes per-user values from the organization’s own model, read by rules as streaming.<pipeline>.<field>. Needs a key holding streaming:write, and a pipeline EdgeKit declared with source organization. The site is the key’s pin. 200 means read: each row landed or is counted under rejected. Safe to retry: a row older than the stored window_end is stale, never written over a fresher one.

pipeline
required
string
>= 1 characters
Media typeapplication/json
object
rows
required

At most 1000. Each carries user_id (EdgeKit’s), window_end (ISO-8601 UTC, or epoch milliseconds) and the pipeline’s declared columns. A declared column the row omits keeps its stored value; an explicit null clears it. Undeclared columns are ignored. A site_id is ignored: the site is the key’s.

Array<object>
object
key
additional properties

Example

[
{
"user_id": "01928c4e-7d3a-7b2e-9f10-3c5d2a1b0e9f",
"window_end": "2026-10-17T00:00:00Z",
"churn": 0.42
}
]

Read. Landed rows counted in received, the rest by reason.

Media typeapplication/json
object
received
required

Rows that landed.

integer
rejected
required

Rows that did not land, by reason: missing_user_id, missing_window_end, unknown_site, unknown_user, erased, stale (older than the stored window_end), type_mismatch. Open: accept an unknown reason. received plus every count is the batch size.

object
key
additional properties
integer

Example

{
"rejected": {
"unknown_user": 2,
"stale": 1
}
}

Missing or invalid credential.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details

Example

{
"error": {
"code": "unauthorized",
"message": "Invalid or missing API key."
}
}

Not allowed.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details

Example

{
"error": {
"code": "unauthorized",
"message": "Invalid or missing API key."
}
}

Resource not found.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details

Example

{
"error": {
"code": "unauthorized",
"message": "Invalid or missing API key."
}
}

Request body too large.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details

Example

{
"error": {
"code": "unauthorized",
"message": "Invalid or missing API key."
}
}

Request validation failed.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details

Example

{
"error": {
"code": "unauthorized",
"message": "Invalid or missing API key."
}
}

Unexpected error.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details

Example

{
"error": {
"code": "unauthorized",
"message": "Invalid or missing API key."
}
}