Back to Documentation
Advanced Guide
30+ min read

Integration API Documentation

Connecting Safety Square to Your Systems

Overview

Safety Square provides REST APIs for Enterprise customers to integrate with existing systems. This documentation covers authentication, endpoints, and best practices.

Note: API access requires Enterprise tier subscription.


Authentication

All API requests require authentication via API key:

Authorization: Bearer YOUR_API_KEY

API keys are generated in the Admin Console under Settings > API Access.


Base URL

https://api.safetysquareplatform.com/v1

Endpoints Overview

MethodEndpointDescription
GET/projectsList all projects
GET/projects/{id}Get project details
GET/sessionsList active sessions
GET/sessions/{id}Get session details
GET/incidentsList incidents
GET/incidents/{id}Get incident details
POST/webhooksRegister webhook
DELETE/webhooks/{id}Remove webhook

Projects API

List Projects

GET /projects

Query Parameters:

  • status - Filter by status (draft, approved, active, completed)
  • limit - Results per page (default 50)
  • offset - Pagination offset

Response:

{
  "projects": [
    {
      "id": "proj_abc123",
      "name": "Unit 4 Turnaround",
      "client": "Acme Refining",
      "site": "Deer Park Refinery",
      "status": "active",
      "activeSquares": 3,
      "createdAt": "2026-01-15T08:00:00Z"
    }
  ],
  "total": 42,
  "limit": 50,
  "offset": 0
}

Sessions API

List Active Sessions

GET /sessions?status=active

Response includes:

  • Session ID
  • Project reference
  • Task name
  • Location (unit/area)
  • Crew count
  • Status
  • Last activity timestamp

Incidents API

List Incidents

GET /incidents

Query Parameters:

  • projectId - Filter by project
  • type - Filter by type (near_miss, injury, property, environmental)
  • severity - Filter by severity
  • from - Start date (ISO 8601)
  • to - End date (ISO 8601)

Webhooks

Register webhooks to receive real-time notifications:

Register Webhook

POST /webhooks
{
  "url": "https://your-system.com/safety-square-webhook",
  "events": ["incident.created", "session.signed_off"],
  "secret": "your_webhook_secret"
}

Available Events

  • incident.created - New incident reported
  • incident.updated - Incident details changed
  • session.started - New session created
  • session.signed_off - Session completed
  • project.approved - Mother JSA approved
  • broadcast.sent - Message sent to field

Rate Limits

  • 100 requests per minute per API key
  • Webhook delivery: 3 retries with exponential backoff

Support

API support available for Enterprise customers:

  • api-support@safetysquareplatform.com
  • Dedicated Slack channel (upon request)

Ready to Transform Your Safety Execution?

See how Safety Square can help your team achieve session-first safety.