API reference

Flat-file keys

S3 credentials for syncing the archive with aws, rclone, or DuckDB. The Flat files page and the bulk section of API use these routes.

Auth required. Paid plans with full history can create keys. The gateway is not switched on yet, so create returns 503 until it is. Use Downloads in the meantime.

List

GET /api/v1/files/keys

200 response
{
  "enabled": false,
  "allowed": true,
  "endpoint": null,
  "bucket": "kalshieye",
  "prefixes": ["trades/", "bbo_1m/", "_manifest/"],
  "max_active": 5,
  "keys": []
}

enabled is whether the gateway will accept keys. allowed is whether this plan may create them. prefixes are the dataset folders the plan can read.

Create

POST /api/v1/files/keys with { "name": "laptop" }. The secret is returned once, with access_key_id, endpoint, bucket, region (auto),prefixes, and ready-to-paste snippets.

  • 402 — free plans. required_tier is pro.
  • 403 — five active keys already. Revoke one first.
  • 503 — the gateway is not available yet.
curl
curl "https://kalshieye.com/api/v1/files/keys" \
  -X POST \
  -H "Authorization: Bearer $KALSHIEYE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"laptop"}'

Revoke

DELETE /api/v1/files/keys/{key_id} returns { "revoked": true }. The gateway stops accepting the key within a minute. An unknown id is 404.

Reads count toward the monthly allowance the first time you read each file in a month, the same as download links. The bucket layout is in bulk downloads.