About
This documentation describes the KC Safety Public REST API (Version: v1). It lets an external system — your own middleware, a data warehouse, a reporting tool, or another KnowledgeCity product — pull incident and reference data out of your KC Safety account.
Requests are authenticated with an API key, scoped automatically to your account, and rate-limited according to your plan.
Read-only. The API exposes GET endpoints only. There is no create,
update, or delete. To send data into KC Safety, use inbound email reporting (for incidents)
or SCIM provisioning (for user accounts). To receive KC Safety events as they happen, use outbound
event webhooks — they deliver within seconds and consume no API quota.
Versioning
- Major version is set in the URL path, e.g.
/api/v1/public/.... - There is no minor-version request header. Unlike the KC Integration API, this
API does not read an
x-api-versionheader and there is nothing to pin —v1is the whole version contract.
Base URL
Production is https://safety-api.knowledgecity.com/api/v1, and all public endpoints sit
under /api/v1/public/. Use the API host (safety-api.…),
not your KC Safety web address — the application origin does not proxy /api/* through
to the backend. If you need a non-production base URL for testing, ask your account team.
Getting Started
Before calling the API, create a key: Admin Panel → Settings → Integrations → API Keys. This needs the Super Admin role and a plan that includes API access. Then review the Authentication guide.
API Reference Sections
The API is organized into the following sections:
- Departments (1)
- Incident types (1)
- Incidents (2)
- Locations (1)
- Users (1)
You can navigate these sections using the sidebar or the links above.