# Whistle ## Docs - [List identities](https://docs.kansato.com/api-reference/identities/list-identities.md): Returns identities for a project with display fields, report counts, and timestamps. - [Upsert an identity](https://docs.kansato.com/api-reference/identities/upsert-an-identity.md): Creates or updates an identity for a given type and external ID. Display fields merge — null values do not clear existing data. - [API overview](https://docs.kansato.com/api-reference/introduction.md): Base URL, authentication, and data model for the Whistle API. - [Create a report](https://docs.kansato.com/api-reference/reports/create-a-report.md): Submits a new moderation report for content within a project. Upserts the subject and reporter identities automatically. - [Dismiss a report](https://docs.kansato.com/api-reference/reports/dismiss-a-report.md): Marks a report as dismissed with a reason. - [Escalate a report](https://docs.kansato.com/api-reference/reports/escalate-a-report.md): Escalates a report to a target team. Records the escalation for audit; if the report is not resolved, sets status to IN_REVIEW. - [Get report details](https://docs.kansato.com/api-reference/reports/get-report-details.md): Returns full detail for a single report including severity, linked reasons, subject display, and queue context. - [List reports](https://docs.kansato.com/api-reference/reports/list-reports.md): Returns reports scoped to the authenticated organization. Supports cursor-based pagination and filtering. - [Reopen a resolved report](https://docs.kansato.com/api-reference/reports/reopen-a-resolved-report.md): Sets a resolved report back to OPEN or IN_REVIEW depending on queue assignment. - [Resolve a report](https://docs.kansato.com/api-reference/reports/resolve-a-report.md): Marks a report as resolved with an optional resolution code. - [Developer access](https://docs.kansato.com/developer-access.md): API keys, authentication, and setup for integrating with Whistle. - [Welcome](https://docs.kansato.com/index.md): Integrate Whistle into your platform using the SDK, REST API, or webhooks. - [Kuro AI](https://docs.kansato.com/kuro-ai.md): AI-powered content moderation and risk scoring for Whistle. - [Moderation workflow](https://docs.kansato.com/moderation-workflow.md): Report statuses, severity levels, and how work moves through Whistle. - [React SDK](https://docs.kansato.com/react-sdk.md): Use the Whistle React SDK to embed secure, server-validated report flows into your Next.js application. - [Node SDK](https://docs.kansato.com/sdk.md): Use the Whistle Node SDK to integrate reports and identities from any JavaScript/TypeScript backend. - [Outbound webhooks](https://docs.kansato.com/webhooks.md): Receive Whistle events at your HTTPS endpoint and verify signed deliveries. ## OpenAPI Specs - [openapi](https://docs.kansato.com/api-reference/openapi.json) ## Optional - [Kansato](https://kansato.com) - [Support](mailto:support@kansato.com?subject=Whistle%20docs)