Safety Reports

Requires a premium or unlimited company plan.


Enumerations

Severity

Value
Name
Color

information

Information

#1f6ac4

incident

Incident

#fcd319

accident

Accident

#ff260a

hazard

Hazard

#fc19c3

Status

Value
Name
Color

open

Open

#ff9900

reviewed

Reviewed

#ffcc00

closed

Closed

#999999

published

Published

#34eb77

Flight Phase

Code
Name

APR

Approach

EMG

Emergency Descent

ENR

En Route

ICL

Initial Climb

LDG

Landing

MNV

Maneuvering

PIM

Post-Impact

PBT

Pushback/Towing

STD

Standing

TOF

Takeoff

TXI

Taxi

UND

Uncontrolled Descent

UNK

Unknown

Risk Probability

Value
Label

likely

1 Frequent

probable

2 Occasional

possible

3 Remote

improbable

4 Improbable

remote

5 Extremely Improbable

Risk Severity

Value
Label

catastrophic

A Catastrophic

hazardous

B Hazardous

critical

C Major

marginal

D Minor

negligible

E Negligible

Damages

Value
Description

none

None

minimal

Minimal

important

Important

catastrophic

Aircraft destroyed

Personal Damages

Value
Description

none

No Injuries

injuries

Light injuries, no hospitalization

serious

Serious injuries

casualties

Loss of Life


Access Control

user_group_id
Access

≤ 110

Full access: view all reports, edit any, delete

111–150

View all reports, edit own / crew reports

> 150

View only own reports and published reports


List Safety Reports

GET /safety_reports/index.json

GET /safety_reports/index/{flightId}.json

List safety reports for the company. Only top-level reports (no parent_id) are returned. Users with user_group_id > 150 see only reports where they are the reporter, PIC, SIC, supervisor, or the report is published. Results are paginated (default 25).

Path Parameters

Parameter
Type
Description

flightId

UUID

Optional. Filter reports linked to a specific flight.

Named Parameters

Parameter
Example
Description

status

status:open

Filter by status value

report_category

report_category:3

Filter by category ID

severity

severity:incident

Filter by severity value

from

from:2025-01-01

Reports on or after this date

to

to:2025-12-31

Reports on or before this date

excel

excel:true

Download as Excel (requires token query param)

Response


View Safety Report

GET /safety_reports/view/{id}.json

Full details for a single report including flight, aircraft, and reporter.

Path Parameters

Parameter
Type
Description

id

UUID

Safety report ID

Response

allowEdit is true for managers (user_group_id < 111), the report creator, or any flight crew member, provided the report is not deleted.


Export Safety Report (PDF)

GET /safety_reports/view/{id}/pdf:true?token=<token>

Download a safety report as PDF.


Export Safety Reports (XLS)

GET /safety_reports/index/from:{from}/to:{to}/status:{status}/report_category:{category}/severity:{severity}/excel:true?token=<token>

Download filtered safety reports as Excel. Same named params as the list endpoint.


Create Safety Report

POST /safety_reports/create.json

POST /safety_reports/create/{flightId}.json

Create a new safety report. Status is always set to open. Severity is derived automatically from damages and personal_damages. An idn is auto-generated (YYYY/NNNNN); child reports get parentIdn-N.

On creation, the system sends notifications to crew members listed in crew and to all company managers/safety officers.

Request Body

Field
Type
Required
Description

SafetyReport.name

string

Yes

Short event name

SafetyReport.datetime

string

Yes

Event date/time (ISO 8601)

SafetyReport.location

string

Yes

Event location (ICAO or free text)

SafetyReport.events

string

Yes

Description of what happened

SafetyReport.flight_phase

string

Yes

Flight phase code (see enumerations)

SafetyReport.safety_report_category_id

number

Yes

Category ID

SafetyReport.anonymous

boolean

No

If true, reporter identity is not stored

SafetyReport.flight_id

UUID

No

Linked flight ID

SafetyReport.flight_type_id

number

No

Flight type ID

SafetyReport.parent_id

UUID

No

Parent report ID (creates a child/related report)

SafetyReport.damages

string

No

Aircraft damages (see enumerations)

SafetyReport.personal_damages

string

No

Personal damages (see enumerations)

SafetyReport.air_space

string

No

controlled or uncontrolled

SafetyReport.actions

string

No

Immediate actions taken

SafetyReport.result

string

No

Outcome

SafetyReport.corrective_measures

string

No

Corrective measures

SafetyReport.met_conditions

string

No

Meteorological conditions

SafetyReport.risk_probability

string

No

Risk probability key (see enumerations)

SafetyReport.risk_severity

string

No

Risk severity key (see enumerations)

SafetyReport.mitigated_risk_probability

string

No

Mitigated probability key

SafetyReport.mitigated_risk_severity

string

No

Mitigated severity key

SafetyReport.Aircraft

array

No

Array of {"id": "..."} objects for linked aircraft (HABTM)

SafetyReport.crew

array

No

Array of user IDs to notify and request related reports from

Severity Auto-derivation

Condition
Derived Severity

damages = minimal

incident

damages in important, catastrophic

accident

personal_damages = injuries (and not already accident)

incident

personal_damages in serious, casualties

accident

None of the above

information

Response


Edit Safety Report

POST /safety_reports/edit/{id}.json

PUT /safety_reports/edit/{id}.json

Update an existing safety report. The id can also be supplied in the request body as SafetyReport.id.

Edit permission follows the same rules as allowEdit in the view endpoint. If the editing user is not the original report creator, the events and actions fields are protected and cannot be changed.

On save, managers and the report owner are notified. If the status changed, the notification includes the old and new status.

Request Body

Same fields as create (all optional on edit), wrapped under SafetyReport.

Response


Delete Safety Report

GET /safety_reports/delete/{id}.json

Soft-delete a safety report and all its child reports (sets deleted = true). Restricted to managers (user_group_id ≤ 110).

Path Parameters

Parameter
Type
Description

id

UUID

Safety report ID

Response


Stats

GET /safety_reports/stats.json

Returns reference data for building statistics views: status, severity, flight phase, damages, and personal damages enumerations.

Response


Reports by Month

GET /safety_reports/reports_by_month/{months}.json

Report counts per month, broken down by severity. Default: last 6 months.

Path Parameters

Parameter
Type
Description

months

number

Number of past months to include (default: 6)

Response


Reports by Flight Type

GET /safety_reports/reports_by_flight_type.json

GET /safety_reports/reports_by_flight_type/year:{year}.json

Report counts grouped by flight type.

Named Parameters

Parameter
Example
Description

year

year:2025

Filter by year

Response


Reports by Category

GET /safety_reports/reports_by_category.json

GET /safety_reports/reports_by_category/year:{year}.json

Report counts grouped by safety report category.

Named Parameters

Parameter
Example
Description

year

year:2025

Filter by year

Response


Reports by Severity

GET /safety_reports/reports_by_severity.json

GET /safety_reports/reports_by_severity/year:{year}.json

Report counts grouped by severity level.

Named Parameters

Parameter
Example
Description

year

year:2025

Filter by year

Response


Reports by Flight Phase

GET /safety_reports/reports_by_flight_phase.json

GET /safety_reports/reports_by_flight_phase/year:{year}.json

Report counts grouped by flight phase.

Named Parameters

Parameter
Example
Description

year

year:2025

Filter by year

Response

Last updated