# City of Riverton — public records

> The public-records portal of City of Riverton. Search what is already published before filing: most answers are already in the archive. Filing a request is a legal act that starts a statutory deadline staff must meet.

## Portal

- [Published records archive](https://brandeis.us/riverton/archive): records the agency has already released, searchable in plain language.
- [File a request](https://brandeis.us/riverton/request): the form residents use.
- [Track a request](https://brandeis.us/riverton/track): status by tracking number (PR-YYYY-NNNNN).
- [Your rights](https://brandeis.us/riverton/rights): deadlines and the law that governs them.

## For AI agents

- MCP server: https://brandeis.us/api/v1/riverton/mcp (streamable HTTP, stateless, no auth). Server card: https://brandeis.us/api/v1/riverton/mcp/server-card
- Tools: `search_records`, `get_record`, `get_request_status`, `preview_request`, `get_agency_rules`, `file_request`.
- REST: `GET /api/v1/riverton/archive?q=…`, `GET /api/v1/riverton/rules`, `POST /api/v1/riverton/requests/preview`, `POST /api/v1/riverton/requests`, `GET /api/v1/riverton/requests/{trackingNumber}`.
- Optional API key: a requester with a verified email creates one on their portal account (https://brandeis.us/riverton/account) and sends `Authorization: Bearer brk_…`. A key acts as its owner: their own requests, released files and messages (`list_my_requests`, `get_messages`, `reply_to_request`, `GET /api/v1/riverton/me/requests`), a higher filing limit (20/hour), and an optional `webhookUrl` for status pings. Anonymous use needs no key.
- [Developer documentation](https://brandeis.us/developers)

## Filing well

- Search the archive first. File only when the records are not already published.
- Optionally dry-run a draft with `preview_request`: matches, narrowing questions and the deadline. Filing never requires a preview; pass its `previewId` to `file_request` if you ran one.
- Describe the records specifically: subject, parties, and a date range.
- Optional structured fields: `dateRangeStart` / `dateRangeEnd` (YYYY-MM-DD), `recordTypes`, `departments`, `format`, `onBehalfOf {name, email, org, type}`, and `agent {name, version, operator}` to identify your software. They help staff; the written description stays the legal request.
- Send an idempotency key (`Idempotency-Key` header, or the `idempotencyKey` argument) and retry with the same key after a timeout — you get the original tracking number, not a duplicate filing.
- Limits: 5 filings per hour per client and 5 per email address. A request may be filed anonymously; nothing about who files or why changes how it is handled.
