Get ingestion batch status
curl --request GET \
--url https://api.seynlabs.com/v1/ingest/{batchId} \
--header 'Authorization: Bearer <token>'{
"success": true,
"data": {
"batchId": "9b2e4d1a-7c3f-4e8a-9b1c-2d3e4f5a6b7c",
"sourceId": "b6f1c0de-1f2a-4c3b-9d4e-5a6b7c8d9e0f",
"status": "done",
"accepted": 2,
"deduplicated": 0,
"rejected": [],
"recordsCreated": 2,
"eventsCreated": 5,
"createdAt": "2026-06-12T16:24:11Z"
},
"meta": {
"requestId": "5f6a7b8c-9d0e-4f1a-8b2c-3d4e5f6a7b8c"
}
}Ingestion
Get ingestion batch status
Poll a batch you submitted to /v1/ingest.
GET
/
v1
/
ingest
/
{batchId}
Get ingestion batch status
curl --request GET \
--url https://api.seynlabs.com/v1/ingest/{batchId} \
--header 'Authorization: Bearer <token>'{
"success": true,
"data": {
"batchId": "9b2e4d1a-7c3f-4e8a-9b1c-2d3e4f5a6b7c",
"sourceId": "b6f1c0de-1f2a-4c3b-9d4e-5a6b7c8d9e0f",
"status": "done",
"accepted": 2,
"deduplicated": 0,
"rejected": [],
"recordsCreated": 2,
"eventsCreated": 5,
"createdAt": "2026-06-12T16:24:11Z"
},
"meta": {
"requestId": "5f6a7b8c-9d0e-4f1a-8b2c-3d4e5f6a7b8c"
}
}Normalization runs in the background, so a batch moves
queued → processing → done (or error). Poll this endpoint with the batchId returned by Ingest records.
The counts tell you what actually landed: accepted and deduplicated are known immediately, while recordsCreated and eventsCreated populate once the batch reaches done. Anything Seyn couldn’t accept appears in rejected with a reason.Authorizations
Bearer token from app.seynlabs.com → Settings → API Keys.
Send as Authorization: Bearer sk_live_....
Path Parameters
⌘I