---
title: "Export Checkins"
method: GET
path: "/api/v1/events/check-ins/export"
tags: ["Events"]
---

# Export Checkins

`GET /api/v1/events/check-ins/export`

## Request

- Base URL: `https://api.neosapien.xyz` (the document declares no server; this is the origin it was published from)
- URL: `https://api.neosapien.xyz/api/v1/events/check-ins/export`
- Auth: HTTP bearer

Every check-in in the category and window as CSV, streamed as it is read.

Any range is allowed up to EXPORT_MAX_ROWS rows; more is refused with 422
export_too_large, as the estimate predicts. X-Export-Row-Count gives the
rows to expect, one per line, for progress. A failure on our side aborts
the stream rather than ending it, so a client that finishes reading has
the whole file.

## Query parameters

- `category` 'tagged' | 'after_hours' | 'unmapped'
- `time_range` 'today' | 'week' | 'month' | 'all_time' | 'custom'
- `start_date` string, nullable
- `end_date` string, nullable

## Response `200`

Successful Response

## Other responses

- `422`: More rows than one export holds (export_too_large)
- `429`: Export capacity busy; retry after Retry-After
- `503`: Reading the range timed out; choose a shorter one

## Changes

- **2026-10-30** `04eb6fb25d56`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/neosapien/apis/neocore/changes/api/v1/events/check-ins/export/get.md)

---

[API](https://skmtc.dev/neosapien/apis/neocore.md) - [All operations](https://skmtc.dev/neosapien/apis/neocore/llms.txt) - [OpenAPI document](https://skmtc.dev/neosapien/apis/neocore/revisions/a42bfdafa6fe?raw)
