# Sessions and files

## Endpoints

- `GET /v1/sessions?harness={id}&limit=20`
- `GET /v1/sessions/{session_id}`
- `GET /v1/sessions/{session_id}/turns`
- `GET /v1/sessions/{session_id}/files`
- `GET /v1/sessions/{session_id}/files?changed=true`
- `GET /v1/containers/{session_id}/files/{file_id}/content`
- `GET /v1/sessions/{session_id}/files/archive`

## Archive

The archive endpoint returns generated artifacts as one zip while preserving folder hierarchy. Use `?changed=true` for only the latest turn, or `?files=fid1,fid2` for an explicit file set.

**Open standard**  
Listing sessions and reading turns after a dropped stream uses the inspection endpoints — GET /v1/sessions, /{id}, and /{id}/turns — that UHP defines at conformance class Extended. See [the UHP Sessions chapter](https://unifiedharnessprotocol.org/spec/sessions).

[Create API Key →](https://app.harnessrouter.ai/quickstart?ref=docs-create-api-key)

Ready to run this against a live workspace? Keys take under a minute.
