Fire Department REST API
Schema
All API access is over HTTPS, and accessed through https://sizeup.firstduesizeup.com/fd-api/v1/. All data is sent and received as JSON.
All timestamps are returned in ISO 8601 format:
YYYY-MM-DDTHH:MM:SSZ
Parameters
For POST request, parameters not included in the URL should be encoded as JSON with a Content-Type of 'application/json'.
Root Endpoint
https://sizeup.firstduesizeup.com/fd-api/v1/
HTTP Verbs
Where possible, API v1 strives to use appropriate HTTP verbs for each action.
| Verb | Description |
|---|---|
| HEAD | Used for retrieving headers. |
| GET | Used for retrieving resources. |
| POST | Used for creating resources, or performing custom actions. |
| PATCH | Used for updating resources with partial JSON data. A PATCH request may accept one or more of the attributes to update the resource. |
| PUT | Used for replacing resources or collections. For PUT requests with no body attribute, be sure to set the Content-Length header to zero. |
Authentication
Requests that require authentication will return 403 Forbidden.
OAuth2 Token (sent in a header)
$ curl -H "Authorization: Bearer OAUTH-TOKEN" https://sizeup.firstduesizeup.com/fd-api/v1/foo/bar
This should only be used in server to server scenarios. Don't leak your OAuth application's client secret to your users.
Timezones
We use UTC as the timezone to create the item.
API Methods
POST /fd-api/v1/auth/token
Get an Access Token.
POST /fd-api/v1/auth/token
Parameters
| Name | Type | Description |
|---|---|---|
| string | Required. Email | |
| password | string | Required. Password |
| grant_type | string | Required. Grant Type (client_credentials) |
Example Request
$ curl -i -k -H "Content-Type: application/json" -X POST -d '{"grant_type": "client_credentials", "email": "user1@fdsu.tld", "password": "password1"}' https://sizeup.firstduesizeup.com/fd-api/v1/auth/token
Success Response
HTTP/1.1 200 OK
{
"access_token": "AAJEdz1tzkHFn6b76rj9SPAmE4BDCxRI",
"expires_in": 1209600,
"scope": "api web",
"token_type": "bearer"
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Incorrect email\/password combination."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide grant_type parameter.",
"errors": [
{
"field": "grant_type",
"code": "missing_field",
"message": "Please provide grant_type parameter."
}
]
}
POST /fd-api/v1/dpt/run-parser
Run the dispatch parser template engine. Requires authentication via Bearer token. Request body must be JSON containing a dispatch parser template identical to the ones that are generated by the CAD-AI tool and the ones stored in docs/parser_templates/. Response is JSON.
POST /fd-api/v1/dpt/run-parser
Parameters
no parameter. The body is just a JSON-encoded string (the dispatch parser template). The structure of the DPT required that the top level key of the json is "templates"
Example Request
$ curl -i -k -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -H "Content-Type: application/json" -X POST -d '{
"templates": [
{
"name": "Central Square Email Abington MA",
"cad_vendor": "Central Square",
"data_source": "email\/text",
"parser_type": "regex",
"status_code": "enabled",
"version": "2",
...
"example_data": [],
"parser_options": {},
"transformations": {},
...
"batt_depts": [
1234,
2345
]
}
]
}' https://sizeup.firstduesizeup.com/fd-api/v1/dpt/run-parser
Success Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"result": {
"<battDeptId1>": {
"<exampleName1>": {
"afterParser": <GenericParseResult object>,
"afterTransform": <GenericParseResult object>,
"modelErrors": [],
"error": "",
"isParsed": true,
"parsingTime": "00m:00s.000ms",
"transformingTime": "00m:00s.000ms"
},
...
},
...
}
}
-
result: Object keyed by battalion department ID. Each value is an object keyed by example
name; each entry is a parser result (see below). - Parser result (per example): afterParser (GenericParseResult after parsing), afterTransform (GenericParseResult after transformations), modelErrors (array of validation errors), error (string, set on exception), isParsed (boolean), parsingTime, transformingTime (elapsed time strings).
GenericParseResult object structure
The run-parser success response includes one or more GenericParseResult objects (or a wrapper containing them). Each object has the following attributes. All fields are optional in the JSON; omitted keys mean the value was not set or is empty.
Dispatch fields (map to dispatch object attributes):
| Field | Type | Description |
|---|---|---|
| originalMessage | string | Raw/original message (orig_msg). |
| dispatchType | string | Dispatch type. |
| callNotes | string | Message/call notes (comment1). |
| latitude | string or number | Latitude. |
| longitude | string or number | Longitude. |
| incidentTypeCode | string | Dispatch incident type code. |
| incidentTypeId | number | Dispatch incident type id (used in transformations). |
| battDeptId | number | Batt dept id for the dispatch. |
| xrefId | string | External reference id. |
| placeName | string | Place name. |
| address | string | Address. |
| unit | string | Unit (apt, suite, etc.). |
| city | string | City. |
| stateCode | string | State code. |
| dispatchUnitCodes | string or array | Dispatch unit codes (string during parsing, often array after transformations). |
| rawEmail | string | Raw email / full XML for dispatch. |
| crossStreets | string | Cross streets. |
| statusCode | string | Status code (e.g. open, closed). |
| nfirsIncidentNumber | string | NFIRS incident number. |
| locationInfo | string | Location info. |
| venue | string | Venue. |
| createdAt | string or date | Dispatch date (ISO 8601 when serialized). |
| callerName | string | Caller name. |
| radioChannel | string | Radio channel. |
| addressRelStatusCode | string | Address reliability status code. |
NFIRS notification fields (map to nfirs notification object attributes):
| Field | Type | Description |
|---|---|---|
| zipCode | string | Zip code. |
| psapCallAt | string or date | PSAP call time. |
| alarmAt | string or date | Alarm time. |
| dispatchNotifiedAt | string or date | Dispatch notified time. |
| commandEstablishedAt | string or date | Command established time. |
| callTransferredAt | string or date | Call transferred time. |
| psapCallAnsweredAt | string or date | PSAP call answered time. |
| incidentEndAt | string or date | Incident end time. |
| alarms | string or array | Alarms. |
| shiftName | string | Shift name. |
| notificationType | string | Notification type. |
| aidTypeCode | number | Aid type code. |
| dispatchId | number | Dispatch id (used in later processes). |
| addressId | number | Address id (used in some transformations). |
| fdidNumber | string | FDID number. |
| controlledAt | string or date | Controlled at. |
| fireStationNum | string | Fire station number. |
| callCompletedAt | string or date | Call completed at. |
| officerInCharge | string | Officer in charge. |
| narrative | array or string | Narratives (array during parsing, often string after). |
| apparatus | array | Array of apparatus result objects (see below). |
| zone | string | Zone. |
| emdCardNumber | string | EMD card number. |
| emsDispatchPriority | string | EMS dispatch priority. |
| cadPriority | string | CAD priority. |
| businessName | string | Business name. |
| ofmLocationCode | string | OFM location code. |
| houseNum | string | House number. |
| prefixDirection | string | Prefix direction. |
| streetName | string | Street name. |
| streetType | string | Street type. |
| suffixDirection | string | Suffix direction. |
| emsIncidentNumber | string | EMS incident number. |
| emsResponseNumber | string | EMS response number. |
Control and metadata fields:
| Field | Type | Description |
|---|---|---|
| extraFields | object | Key-value map of extra data from parsing. |
| isNewRecord | boolean | Whether the dispatch/NFIRS record is new. |
| errors | array of string | Parser/transformation errors. |
| notes | array of string | Warnings/notes from parser or transformations. |
| processDispatch | boolean | Whether to process the dispatch. |
| processNfirsNotification | boolean | Whether to process the NFIRS notification. |
| isOnlyForUpdate | boolean | If true, update existing record by xrefId. |
| isIgnored | boolean | Whether the item is ignored. |
| isNotification | boolean | Whether this is a NOTIFICATION (e.g. Regex Parser). |
| isMatch | boolean | Whether the last parsed regex matched. |
| notProcessReasons | array of string | Reasons the object was not processed. |
| updatedAt | string or date | Last modification date. |
| command | string | Temporary data for later processing. |
| file | — | Server-side file reference (not serialized in API JSON). |
| dataSource | string | Data source for the template. |
| updateRules | array | Rules for finding related records to update. |
| fieldConstraints | object | Field-level constraints (e.g. nullable, immutable). |
| isApparatusMultiDocEnabled | boolean | Whether multiple docs per apparatus are allowed. |
| apparatusMultipleCriteriaField | string | Field used when multiple apparatus docs exist. |
Apparatus item structure (each element of apparatus):
| Field | Type | Description |
|---|---|---|
| unitCode | string | Unit code. |
| isAid | boolean | Whether unit is aid. |
| dispatchedAt | string or date | Dispatched at (ISO 8601). |
| dispatchAckAt | string or date | Dispatch acknowledged at. |
| enroutedAt | string or date | En route at. |
| arrivedStagingAt | string or date | Arrived at staging at. |
| arrivedAt | string or date | Arrived at scene. |
| leavedSceneAt | string or date | Left scene at. |
| clearedAt | string or date | Cleared at. |
| backInServiceAt | string or date | Back in service at. |
| backHomeLocationAt | string or date | Back at home location at. |
| canceledAt | string or date | Canceled at. |
| patientTransferredAt | string or date | Patient transferred at. |
| patientArrivedAt | string or date | Patient arrived at. |
| arrivedDestinationLandingAreaAt | string or date | Arrived at destination landing area. |
| patientArrivedDestinationAt | string or date | Patient arrived at destination. |
| destinationPatientTransferCareAt | string or date | Patient transfer of care at destination. |
| canceledStageCode | string | Canceled stage code. |
| beginningOdo | number | Beginning odometer. |
| onSceneOdo | number | On-scene odometer. |
| patientDestOdo | number | Patient destination odometer. |
| endingOdo | number | Ending odometer. |
| responseMode | string | Response mode. |
| latitude | number | Latitude. |
| longitude | number | Longitude. |
| notes | string | Apparatus notes. |
| personnelItems | array | Array of personnel objects (see below). |
Personnel item structure (each element of personnelItems within an apparatus):
| Field | Type | Description |
|---|---|---|
| firstName | string | First name. |
| lastName | string | Last name. |
| middleInitial | string | Middle initial. |
| agencyId | string | Agency id. |
| xrefId | string | External reference id. |
Example minimal structure:
{
"dispatchType": "TYPE",
"callNotes": "Notes",
"address": "123 Main St",
"city": "City",
"stateCode": "NY",
"originalMessage": "...",
"latitude": 40.0,
"longitude": -74.0,
"incidentTypeCode": "118CR",
"battDeptId": 1,
"xrefId": "REF-1",
"placeName": "Place",
"unit": "",
"dispatchUnitCodes": [],
"crossStreets": "",
"statusCode": "open",
"nfirsIncidentNumber": "",
"locationInfo": "",
"venue": "",
"callerName": "",
"radioChannel": "",
"addressRelStatusCode": "",
"zipCode": "",
"errors": [],
"notes": [],
"extraFields": {},
"isNewRecord": true,
"processDispatch": true,
"processNfirsNotification": true,
"isOnlyForUpdate": false,
"isIgnored": false,
"isNotification": false,
"isMatch": true,
"notProcessReasons": [],
"updateRules": [],
"fieldConstraints": {},
"apparatus": [
{
"unitCode": "E101",
"isAid": false,
"dispatchedAt": "2025-02-03T14:00:00Z",
"dispatchAckAt": null,
"enroutedAt": null,
"arrivedStagingAt": null,
"arrivedAt": null,
"leavedSceneAt": null,
"clearedAt": null,
"backInServiceAt": null,
"backHomeLocationAt": null,
"canceledAt": null,
"arrivedDestinationLandingAreaAt": null,
"patientArrivedDestinationAt": null,
"destinationPatientTransferCareAt": null,
"personnelItems": [
{
"firstName": "Jane",
"lastName": "Doe",
"middleInitial": "M",
"agencyId": "AG-001",
"xrefId": "PERS-001"
}
]
}
],
"isApparatusMultiDocEnabled": false,
"apparatusMultipleCriteriaField": null
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide templates parameter.",
"errors": [
{
"field": "templates",
"code": "missing_field",
"message": "Please provide templates parameter (JSON-encoded string)."
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Templates must be valid JSON.",
"errors": [
{
"field": "templates",
"code": "invalid",
"message": "Templates must be a valid JSON-encoded string."
}
]
}
GET /fd-api/v1/dispatches
Get dispatches. Request will be paginated to 20 items by default.
GET /fd-api/v1/dispatches
Parameters
| Name | Type | Description |
|---|---|---|
| page | int | Page number |
| since | string | Only dispatches created at or after this time are returned. This is a timestamp in ISO 8601 format. |
The Link header includes pagination information:
Link: <https://sizeup.firstduesizeup.com/fd-api/v1/dispatches?page=2>; rel="next", <https://sizeup.firstduesizeup.com/fd-api/v1/dispatches?page=7>; rel="last"
The possible rel values are:
| Name | Description |
|---|---|
| first | The link relation for the first page of results. |
| prev | The link relation for the immediate previous page of results. |
| next | The link relation for the immediate next page of results. |
| last | The link relation for the last page of results. |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "since=2019-02-15T19:00:00+00:00" https://sizeup.firstduesizeup.com/fd-api/v1/dispatches
Success Response
HTTP/1.1 200 OK
Link: <https://sizeup.firstduesizeup.com/fd-api/v1/dispatches?page=2>; rel="next",
<https://sizeup.firstduesizeup.com/fd-api/v1/dispatches?page=7>; rel="last"
[
{
"id": 123,
"type": "FD TYPE",
"message": "FD MESSAGE",
"place_name": "PLACE NAME",
"address": "FD ADDRESS",
"address2": "APT 123",
"cross_streets": "CROSS STREET1 / CROSS STREET2",
"city": "FD CITY",
"state_code": "WA",
"latitude": 47.633523,
"longitude": -122.277157,
"unit_codes": ["U1"],
"incident_type_code": "118CR",
"status_code": "open",
"xref_id": "FD_ID1",
"created_at": "2019-02-16T19:42:00+00:00",
"radio_channel": "RADIO CHANNEL",
"alarm_level": "01",
"fire_zone": "abc fd",
"fire_stations": [
"Station 4",
"Station 3"
],
},
{
...
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide a valid since parameter.",
"errors": [
{
"field": "since",
"code": "invalid",
"message": "Please provide a date in ISO 8601 format."
}
]
}
GET /fd-api/v1/dispatches-responder-unit
Get active dispatch responder units for a client. This API provides active dispatch responder units (responder units) for the given client. Returns the latest responder status per user/device/dispatch combination, optionally filtered by status change time. Requires Bearer token and apiReadDispatch permission. The client is specified via the required client_code query parameter.
GET /fd-api/v1/dispatches-responder-unit
Parameters
| Name | Type | Description |
|---|---|---|
| client_code | string | Required. Client code to fetch responder units for. |
| since | string | Optional. ISO 8601 datetime; only units with status change at or after this time are returned. |
| page | int | Optional. Page number for pagination. Default: 1. |
| include_previous_status | bool | Optional. Include previous_status in each item. Default: false. |
The Link header includes pagination information:
Link Example 1: <https://sizeup.firstduesizeup.com/fd-api/v1/dispatches-responder-unit?client_code=CLIENT_CODE_1&page=2>; rel="next", <https://sizeup.firstduesizeup.com/fd-api/v1/dispatches-responder-unit?client_code=CLIENT_CODE_1&page=7>; rel="last" Link Example 2: <https://sizeup.firstduesizeup.com/fd-api/v1/dispatches-responder-unit?client_code=CLIENT_CODE_1&page=2&since=2019-02-15T19%3A00%3A00%2B00%3A00&include_previous_status=true>; rel="next", <https://sizeup.firstduesizeup.com/fd-api/v1/dispatches-responder-unit?client_code=CLIENT_CODE_1&page=12&since=2019-02-15T19%3A00%3A00%2B00%3A00&include_previous_status=true>; rel="last"
| Name | Description |
|---|---|
| first | The link relation for the first page of results. |
| prev | The link relation for the immediate previous page of results. |
| next | The link relation for the immediate next page of results. |
| last | The link relation for the last page of results. |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "client_code=CLIENT_CODE_1" https://sizeup.firstduesizeup.com/fd-api/v1/dispatches-responder-unit $ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "client_code=CLIENT_CODE_1" --data-urlencode "since=2025-01-01T00:00:00+00:00" --data-urlencode "page=1" --data-urlencode "include_previous_status=true" https://sizeup.firstduesizeup.com/fd-api/v1/dispatches-responder-unit
Success Response
HTTP/1.1 200 OK
Link: <https://sizeup.firstduesizeup.com/fd-api/v1/dispatches-responder-unit?client_code=CLIENT_CODE_1&page=2>; rel="next",
<https://sizeup.firstduesizeup.com/fd-api/v1/dispatches-responder-unit?client_code=CLIENT_CODE_1&page=7>; rel="last"
{
"items": [
{
"name": "John Doe",
"device_name": "iPhone",
"eta": "300",
"title": "Captain",
"status": "to_scene",
"station_num": "1",
"since": "2025-02-08T14:30:00+00:00",
"unit_code": "M31",
"dispatch_id": "123",
"dispatch_client_code": "CLIENT_CODE_1",
"xref_id": "FD_ID1",
"previous_status": "dispatched",
"is_current_user": false
}
],
"total": 42,
"page": 1,
"page_size": 100
}
When include_previous_status=true, each item includes previous_status (see example above). When include_previous_status=false or omitted, previous_status is not present. Field reference:
| Field | Type | Description |
|---|---|---|
| previous_status | string | Responder status code before the current status. |
Response is limited to 100 items per page (page_size). When the client has no dispatches or responder units, the endpoint returns 200 OK with an empty result set: items: [] and total: 0.
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 400 Bad Request
{
"code": 0,
"message": "Invalid since parameter. Use ISO 8601 datetime format."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide client_code parameter.",
"errors": [
{
"field": "client_code",
"code": "missing_field",
"message": "Please provide client_code parameter."
}
]
}
POST /fd-api/v1/dispatches
Create a dispatch.
POST /fd-api/v1/dispatches
Parameters
| Name | Type | Description |
|---|---|---|
| type | string | Required. Type |
| message | string | Message |
| place_name | string | Place Name |
| address | string | Required. Address 1 |
| address2 | string | Address 2 (apt, unit, suite, etc) |
| cross_streets | string | Cross Streets |
| city | string | Required. City |
| state_code | string | Required. State Code |
| latitude | string | Latitude |
| longitude | string | Longitude |
| unit_codes | string | Unit Codes (comma separated) |
| incident_type_code | string | Incident Type Code |
| xref_id | string | Xref Id |
| nfirs_incident_number | string | Nfirs Incident Number |
| radio_channel | string | Radio Channel |
| alarm_level | string | Alarm Level ( maximum length is 2) |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"type": "TYPE", "message": "MESSAGE", "address": "ADDRESS", "address2": "APT 123", "city": "CITY", "state_code": "NY", "latitude": 40.0, "longitude": -120.0, "unit_codes": "U1,U2,U3", "incident_type_code": "118CR", "xref_id": "FD_ID1"}' https://sizeup.firstduesizeup.com/fd-api/v1/dispatches
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "address",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
PATCH /fd-api/v1/dispatches/xref/:xref_id
Update dispatch item.
PATCH /fd-api/v1/dispatches/xref/:xref_id
Parameters
| Name | Type | Description |
|---|---|---|
| type | string | Type |
| message | string | Message |
| place_name | string | Place Name |
| address | string | Address 1 |
| address2 | string | Address 2 (apt, unit, suite, etc) |
| cross_streets | string | Cross Streets |
| city | string | City |
| state_code | string | State Code |
| latitude | string | Latitude |
| longitude | string | Longitude |
| unit_codes | string | Unit Codes (comma separated) |
| incident_type_code | string | Incident Type Code |
| status_code | string | Status Code. (Valid codes: closed) |
| nfirs_incident_number | string | Nfirs Incident Number |
| radio_channel | string | Radio Channel |
| alarm_level | string | Alarm Level ( maximum length is 2) |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PATCH -d '{"status_code": "closed"}' https://sizeup.firstduesizeup.com/fd-api/v1/dispatches/xref/FD_ID1
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "State is of the wrong length (should be 2 characters)."
}
PUT /fd-api/v1/dispatches/xref/:xref_id
Update dispatch item completely.
PUT /fd-api/v1/dispatches/xref/:xref_id
Parameters
| Name | Type | Description |
|---|---|---|
| type | string | Required. Type |
| message | string | Message |
| place_name | string | Place Name |
| address | string | Required. Address 1 |
| address2 | string | Address 2 (apt, unit, suite, etc) |
| cross_streets | string | Cross Streets |
| city | string | Required. City |
| state_code | string | Required. State Code |
| latitude | string | Latitude |
| longitude | string | Longitude |
| unit_codes | string | Unit Codes (comma separated) |
| incident_type_code | string | Incident Type Code |
| status_code | string | Required. Status Code. (Valid codes: open, closed) |
| nfirs_incident_number | string | Nfirs Incident Number |
| radio_channel | string | Radio Channel |
| alarm_level | string | Alarm Level ( maximum length is 2) |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"type": "TYPE", "message": "MESSAGE", "address": "ADDRESS", "address2": "APT 123", "city": "CITY", "state_code": "NY", "latitude": 40.0, "longitude": -120.0, "unit_codes": "U1,U2,U3", "incident_type_code": "118CR", "status_code": "closed"}' https://sizeup.firstduesizeup.com/fd-api/v1/dispatches/xref/FD_ID1
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "address",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
DELETE /fd-api/v1/dispatches/xref/:xref_id
Delete dispatch item.
DELETE /fd-api/v1/dispatches/xref/:xref_id
Parameters
| Name | Type | Description |
|---|---|---|
| xref_id | string | Required. Xref Id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/dispatches/xref/FD_ID1
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
GET /fd-api/v1/get-units-by-dispatches
Get units by dispatches. Request will be paginated to 20 items of dispatch and its related units by default.
GET /fd-api/v1/get-units-by-dispatches
Parameters
| Name | Type | Description |
|---|---|---|
| page | int | Page number |
| since | string | Only dispatches created at or after this time are returned. This is a timestamp in ISO 8601 format. |
| dispatch_id | int | Only to fetch the data of particular dispatch, use dispatch_id param. |
| active_only | boolean | To get all active dispatch incidents , use the active_only param pass the boolean value true. |
The Link header includes pagination information:
Link Example 1: <https://sizeup.firstduesizeup.com/fd-api/v1/get-units-by-dispatches?page=2>; rel="next", <https://sizeup.firstduesizeup.com/fd-api/v1/get-units-by-dispatches?page=7>; rel="last" Link Example 2: <https://sizeup.firstduesizeup.com/fd-api/v1/get-units-by-dispatches?page=2&since=2019-02-15T19%3A00%3A00%2B00%3A00&active_only=true>; rel="next", <https://sizeup.firstduesizeup.com/fd-api/v1/get-units-by-dispatches?page=12&since=2019-02-15T19%3A00%3A00%2B00%3A00&active_only=true>; rel="last"
The possible rel values are:
| Name | Description |
|---|---|
| first | The link relation for the first page of results. |
| prev | The link relation for the immediate previous page of results. |
| next | The link relation for the immediate next page of results. |
| last | The link relation for the last page of results. |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "since=2024-09-01T19:00:00+00:00" https://sizeup.firstduesizeup.com/fd-api/v1/get-units-by-dispatches $ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "dispatch_id=3418" https://sizeup.firstduesizeup.com/fd-api/v1/get-units-by-dispatches $ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G ---data-urlencode "start=2024-09-01T08:00:00+00:00" --data-urlencode "active_only=true" https://sizeup.firstduesizeup.com/fd-api/v1/get-units-by-dispatches
Success Response
HTTP/1.1 200 OK
Link: <https://sizeup.firstduesizeup.com/fd-api/v1/get-units-by-dispatches?page=2>; rel="next",
<https://sizeup.firstduesizeup.com/fd-api/v1/get-units-by-dispatches?page=7>; rel="last"
[
{
"id": 3418,
"type": "Mobile Property (Vehicle) Fire Test type",
"status_code": "open",
"incident_type_code": null,
"unit_codes": [
"ZODI1",
"BRSH1",
"SQD3",
"TRK5",
"UTIL3"
],
"created_at": "2024-09-24T08:42:35+00:00",
"place_name": "PLACE NAME",
"address": "FD ADDRESS",
"address2": "APT 123",
"city": "FD CITY",
"state_code": "WA",
"location": "FD ADDRESS, FD CITY, WA, 12345",
"latitude": 47.633523,
"longitude": -122.277157,
"message": null,
"call_notes": "This is the call notes of dispatch mobile property hyd w3",
"units": [
{
"id": 2,
"name": "User #2 Name",
"email": "u2@fdsu.tld",
"statuses": [
{
"name": "Transport",
"status_code": "transport",
"created_at": "2024-09-24T09:27:10+00:00"
},
{
"name": "To Station",
"status_code": "to_station",
"created_at": "2024-09-24T09:26:35+00:00"
},
{
"name": "On Scene",
"status_code": "on_scene",
"created_at": "2024-09-24T09:20:10+00:00"
},
{
"name": "To Station",
"status_code": "to_station",
"created_at": "2024-09-24T09:19:50+00:00"
}
]
},
{
"id": 39605,
"name": "User 39605 Name",
"email": "user39605@fdsu.tld",
"statuses": [
{
"name": "On Station",
"status_code": "on_station",
"created_at": "2024-09-24T10:01:00+00:00"
},
{
"name": "In Service",
"status_code": "in_service",
"created_at": "2024-09-24T09:18:57+00:00"
},
{
"name": "On Scene",
"status_code": "on_scene",
"created_at": "2024-09-24T09:18:55+00:00"
},
{
"name": "On Station",
"status_code": "on_station",
"created_at": "2024-09-24T09:18:24+00:00"
}
]
}
],
"xref_id": "ABC-123"
},
{
"id": 3415,
"type": "Police/DPS Assistance",
"status_code": "open",
"incident_type_code": null,
"unit_codes": [],
"created_at": "2024-09-20T09:36:59+00:00",
"place_name": null,
"address": "Robert Street",
"address2": null,
"city": "Laredo",
"state_code": null,
"location": "ROBERT STREET, LAREDO, TX, 78046",
"latitude": 33.1134323,
"longitude": -96.111101,
"message": null,
"call_notes": "This is call notes for record",
"units": [],
"xref_id": "DEF-456"
},
{
...
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide a valid since parameter.",
"errors": [
{
"field": "since",
"code": "invalid",
"message": "Please provide a date in ISO 8601 format."
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide valid dispatch_id parameter.",
"errors": [
{
"field": "dispatch_id",
"code": "invalid",
"message": "Please provide a valid integer."
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide valid since, active_only parameters.",
"errors": [
{
"field": "since",
"code": "invalid",
"message": "Please provide a date in ISO 8601 format."
},
{
"field": "active_only",
"code": "invalid",
"message": "Please provide a valid boolean value true or false."
}
]
}
HEAD /fd-api/v1/iams/email/:email
Check that IAMS authentication is enabled for the email.
HEAD /fd-api/v1/iams/email/:email
Parameters
| Name | Type | Description |
|---|---|---|
| string | Required. Email |
Example Request
$ curl -i -k -I -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/iams/email/test@test.com
Success Response
HTTP/1.1 200 OK
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
GET /fd-api/v1/tce-premises/xref/:premise_id
Get a TCE premise.
GET /fd-api/v1/tce-premises/xref/:premise_id
Parameters
| Name | Type | Description |
|---|---|---|
| premise_id | int | Required. Premise Id |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/tce-premises/xref/111
Success Response
HTTP/1.1 200 OK
{
"name": "The vault",
"address1": "ADDRESS",
"address2": "APT 25",
"city": "CITY",
"state_code": "WA",
"zip": "12345",
"latitude": 40,
"longitude": -120,
"status_code": "INACTIVE",
"tag_color_code": null
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/tce-premises
Create a TCE premise.
POST /fd-api/v1/tce-premises
Parameters
| Name | Type | Description |
|---|---|---|
| premise_id | int | Required. Premise Id |
| name | string | Premise name |
| address1 | string | Required. Address 1 |
| address2 | string | Address 2 (apt, unit, suite, etc) |
| city | string | Required. City |
| state_code | string | Required. State code |
| zip | string | Required. Postal zip code |
| latitude | string | Latitude |
| longitude | string | Longitude |
| status_code | string | Required. Status code (ACTIVE, INACTIVE, DELETED) |
| tag_color_code | string | Tag color code (BLUE, GREEN, RED, WHITE, YELLOW) |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"premise_id": 111, "name": "The vault", "address1": "ADDRESS", "address2": "APT 25", "city": "CITY", "state_code": "WA", "zip": "12345", "latitude": 40.0, "longitude": -120.0, "status_code": "ACTIVE"}' https://sizeup.firstduesizeup.com/fd-api/v1/tce-premises
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "address",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
PATCH /fd-api/v1/tce-premises/xref/:premise_id
Update a TCE premise.
PATCH /fd-api/v1/tce-premises/xref/:premise_id
Parameters
| Name | Type | Description |
|---|---|---|
| name | string | Premise name |
| address1 | string | Address 1 |
| address2 | string | Address 2 (apt, unit, suite, etc) |
| city | string | City |
| state_code | string | State Code |
| zip | string | Postal zip code |
| latitude | string | Latitude |
| longitude | string | Longitude |
| status_code | string | Status code (ACTIVE, INACTIVE, DELETED) |
| tag_color_code | string | Tag color code (BLUE, GREEN, RED, WHITE, YELLOW) |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PATCH -d '{"status_code": "INACTIVE"}' https://sizeup.firstduesizeup.com/fd-api/v1/tce-premises/xref/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "State is of the wrong length (should be 2 characters)."
}
GET /fd-api/v1/tce-systems/xref/:system_id
Get a TCE system.
GET /fd-api/v1/tce-systems/xref/:system_id
Parameters
| Name | Type | Description |
|---|---|---|
| system_id | int | Required. System Id |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/tce-systems/xref/222
Success Response
HTTP/1.1 200 OK
{
"premise_id": 111,
"system_type_name": "Standpipe",
"last_inspection_date": "2019-09-08",
"next_inspection_date": "2020-09-10",
"has_open_deficiencies": true,
"status_code": "ACTIVE",
"tag_color_code": "RED",
"is_current": true,
"is_inventory_tracked": false,
"max_inventory_count": null,
"is_service_dates_based_on_inventory": false
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/tce-systems
Create a TCE system.
POST /fd-api/v1/tce-systems
Parameters
| Name | Type | Description |
|---|---|---|
| system_id | int | Required. Premise profile Id |
| premise_id | int | Required. Premise Id |
| system_type_name | string | Required. Master inspection report type name |
| last_inspection_date | string | Last inspection date. ISO 8601 extended date format (Y YYY-MM-DD) |
| next_inspection_date | string | Required. Next inspection date. ISO 8601 extended date format (YYYY-MM-DD) |
| has_open_deficiencies | bool | Required. Has open deficiencies |
| status_code | string | Required. Status code (ACTIVE, INACTIVE, DELETED) |
| tag_color_code | string | Tag color code (BLUE, GREEN, RED, WHITE, YELLOW) |
| is_current | bool | Is current system |
| is_inventory_tracked | bool | Is inventory tracked |
| max_inventory_count | int | Max inventory count |
| is_service_dates_based_on_inventory | bool | Is service dates based on inventory |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"system_id": 222, "premise_id": 111, "system_type_name": "Standpipe", "last_inspection_date": "2019-09-08", "next_inspection_date": "2020-09-09", "has_open_deficiencies": true, "status_code": "ACTIVE", "is_inventory_tracked": false, "max_inventory_count": 0, "is_service_dates_based_on_inventory": false}' https://sizeup.firstduesizeup.com/fd-api/v1/tce-systems
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide system_id parameter."
}
PATCH /fd-api/v1/tce-systems/xref/:system_id
Update a TCE system.
PATCH /fd-api/v1/tce-systems/xref/:system_id
Parameters
| Name | Type | Description |
|---|---|---|
| premise_id | int | Premise Id |
| system_type_name | string | Master inspection report type name |
| last_inspection_date | string | Last inspection date. ISO 8601 extended date format (Y YYY-MM-DD) |
| next_inspection_date | string | Next inspection date. ISO 8601 extended date format (YYYY-MM-DD) |
| has_open_deficiencies | bool | Has open deficiencies |
| status_code | string | Status code (ACTIVE, INACTIVE, DELETED) |
| tag_color_code | string | Tag color code (BLUE, GREEN, RED, WHITE, YELLOW) |
| is_current | bool | Is current system |
| is_inventory_tracked | bool | Is inventory tracked |
| max_inventory_count | int | Max inventory count |
| is_service_dates_based_on_inventory | bool | Is service dates based on inventory |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PATCH -d '{"next_inspection_date": "2020-09-10"}' https://sizeup.firstduesizeup.com/fd-api/v1/tce-systems/xref/222
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Please enter valid next inspection date."
}
GET /fd-api/v1/tce-inventories/xref/:inventory_id
Get a TCE inventory.
GET /fd-api/v1/tce-inventories/xref/:inventory_id
Parameters
| Name | Type | Description |
|---|---|---|
| inventory_id | int | Required. Inventory Id |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/tce-inventories/xref/333
Success Response
HTTP/1.1 200 OK
{
"premise_id": 111,
"system_id": 222,
"system_type_name": "Elevator",
"last_inspection_date": null,
"next_inspection_date": "2020-09-07",
"has_open_deficiencies": false,
"description": "SW Tower Car 2",
"status_code": "INACTIVE",
"tag_color_code": "YELLOW",
"is_current": false
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/tce-inventories
Create a TCE inventory.
POST /fd-api/v1/tce-inventories
Parameters
| Name | Type | Description |
|---|---|---|
| inventory_id | int | Required. Inventory Id |
| premise_id | int | Required. Premise Id |
| system_id | int | Premise profile Id |
| system_type_name | string | Required. Master inspection report type name |
| last_inspection_date | string | Last inspection date. ISO 8601 extended date format (YYYY-MM-DD) |
| next_inspection_date | string | Required. Next inspection date. ISO 8601 extended date format (YYYY-MM-DD) |
| has_open_deficiencies | bool | Required. Has open deficiencies |
| description | string | Description |
| status_code | string | Required. Status code (ACTIVE, INACTIVE, DELETED) |
| tag_color_code | string | Tag color code (BLUE, GREEN, RED, WHITE, YELLOW) |
| is_current | bool | Is current inventory |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"inventory_id": 333, "premise_id": 111, "system_id": 222, "system_type_name": "Elevator", "next_inspection_date": "2020-09-07", "has_open_deficiencies": false, "description": "SW Tower Car 2", "status_code": "ACTIVE", "tag_color_code": "RED"}' https://sizeup.firstduesizeup.com/fd-api/v1/tce-inventories
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide system_id parameter."
}
PATCH /fd-api/v1/tce-inventories/xref/:inventory_id
Update a TCE inventory.
PATCH /fd-api/v1/tce-inventories/xref/:inventory_id
Parameters
| Name | Type | Description |
|---|---|---|
| premise_id | int | Premise Id |
| system_id | int | Premise profile Id |
| system_type_name | string | Master inspection report type name |
| last_inspection_date | string | Last inspection date. ISO 8601 extended date format (Y YYY-MM-DD) |
| next_inspection_date | string | Next inspection date. ISO 8601 extended date format (YYYY-MM-DD) |
| has_open_deficiencies | bool | Has open deficiencies |
| description | string | Description |
| status_code | string | Status code (ACTIVE, INACTIVE, DELETED) |
| tag_color_code | string | Tag color code (BLUE, GREEN, RED, WHITE, YELLOW) |
| is_current | bool | Is current inventory |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PATCH -d '{"has_open_deficiencies": false, "status_code": "INACTIVE", "tag_color_code": "YELLOW"}' https://sizeup.firstduesizeup.com/fd-api/v1/tce-inventories/xref/333
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Please enter valid status code."
}
GET /fd-api/v1/preplans/units/caution-notes
Get list of Caution Notes.
GET /fd-api/v1/preplans/units/caution-notes
Parameters
| Name | Type | Description |
|---|---|---|
| page | int | Page number |
The Link header includes pagination information:
Link: <https://sizeup.firstduesizeup.com/fd-api/v1/preplans/units/caution-notes?page=2>; rel="next", <https://sizeup.firstduesizeup.com/fd-api/v1/preplans/units/caution-notes?page=7>; rel="last"
The possible rel values are:
| Name | Description |
|---|---|
| first | The link relation for the first page of results. |
| prev | The link relation for the immediate previous page of results. |
| next | The link relation for the immediate next page of results. |
| last | The link relation for the last page of results. |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "page=2" https://sizeup.firstduesizeup.com/fd-api/v1/preplans/units/caution-notes
Success Response
HTTP/1.1 200 OK
Link: <https://sizeup.firstduesizeup.com/fd-api/v1/preplans/units/caution-notes?page=3>; rel="next",
<https://sizeup.firstduesizeup.com/fd-api/v1/preplans/units/caution-notes?page=7>; rel="last"
[
{
"xref_id": "123"
},
{
"xref_id": "456"
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/preplans/units/caution-notes
Import a bunch of caution notes as preplan units. This will create or update every single record. The response objects are returned in the order in which the caution notes were specified.
POST /fd-api/v1/preplans/units/caution-notes
Parameters is an array of objects. Max size is 1000 items.
| Name | Type | Description |
|---|---|---|
| xref_id | number | Required. Xref Id |
| address | string | Required. Address 1 |
| apt | string | Address 2 |
| city | string | Required. City |
| state_code | string | Required. State Code |
| notes | string | Required. Caution Notes |
| category_code | string | Category Code. Can be INFO, CAUTION or DANGER. |
| priority_code | string | Priority Code. Can be HIGH, MEDIUM or LOW. |
| from_date | string | Valid From Date in ISO 8601 format |
| to_date | string | Valid To Date in ISO 8601 format |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '[{"xref_id": 1, "address": "123 ADDRESS", "apt": "33A", "city": "CITY", "state_code": "NY", "notes": "CAUTION NOTES", "category_code": "INFO", "from_date": "2019-02-16", "to_date": "2029-02-16"}]' https://sizeup.firstduesizeup.com/fd-api/v1/preplans/units/caution-notes
Success Response
HTTP/1.1 200 OK
[
{
"success": true,
"errors": []
},
{
"success": false,
"errors": ["Please provide address parameter."]
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Max items allowed exceeded.",
"errors": []
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": Validation Failed. Empty parameters.",
"errors": []
}
DELETE /fd-api/v1/preplans/units/caution-notes
Delete a bunch of Caution Notes by Xref ID
DELETE /fd-api/v1/preplans/units/caution-notes
Parameters
| Name | Type | Description |
|---|---|---|
| xref_ids | string | Required. Xref Ids. Max length allowed: 200 items. |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/preplans/units/caution-notes?xref_ids=1,2,3
Success Response
HTTP/1.1 200 OK
[
{
"xref_id": "1",
"success": true,
"errors": []
},
{
"xref_id": "222",
"success": false,
"errors": ["Please provide valid Xref Id."]
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Max items allowed exceeded.",
"errors": []
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": Validation Failed. Empty parameters.",
"errors": []
}
GET /fd-api/v1/nfirs-notifications/:id
Get a NFIRS notification.
GET /fd-api/v1/nfirs-notifications/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Id |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/111
Success Response
HTTP/1.1 200 OK
{
"id": 111,
"dispatch_number": "DN-01",
"incident_number": "2021-00001",
"dispatch_type": "DISPATCH_TYPE",
"dispatch_incident_type_code": "118CR",
"alarm_at": "2019-02-16T19:42:00+00:004",
"dispatch_notified_at": "2019-02-16T19:42:00+00:004",
"alarms": 3,
"place_name": "PLACE_NAME",
"business_name": "BUSINESS_NAME",
"location_info": "LOCATION_INFO",
"venue": "VENUE",
"address": "ADDRESS",
"unit": "APT 123",
"cross_streets": "CROSS_STREETS",
"city": "CITY",
"state_code": "NY",
"zip_code": "11111",
"latitude": 40.0,
"longitude": -120.0,
"narratives": "NARRATIVES",
"shift_name": "SHIFT_NAME",
"notification_type": "NOTIFICATION_TYPE",
"aid_type_code": 1,
"aid_fdid_number": "12345",
"aid_fdid_numbers": ["12345", "67890"],
"aid_direction": "01",
"aid_department_entity_ids": ["FD14852327","FD12323225"],
"nonfd_aids": ["01", "02"],
"controlled_at": "2019-02-16T19:42:00+00:004",
"officer_in_charge": "oic-123456789",
"call_completed_at": "2019-02-16T19:42:00+00:004",
"zone": "Zone Name",
"ems_incident_number": "2021",
"ems_response_number": "00001",
"station": "09",
"emd_card_number": "10C01",
"psap_call_answered_at": "2019-02-16T19:42:00+00:004",
"call_transferred_at": "2019-02-16T19:42:00+00:004",
"psap_call_at": "2019-02-16T19:42:00+00:004",
"command_established_at": "2025-08-29T06:52:28+00:00",
"incident_end_at": "2025-08-30T16:12:12+00:00",
"agent_applied_at": "2025-12-15T16:12:12+00:00"
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
GET /fd-api/v1/nfirs-notifications/number/:incident_number
Get a NFIRS notification.
GET /fd-api/v1/nfirs-notifications/number/:incident_number
Parameters
| Name | Type | Description |
|---|---|---|
| incident_number | string | Required. Incident Number |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/number/111
Success Response
HTTP/1.1 200 OK
{
"id": 111,
"dispatch_number": "DN-01",
"incident_number": "2021-00001",
"dispatch_type": "DISPATCH_TYPE",
"dispatch_incident_type_code": "118CR",
"alarm_at": "2019-02-16T19:42:00+00:004",
"dispatch_notified_at": "2019-02-16T19:42:00+00:004",
"alarms": 3,
"place_name": "PLACE_NAME",
"business_name": "BUSINESS_NAME",
"location_info": "LOCATION_INFO",
"venue": "VENUE",
"address": "ADDRESS",
"unit": "APT 123",
"cross_streets": "CROSS_STREETS",
"city": "CITY",
"state_code": "NY",
"zip_code": "11111",
"latitude": 40.0,
"longitude": -120.0,
"narratives": "NARRATIVES",
"shift_name": "SHIFT_NAME",
"notification_type": "NOTIFICATION_TYPE",
"aid_type_code": 1,
"aid_fdid_number": "12345",
"aid_fdid_numbers": ["12345", "67890"],
"aid_direction": "01",
"aid_department_entity_ids": ["FD14852327","FD12323225"],
"nonfd_aids": ["01", "02"],
"controlled_at": "2019-02-16T19:42:00+00:004",
"officer_in_charge": "oic-123456789",
"call_completed_at": "2019-02-16T19:42:00+00:004",
"zone": "Zone Name",
"ems_incident_number": "2021",
"ems_response_number": "00001",
"station": "09",
"emd_card_number": "10C01",
"psap_call_answered_at": "2019-02-16T19:42:00+00:004",
"call_transferred_at": "2019-02-16T19:42:00+00:004",
"psap_call_at": "2019-02-16T19:42:00+00:004",
"command_established_at": "2025-08-29T06:52:28+00:00",
"incident_end_at": "2025-08-30T16:12:12+00:00",
"agent_applied_at": "2025-12-15T16:12:12+00:00"
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
GET /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number
Get a NFIRS notification.
GET /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number
Parameters
| Name | Type | Description |
|---|---|---|
| dispatch_number | string | Required. Dispatch Number |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/dispatch-number/111
Success Response
HTTP/1.1 200 OK
{
"id": 111,
"dispatch_number": "DN-01",
"incident_number": "2021-00001",
"dispatch_type": "DISPATCH_TYPE",
"dispatch_incident_type_code": "118CR",
"alarm_at": "2019-02-16T19:42:00+00:004",
"dispatch_notified_at": "2019-02-16T19:42:00+00:004",
"alarms": 3,
"place_name": "PLACE_NAME",
"business_name": "BUSINESS_NAME",
"location_info": "LOCATION_INFO",
"venue": "VENUE",
"address": "ADDRESS",
"unit": "APT 123",
"cross_streets": "CROSS_STREETS",
"city": "CITY",
"state_code": "NY",
"zip_code": "11111",
"latitude": 40.0,
"longitude": -120.0,
"narratives": "NARRATIVES",
"shift_name": "SHIFT_NAME",
"notification_type": "NOTIFICATION_TYPE",
"aid_type_code": 1,
"aid_fdid_number": "12345",
"aid_fdid_numbers": ["12345", "67890"],
"aid_direction": "01",
"aid_department_entity_ids": ["FD14852327","FD12323225"],
"nonfd_aids": ["01", "02"],
"controlled_at": "2019-02-16T19:42:00+00:004",
"officer_in_charge": "oic-123456789",
"call_completed_at": "2019-02-16T19:42:00+00:004",
"zone": "Zone Name",
"ems_incident_number": "2021",
"ems_response_number": "00001",
"station": "09",
"emd_card_number": "10C01",
"psap_call_answered_at": "2019-02-16T19:42:00+00:004",
"call_transferred_at": "2019-02-16T19:42:00+00:004",
"psap_call_at": "2019-02-16T19:42:00+00:004",
"command_established_at": "2025-08-29T06:52:28+00:00",
"incident_end_at": "2025-08-30T16:12:12+00:00",
"agent_applied_at": "2025-12-15T16:12:12+00:00"
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/nfirs-notifications
Create a NFIRS notification.
POST /fd-api/v1/nfirs-notifications
Parameters
| Name | Type | Description |
|---|---|---|
| dispatch_number | string | Dispatch Number |
| incident_number | string | Incident Number |
| dispatch_type | string | Required. Dispatch Type |
| dispatch_incident_type_code | string | Dispatch Incident Type Code |
| alarm_at | string | Alarm At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| dispatch_notified_at | string | Dispatch Notified At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| alarms | int | Alarms |
| place_name | string | Place Name |
| business_name | string | Business Name |
| location_info | string | Location Info |
| venue | string | Venue |
| address | string | Required. Address |
| unit | string | Unit |
| cross_streets | string | Cross Streets |
| city | string | Required. City |
| state_code | string | Required. State Code |
| zip_code | string | Zip Code |
| latitude | numeric | Latitude |
| longitude | numeric | Longitude |
| narratives | string | Narratives |
| shift_name | string | Shift Name |
| notification_type | string | Notification Type |
| aid_type_code | int | Aid Type Code |
| aid_fdid_number | string | Aid Fdid Number |
| aid_fdid_numbers | array | Aid Fdid Numbers |
| aid_direction | string | Aid direction: request body accepts GIVEN or RECEIVED (case-insensitive); stored as NERIS 01 / 02
|
| aid_department_entity_ids | array | Required when sent: non-empty array of strings—NERIS neris_entity_id values (e.g. FD########) |
| nonfd_aids | array | Required when sent: non-empty array of strings (NERIS labels such as LAW ENFORCEMENT or codes 01–07) |
| controlled_at | string | Controlled At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| officer_in_charge | string | Officer in charge |
| call_completed_at | string | Call Complete At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| zone | string | Zone |
| house_num | string | House number |
| prefix_direction | string | Prefix direction |
| street_name | string | Street name |
| street_type | string | Street type |
| suffix_direction | string | Suffix direction |
| ems_incident_number | string | EMS incident number |
| ems_response_number | string | EMS response number |
| station | string | Station |
| emd_card_number | string | EMD card number |
| psap_call_answered_at | string | PSAP Call Answered At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| psap_call_at | string | PSAP Call At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| call_transferred_at | string | Call Transferred At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| command_established_at | string | Command Established At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| cad_priority | string | CAD Priority (free text, max 64 characters) |
| incident_end_at | string | Incident End At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| agent_applied_at | string | Agent Applied At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"dispatch_number": "DN-01", "incident_number": "2021-00001", "dispatch_type": "DISPATCH_TYPE", "dispatch_incident_type_code": "118CR", "alarm_at": "2019-02-16T19:42:00+00:004", "dispatch_notified_at": "2019-02-16T19:42:00+00:004", "alarms": 3, "place_name": "PLACE_NAME", "business_name": "BUSINESS_NAME", "location_info": "LOCATION_INFO", "venue": "VENUE", "address": "ADDRESS", "unit": "APT 123", "cross_streets": "CROSS_STREETS", "city": "CITY", "state_code": "NY", "latitude": 40.0, "longitude": -120.0, "narratives": "NARRATIVES", "shift_name": "SHIFT_NAME", "notification_type": "NOTIFICATION_TYPE", "aid_type_code": 1, "aid_fdid_number": "12345", "aid_fdid_numbers": ["12345", "67890"], "controlled_at": "2019-02-16T19:42:00+00:004", "zone": "Zone Name", "psap_call_answered_at": "2025-05-15T14:30:55+00:00", "call_transferred_at": "2025-05-15T14:30:55+00:00", "psap_call_at": "2019-02-16T19:42:00+00:004", "command_established_at": "2025-05-15T14:30:55+00:00", "cad_priority": "High", "incident_end_at": "2025-08-15T19:42:00+00:00", "agent_applied_at": "2025-12-15T16:30:55+00:00", "aid_direction": "01", "aid_department_entity_ids": ["FD14852327","FD12323225"],"nonfd_aids": ["01", "02"]}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications
Success Response
HTTP/1.1 201 Created
{
"id": 111
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "address",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
PUT /fd-api/v1/nfirs-notifications/:id
Update NFIRS notification item completely.
PUT /fd-api/v1/nfirs-notifications/:id
Parameters
| Name | Type | Description |
|---|---|---|
| dispatch_number | string | Dispatch Number |
| incident_number | string | Incident Number |
| dispatch_type | string | Required. Dispatch Type |
| dispatch_incident_type_code | string | Dispatch Incident Type Code |
| alarm_at | string | Alarm At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| dispatch_notified_at | string | Dispatch Notified At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| alarms | int | Alarms |
| place_name | string | Place Name |
| business_name | string | Business Name |
| location_info | string | Location Info |
| venue | string | Venue |
| address | string | Required. Address |
| unit | string | Unit |
| cross_streets | string | Cross Streets |
| city | string | Required. City |
| state_code | string | Required. State Code |
| zip_code | string | Zip Code |
| latitude | numeric | Latitude |
| longitude | numeric | Longitude |
| narratives | string | Narratives |
| shift_name | string | Shift Name |
| notification_type | string | Notification Type |
| aid_type_code | int | Aid Type Code |
| aid_fdid_number | string | Aid Fdid Number |
| aid_fdid_numbers | array | Aid Fdid Numbers |
| aid_direction | string | Aid direction: request body accepts GIVEN or RECEIVED (case-insensitive); stored as NERIS 01 / 02
|
| aid_department_entity_ids | array | Required when sent: non-empty array of strings—NERIS neris_entity_id values (e.g. FD########) |
| nonfd_aids | array | Required when sent: non-empty array of strings (NERIS labels such as LAW ENFORCEMENT or codes 01–07) |
| controlled_at | string | Controlled At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| officer_in_charge | string | Officer in charge |
| call_completed_at | string | Call Complete At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| zone | string | Zone |
| house_num | string | House number |
| prefix_direction | string | Prefix direction |
| street_name | string | Street name |
| street_type | string | Street type |
| suffix_direction | string | Suffix direction |
| ems_incident_number | string | EMS incident number |
| ems_response_number | string | EMS response number |
| station | string | Station |
| emd_card_number | string | EMD card number |
| psap_call_answered_at | string | PSAP Call Answered At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| psap_call_at | string | PSAP Call At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| call_transferred_at | string | Call Transferred At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| command_established_at | string | Command Established At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| cad_priority | string | CAD Priority (free text, max 64 characters) |
| incident_end_at | string | Incident End At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| agent_applied_at | string | Agent Applied At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"dispatch_number": "DN-01", "incident_number": "2021-00001", "dispatch_type": "DISPATCH_TYPE", "dispatch_incident_type_code": "118CR", "alarm_at": "2019-02-16T19:42:00+00:004", "dispatch_notified_at": "2019-02-16T19:42:00+00:004", "alarms": 3, "place_name": "PLACE_NAME", "business_name": "BUSINESS_NAME", "location_info": "LOCATION_INFO", "venue": "VENUE", "address": "ADDRESS", "unit": "APT 123", "cross_streets": "CROSS_STREETS", "city": "CITY", "state_code": "NY", "latitude": 40.0, "longitude": -120.0, "narratives": "NARRATIVES", "shift_name": "SHIFT_NAME", "notification_type": "NOTIFICATION_TYPE", "aid_type_code": 1, "aid_fdid_number": "12345", "aid_fdid_numbers": "["12345", "67890"]", "controlled_at": "2019-02-16T19:42:00+00:004", "zone": "Zone Name", "command_established_at": "2025-08-29T06:52:28+00:00", "cad_priority": "High", "incident_end_at": "2025-08-30T19:48:12+00:00", "agent_applied_at": "2025-12-15T16:48:12+00:00", "aid_direction": "01", "aid_department_entity_ids": ["FD14852327","FD12323225"],"nonfd_aids": ["01", "02"]}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/24
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "address",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
PUT /fd-api/v1/nfirs-notifications/number/:incident_number
Update NFIRS notification item completely.
PUT /fd-api/v1/nfirs-notifications/number/:incident_number
Parameters
| Name | Type | Description |
|---|---|---|
| dispatch_number | string | Dispatch Number |
| dispatch_type | string | Required. Dispatch Type |
| dispatch_incident_type_code | string | Dispatch Incident Type Code |
| alarm_at | string | Alarm At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| dispatch_notified_at | string | Dispatch Notified At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| alarms | int | Alarms |
| place_name | string | Place Name |
| business_name | string | Business Name |
| location_info | string | Location Info |
| venue | string | Venue |
| address | string | Required. Address |
| unit | string | Unit |
| cross_streets | string | Cross Streets |
| city | string | Required. City |
| state_code | string | Required. State Code |
| zip_code | string | Zip Code |
| latitude | numeric | Latitude |
| longitude | numeric | Longitude |
| narratives | string | Narratives |
| shift_name | string | Shift Name |
| notification_type | string | Notification Type |
| aid_type_code | int | Aid Type Code |
| aid_fdid_number | string | Aid Fdid Number |
| aid_fdid_numbers | array | Aid Fdid Numbers |
| aid_direction | string | Aid direction: request body accepts GIVEN or RECEIVED (case-insensitive); stored as NERIS 01 / 02
|
| aid_department_entity_ids | array | Required when sent: non-empty array of strings—NERIS neris_entity_id values (e.g. FD########) |
| nonfd_aids | array | Required when sent: non-empty array of strings (NERIS labels such as LAW ENFORCEMENT or codes 01–07) |
| controlled_at | string | Controlled At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| officer_in_charge | string | Officer in charge |
| call_completed_at | string | Call Complete At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| zone | string | Zone |
| house_num | string | House number |
| prefix_direction | string | Prefix direction |
| street_name | string | Street name |
| street_type | string | Street type |
| suffix_direction | string | Suffix direction |
| ems_incident_number | string | EMS incident number |
| ems_response_number | string | EMS response number |
| station | string | Station |
| emd_card_number | string | EMD card number |
| psap_call_answered_at | string | PSAP Call Answered At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| psap_call_at | string | PSAP Call At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| call_transferred_at | string | Call Transferred At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| command_established_at | string | Command Established At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| cad_priority | string | CAD Priority (free text, max 64 characters) |
| incident_end_at | string | Incident End At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| agent_applied_at | string | Agent Applied At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"dispatch_number": "DN-01", "dispatch_type": "DISPATCH_TYPE", "dispatch_incident_type_code": "118CR", "alarm_at": "2019-02-16T19:42:00+00:004", "dispatch_notified_at": "2019-02-16T19:42:00+00:004", "alarms": 3, "place_name": "PLACE_NAME", "business_name": "BUSINESS_NAME", "location_info": "LOCATION_INFO", "venue": "VENUE", "address": "ADDRESS", "unit": "APT 123", "cross_streets": "CROSS_STREETS", "city": "CITY", "state_code": "NY", "latitude": 40.0, "longitude": -120.0, "narratives": "NARRATIVES", "shift_name": "SHIFT_NAME", "notification_type": "NOTIFICATION_TYPE", "aid_type_code": 1, "aid_fdid_number": "12345", "aid_fdid_numbers": ["12345", "67890"], "controlled_at": "2019-02-16T19:42:00+00:004", "zone": "Zone", "command_established_at": "2025-08-29T06:52:28+00:00", "cad_priority": "High", "incident_end_at": "2025-08-30T19:48:12+00:00", "agent_applied_at": "2025-12-15T16:30:55+00:00", "aid_direction": "01", "aid_department_entity_ids": ["FD14852327","FD12323225"], "nonfd_aids": ["01", "02"]}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/number/2021-00001
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "address",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
PUT /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number
Update NFIRS notification item completely.
PUT /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number
Parameters
| Name | Type | Description |
|---|---|---|
| incident_number | string | Incident Number |
| dispatch_type | string | Required. Dispatch Type |
| dispatch_incident_type_code | string | Dispatch Incident Type Code |
| alarm_at | string | Alarm At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| dispatch_notified_at | string | Dispatch Notified At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| alarms | int | Alarms |
| place_name | string | Place Name |
| business_name | string | Business Name |
| location_info | string | Location Info |
| venue | string | Venue |
| address | string | Required. Address |
| unit | string | Unit |
| cross_streets | string | Cross Streets |
| city | string | Required. City |
| state_code | string | Required. State Code |
| zip_code | string | Zip Code |
| latitude | numeric | Latitude |
| longitude | numeric | Longitude |
| narratives | string | Narratives |
| shift_name | string | Shift Name |
| notification_type | string | Notification Type |
| aid_type_code | int | Aid Type Code |
| aid_fdid_number | string | Aid Fdid Number |
| aid_fdid_numbers | array | Aid Fdid Numbers |
| aid_direction | string | Aid direction: request body accepts GIVEN or RECEIVED (case-insensitive); stored as NERIS 01 / 02
|
| aid_department_entity_ids | array | Required when sent: non-empty array of strings—NERIS neris_entity_id values (e.g. FD########) |
| nonfd_aids | array | Required when sent: non-empty array of strings (NERIS labels such as LAW ENFORCEMENT or codes 01–07) |
| controlled_at | string | Controlled At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| officer_in_charge | string | Officer in charge |
| call_completed_at | string | Call Complete At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| zone | string | Zone |
| house_num | string | House number |
| prefix_direction | string | Prefix direction |
| street_name | string | Street name |
| street_type | string | Street type |
| suffix_direction | string | Suffix direction |
| ems_incident_number | string | EMS incident number |
| ems_response_number | string | EMS response number |
| station | string | Station |
| emd_card_number | string | EMD card number |
| psap_call_answered_at | string | PSAP Call Answered At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| psap_call_at | string | PSAP Call At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| call_transferred_at | string | Call Transferred At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| command_established_at | string | Command Established At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| cad_priority | string | CAD Priority (free text, max 64 characters) |
| incident_end_at | string | Incident End At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| agent_applied_at | string | Agent Applied At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"incident_number": "DN-01", "dispatch_type": "DISPATCH_TYPE", "dispatch_incident_type_code": "118CR", "alarm_at": "2019-02-16T19:42:00+00:004", "dispatch_notified_at": "2019-02-16T19:42:00+00:004", "alarms": 3, "place_name": "PLACE_NAME", "business_name": "BUSINESS_NAME", "location_info": "LOCATION_INFO", "venue": "VENUE", "address": "ADDRESS", "unit": "APT 123", "cross_streets": "CROSS_STREETS", "city": "CITY", "state_code": "NY", "latitude": 40.0, "longitude": -120.0, "narratives": "NARRATIVES", "shift_name": "SHIFT_NAME", "notification_type": "NOTIFICATION_TYPE", "aid_type_code": 1, "aid_fdid_number": "12345", "aid_fdid_numbers": ["12345", "67890"], "controlled_at": "2019-02-16T19:42:00+00:004", "zone": "Zone", "command_established_at": "2025-08-29T06:52:28+00:00", "cad_priority": "High", "incident_end_at": "2025-08-30T19:48:12+00:00", "agent_applied_at": "2025-12-15T16:30:55+00:00", "aid_direction": "01", "aid_department_entity_ids": ["FD14852327","FD12323225"],"nonfd_aids": ["01", "02"]}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/dispatch-number/2021-00001
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "address",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
DELETE /fd-api/v1/nfirs-notifications/:id
Delete NFIRS notification item.
DELETE /fd-api/v1/nfirs-notifications/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/24
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
DELETE /fd-api/v1/nfirs-notifications/number/:incident_number
Delete NFIRS notification item.
DELETE /fd-api/v1/nfirs-notifications/number/:incident_number
Parameters
| Name | Type | Description |
|---|---|---|
| incident_number | string | Required. Incident Number |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/number/2021-00001
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
DELETE /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number
Delete NFIRS notification item.
DELETE /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number
Parameters
| Name | Type | Description |
|---|---|---|
| dispatch_number | string | Required. Dispatch Number |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/dispatch-number/2021-00001
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
POST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses
Create a NFIRS notification apparatus.
POST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses
Parameters
| Name | Type | Description |
|---|---|---|
| unit_code | string | Required. Unit Code |
| is_aid | bool | Is Aid |
| dispatch_at | string | Dispatch At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrive_at | string | Arrive At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| dispatch_acknowledged_at | string | Dispatch Acknowledged At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| enroute_at | string | Enroute At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| clear_at | string | Clear At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| back_in_service_at | string | Back In Service At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| canceled_at | string | Canceled At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_arrived_at | string | Patient Arrived At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_transferred_at | string | Patient Transferred At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| canceled_stage_code | string | Canceled Stage Code |
| unit_left_scene_at | string | Unit Left Scene At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrival_destination_landing_area_at | string | Arrival Destination Landing Area At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_arrival_destination_at | string | Patient Arrival Destination At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| destination_patient_transfer_care_at | string | Destination Patient Transfer Care At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| unit_back_home_location_at | string | Unit Back Home Location At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| unit_arrived_staging_at | string | Unit Arrived Staging At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| beginning_odo | string | Beginning Odometer Reading of Responding Vehicle |
| on_scene_odo | string | On-Scene Odometer Reading of Responding Vehicle |
| patient_dest_odo | string | Patient Destination Odometer Reading of Responding Vehicle |
| ending_odo | string | Ending Odometer Reading of Responding Vehicle |
| notes | string | Narratives |
| response_mode | integer | Response Mode |
| latitude | numeric | Latitude |
| longitude | numeric | Longitude |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"unit_code": "R2", "is_aid": false, "dispatch_at": "2019-02-16T19:42:00+00:004", "arrive_at": "2019-02-16T19:42:00+00:004", "dispatch_acknowledged_at": "2019-02-16T19:42:00+00:004", "enroute_at": "2019-02-16T19:42:00+00:004", "clear_at": "2019-02-16T19:42:00+00:004", "back_in_service_at": "2019-02-16T19:42:00+00:004", "canceled_at": "2019-02-16T19:42:00+00:004", "patient_arrived_at": "2019-02-16T19:42:00+00:004", "patient_transferred_at": "2019-02-16T19:42:00+00:004", "canceled_stage_code": "on_scene", "response_mode": 4, "latitude": 32.9515907, "longitude": -96.82060}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/24/apparatuses
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"unit_code": "R2", "is_aid": false, "dispatch_at": "2019-02-16T19:42:00+00:004", "arrive_at": "2019-02-16T19:42:00+00:004", "dispatch_acknowledged_at": "2019-02-16T19:42:00+00:004", "enroute_at": "2019-02-16T19:42:00+00:004", "clear_at": "2019-02-16T19:42:00+00:004", "back_in_service_at": "2019-02-16T19:42:00+00:004", "canceled_at": "2019-02-16T19:42:00+00:004", "patient_arrived_at": "2019-02-16T19:42:00+00:004", "patient_transferred_at": "2019-02-16T19:42:00+00:004", "canceled_stage_code": "on_scene", "response_mode": 4, "notes": "This is a narrative"}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/24/apparatuses
Success Response
HTTP/1.1 201 Created
{
"id": 222
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide unit_code parameter.",
"errors": [
{
"field": "unit_code",
"code": "missing_field",
"message": "Please provide unit_code parameter."
}
]
}
POST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses
Create a NFIRS notification apparatus.
POST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses
Parameters
| Name | Type | Description |
|---|---|---|
| unit_code | string | Required. Unit Code |
| is_aid | bool | Is Aid |
| dispatch_at | string | Dispatch At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrive_at | string | Arrive At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| dispatch_acknowledged_at | string | Dispatch Acknowledged At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| enroute_at | string | Enroute At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| clear_at | string | Clear At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| back_in_service_at | string | Back In Service At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| canceled_at | string | Canceled At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_arrived_at | string | Patient Arrived At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_transferred_at | string | Patient Transferred At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| canceled_stage_code | string | Canceled Stage Code |
| unit_left_scene_at | string | Unit Left Scene At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrival_destination_landing_area_at | string | Arrival Destination Landing Area At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_arrival_destination_at | string | Patient Arrival Destination At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| destination_patient_transfer_care_at | string | Destination Patient Transfer Care At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| unit_back_home_location_at | string | Unit Back Home Location At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| unit_arrived_staging_at | string | Unit Arrived Staging At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| beginning_odo | string | Beginning Odometer Reading of Responding Vehicle |
| on_scene_odo | string | On-Scene Odometer Reading of Responding Vehicle |
| patient_dest_odo | string | Patient Destination Odometer Reading of Responding Vehicle |
| ending_odo | string | Ending Odometer Reading of Responding Vehicle |
| notes | string | Narratives |
| response_mode | integer | Response Mode |
| latitude | numeric | Latitude |
| longitude | numeric | Longitude |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"unit_code": "R2", "is_aid": false, "dispatch_at": "2019-02-16T19:42:00+00:004", "arrive_at": "2019-02-16T19:42:00+00:004", "dispatch_acknowledged_at": "2019-02-16T19:42:00+00:004", "enroute_at": "2019-02-16T19:42:00+00:004", "clear_at": "2019-02-16T19:42:00+00:004", "back_in_service_at": "2019-02-16T19:42:00+00:004", "canceled_at": "2019-02-16T19:42:00+00:004", "patient_arrived_at": "2019-02-16T19:42:00+00:004", "patient_transferred_at": "2019-02-16T19:42:00+00:004", "canceled_stage_code": "on_scene", "response_mode": 4, "latitude": 32.9515907, "longitude": -96.82060}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/number/2021-00001/apparatuses
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"unit_code": "R2", "is_aid": false, "dispatch_at": "2019-02-16T19:42:00+00:004", "arrive_at": "2019-02-16T19:42:00+00:004", "dispatch_acknowledged_at": "2019-02-16T19:42:00+00:004", "enroute_at": "2019-02-16T19:42:00+00:004", "clear_at": "2019-02-16T19:42:00+00:004", "back_in_service_at": "2019-02-16T19:42:00+00:004", "canceled_at": "2019-02-16T19:42:00+00:004", "patient_arrived_at": "2019-02-16T19:42:00+00:004", "patient_transferred_at": "2019-02-16T19:42:00+00:004", "canceled_stage_code": "on_scene", "response_mode": 4, "notes": "This is a narrative"}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/number/2021-00001/apparatuses
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide unit_code parameter.",
"errors": [
{
"field": "unit_code",
"code": "missing_field",
"message": "Please provide unit_code parameter."
}
]
}
POST /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number/apparatuses
Create a NFIRS notification apparatus.
POST /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number/apparatuses
Parameters
| Name | Type | Description |
|---|---|---|
| unit_code | string | Required. Unit Code |
| is_aid | bool | Is Aid |
| dispatch_at | string | Dispatch At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrive_at | string | Arrive At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| dispatch_acknowledged_at | string | Dispatch Acknowledged At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| enroute_at | string | Enroute At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| clear_at | string | Clear At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| back_in_service_at | string | Back In Service At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| canceled_at | string | Canceled At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_arrived_at | string | Patient Arrived At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_transferred_at | string | Patient Transferred At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| canceled_stage_code | string | Canceled Stage Code |
| unit_left_scene_at | string | Unit Left Scene At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrival_destination_landing_area_at | string | Arrival Destination Landing Area At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_arrival_destination_at | string | Patient Arrival Destination At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| destination_patient_transfer_care_at | string | Destination Patient Transfer Care At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| unit_back_home_location_at | string | Unit Back Home Location At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| unit_arrived_staging_at | string | Unit Arrived Staging At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| beginning_odo | string | Beginning Odometer Reading of Responding Vehicle |
| on_scene_odo | string | On-Scene Odometer Reading of Responding Vehicle |
| patient_dest_odo | string | Patient Destination Odometer Reading of Responding Vehicle |
| ending_odo | string | Ending Odometer Reading of Responding Vehicle |
| notes | string | Narratives |
| response_mode | integer | Response Mode |
| latitude | numeric | Latitude |
| longitude | numeric | Longitude |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"unit_code": "R2", "is_aid": false, "dispatch_at": "2019-02-16T19:42:00+00:004", "arrive_at": "2019-02-16T19:42:00+00:004", "dispatch_acknowledged_at": "2019-02-16T19:42:00+00:004", "enroute_at": "2019-02-16T19:42:00+00:004", "clear_at": "2019-02-16T19:42:00+00:004", "back_in_service_at": "2019-02-16T19:42:00+00:004", "canceled_at": "2019-02-16T19:42:00+00:004", "patient_arrived_at": "2019-02-16T19:42:00+00:004", "patient_transferred_at": "2019-02-16T19:42:00+00:004", "canceled_stage_code": "on_scene", "response_mode": 4, "latitude": 32.9515907, "longitude": -96.82060}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/dispatch-number/2021-00001/apparatuses
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"unit_code": "R2", "is_aid": false, "dispatch_at": "2019-02-16T19:42:00+00:004", "arrive_at": "2019-02-16T19:42:00+00:004", "dispatch_acknowledged_at": "2019-02-16T19:42:00+00:004", "enroute_at": "2019-02-16T19:42:00+00:004", "clear_at": "2019-02-16T19:42:00+00:004", "back_in_service_at": "2019-02-16T19:42:00+00:004", "canceled_at": "2019-02-16T19:42:00+00:004", "patient_arrived_at": "2019-02-16T19:42:00+00:004", "patient_transferred_at": "2019-02-16T19:42:00+00:004", "canceled_stage_code": "on_scene", "response_mode": 4, "notes": "This is a narrative"}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/dispatch-number/2021-00001/apparatuses
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide unit_code parameter.",
"errors": [
{
"field": "unit_code",
"code": "missing_field",
"message": "Please provide unit_code parameter."
}
]
}
PUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:id
Update NFIRS notification apparatus item completely.
PUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:id
Parameters
| Name | Type | Description |
|---|---|---|
| unit_code | string | Required. Unit Code |
| is_aid | bool | Is Aid |
| dispatch_at | string | Dispatch At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrive_at | string | Arrive At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| dispatch_acknowledged_at | string | Dispatch Acknowledged At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| enroute_at | string | Enroute At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| clear_at | string | Clear At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| back_in_service_at | string | Back In Service At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| canceled_at | string | Canceled At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_arrived_at | string | Patient Arrived At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_transferred_at | string | Patient Transferred At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| canceled_stage_code | string | Canceled Stage Code |
| unit_left_scene_at | string | Unit Left Scene At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrival_destination_landing_area_at | string | Arrival Destination Landing Area At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_arrival_destination_at | string | Patient Arrival Destination At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| destination_patient_transfer_care_at | string | Destination Patient Transfer Care At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| unit_back_home_location_at | string | Unit Back Home Location At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| unit_arrived_staging_at | string | Unit Arrived Staging At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| beginning_odo | string | Beginning Odometer Reading of Responding Vehicle |
| on_scene_odo | string | On-Scene Odometer Reading of Responding Vehicle |
| patient_dest_odo | string | Patient Destination Odometer Reading of Responding Vehicle |
| ending_odo | string | Ending Odometer Reading of Responding Vehicle |
| notes | string | Narratives |
| response_mode | integer | Response Mode |
| latitude | numeric | Latitude |
| longitude | numeric | Longitude |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"unit_code": "R2", "is_aid": false, "dispatch_at": '2019-02-16T19:42:00+00:004', "arrive_at": "2019-02-16T19:42:00+00:004", "dispatch_acknowledged_at": "2019-02-16T19:42:00+00:004", "enroute_at": "2019-02-16T19:42:00+00:004", "clear_at": "2019-02-16T19:42:00+00:004", "back_in_service_at": "2019-02-16T19:42:00+00:004", "canceled_at": "2019-02-16T19:42:00+00:004", "patient_arrived_at": "2019-02-16T19:42:00+00:004", "patient_transferred_at": "2019-02-16T19:42:00+00:004", "canceled_stage_code": "on_scene", "response_mode": 4, "latitude": 32.9515907, "longitude": -96.82060}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/24/apparatuses/25
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"unit_code": "R2", "is_aid": false, "dispatch_at": '2019-02-16T19:42:00+00:004', "arrive_at": "2019-02-16T19:42:00+00:004", "dispatch_acknowledged_at": "2019-02-16T19:42:00+00:004", "enroute_at": "2019-02-16T19:42:00+00:004", "clear_at": "2019-02-16T19:42:00+00:004", "back_in_service_at": "2019-02-16T19:42:00+00:004", "canceled_at": "2019-02-16T19:42:00+00:004", "patient_arrived_at": "2019-02-16T19:42:00+00:004", "patient_transferred_at": "2019-02-16T19:42:00+00:004", "canceled_stage_code": "on_scene", "response_mode": 4, "notes": "This is a narrative"}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/24/apparatuses/25
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide unit_code parameter.",
"errors": [
{
"field": "unit_code",
"code": "missing_field",
"message": "Please provide unit_code parameter."
}
]
}
PUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_code
Update NFIRS notification apparatus item completely.
PUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_code
Parameters
| Name | Type | Description |
|---|---|---|
| is_aid | bool | Is Aid |
| dispatch_at | string | Dispatch At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrive_at | string | Arrive At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| dispatch_acknowledged_at | string | Dispatch Acknowledged At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| enroute_at | string | Enroute At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| clear_at | string | Clear At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| back_in_service_at | string | Back In Service At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| canceled_at | string | Canceled At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_arrived_at | string | Patient Arrived At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_transferred_at | string | Patient Transferred At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| canceled_stage_code | string | Canceled Stage Code |
| unit_left_scene_at | string | Unit Left Scene At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrival_destination_landing_area_at | string | Arrival Destination Landing Area At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_arrival_destination_at | string | Patient Arrival Destination At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| destination_patient_transfer_care_at | string | Destination Patient Transfer Care At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| unit_back_home_location_at | string | Unit Back Home Location At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| unit_arrived_staging_at | string | Unit Arrived Staging At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| beginning_odo | string | Beginning Odometer Reading of Responding Vehicle |
| on_scene_odo | string | On-Scene Odometer Reading of Responding Vehicle |
| patient_dest_odo | string | Patient Destination Odometer Reading of Responding Vehicle |
| ending_odo | string | Ending Odometer Reading of Responding Vehicle |
| notes | string | Narratives |
| response_mode | integer | Response Mode |
| latitude | numeric | Latitude |
| longitude | numeric | Longitude |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"is_aid": false, "dispatch_at": "2019-02-16T19:42:00+00:004", "arrive_at": "2019-02-16T19:42:00+00:004", "dispatch_acknowledged_at": "2019-02-16T19:42:00+00:004", "enroute_at": "2019-02-16T19:42:00+00:004", "clear_at": "2019-02-16T19:42:00+00:004", "back_in_service_at": "2019-02-16T19:42:00+00:004", "canceled_at": "2019-02-16T19:42:00+00:004", "patient_arrived_at": "2019-02-16T19:42:00+00:004", "patient_transferred_at": "2019-02-16T19:42:00+00:004", "canceled_stage_code": "on_scene", "response_mode": 4, "latitude": 32.9515907, "longitude": -96.82060}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/number/2021-00001/apparatuses/code/R2
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"is_aid": false, "dispatch_at": "2019-02-16T19:42:00+00:004", "arrive_at": "2019-02-16T19:42:00+00:004", "dispatch_acknowledged_at": "2019-02-16T19:42:00+00:004", "enroute_at": "2019-02-16T19:42:00+00:004", "clear_at": "2019-02-16T19:42:00+00:004", "back_in_service_at": "2019-02-16T19:42:00+00:004", "canceled_at": "2019-02-16T19:42:00+00:004", "patient_arrived_at": "2019-02-16T19:42:00+00:004", "patient_transferred_at": "2019-02-16T19:42:00+00:004", "canceled_stage_code": "on_scene", "response_mode": 4, "notes": "This is a narrative"}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/number/2021-00001/apparatuses/code/R2
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide unit_code parameter.",
"errors": [
{
"field": "unit_code",
"code": "missing_field",
"message": "Please provide unit_code parameter."
}
]
}
PUT /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number/apparatuses/code/:unit_code
Update NFIRS notification apparatus item completely.
PUT /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number/apparatuses/code/:unit_code
Parameters
| Name | Type | Description |
|---|---|---|
| is_aid | bool | Is Aid |
| dispatch_at | string | Dispatch At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrive_at | string | Arrive At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| dispatch_acknowledged_at | string | Dispatch Acknowledged At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| enroute_at | string | Enroute At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| clear_at | string | Clear At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| back_in_service_at | string | Back In Service At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| canceled_at | string | Canceled At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_arrived_at | string | Patient Arrived At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_transferred_at | string | Patient Transferred At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| canceled_stage_code | string | Canceled Stage Code |
| unit_left_scene_at | string | Unit Left Scene At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrival_destination_landing_area_at | string | Arrival Destination Landing Area At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| patient_arrival_destination_at | string | Patient Arrival Destination At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| destination_patient_transfer_care_at | string | Destination Patient Transfer Care At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| unit_back_home_location_at | string | Unit Back Home Location At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| unit_arrived_staging_at | string | Unit Arrived Staging At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| beginning_odo | string | Beginning Odometer Reading of Responding Vehicle |
| on_scene_odo | string | On-Scene Odometer Reading of Responding Vehicle |
| patient_dest_odo | string | Patient Destination Odometer Reading of Responding Vehicle |
| ending_odo | string | Ending Odometer Reading of Responding Vehicle |
| notes | string | Narratives |
| response_mode | integer | Response Mode |
| latitude | numeric | Latitude |
| longitude | numeric | Longitude |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"is_aid": false, "dispatch_at": "2019-02-16T19:42:00+00:004", "arrive_at": "2019-02-16T19:42:00+00:004", "dispatch_acknowledged_at": "2019-02-16T19:42:00+00:004", "enroute_at": "2019-02-16T19:42:00+00:004", "clear_at": "2019-02-16T19:42:00+00:004", "back_in_service_at": "2019-02-16T19:42:00+00:004", "canceled_at": "2019-02-16T19:42:00+00:004", "patient_arrived_at": "2019-02-16T19:42:00+00:004", "patient_transferred_at": "2019-02-16T19:42:00+00:004", "canceled_stage_code": "on_scene", "response_mode": 4, "latitude": 32.9515907, "longitude": -96.82060}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/dispatch-number/2021-00001/apparatuses/code/R2
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"is_aid": false, "dispatch_at": "2019-02-16T19:42:00+00:004", "arrive_at": "2019-02-16T19:42:00+00:004", "dispatch_acknowledged_at": "2019-02-16T19:42:00+00:004", "enroute_at": "2019-02-16T19:42:00+00:004", "clear_at": "2019-02-16T19:42:00+00:004", "back_in_service_at": "2019-02-16T19:42:00+00:004", "canceled_at": "2019-02-16T19:42:00+00:004", "patient_arrived_at": "2019-02-16T19:42:00+00:004", "patient_transferred_at": "2019-02-16T19:42:00+00:004", "canceled_stage_code": "on_scene", "response_mode": 4, "notes": "This is a narrative"}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/dispatch-number/2021-00001/apparatuses/code/R2
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide unit_code parameter.",
"errors": [
{
"field": "unit_code",
"code": "missing_field",
"message": "Please provide unit_code parameter."
}
]
}
DELETE /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:id
Delete NFIRS notification apparatus item.
DELETE /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/24/apparatuses/25
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
DELETE /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_code
Delete NFIRS notification apparatus item.
DELETE /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_code
Parameters
| Name | Type | Description |
|---|---|---|
| incident_number | string | Required. Incident Number |
| unit_code | string | Required. Unit Code |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/number/2021-00001/apparatuses/code/R2
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
DELETE /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number/apparatuses/code/:unit_code
Delete NFIRS notification apparatus item.
DELETE /fd-api/v1/nfirs-notifications/dispatch-number/:incident_number/apparatuses/code/:unit_code
Parameters
| Name | Type | Description |
|---|---|---|
| dispatch_number | string | Required. Dispatch Number |
| unit_code | string | Required. Unit Code |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/number/2021-00001/apparatuses/code/R2
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
POST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:nfirs_apparatus_id/personnel
Create a NFIRS notification personnel.
POST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:nfirs_apparatus_id/personnel
Parameters
| Name | Type | Description |
|---|---|---|
| xref_id | string | Xref Id |
| first_name | string | First Name |
| middle_initial | string | Middle Initial |
| last_name | string | Last Name |
| personnel_agency_id | string | Personnel Agency Id |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"xref_id": "NNP-01", "first_name": "FIRST_NAME", "middle_initial": "MIDDLE_INITIAL", "last_name": "LAST_NAME", "personnel_agency_id": "PA-01"}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/24/apparatuses/25/personnel
Success Response
HTTP/1.1 201 Created
{
"id": 333
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
POST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_code/personnel
Create a NFIRS notification personnel.
POST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_code/personnel
Parameters
| Name | Type | Description |
|---|---|---|
| xref_id | string | Xref Id |
| first_name | string | First Name |
| middle_initial | string | Middle Initial |
| last_name | string | Last Name |
| personnel_agency_id | string | Personnel Agency Id |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"xref_id": "NNP-01", "first_name": "FIRST_NAME", "middle_initial": "MIDDLE_INITIAL", "last_name": "LAST_NAME", "personnel_agency_id": "PA-01"}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/number/2021-00001/apparatuses/code/R2/personnel
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
POST /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number/apparatuses/code/:unit_code/personnel
Create a NFIRS notification personnel.
POST /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number/apparatuses/code/:unit_code/personnel
Parameters
| Name | Type | Description |
|---|---|---|
| xref_id | string | Xref Id |
| first_name | string | First Name |
| middle_initial | string | Middle Initial |
| last_name | string | Last Name |
| personnel_agency_id | string | Personnel Agency Id |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"xref_id": "NNP-01", "first_name": "FIRST_NAME", "middle_initial": "MIDDLE_INITIAL", "last_name": "LAST_NAME", "personnel_agency_id": "PA-01"}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/dispatch-number/2021-00001/apparatuses/code/R2/personnel
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
PUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:nfirs_apparatus_id/personnel/:id
Update NFIRS notification personnel item completely.
PUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:nfirs_apparatus_id/personnel/:id
Parameters
| Name | Type | Description |
|---|---|---|
| xref_id | string | Xref Id |
| first_name | string | First Name |
| middle_initial | string | Middle Initial |
| last_name | string | Last Name |
| personnel_agency_id | string | Personnel Agency Id |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"xref_id": "NNP-01", "first_name": "FIRST_NAME", "middle_initial": "MIDDLE_INITIAL", "last_name": "LAST_NAME", "personnel_agency_id": "PA-01"}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/24/apparatuses/25/personnel/35
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
PUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_code/personnel/xref/:xref_id
Update NFIRS notification personnel item completely.
PUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_code/personnel/xref/:xref_id
Parameters
| Name | Type | Description |
|---|---|---|
| first_name | string | First Name |
| middle_initial | string | Middle Initial |
| last_name | string | Last Name |
| personnel_agency_id | string | Personnel Agency Id |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"first_name": "FIRST_NAME", "middle_initial": "MIDDLE_INITIAL", "last_name": "LAST_NAME", "personnel_agency_id": "PA-01"}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/number/2021-00001/apparatuses/code/R2/personnel/xref/NNP-01
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
PUT /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number/apparatuses/code/:unit_code/personnel/xref/:xref_id
Update NFIRS notification personnel item completely.
PUT /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number/apparatuses/code/:unit_code/personnel/xref/:xref_id
Parameters
| Name | Type | Description |
|---|---|---|
| first_name | string | First Name |
| middle_initial | string | Middle Initial |
| last_name | string | Last Name |
| personnel_agency_id | string | Personnel Agency Id |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"first_name": "FIRST_NAME", "middle_initial": "MIDDLE_INITIAL", "last_name": "LAST_NAME", "personnel_agency_id": "PA-01"}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/dispatch-number/2021-00001/apparatuses/code/R2/personnel/xref/NNP-01
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
DELETE /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:nfirs_apparatus_id/personnel/:id
Delete NFIRS notification personnel item.
DELETE /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:nfirs_apparatus_id/personnel/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/24/apparatuses/25/personnel/35
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
DELETE /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_code/personnel/xref/:xref_id
Delete NFIRS notification personnel item.
DELETE /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_code/personnel/xref/:xref_id
Parameters
| Name | Type | Description |
|---|---|---|
| incident_number | string | Required. Incident Number |
| unit_code | string | Required. Unit Code |
| xref_id | string | Required. Xref Id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/number/2021-00001/apparatuses/code/R2/personnel/xref/NNP-01
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
DELETE /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number/apparatuses/code/:unit_code/personnel/xref/:xref_id
Delete NFIRS notification personnel item.
DELETE /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number/apparatuses/code/:unit_code/personnel/xref/:xref_id
Parameters
| Name | Type | Description |
|---|---|---|
| dispatch_number | string | Required. Dispatch Number |
| unit_code | string | Required. Unit Code |
| xref_id | string | Required. Xref Id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-notifications/dispatch-number/2021-00001/apparatuses/code/R2/personnel/xref/NNP-01
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
GET /fd-api/v1/apparatuses/get-all-details
Get all apparatuses.
GET /fd-api/v1/apparatuses/get-all-details
Parameters
| Name | Type | Description |
|---|---|---|
| page_size | number | Page Size |
| page | number | Page |
| search | string | Name, Department Vehicle ID, Fleet Vehicle Number |
| apparatus_group | string | Apparatus Group (Name, Description) |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X GET https://sizeup.firstduesizeup.com/fd-api/v1/apparatuses/get-all-details
Success Response
HTTP/1.1 200 OK
{
"status": "success",
"message": "Apparatuses retrieved successfully",
"page": 1,
"page_size": 20,
"total": 1,
"total_pages": 1,
"links": [],
"params": {
"search": "p1",
"apparatus_group": "ng"
},
"results": [
{
"id": 836,
"nfirs_id": "33",
"apparatus_type_code": "11",
"vehicle_number": "33",
"primary_use_code": "1",
"created_at": "2022-10-07 13:23:34.998908",
"vehicle_id": "2",
"name": "APP1",
"unit_call_sign": "QW2",
"vin_number": null,
"license_plate": null,
"dot_number": null,
"license_plate_state_code": null,
"manufacturer": null,
"manufacture_year": null,
"model": null,
"engine": null,
"tank_volume": null,
"pump_type": null,
"pump_manufacturer": null,
"vehicle_initial_cost": null,
"date_in_service": null,
"year_replacement": null,
"in_service": true,
"inspection_freq_type_code": null,
"aid_type_auto": false,
"aid_type_mutual": false,
"ownership_type_code": null,
"batt_dept_id": 838,
"normal_staffing_level": null,
"provides_als_support": false,
"owner_type_code": "department",
"aid_department_name": null,
"fire_station_id": null,
"gallons_water": null,
"odometer": "1000.00",
"pto_hours": "100.00",
"engine_hours": "100.00",
"is_deleted": false,
"apparatus_group_id": 109,
"deleted_by": null,
"deleted_at": null,
"starting_aerial_hours": "123.00",
"manufacture_month": null,
"nemsis_vehicle_type_code": null,
"crew_state_level_code": null,
"grant_year": null,
"vehicle_initial_cost_after_manufacturing_year": null,
"purchase_price": null,
"grant_name": null,
"is_grant_purchase": false,
"description": null,
"is_primary": true,
"unit_transport_equipment_capability_code": null,
"gallons_foam": null,
"assigned_user_id": null,
"tire_size": null,
"tire_pressure": null,
"pump_size": null,
"ladder_length": null,
"aerial_type": null,
"ambulance_type": null,
"manufacturer_build": null,
"manufacturer_id": null,
"pump_hours": "223.00",
"tire_pressure_front": null,
"liters_water": null,
"tire_pressure_rear": null,
"unit_user_id": null,
"liters_foam": null,
"batt_dept_aid_id": null,
"pump_model": null,
"pump_serial_number": null,
"fema_cost_code_id": null,
"is_archived": false,
"funding_source": null,
"height": null,
"length": null,
"weight": null,
"front_tire_size": null,
"rear_tire_size": null,
"api_apparatus_id": null,
"max_persons": null,
"max_gross_load": null,
"persons_motor_equip": null,
"fuel_capacity": null,
"fresh_water": null,
"grey_water": null,
"number_of_motors": null,
"initial_in_service_date": null,
"cab_type": null,
"body_class": null,
"engine_cylinders": null,
"displacement_cc": null,
"displacement_ci": null,
"displacement_l": null,
"drive_type": null,
"engine_power_kw": null,
"gvwr": null,
"gvwr_class": null,
"fuel_type": null,
"end_of_primary_service_life_date": null,
"samsara_id": null,
"end_of_service_life_date": null,
"uuid": "f5cdef6d-fa06-4d84-834d-ca8c291ad39e",
"neris_unit_id": null,
"manufacture_date": null,
"client_code": "ASHEVILLE"
}
]
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Validation Failed. Please provide valid search, apparatus_group parameters.",
"errors": [
{
"field": "search",
"code": "invalid",
"message": "Please provide a valid search."
},
{
"field": "apparatus_group",
"code": "invalid",
"message": "Please provide a valid apparatus_group."
}
]
}
GET /fd-api/v1/apparatuses/unit-call-signs
Get apparatus unit call signs.
GET /fd-api/v1/apparatuses/unit-call-signs
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/apparatuses/unit-call-signs
Success Response
HTTP/1.1 200 OK ['CODE1', 'CODE2', 'CODE3']
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
GET /fd-api/v1/apparatuses/vehicle-number/:vehicle_number
Get id, odometer, engine_hours, pto_hours and pump_hours of the apparatuses with vehicle number :vehicle_number.
GET /fd-api/v1/apparatuses/vehicle-number/:vehicle_number
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/apparatuses/vehicle-number/23
Success Response
HTTP/1.1 200 OK
[
{
"id": 25,
"odometer": 45,
"engine_hours": 3,
"pto_hours": 4,
"pump_hours": 1
},
{
....
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "Apparatus not found."
}
GET /fd-api/v1/apparatuses/api-apparatus-id/:api_apparatus_id
Get id, odometer, engine_hours, pto_hours and pump_hours of the apparatuses with api apparatus id :api_apparatus_id.
GET /fd-api/v1/apparatuses/api-apparatus-id/:api-apparatus-id
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/apparatuses/api-apparatus-id/723
Success Response
HTTP/1.1 200 OK
[
{
"id": 25,
"odometer": 45,
"engine_hours": 3,
"pto_hours": 4,
"pump_hours": 1
},
{
....
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "Apparatus not found."
}
GET /fd-api/v1/asset-work-order-boards
Get all asset work order boards.
GET /fd-api/v1/asset-work-order-boards
Parameters
| Name | Type | Description |
|---|---|---|
| page_size | number | Page Size |
| page | number | Page |
| name | string | Name |
| is_active | bool | Is Active |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X GET https://sizeup.firstduesizeup.com/fd-api/v1/asset-work-order-boards
Success Response
HTTP/1.1 200 OK
{
"status": "success",
"message": "Work orders Board retrieved successfully",
"page": 2,
"page_size": 20,
"total": 52,
"total_pages": 3,
"links": {
"first": "https://sizeup.firstduesizeup.test/fd-api/v1/asset-work-order-boards?page_size=20&is_active=true&page=1",
"prev": "https://sizeup.firstduesizeup.test/fd-api/v1/asset-work-order-boards?page_size=20&is_active=true&page=1",
"next": "https://sizeup.firstduesizeup.test/fd-api/v1/asset-work-order-boards?page_size=20&is_active=true&page=3",
"last": "https://sizeup.firstduesizeup.test/fd-api/v1/asset-work-order-boards?page_size=20&is_active=true&page=3"
},
"params": {
"name": "",
"is_active": "true"
},
"results": [
{
"id": 100,
"name": "Prueba 000112",
"is_active": true,
"status": "Active",
"created_at": "09/16/2021",
"updated_at": "08/31/2022"
},
...
]
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Validation Failed. Please provide valid name, is_active parameters.",
"errors": [
{
"field": "name",
"code": "missing_field",
"message": "Please provide a valid name."
},
{
"field": "is_active",
"code": "missing_field",
"message": "Please provide a valid is_active."
}
]
}
GET /fd-api/v1/asset-work-orders
Get all asset work order.
GET /fd-api/v1/asset-work-orders
Parameters
| Name | Type | Description |
|---|---|---|
| page_size | number | Page Size |
| page | number | Page |
| asset_type_code | string | Asset type code Example: (apparatus, equipment, kit, station) |
| search | string | String for search in description and summary fields |
| datetime_from | string | This is a timestamp in ISO 8601 |
| datetime_to | string | This is a timestamp in ISO 8601 |
| board_id | number | Board Id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 47dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/asset-work-orders
Success Response
HTTP/1.1 200 OK
{
"status": "success",
"message": "Work orders retrieved successfully",
"page": 1,
"page_size": 20,
"total": 28,
"total_pages": 2,
"links": {
"next": "https://sizeup.firstduesizeup.test/fd-api/v1/asset-work-orders?page=2",
"last": "https://sizeup.firstduesizeup.test/fd-api/v1/asset-work-orders?page=2"
},
"params": [
"search": null,
"board_id": null,
"asset_type_code": null,
"datetime_from": null,
"datetime_to": null,
],
"results": [
{
"id": 219,
"summary": "Preventative Maintenance",
"status_name": "4",
"number": 76,
"eta": null,
"priority_level_code": "low",
"submitted_by": "User #2127",
"created_at": "2025-04-23 15:45:09.262374",
"created_by": "User #2127",
"updated_at": null,
"is_archived": false,
"is_change_asset_allowed": false,
"has_attachment": false,
"incident_number": null,
"description": "Preventative Maintenance",
"work_performed": null,
"apparatus_engine_hours": "999999.00",
"apparatus_odometer": "132.00",
"apparatus_pto_hours": "1.00",
"apparatus_pump_hours": "5.00",
"apparatus_starting_aerial_hours": "5.00",
"apparatus": {
"id": 528,
"name": "APP01"
},
"fire_station": null,
"kit": null,
"equipment": null,
"asset_work_order_board": {
"id": 109,
"name": "CWOB"
},
"vendor": null,
"asset_work_order_type": {
"id": 137,
"name": "B3"
},
"teams": [
{
"id": 60,
"name": "Team 006"
},
{
"id": 57,
"name": "Team 005"
},
{
"id": 56,
"name": "Team 004"
},
{
"id": 54,
"name": "Team 003"
},
{
"id": 52,
"name": "Team 002"
},
{
"id": 51,
"name": "Team 001"
},
{
"id": 50,
"name": "Prueba"
}
],
"users": []
},
....
]
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Validation Failed. Please provide valid asset_type_code parameter.",
"errors": [
{
"field": "asset_type_code",
"code": "invalid",
"message": "Invalid asset type code."
}
]
}
GET /fd-api/v1/asset-work-orders/:id
Get an Asset work order.
GET /fd-api/v1/asset-work-orders/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Id |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/asset-work-orders/130
Success Response
HTTP/1.1 200 OK
{
"id": 130,
"summary": "1111",
"submitted_by": "AshevilleFire Admin",
"number": 1,
"created_by": "AshevilleFire Admin",
"updated_by": "AshevilleFire Admin",
"eta": null,
"is_archived": false,
"is_change_asset_allowed": true,
"created_at": "2025-05-21 20:46:15.607457",
"updated_at": "2025-05-22 16:07:22.98951",
"archived_at": null,
"incident_number": "",
"description": "1111",
"work_performed": "11111",
"apparatus_engine_hours": "0.00",
"apparatus_odometer": "0.00",
"apparatus_pto_hours": "0.00",
"apparatus_pump_hours": "0.00",
"apparatus_starting_aerial_hours": null,
"has_attachment": false,
"priority_level_code": "low",
"asset_work_order_status": {
"id": 231,
"name": "1"
},
"asset_work_order_type": {
"id": 137,
"name": "B3"
},
"asset_work_order_board": {
"id": 109,
"name": "CWOB"
},
"apparatus": {
"id": 901,
"name": "AAAAAAA"
},
"equipment": null,
"fire_station": null,
"kit": null,
"asset_work_order_vendor": null,
"asset_work_order_teams": [
{
"id": 50,
"name": "Prueba"
},
{
"id": 51,
"name": "Team 001"
},
{
"id": 52,
"name": "Team 002"
},
{
"id": 54,
"name": "Team 003"
},
{
"id": 56,
"name": "Team 004"
},
{
"id": 57,
"name": "Team 005"
},
{
"id": 60,
"name": "Team 006"
}
],
"asset_work_order_users": null
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
GET /fd-api/v1/asset-work-orders/stats
Get all asset work order stats.
GET /fd-api/v1/asset-work-orders/stats
Parameters
| Name | Type | Description |
|---|---|---|
| asset_type_code | string | Asset type code Example: (apparatus, equipment, kit, station) |
| datetime_from | string | This is a timestamp in ISO 8601 |
| datetime_to | string | This is a timestamp in ISO 8601 |
Example Requests
$ curl -i -k -H "Authorization: Bearer 47dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/asset-work-orders/stats
Success Response
HTTP/1.1 200 OK
{
"params": {
"asset_type_code": null,
"datetime_from": null,
"datetime_to": null
},
"total_work_orders": 33,
"by_asset_type": {
"Apparatus": 17,
"Equipment": 14,
"Fire Station": 2,
"Kit": 0
},
"by_status": {
"Ph 22": 1,
"1": 12,
"4": 15,
"Ph 1": 5
}
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Validation Failed. Please provide valid asset_type_code parameter.",
"errors": [
{
"field": "asset_type_code",
"code": "invalid",
"message": "Invalid asset type code."
}
]
}
PATCH /fd-api/v1/apparatuses/:id
Update odometer, engine_hours, pto_hours and/or pump_hours field of :id apparatus. The requests should be at least one parameter. Parameter values should be numeric, greater than 0 and its current value
PATCH /fd-api/v1/apparatuses/:id
Parameters
| Name | Type | Description |
|---|---|---|
| odometer | number | Odometer |
| engine_hours | number | Engine Hours |
| pto_hours | number | PTP Hours |
| pump_hours | number | Pump Hours |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PATCH -d '{"odometer": 20.50, "engine_hours": 5000.0}' https://sizeup.firstduesizeup.com/fd-api/v1/apparatuses/456
Success Response
HTTP/1.1 200 OK []
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "Apparatus not found."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "Empty request data"
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "Invalid param: {text}, each should be numeric greater than 0.|Invalid params: {text}, each should be numeric greater than 0"
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Invalid values.",
"errors": [
{
"field": "odometer",
"code": "invalid_field",
"message": "Invalid odometer value, should be greater than current value."
},
{
"field": "engine_hours",
"code": "invalid_field",
"message": "Invalid engine hours value, should be greater than current value."
},
{
"field": "pto_hours",
"code": "invalid_field",
"message": "Invalid PTO hours value, should be greater than current value."
},
{
"field": "pump_hours",
"code": "invalid_field",
"message": "Invalid pump hours value, should be greater than current value."
}
]
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Error updating apparatus."
}
GET /fd-api/v1/apparatuses/:apparatus_id
Retrieve all fields of an apparatus by its ID
GET /fd-api/v1/apparatuses/:apparatus_id
Example Requests
$ curl -i -k -H "Authorization: Bearer <YOUR_TOKEN_HERE>" https://sizeup.firstduesizeup.com/fd-api/v1/apparatuses/6
Success Response
HTTP/1.1 200 OK
{
"id": 6,
"name": "Tank 1",
"manufacture_year": 1967,
"manufacture_month": 12,
"manufacturer": null,
"vehicle_number": "Lorem ipsum dolor sit ame",
"in_service": false,
"model": null,
"vehicle_id": "Lorem ipsum dolor sit ame",
"nfirs_id": "666",
"manufacturer_id": null,
"unit_call_sign": "666",
"vin_number": null,
"gallons_water": null,
"liters_water": null,
"odometer": null,
"pto_hours": null,
"engine_hours": null,
"apparatus_type_code": "00",
"dot_number": null,
"aid_type_auto": false,
"license_plate_state_code": null,
"provides_als_support": false,
"primary_use_code": "0",
"owner_type_code": "department",
"license_plate": null,
"starting_aerial_hours": null,
"is_primary": false,
"manufacturer_build": null,
"is_grant_purchase": false,
"grant_year": null,
"grant_name": null,
"purchase_price": null,
"nemsis_vehicle_type_code": null,
"unit_transport_equipment_capability_code": null,
"description": null,
"normal_staffing_level": null,
"front_tire_size": null,
"rear_tire_size": null,
"tire_pressure": null,
"tire_pressure_front": null,
"tire_pressure_rear": null,
"gallons_foam": null,
"liters_foam": null,
"pump_size": null,
"pump_hours": null,
"pump_model": null,
"pump_serial_number": null,
"pump_manufacturer": null,
"aerial_type": null,
"ladder_length": null,
"ambulance_type": null,
"vehicle_initial_cost_after_manufacturing_year": null,
"aid_type_mutual": false,
"funding_source": null,
"height": null,
"length": null,
"weight": null,
"is_archived": false,
"api_apparatus_id": null,
"max_persons": null,
"max_gross_load": null,
"persons_motor_equip": null,
"samsara_id": null,
"fuel_capacity": null,
"fresh_water": null,
"grey_water": null,
"number_of_motors": null,
"initial_in_service_date": null,
"end_of_primary_service_life_date": null,
"end_of_service_life_date": null,
"status": "N",
"fuel_type": null,
"gvwr": null,
"gvwr_class": null,
"cab_type": null,
"body_class": null,
"engine_cylinders": null,
"drive_type": null,
"displacement_cc": null,
"displacement_ci": null,
"displacement_l": null,
"engine_power_kw": null,
"apparatus_type_code_name": "00",
"primary_use_code_name": "0",
"owner_type_code_name": "department",
"manufacture_date": "1967-12-01",
"created_at": "2021-02-28 13:06:07.929605",
"apparatus_group": {
"id": 74,
"name": "Type 1 Engines"
},
"batt_dept": {
"id": 861,
"name": "Thomasville Fire"
},
"batt_dept_aid": null,
"fire_station": null,
"assigned_user": null,
"unit_user": null
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 404 Not Found
{
"code": 0,
"message": "Apparatus not found."
}
GET /fd-api/v1/apparatuses/:apparatus_id/work-orders
Get work orders for a specific apparatus.
GET /fd-api/v1/apparatuses/:apparatus_id/work-orders
Parameters
| Name | Type | Description |
|---|---|---|
| apparatus_id | int | Required. Id |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/apparatuses/155/work-orders
Success Response
HTTP/1.1 200 OK
{
"status": "success",
"message": "Apparatus Work orders retrieved successfully",
"page": 1,
"page_size": 20,
"total": 1,
"total_pages": 1,
"links": [],
"params": null,
"results": [
{
"id": 125,
"summary": "test number ",
"status_name": "1",
"number": 7,
"eta": null,
"priority_level_code": "high",
"submitted_by": "Fire Department Admin - Abington FD",
"created_at": "2025-03-10 16:53:21.230758",
"created_by": "Fire Department Admin - Abington FD",
"updated_at": "2025-05-21 15:38:43.773143",
"is_archived": false,
"is_change_asset_allowed": false,
"incident_number": null,
"apparatus_engine_hours": "125.00",
"apparatus_odometer": "125.00",
"apparatus_pto_hours": "125.00",
"apparatus_pump_hours": null,
"apparatus_starting_aerial_hours": "1202.00",
"has_attachment": false,
"description": "test number ",
"work_performed": null,
"apparatus": {
"id": 155,
"name": "App1"
},
"asset_work_order_board": {
"id": 80,
"name": "Test"
},
"vendor": null,
"asset_work_order_type": {
"id": 115,
"name": "WOT1"
},
"teams": null,
"users": [
{
"id": 60316,
"name": "sucel WO"
}
]
}
]
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
GET /fd-api/v1/locations
Get all locations.
GET /fd-api/v1/locations
Parameters
| Name | Type | Description |
|---|---|---|
| page_size | number | Page Size |
| page | number | Page |
| name | string | Name |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X GET https://sizeup.firstduesizeup.com/fd-api/v1/locations
Success Response
HTTP/1.1 200 OK
{
"status": "success",
"message": "Locations retrieved successfully",
"page": 1,
"page_size": 20,
"total": 1,
"total_pages": 1,
"links": [],
"params": {
"name": "104"
},
"results": [
{
"id": 200,
"station_num": "Station 104",
"description": "ASHEVILLE FD (NC) #Station 104",
"address": "Asheville Highway, Inman, Carolina del Sur, EE. UU.",
"address1": null,
"address2": null,
"phone": null,
"latitude": "35.0425240",
"longitude": "-82.0909284",
"geom": "0101000020E6100000C4115AC5D18554C0C6A52A6D71854140",
"county_code": null,
"station_nfirs_id": null,
"neris_station_id": null,
"city": null,
"zip": null,
"state_code": null,
"year_built": null,
"department": {
"id": 838,
"name": "ASHEVILLE FD (NC)"
},
"fire_zone": null,
"fire_station_group": {
"id": 3,
"name": "GST2"
}
}
]
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
GET /fd-api/v1/locations/:id
Get a location by ID. Requires bearer authentication and permission: "FD API - Read Locations".
GET /fd-api/v1/locations/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | number | Required. location ID |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X GET https://sizeup.firstduesizeup.com/fd-api/v1/locations/1
Success Response
HTTP/1.1 200 OK
{
"id": 1,
"station_num": "Emergency Management",
"description": null,
"address": "100 Court Plaza, Asheville, NC 28801, USA",
"address1": null,
"address2": null,
"phone": null,
"latitude": "35.5948248",
"longitude": "-82.5500137",
"geom": "0101000020E61000008676A96C33A354C0C46C133823CC4140",
"county_code": "37021",
"station_nfirs_id": null,
"neris_station_id": null,
"city": null,
"zip": null,
"state_code": null,
"year_built": null,
"department": {
"id": 838,
"name": "ASHEVILLE FD (NC)"
},
"fire_zone": null,
"fire_station_group": null
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 404 Not Found
{
"code": 0,
"message": "Location not found."
}
GET /fd-api/v1/logs/settings
Get Settings for Logs.
GET /fd-api/v1/logs/settings
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/logs/settings
Success Response
{ "is_fdapi_log_enabled": true }
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/logs
Import a log entry.
POST /fd-api/v1/logs
Parameters
| Name | Type | Description |
|---|---|---|
| message | string | Required. Message |
| level_code | string | Required. Level |
| category | string | Category |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '[{"message": "Log1", "level_code": "error", "category": "application"}]' https://sizeup.firstduesizeup.com/fd-api/v1/logs
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Max items allowed exceeded.",
"errors": []
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": Validation Failed. Empty parameters.",
"errors": []
}
POST /fd-api/v1/logs/batch
Import a bunch of log entries. This will create every single entry.
POST /fd-api/v1/logs
Parameters is an array of objects. Max size is 1000 items.
| Name | Type | Description |
|---|---|---|
| message | string | Required. Message |
| level_code | string | Required. Level |
| category | string | Category |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '[{"message": "Log1", "level_code": "error", "category": "application"}]' https://sizeup.firstduesizeup.com/fd-api/v1/logs/batch
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Max items allowed exceeded.",
"errors": []
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": Validation Failed. Empty parameters.",
"errors": []
}
GET /fd-api/v1/schedule
Get the schedule from the Shift Board for a given date range. Note most timestamps in this response are in the format YYYY-MM-DD HH:mm:ss, and are always considered local time. This is to conserve "wall time" or "clock time" data even if timezones are subject to change in the future.
GET /fd-api/v1/schedule
Parameters
| Name | Type | Description |
|---|---|---|
| start | string | Show schedule from this date/time forward. ISO 8601 timestamp. Defaults to 00:00 today. |
| end | string | Show schedule until this date/time. ISO 8601 timestamp. Defaults to 00:00 tomorrow. Max. difference from start is 31 days. |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "start=2022-03-01T08:00:00+00:00" --data-urlencode "end=2022-03-02T08:00:00+00:00" https://sizeup.firstduesizeup.com/fd-api/v1/schedule
Success Response
[
{
"date": "2022-03-21",
"rotations": [
{
"id": 53,
"name": "A Shift",
"color": "#f44336"
}
],
"assignments": [
{
"id": 4,
"start_at_local": "2022-03-21 08:00:00",
"end_at_local": "2022-03-22 08:00:00",
"name": "Station 1",
"city": "Seattle",
"pos": 1,
"schedule_group_id": 1,
"is_archived": false,
"positions": [
{
"id": 1,
"qualifier": {
"id": 1,
"name": "Captain",
"shortcode": "CPT",
"color": "#FF5722"
},
"work_shifts": [
{
"id": 146,
"start_date": "2022-02-24",
"end_date": "2038-01-01",
"notes": "",
"work_type": {
"id": 16,
"name": "Overtime",
"color": "#ff9800"
},
"work_subtype": null,
"user": {
"id": 3089,
"first_name": "John",
"last_name": "Doe",
"qualifiers": [],
"is_active": true
},
"kelly_days": null,
"type": "userRotation",
"segments": [],
"rotation": {
"id": 53,
"name": "A Shift",
"color": "#f44336"
}
}
],
"vacancy_segments": [],
"pos": 1,
"is_vacant": true,
"is_extra_vacancy": false
},
{
"id": 2,
"qualifier": {
"id": 2,
"name": "Firefighter",
"shortcode": "FF-1",
"color": "#3f51b5"
},
"work_shifts": [],
"vacancy_segments": [],
"pos": 2,
"is_vacant": true,
"is_extra_vacancy": false
}
],
"is_recurring": true,
"range_start": "2020-09-22 08:00:00",
"range_end": "2038-01-01 08:00:00",
"duration_hours": 24
},
{
"id": 35,
"start_at_local": "2022-03-21 03:00:00",
"end_at_local": "2022-03-21 08:00:00",
"name": "Station 2",
"city": "",
"pos": 12,
"schedule_group_id": null,
"is_archived": false,
"positions": [
{
"id": 90,
"qualifier": null,
"work_shifts": [],
"vacancy_segments": [],
"pos": 1,
"is_vacant": true,
"is_extra_vacancy": false
},
{
"id": 91,
"qualifier": null,
"work_shifts": [],
"vacancy_segments": [],
"pos": 2,
"is_vacant": true,
"is_extra_vacancy": false
}
],
"is_recurring": true,
"range_start": "2021-12-17 03:00:00",
"range_end": "2038-01-01 08:00:00",
"duration_hours": 5
}
],
"unassigned": [
{
"id": 147,
"start_date": "2022-03-01",
"end_date": "2038-01-01",
"notes": null,
"user": {
"id": 3095,
"first_name": "Jane",
"last_name": "Doe",
"qualifiers": [
{
"id": 1,
"name": "Captain",
"shortcode": "CPT",
"color": "#FF5722"
},
{
"id": 15,
"name": "Emergency",
"shortcode": "EMT",
"color": "#cddc39"
}
],
"is_active": true
},
"assignment": null,
"kelly_days": null,
"type": "userRotation",
"segments": [],
"rotation": {
"id": 53,
"name": "A Shift",
"color": "#f44336"
}
}
]
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide a valid start parameter.",
"errors": [
{
"field": "start",
"code": "invalid",
"message": "Please provide a date in ISO 8601 format, e.g. 2022-03-21T15:46:03+00:00"
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Please choose a date range of max. 31 days."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "End cannot be before start, please check parameters."
}
GET /fd-api/v1/event-log/activities
GET /event-log/activities
GET https://sizeup.firstduesizeup.com/fd-api/v1/event-log/activities
Permission: apiReadEventLogActivities
Parameters
All query parameters are optional unless noted.
| Name | Type | Description |
|---|---|---|
| name | string | Substring filter on activity name (case-insensitive ILIKE match). |
| module | string | One or more module labels, comma-separated. Allowed values (exact labels): Event, Training, NFIRS/EPCR, Inspection, Asset, Time Off, Work Shift, User Rotation, Daily Log. |
| status | string | Status filter; use the lowercase form that matches stored status text for that module (e.g. complete, incomplete where applicable). |
| period | string | Time window preset, same keys as the site Event Log / ActivityPeriod. Omitted or empty defaults to day (today in the client’s timezone). Values not in the allowed list are ignored and treated like omitted (default day). See Allowed period values below. |
| date_from | string | Start of custom range, year-first: yyyy-MM-dd, or yyyy/MM/dd / yyyy.M.d (normalized to yyyy-MM-dd). Interpreted in the client’s timezone. If either date_from or date_to is set, period is forced to other regardless of period query. |
| date_to | string | End of custom range; same format and rules as date_from. |
| cursor | string | Opaque cursor from a previous response’s next_cursor or prev_cursor. Omit on the first request. |
| direction | string | With cursor: next (default) or prev. Ignored when cursor is omitted (first page is always forward). |
| pageSize | string | Page size node: 20, 50, 100, 250, 500, 1000, or all (all maps to a large internal cap). Default if missing or invalid: 20. |
| page_size | string | Alias for pageSize (same values). If both are sent, pageSize wins. |
Allowed period values (exact strings):
day, today_and_yesterday, this_week, next_date, 3days, 7days, 30days, 90days, 180days, last24hrs, last3days, last7days, last30days, last90days, last180days, this_month, next_month, last_month, next_year, last_year, this_calendar_year, other.
Use period=other together with date_from / date_to for a custom range (or send either date alone — period becomes other automatically).
Response date vs filters: Each row’s date is the display value for the list (client-local, same style as the UI, e.g. n/j/Y), not necessarily ISO. Use year-first date_from / date_to when filtering — do not parse results[].date back as the filter format.
Example requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "period=this_month" --data-urlencode "pageSize=50" "https://sizeup.firstduesizeup.com/fd-api/v1/event-log/activities" $ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "period=other" --data-urlencode "date_from=2026-08-01" --data-urlencode "date_to=2026-08-31" --data-urlencode "page_size=50" "https://sizeup.firstduesizeup.com/fd-api/v1/event-log/activities"
Success response
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
{
"status": "success",
"message": "Event log activities retrieved successfully",
"next_cursor": "<opaque cursor from ActivityLog pagination>",
"prev_cursor": null,
"pageSize": 50,
"params": {
"name": null,
"module": null,
"status": null,
"period": "this_month",
"date_from": null,
"date_to": null,
"cursor": null,
"direction": "next"
},
"results": [
{
"date": "8/15/2026",
"module": "Event",
"name": "Drill",
"address": "123 Main St",
"personnel": "Jane Doe",
"apparatus": "E1",
"status": "complete",
"fireStations": "Station 1",
"shifts": "A Shift",
"passdowns": []
}
]
}
| Field | Type | Description |
|---|---|---|
| next_cursor | string or null | Pass as cursor with direction=next to fetch the following page. null if there is no next page. |
| prev_cursor | string or null | Pass as cursor with direction=prev for the previous page. null on the first page or when not applicable. |
| pageSize | number | Effective page size used for this response (integer; all resolves to the configured maximum). |
| params | object | Echo of effective filters and pagination inputs (period reflects the value used after defaults and date_from/date_to forcing other). |
| results | array | Activity rows; fields match the Event Log list grid columns. |
| results[].date | string or null | Display date (list format). |
| results[].module | string or null | Module label. |
| results[].name | string or null | Activity name. |
| results[].address | string or null | Place / address line. |
| results[].personnel | string or null | Personnel display name(s). |
| results[].apparatus | string or null | Apparatus / units text. |
| results[].status | string or null | Status text. |
| results[].fireStations | string or null | Fire station name(s). |
| results[].shifts | string or null | Battalion / department shift name(s). |
| results[].passdowns | array | Passdown entries (structure as in the main app list). |
Error response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 500 Internal Server Error
{
"code": 0,
"message": "An unknown error occurred"
}
Unexpected failures while building the list (database errors, bugs, etc.) return 500 with this generic message; details are logged server-side only.
GET /fd-api/v1/ems-cases/:id
Get a EMS case.
GET /fd-api/v1/ems-cases/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Id |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111
Success Response
HTTP/1.1 200 OK
{
"id": 1,
"device_serial_number": "112223344444",
"device_xref_id": "123498765",
"device_model": "DEVICE_MODEL",
"patient_xref_id": "09122022012365478",
"case_xref_id": "09122022012365478",
"case_started_at": "2022-02-16T19:42:00+00:00",
"provider": "PROVIDER",
"filename": "FILENAME",
"patient_first_name": "PATIENT_FIRST_NAME",
"patient_last_name": "PATIENT_LAST_NAME",
"patient_middle_name": "PATIENT_MIDDLE_NAME",
"patient_phone_number": "PATIENT_PHONE_NUMBER",
"patient_email": "PATIENT_EMAIL",
"patient_gender": "F",
"patient_race": "PATIENT_RACE",
"patient_age": 12,
"patient_age_unit": "year",
"patient_address": "PATIENT_ADDRESS",
"patient_unit": "PATIENT_UNIT",
"patient_cross_streets": "PATIENT_CROSS_STREETS",
"patient_city": "PATIENT_CITY",
"patient_state_code": "PATIENT_STATE_CODE",
"patient_zip_code": "PATIENT_ZIP_CODE",
"incident_location_type": "INCIDENT_LOCATION_TYPE",
"incident_type": "INCIDENT_TYPE"
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
GET /fd-api/v1/ems-cases/case-xref-id/:case_xref_id
Get a EMS case.
GET /fd-api/v1/ems-cases/case-xref-id/:case_xref_id
Parameters
| Name | Type | Description |
|---|---|---|
| case_xref_id | string | Required. Case Xref Id |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/case-xref-id/09122022012365478
Success Response
HTTP/1.1 200 OK
{
"id": 1,
"device_serial_number": "112223344444",
"device_xref_id": "123498765",
"device_model": "DEVICE_MODEL",
"patient_xref_id": "09122022012365478",
"case_xref_id": "09122022012365478",
"case_started_at": "2022-02-16T19:42:00+00:00",
"provider": "PROVIDER",
"filename": "FILENAME",
"patient_first_name": "PATIENT_FIRST_NAME",
"patient_last_name": "PATIENT_LAST_NAME",
"patient_middle_name": "PATIENT_MIDDLE_NAME",
"patient_phone_number": "PATIENT_PHONE_NUMBER",
"patient_email": "PATIENT_EMAIL",
"patient_gender": "F",
"patient_race": "PATIENT_RACE",
"patient_age": 12,
"patient_age_unit": "year",
"patient_address": "PATIENT_ADDRESS",
"patient_unit": "PATIENT_UNIT",
"patient_cross_streets": "PATIENT_CROSS_STREETS",
"patient_city": "PATIENT_CITY",
"patient_state_code": "PATIENT_STATE_CODE",
"patient_zip_code": "PATIENT_ZIP_CODE",
"incident_location_type": "INCIDENT_LOCATION_TYPE",
"incident_type": "INCIDENT_TYPE"
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/ems-cases
Create a ENS case.
POST /fd-api/v1/ems-cases
Parameters
| Name | Type | Description |
|---|---|---|
| device_serial_number | string | Required. Device Serial Number |
| device_xref_id | string | Device Xref Id |
| device_model | string | Device Model |
| patient_xref_id | string | Required. Patient Xref Id |
| case_xref_id | string | Case xref Id |
| case_started_at | string | Required. Case Started At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| provider | string | Required. Provider |
| filename | string | File Name |
| patient_first_name | string | Patient First Name |
| patient_last_name | string | Patient Last Name |
| patient_middle_name | string | Patient Middle Name |
| patient_phone_number | string | Patient Phone Number |
| patient_email | string | Patient Email |
| patient_gender | string | Patient Gender |
| patient_race | string | Patient Race |
| patient_age | int | Patient Age |
| patient_age_unit | string | Patient Age Unit |
| patient_address | string | Patient Address |
| patient_unit | string | Patient Unit |
| patient_cross_streets | string | Patient Cross Streets |
| patient_city | string | Patient City |
| patient_state_code | string | Patient State Code |
| patient_zip_code | string | Patient Zip Code |
| incident_location_type | string | Incident Location Type |
| incident_type | string | Incident Type |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"device_serial_number": "112223344444", "device_xref_id": "123498765", "device_model": "DEVICE_MODEL", "patient_xref_id": "09122022012365478", "case_xref_id": "09122022012365478", "case_started_at": "2022-02-16T19:42:00+00:00", "provider": "PROVIDER", "filename": "FILENAME", "patient_first_name": "PATIENT_FIRST_NAME", "patient_last_name": "PATIENT_LAST_NAME", "patient_middle_name": "PATIENT_MIDDLE_NAME", "patient_phone_number": "PATIENT_PHONE_NUMBER","patient_email": "PATIENT_EMAIL", "patient_gender": "F", "patient_race": "PATIENT_RACE","patient_age": 12, "patient_age_unit": "year", "patient_address": "PATIENT_ADDRESS", "patient_unit": "PATIENT_UNIT", "patient_cross_streets": "PATIENT_CROSS_STREETS", "patient_city": "PATIENT_CITY", "patient_state_code": "PATIENT_STATE_CODE", "patient_zip_code": "PATIENT_ZIP_CODE", "incident_location_type": "INCIDENT_LOCATION_TYPE", "incident_type": "INCIDENT_TYPE"}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases
Success Response
HTTP/1.1 201 Created
{
"id": 111
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "patient_xref_id",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
PUT /fd-api/v1/ems-cases/:id
Update EMS case item completely.
PUT /fd-api/v1/ems-cases/:id
Parameters
| Name | Type | Description |
|---|---|---|
| device_serial_number | string | Required. Device Serial Number |
| device_xref_id | string | Device Xref Id |
| device_model | string | Device Model |
| patient_xref_id | string | Required. Patient Xref Id |
| case_xref_id | string | Case xref Id |
| case_started_at | string | Required. Case Started At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| provider | string | Required. Provider |
| filename | string | File Name |
| patient_first_name | string | Patient First Name |
| patient_last_name | string | Patient Last Name |
| patient_middle_name | string | Patient Middle Name |
| patient_phone_number | string | Patient Phone Number |
| patient_email | string | Patient Email |
| patient_gender | string | Patient Gender |
| patient_race | string | Patient Race |
| patient_age | int | Patient Age |
| patient_age_unit | string | Patient Age Unit |
| patient_address | string | Patient Address |
| patient_unit | string | Patient Unit |
| patient_cross_streets | string | Patient Cross Streets |
| patient_city | string | Patient City |
| patient_state_code | string | Patient State Code |
| patient_zip_code | string | Patient Zip Code |
| incident_location_type | string | Incident Location Type |
| incident_type | string | Incident Type |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"device_serial_number": "112223344444", "device_xref_id": "123498765", "device_model": "DEVICE_MODEL", "patient_xref_id": "09122022012365478", "case_xref_id": "09122022012365478", "case_started_at": "2022-02-16T19:42:00+00:00", "provider": "PROVIDER", "filename": "FILENAME", "patient_first_name": "PATIENT_FIRST_NAME", "patient_last_name": "PATIENT_LAST_NAME", "patient_middle_name": "PATIENT_MIDDLE_NAME", "patient_phone_number": "PATIENT_PHONE_NUMBER","patient_email": "PATIENT_EMAIL", "patient_gender": "F", "patient_race": "PATIENT_RACE","patient_age": 12, "patient_age_unit": "year", "patient_address": "PATIENT_ADDRESS", "patient_unit": "PATIENT_UNIT", "patient_cross_streets": "PATIENT_CROSS_STREETS", "patient_city": "PATIENT_CITY", "patient_state_code": "PATIENT_STATE_CODE", "patient_zip_code": "PATIENT_ZIP_CODE", "incident_location_type": "INCIDENT_LOCATION_TYPE", "incident_type": "INCIDENT_TYPE"}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "patient_xref_id",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
DELETE /fd-api/v1/ems-cases/:id
Delete EMS case item.
DELETE /fd-api/v1/ems-cases/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-vital-signs
Get EMS case vital signs
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-vital-signs
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "since=2019-02-15T19:00:00+00:00" https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-vital-signs
Success Response
HTTP/1.1 200 OK
[
{
"id": 123,
"adjusted_at": "2022-02-16T19:42:00+00:00",
},
{
...
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-vital-signs
Create a ENS case vital sign.
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-vital-signs
Parameters
| Name | Type | Description |
|---|---|---|
| adjusted_at | string | Required. Adjusted At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| pta | bool | PTA |
| level_of_responsiveness | string | Level of Responsiveness |
| heart_rate | string | Heart Rate |
| pulse_rhythm | string | Pulse Rhythm |
| heart_rate_method | string | Heart Rate Method |
| systolic_blood_pressure | string | Systolic Blood Pressure |
| diastolic_blood_pressure | string | Diastolic Blood_Pressure |
| blood_pressure_method | string | Blood Pressure Method |
| respiratory_rate | string | Respiratory Rate |
| respiratory_effort | string | Respiratory Effort |
| pulse_oximetry | string | Pulse Oximetry |
| carbon_monoxide | string | Carbon Monoxide |
| pain | string | Pain |
| pain_scale_type | string | Pain Scale Type |
| temperature_f | numeric | Temperature |
| temperature_method | string | Temperature Method |
| blood_glucose | string | Blood Glucose |
| interpretation_method | string | Interpretation Method |
| glasgow_coma_score_eye | string | Glasgow Coma Score Eye |
| glasgow_coma_score_verbal | string | Glasgow Coma Score Verbal |
| glasgow_coma_score_motor | string | Glasgow Coma Score Motor |
| glasgow_coma_score_qualifier | string | Glasgow Coma Score Qualifier |
| glasgow_coma_score_total | string | Glasgow Coma Score Total |
| revised_trauma_score | string | Revised Trauma Score |
| stroke_scale_score | string | Stroke Scale Score |
| stroke_scale_type | string | Stroke Scale Type |
| reperfusion_checklist_result | string | Reperfusion Checklist Result |
| trend_origin | string | Trend Origin |
| carbon_dioxide_unit | string | Carbon Dioxide Unit |
| end_tidal_carbon_dioxide | string | End Tidal Carbon Dioxide |
| end_tidal_carbon_dioxide_type | string | End Tidal Carbon Dioxide Type |
| mean_arterial_pressure | string | Mean Arterial Pressure |
| apgar_score | int | Apgar Score |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"adjusted_at": "2022-02-16T19:42:00+00:004", "pta": 1, "level_of_responsiveness": "LEVEL_OF_RSPONSIVENESS", "heart_rate": "HEART_RATE", "pulse_rhythm": "PULSE_RHYTHM", "heart_rate_method": "HEART_RATE_METHOD", "systolic_blood_pressure": "SYSTOLIC_BLOOD_PRESSURE", "diastolic_blood_pressure": "DIASTOLIC_BLOOD_PRESSURE", "blood_pressure_method": "_BLOOD_PRESSURE_METHOD", "respiratory_rate": "RESPIRATORY_RATE", "respiratory_effort": "RESPIRATORY_EFFORT", "pulse_oximetry": "PULSE_OXIMETRY", "carbon_monoxide": "CARON_MONOXIDE", "pain": "PAIN", "pain_scale_type": "PAIN_SCALE_SCORE", "temperature_f": 10, "temperature_method": "TEMPERATURE_METHOD", "blood_glucose": "BLOOD_GLUCOSE", "interpretation_method": "INTERPRETATION_METHOD", "glasgow_coma_score_eye": "GLASGOW_COMA_SCORE_EYE", "glasgow_coma_score_verbal": "GLASGOW_COMA_SCORE_VERBAL", "glasgow_coma_score_motor": "GLASGOW_COMA_SCOREMOTOR", "glasgow_coma_score_qualifier": "GLASGOW_COMA_SCORE_QUALIFIER", "glasgow_coma_score_total": "GLASGOW_COMA_SCORE_TOTAL", "revised_trauma_score": "REVISED_TRAUMA_SCORE", "stroke_scale_score": "STROKE_SCALE_SCORE", "stroke_scale_type": "STROKE_SCALE_TYPE", "reperfusion_checklist_result": "REPERFUSION_CHECKLIST_RESULT", "end_tidal_carbon_dioxide": "END_TIDAL_CARBON_DIOXIDE", "carbon_dioxide_unit": "CARBON_DIOXIDE_UNIT", "trend_origin": "TREND_ORIGIN", "end_tidal_carbon_dioxide_type": "END_TIDAL_CARBON_DIOXIDE_TYPE", "mean_arterial_pressure": "MEAN_ARTERIAL_PRESSURE", "apgar_score": 1}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-vital-signs
Success Response
HTTP/1.1 201 Created
{
"id": 111
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "adjusted_at",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-vital-signs/:id
Update EMS case vital sign item completely.
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-vital-signs/:id
Parameters
| Name | Type | Description |
|---|---|---|
| adjusted_at | string | Required. Adjusted At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| pta | bool | PTA |
| level_of_responsiveness | string | Level of Responsiveness |
| heart_rate | string | Heart Rate |
| pulse_rhythm | string | Pulse Rhythm |
| heart_rate_method | string | Heart Rate Method |
| systolic_blood_pressure | string | Systolic Blood Pressure |
| diastolic_blood_pressure | string | Diastolic Blood_Pressure |
| blood_pressure_method | string | Blood Pressure Method |
| respiratory_rate | string | Respiratory Rate |
| respiratory_effort | string | Respiratory Effort |
| pulse_oximetry | string | Pulse Oximetry |
| carbon_monoxide | string | Carbon Monoxide |
| pain | string | Pain |
| pain_scale_type | string | Pain Scale Type |
| temperature_f | numeric | Temperature |
| temperature_method | string | Temperature Method |
| blood_glucose | string | Blood Glucose |
| interpretation_method | string | Interpretation Method |
| glasgow_coma_score_eye | string | Glasgow Coma Score Eye |
| glasgow_coma_score_verbal | string | Glasgow Coma Score Verbal |
| glasgow_coma_score_motor | string | Glasgow Coma Score Motor |
| glasgow_coma_score_qualifier | string | Glasgow Coma Score Qualifier |
| glasgow_coma_score_total | string | Glasgow Coma Score Total |
| revised_trauma_score | string | Revised Trauma Score |
| stroke_scale_score | string | Stroke Scale Score |
| stroke_scale_type | string | Stroke Scale Type |
| reperfusion_checklist_result | string | Reperfusion Checklist Result |
| trend_origin | string | Trend Origin |
| carbon_dioxide_unit | string | Carbon Dioxide Unit |
| end_tidal_carbon_dioxide | string | End Tidal Carbon Dioxide |
| end_tidal_carbon_dioxide_type | string | End Tidal Carbon Dioxide Type |
| mean_arterial_pressure | string | Mean Arterial Pressure |
| apgar_score | int | Apgar Score |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"adjusted_at": "2022-02-16T19:42:00+00:004", "pta": 1, "level_of_responsiveness": "LEVEL_OF_RSPONSIVENESS", "heart_rate": "HEART_RATE", "pulse_rhythm": "PULSE_RHYTHM", "heart_rate_method": "HEART_RATE_METHOD", "systolic_blood_pressure": "SYSTOLIC_BLOOD_PRESSURE", "diastolic_blood_pressure": "DIASTOLIC_BLOOD_PRESSURE", "blood_pressure_method": "_BLOOD_PRESSURE_METHOD", "respiratory_rate": "RESPIRATORY_RATE", "respiratory_effort": "RESPIRATORY_EFFORT", "pulse_oximetry": "PULSE_OXIMETRY", "carbon_monoxide": "CARON_MONOXIDE", "pain": "PAIN", "pain_scale_type": "PAIN_SCALE_SCORE", "temperature_f": 10, "temperature_method": "TEMPERATURE_METHOD", "blood_glucose": "BLOOD_GLUCOSE", "interpretation_method": "INTERPRETATION_METHOD", "glasgow_coma_score_eye": "GLASGOW_COMA_SCORE_EYE", "glasgow_coma_score_verbal": "GLASGOW_COMA_SCORE_VERBAL", "glasgow_coma_score_motor": "GLASGOW_COMA_SCOREMOTOR", "glasgow_coma_score_qualifier": "GLASGOW_COMA_SCORE_QUALIFIER", "glasgow_coma_score_total": "GLASGOW_COMA_SCORE_TOTAL", "revised_trauma_score": "REVISED_TRAUMA_SCORE", "stroke_scale_score": "STROKE_SCALE_SCORE", "stroke_scale_type": "STROKE_SCALE_TYPE", "reperfusion_checklist_result": "REPERFUSION_CHECKLIST_RESULT", "end_tidal_carbon_dioxide": "END_TIDAL_CARBON_DIOXIDE", "carbon_dioxide_unit": "CARBON_DIOXIDE_UNIT", "trend_origin": "TREND_ORIGIN", "end_tidal_carbon_dioxide_type": "END_TIDAL_CARBON_DIOXIDE_TYPE", "mean_arterial_pressure": "MEAN_ARTERIAL_PRESSURE", "apgar_score": 1}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-vital-signs/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "adjusted_at",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-vital-signs:id
Delete EMS case vital sign item.
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-vital-signs/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-vital-signs/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots
Get EMS case snapshots.
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "since=2019-02-15T19:00:00+00:00" https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-snapshots
Success Response
HTTP/1.1 200 OK
[
{
"id": 123,
"recorded_at": "2022-02-16T19:42:00+00:00",
},
{
...
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots
Create a EMS case snapshot.
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots
Parameters
| Name | Type | Description |
|---|---|---|
| xref_id | string | Xref Id |
| cardiac_rhythm | string | Cardiac rhythm |
| ecg_type | string | Ecg Type |
| length | string | Length |
| recorded_at | string | Recorded At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| started_at | string | Started At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| treatment | string | Treatment |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"xref_id": "XREF_ID", "cardiac_rhythm": "CARDIAC_RHYTHM", "ecg_type": "RCG_TYPE", "length": "10:10:00", "recorded_at": "2022-02-16T19:42:00+00:004", "started_at": "2022-02-16T19:42:00+00:004", "treatment": "TREATMENT"}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/11/ems-case-snapshots
Success Response
HTTP/1.1 201 Created
{
"id": 111
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots/:id
Update EMS case snapshot item completely.
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots/:id
Parameters
| Name | Type | Description |
|---|---|---|
| xref_id | string | Xref Id |
| cardiac_rhythm | string | Cardiac rhythm |
| ecg_type | string | Ecg Type |
| length | string | Length |
| recorded_at | string | Recorded At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| started_at | string | Started At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| treatment | string | Treatment |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"xref_id": "XREF_ID", "cardiac_rhythm": "CARDIAC_RHYTHM", "ecg_type": "RCG_TYPE", "length": "10:10:00", "recorded_at": "2022-02-16T19:42:00+00:004", "started_at": "2022-02-16T19:42:00+00:004", "treatment": "TREATMENT"}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-snapshots/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots/:id
Delete EMS case snapshot item.
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-snapshots/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots/:ems_case_snapshot_id/ems-case-snapshot-images
Create a EMS case snapshot image.
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots/:ems_case_snapshot_id/ems-case-snapshot-images
Parameters
| Name | Type | Description |
|---|---|---|
| pos | int | Position |
| waveform_type | string | Waveform Type |
| image_base64 | string | Required. Base64 encoded image |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"pos": 1, "waveform_type": "WAVEFORM_TYPE", "image_base64": "data:image/png;..."}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/11/ems-case-snapshots/111/ems-case-snapshot-images
Success Response
HTTP/1.1 201 Created
{
"id": 111
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "image_base64",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots/:ems_case_snapshot_id/ems-case-snapshot-images/:id
Update EMS case snapshot image item completely.
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots/:ems_case_snapshot_id/ems-case-snapshot-images/:id
Parameters
| Name | Type | Description |
|---|---|---|
| pos | int | Position |
| waveform_type | string | Waveform Type |
| image_base64 | string | Required. Base64 encoded image |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"pos": 1, "waveform_type": "WAVEFORM_TYPE", "image_base64": "data:image/png;..."}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-snapshots/111/ems-case-snapshot-images/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "image_base64",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots/:ems_case_snapshot_id/ems-case-snapshot-images/:id
Delete EMS case snapshot item.
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots/:ems_case_snapshot_id/ems-case-snapshot-images/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-snapshots/111/ems-case-snapshot-images/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-twelve-leads
Get EMS case twelve leads.
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-twelve-leads
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "since=2019-02-15T19:00:00+00:00" https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-twelve-leads
Success Response
HTTP/1.1 200 OK
[
{
"id": 123,
"adjusted_at": "2022-02-16T19:42:00+00:00",
},
{
...
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-twelve-leads
Create a EMS case twelve lead.
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-twelve-leads
Parameters
| Name | Type | Description |
|---|---|---|
| image_base64 | string | Required. Base64 encoded image |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"image_base64": "data:image/png;..."}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-twelve-leads
Success Response
HTTP/1.1 201 Created
{
"id": 111
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "image_base64",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-twelve-leads/:id
Update EMS case twelve lead item completely.
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-twelve-leads/:id
Parameters
| Name | Type | Description |
|---|---|---|
| image_base64 | string | Required. Base64 encoded image |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"image_base64": "data:image/png;..."}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-twelve-leads/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "image_base64",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-twelve-leads/:id
Delete EMS case twelve lead item.
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-twelve-leads/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-twelve-leads/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-three-leads
Get EMS case three leads.
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-three-leads
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "since=2025-01-10T19:00:00+00:00" https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-three-leads
Success Response
HTTP/1.1 200 OK
[
{
"id": 123,
"started_at": "2025-01-10T19:42:00+00:00",
},
{
...
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-three-leads
Create a EMS case three lead.
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-three-leads
Parameters
| Name | Type | Description |
|---|---|---|
| image_base64 | string | Required. Base64 encoded image |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"image_base64": "data:image/png;..."}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-three-leads
Success Response
HTTP/1.1 201 Created
{
"id": 111
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "image_base64",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-three-leads/:id
Update EMS case three lead item completely.
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-three-leads/:id
Parameters
| Name | Type | Description |
|---|---|---|
| image_base64 | string | Required. Base64 encoded image |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"image_base64": "data:image/png;..."}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-three-leads/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address parameter.",
"errors": [
{
"field": "image_base64",
"code": "missing_field",
"message": "Please provide address parameter."
}
]
}
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-three-leads/:id
Delete EMS case three lead item.
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-three-leads/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-three-leads/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-treatment-marker
Get EMS case treatment marker.
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-treatment-marker
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-treatment-marker
Success Response
HTTP/1.1 200 OK
[
{
"id": 123,
"recorded_at": "2024-05-15T19:00:00+00:00",
"code": "Code Treatment Marker",
"name": "Name Treatment Marker",
},
{
...
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-treatment-marker
Create a EMS case treatment marker.
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-treatment-marker
Parameters
| Name | Type | Description |
|---|---|---|
| recorded_at | string | Required. Recorded At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| code | string | Monitor Code Treatment Marker |
| name | string | Monitor Name Treatment Marker |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"recorded_at": "2024-05-15T13:15:59Z", "code": "CODE", "name": "NAME"}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-treatment-marker
Success Response
HTTP/1.1 201 Created
{
"id": 111
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-treatment-marker/:id
Update EMS case treatment marker item completely.
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-treatment-marker/:id
Parameters
| Name | Type | Description |
|---|---|---|
| recorded_at | string | Required. Recorded At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| code | string | Monitor Code Treatment Marker |
| name | string | Monitor Name Treatment Marker |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"recorded_at": "2024-05-15T13:15:59Z", "code": "CODE", "name": "NAME"}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-treatment-marker/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-treatment-marker/:id
Delete EMS case treatment marker item.
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-treatment-marker/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-treatment-marker/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-medication-marker
Get EMS case medication marker.
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-medication-marker
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-medication-marker
Success Response
HTTP/1.1 200 OK
[
{
"id": 123,
"recorded_at": "2024-05-15T19:00:00+00:00",
"code": "Code Medication Marker",
"name": "Name Medication Marker",
},
{
...
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-medication-marker
Create a EMS case medication marker.
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-medication-marker
Parameters
| Name | Type | Description |
|---|---|---|
| recorded_at | string | Required. Recorded At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| code | string | Monitor Code Medication Marker |
| name | string | Monitor Name Medication Marker |
| dosage | float | Dosage |
| dosage_unit | string | Dosage Unit |
| route | string | Route |
| volume | int | Volume |
| volume_unit | string | Volume Unit |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"recorded_at": "2024-05-15T13:15:59Z", "code": "CODE", "name": "NAME", "dosage": "DOSAGE", "dosage_unit": "DOSAGE_UNIT", "route": "ROUTE", "volume": "VOLUME", "volume_unit": "VOLUME_UNIT"}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-medication-marker
Success Response
HTTP/1.1 201 Created
{
"id": 111
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-medication-marker/:id
Update EMS case medication marker item completely.
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-medication-marker/:id
Parameters
| Name | Type | Description |
|---|---|---|
| recorded_at | string | Required. Recorded At. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| code | string | Monitor Code Medication Marker |
| name | string | Monitor Name Medication Marker |
| dosage | float | Dosage |
| dosage_unit | string | Dosage Unit |
| route | string | Route |
| volume | int | Volume |
| volume_unit | string | Volume Unit |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"recorded_at": "2024-05-15T13:15:59Z", "code": "CODE", "name": "NAME", "dosage": "DOSAGE", "dosage_unit": "DOSAGE_UNIT", "route": "ROUTE", "volume": "VOLUME", "volume_unit": "VOLUME_UNIT"}' https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-medication-marker/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-medication-marker/:id
Delete EMS case medication marker item.
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-medication-marker/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/ems-cases/111/ems-case-medication-marker/111
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
GET /fd-api/v1/aladtec-personnel
Get aladtec personnel.
GET /fd-api/v1/aladtec-personnel
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/aladtec-personnel
Success Response
HTTP/1.1 200 OK
[
{
"id": 123,
"agency_id": "AG87654323",
"name": "NAME"
"staffing_calendar_date": "2015-12-29T13:15:59+00:00",
"staffing_start_date: "2015-12-29T15:15:59+00:00",
"staffing_end_date": "2015-12-29T15:15:59+00:00",
"is_working": true,
"unit_call_sign": "UNIT3",
},
{
...
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/aladtec-personnel
Create a aladtec personnel.
POST /fd-api/v1/aladtec-personnel
Parameters
| Name | Type | Description | |
|---|---|---|---|
| agency_id | string | Required. agency id | |
| name | string | name | |
| staffing_calendar_date | string | Required. staffing calendar date | |
| staffing_start_date | string | Required. staffing start date | |
| staffing_end_date | string | Required. staffing end date | |
| is_working | bool | Required. true | false if is working |
| unit_call_sign | string | Required. unit call sign |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"agency_id": "AG87654323", "name": "TEST NAME", "staffing_calendar_date": "2015-12-29T13:15:59Z", "staffing_start_date": "2015-12-29T15:15:59Z", "staffing_end_date": "2015-12-29T17:15:59Z", "is_working" : false, "unit_call_sign" : "UNIT3"}' https://sizeup.firstduesizeup.com/fd-api/v1/aladtec-personnel
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Object already exists."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide agency_id parameter.",
"errors": [
{
"field": "agency_id",
"code": "missing_field",
"message": "Please provide agency_id parameter."
}
]
}
PUT /fd-api/v1/aladtec-personnel/:id
Update aladtec personnel item completely.
PUT /fd-api/v1/aladtec-personnel/:id
Parameters
| Name | Type | Description | |
|---|---|---|---|
| agency_id | string | Required. agency id | |
| name | string | name | |
| staffing_calendar_date | string | Required. staffing calendar date | |
| staffing_start_date | string | Required. staffing start date | |
| staffing_end_date | string | Required. staffing end date | |
| is_working | bool | Required. true | false if is working |
| unit_call_sign | string | Required. unit call sign |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"agency_id": "AG87654323", "name": "TEST NAME", "staffing_calendar_date": "2015-12-29T13:15:59Z", "staffing_start_date": "2015-12-29T15:15:59Z", "staffing_end_date": "2015-12-29T17:15:59Z", "is_working" : false, "unit_call_sign" : "UNIT3"}' https://sizeup.firstduesizeup.com/fd-api/v1/aladtec-personnel/3
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide agency_id parameter.",
"errors": [
{
"field": "agency_id",
"code": "missing_field",
"message": "Please provide agency_id parameter."
}
]
}
DELETE /fd-api/v1/aladtec-personnel/:id
Delete aladtec personnel item.
DELETE /fd-api/v1/aladtec-personnel/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | string | Required. id |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/aladtec-personnel/3
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
GET /fd-api/v1/dispatch-units/codes
Get dispatch unit codes.
GET /fd-api/v1/dispatch-units/codes
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/dispatch-units/codes
Success Response
HTTP/1.1 200 OK ['CODE1', 'CODE2', 'CODE3']
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
GET /fd-api/v1/fire-incidents/
Get Fire Incident information. Request will be paginated to 500 items by default.
GET /fd-api/v1/fire-incidents
Parameters
| Name | Type | Description |
|---|---|---|
| status_codes | string | Filter by incident report status codes. incomplete or pending_authorization or authorized delimited by ,
|
| incident_number | string | Filter by incident report number |
| start_alarm_at | string | Filter by start alarm date at. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| end_alarm_at | string | Filter by end alarm date at. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| start_updated_at | string | Filter by start update date at. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| end_updated_at | string | Filter end update date at. ISO 8601 formatted datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| page | int | Page number |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/fire-incidents?status_codes=incomplete,authorized&start_alarm_at=2023-6-10T13:15:59Z&end_alarm_at=2023-6-10T17:15:59Z
Success Response
HTTP/1.1 200 OK
[
fire_incidents: [
{
"incident_number": "1234565",
"status_code": "incompleted",
"actual_incident_type": "100",
"aid_type": "1",
"alarm_at": "2022-11-14T19:42:00+00:00",
"created_at": "2022-11-14T19:42:00+00:00",
"updated_at": "2022-11-14T19:42:00+00:00",
"dispatch_type_code": "TYP001",
"dispatch_comment": "comment",
"dispatch_notified_at": "2022-11-14T19:42:00+00:00",
"alarms": 3,
"water_on_fire_at": "2022-11-14T19:42:00+00:00",
"rit_established_at": "2022-11-14T19:42:00+00:00",
"rehab_established_discontinued_at": "2022-11-14T19:42:00+00:00",
"control_utility_at": "2022-11-14T19:42:00+00:00",
"command_established_at": "2022-11-14T19:42:00+00:00",
"primary_search_complete_at": "2022-11-14T19:42:00+00:00",
"loss_stopped_at": "2022-11-14T19:42:00+00:00",
"action_takens": ["15", "21", "44"]
"property_loss": 1,
"contents_loss": 1,
"pre_incident_property_value": 1,
"pre_incident_contents_value": 1,
"department_narratives": [
{
"edited_by": "User",
"edited_at": "2022-11-14T19:42:00+00:00",
"narrative": "Narrative"
}
],
"latitude": 47.633523,
"longitude": -122.277157,
"address": "ADDRESS",
"suite": "",
"city": null,
"state": null,
"zip_code": "12345",
"first_due": "A3",
"battalion": "Gig Harbor (WA) FD",
"response_zone": Zone 1,
"apparatuses": [
{
"unit_id": "AP1000",
"primary_use_code": "1",
"is_primary": false,
"dispatch_at": "2022-11-14T19:42:00+00:00",
"enroute_at": "2022-11-14T19:42:00+00:00",
"arrived_at": "2022-11-14T19:42:00+00:00",
"cleared_at": "2022-11-14T19:42:00+00:00",
"personnels": [
{
"first_name": "Jane",
"last_name": "Dog",
"agency_id": "AG111",
"rank": "Firefighter"
}
]
}
]
},
{
...
}
],
total: 500
pages: 1
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide a valid status_codes parameter.",
"errors": [
{
"field": "status_codes",
"code": "invalid",
"message": "The status_codes: S1, S2 are not valid."
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide a valid start_alarm_at parameter.",
"errors": [
{
"field": "start_alarm_at",
"code": "invalid",
"message": "Please provide a date in ISO 8601 format."
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide a valid end_alarm_at parameter.",
"errors": [
{
"field": "end_alarm_at",
"code": "invalid",
"message": "Please provide a date in ISO 8601 format."
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide a valid start_update_at parameter.",
"errors": [
{
"field": "start_updated_at",
"code": "invalid",
"message": "Please provide a date in ISO 8601 format."
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide a valid end_updated_at parameter.",
"errors": [
{
"field": "end_updated_at",
"code": "invalid",
"message": "Please provide a date in ISO 8601 format."
}
]
}
GET /fd-api/v1/device-locations
Get device locations.
GET /fd-api/v1/device-locations
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/device-locations
Success Response
HTTP/1.1 200 OK
[
{
"id": 1,
"name": "Public Name (Device #1)",
"type": "Fire Department Engine",
"latitude": "40.0000000",
"longitude": "-120.0000000",
"status_code": "active",
"updated_at": "2017-12-15T10:42:00+00:00",
"responder_status": "On Station",
"responder_status_code": "on_station",
"responding_address": "55155",
"responding_dispatch_place_location": "55155 ROBERT STREET , 55155",
"fire_station_id": 113,
"fire_station_name_or_number": "Firehouse No. 4 (Sacramento, California)"
},
...
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
GET /fd-api/v1/invoice/:occupancy_id
Get occupancy invoices pending to be paid.
GET /fd-api/v1/invoice/:occupancy_id
Example Request
$ curl -i -k https://sizeup.firstduesizeup.com/fd-api/v1/invoice/12456
Success Response
HTTP/1.1 200 OK
[
{
"status": "UnPaid",
"amount": "105.00",
"dueDate": "2024/03/01",
"externalReferenceNumber": "912f1663-3e4d-4204-bef7-fd8ee253f13e",
"invoice_number": "ARL-INV-2024-0000068",
"occupancy_id": "12456",
},
...
]
Error Response
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Validation Failed. Please provide required parameters."
}
POST /fd-api/v1/paymentus/confirm-payment
Confirm Paymentus payment or refund.
POST /fd-api/v1/paymentus/confirm-payment
Parameters
| Name | Type | Description |
|---|---|---|
| referenceNumber | string | Required. paymentus reference number |
| externalreferenceNumber | string | Required. invoice reference number |
| amount | float | Required. payment/refund amount |
| paymentDate | string | payment/refund date |
| status | string | Required. payment/refund status |
Example Request
$ curl -i -k -X POST -d '<?xml version="1.0" encoding="UTF-8"?><payment><referenceNumber>89185561</referenceNumber><externalreferenceNumber>912f1663-3e4d-4204-bef7-fd8ee253f13e</externalreferenceNumber><paymentDate>02142024153110</paymentDate><status>ACCEPTED</status><amount>-150</amount></payment>' https://sizeup.firstduesizeup.com/fd-api/v1/paymentus/confirm-payment
Success Response
HTTP/1.1 200 OK
Error Response
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Invalid Request."
}
HTTP/1.1 404 Not Found
{
"code": 0,
"message": "Invoice not found for invoice reference number: 912f1663-3e4d-4204-bef7-fd8ee253f13e."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "Payment already processed./Refund already processed."
}
POST /fd-api/v1/device-locations
Post the current user/unit location.
POST /fd-api/v1/device-locations
Parameters is an array of objects.
| Name | Type | Description |
|---|---|---|
| string | Required. Device user email | |
| device_id | int | Required. Device id |
| latitude | numeric | Required. Device latitude |
| longitude | numeric | Required. Device longitude |
| dispatch_id | int | Responding Dispatch Id |
| sync_time | int | Time (in seconds) until end synchronizing the device location |
| device_extra_info | string | Additional information of several data delimited by a character (for example &). |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '[{"email": "DEVICE_USER_EMAIL", "device_id": "DEVICE_ID", "lat": 40.0, "lng": -120.0}]' https://sizeup.firstduesizeup.com/fd-api/v1/device-locations
Success Response
HTTP/1.1 200 OK
[
{
"success": true,
"errors": []
},
{
"success": false,
"errors": ["Please provide email parameter."]
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": Validation Failed. Empty parameters.",
"errors": []
}
GET /fd-api/v1/occupancies
Get occupancies. Request will be paginated to 20 items by default.
GET /fd-api/v1/occupancies
Parameters
| Name | Type | Description |
|---|---|---|
| page | int | Page number |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode https://sizeup.firstduesizeup.com/fd-api/v1/occupancies
Success Response
HTTP/1.1 200 OK
[
{
"occupancy_id": 14930699,
"parcel_number": "0809003435",
"local_id": null,
"external_occupancy_id": null,
"address_1": "100 BOSTON ST",
"address_2": null,
"city": "SEATTLE",
"state": "WA",
"zip": "98109",
"occupancy_address": "100 BOSTON ST, SEATTLE, WA, 98109",
"street_name": "BOSTON",
"status_code": "active",
"business_name": "Moorman Properties"
},
{
...
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
GET /fd-api/v1/_health
Get Stryker API health. Executes a basic health check of the service and provides the status.
GET /fd-api/v1/_health
Example Request
$ curl -i -k -H "x-api-key: 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/_health
Success Response
HTTP/1.1 200 OK "OK - The service is healthy."
Error Response
HTTP/1.1 401 Unauthorized "Unauthorized - The requester is not authenticated. This status may indicate that authentication credentials are invalid, malformed, or not provided. There is no need to retry the request because interface violations require changes on the client side, and invalid credentials are unlikely to become valid." HTTP/1.1 500 Internal Server Error "Internal Server Error - An unexpected error has occurred in the service while processing the request. It is recommended to retry the request 30 seconds later but not to execute more than 3 retries. Refer to the response content for more details regarding the error that occurred." HTTP/1.1 503 Service Unavailable "Service Unavailable - The service is temporarily unavailable due to maintenance or other reasons. It is recommended to retry the request one minute later."
GET /fd-api/v1/_health/deep
Get Stryker API health. Executes an advanced health check of the service and provides the status.
GET /fd-api/v1/_health/deep
Example Request
$ curl -i -k -H "x-api-key: 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/_health/deep
Success Response
HTTP/1.1 200 OK "OK - The service is healthy."
Error Response
HTTP/1.1 401 Unauthorized "Unauthorized - The requester is not authenticated. This status may indicate that authentication credentials are invalid, malformed, or not provided. There is no need to retry the request because interface violations require changes on the client side, and invalid credentials are unlikely to become valid." HTTP/1.1 500 Internal Server Error "Internal Server Error - An unexpected error has occurred in the service while processing the request. It is recommended to retry the request 30 seconds later but not to execute more than 3 retries. Refer to the response content for more details regarding the error that occurred." HTTP/1.1 503 Service Unavailable "Service Unavailable - The service is temporarily unavailable due to maintenance or other reasons. It is recommended to retry the request one minute later."
PUT /fd-api/v1/patientRecords/:recordId
Upload patient record to Stryker API. Uploads a patient record.
PUT /fd-api/v1/patientRecords/:recordId
Parameters
| Name | Type | Description |
|---|---|---|
| patientRecord | stdClass | Patient record |
Example Request
$ curl -i -k -H "x-api-key: 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/patientRecords/db9b692f-f57b-4d56-8501-82f6a9763ef8
Success Response
HTTP/1.1 200 OK "OK - The patient record has been uploaded successfully."
Error Response
HTTP/1.1 400 Bad request "Bad Request - The request is invalid or malformed. For example, some data is missing, or the data format is invalid. This includes issues with a request body and problems with request headers. Usually, this status indicates the wrong interface implementation on the client side. There is no need to retry the request because interface violations require changes on the client or service sides. Refer to the response content for more details regarding the interface violation." HTTP/1.1 401 Unauthorized "Unauthorized - The requester is not authenticated. This status may indicate that authentication credentials are invalid, malformed, or not provided. There is no need to retry the request because interface violations require changes on the client side, and invalid credentials are unlikely to become valid." HTTP/1.1 500 Internal Server Error "Internal Server Error - An unexpected error has occurred in the service while processing the request. It is recommended to retry the request 30 seconds later but not to execute more than 3 retries. Refer to the response content for more details regarding the error that occurred." HTTP/1.1 503 Service Unavailable "Service Unavailable - The service is temporarily unavailable due to maintenance or other reasons. It is recommended to retry the request one minute later."
GET /fd-api/v1/ems-zoll-configs
Get all EMS Zoll configurations.
GET /fd-api/v1/ems-zoll-configs
Description
Returns all Zoll configurations from the ems_zoll_config table. Each configuration includes: - Client-specific data (client_code, data_access_key, password) - Common Zoll connector settings (url, license, localPath) from epcrZollConnector configuration - Generated local paths for Incoming and Imported folders
Note: If the common Zoll connector configuration (epcrZollConnector) is not properly configured in the system, this endpoint will return an empty array.
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/ems-zoll-configs
Success Response
HTTP/1.1 200 OK
[
{
"id": 1,
"client_code": "CLIENT_CODE1",
"data_access_key": "DATA_ACCESS_KEY1",
"password": "PASSWORD1",
"url": "https://boundarysvc.zollonline.com/GemstoneWebAPI/",
"license": "LICENSE_KEY",
"local_path_incoming": "C:\\FDSU\\Connector\\CLIENT_CODE1\\Incoming",
"local_path_imported": "C:\\FDSU\\Connector\\CLIENT_CODE1\\Imported"
},
{
"id": 2,
"client_code": "CLIENT_CODE2",
"data_access_key": "DATA_ACCESS_KEY2",
"password": "PASSWORD2",
"url": "https://boundarysvc.zollonline.com/GemstoneWebAPI/",
"license": "LICENSE_KEY",
"local_path_incoming": "C:\\FDSU\\Connector\\CLIENT_CODE2\\Incoming",
"local_path_imported": "C:\\FDSU\\Connector\\CLIENT_CODE2\\Imported"
}
]
Response Fields
| Name | Type | Description |
|---|---|---|
| id | int | Configuration ID |
| client_code | string | Client code identifier |
| data_access_key | string | Data Access Key |
| password | string | Password |
| url | string | Zoll API URL (from common configuration) |
| license | string | Zoll license key (from common configuration) |
| local_path_incoming | string | Local path for Incoming folder (generated as: localPath\client_code\Incoming) |
| local_path_imported | string | Local path for Imported folder (generated as: localPath\client_code\Imported) |
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
Notes
- The endpoint returns an empty array
[]if the common Zoll connector configuration is not properly set up in the system configuration file. - Sensitive fields (data_access_key, password) are returned as stored values from the database.
- Local paths are generated using Windows path separators (
\) by concatenating the commonlocalPathwith theclient_codeand folder names (IncomingorImported).
GET /fd-api/v1/get-hydrants
Get hydrants. Request will be return a hydrant or hydrant that match with the parameters.
GET /fd-api/v1/get-hydrants
Parameters
Date parameters are in ISO 8601 in formatted datetime (YYYY-MM-DDTHH:MM:SS:Z).
| Name | Type | Description |
|---|---|---|
| id | int | Hydrant id |
| facility_code | string | Facility Code |
| hydrant_status_code | string | Hydrant Status Code |
| hydrant_type_code | string | Hydrant Type Code |
| fire_zone_id | int | Fire Zone Id |
| shift_id | int | Shift Id |
| assigned_to_user | int | Assigned to User |
| assigned_to_team | int | Assigned to Team |
| service_date_to | string | Only hydrants inspected at or before this time are returned. This is a timestamp in ISO 8601 format. |
| service_date_from | string | Only hydrants inspected at or after this time are returned. This is a timestamp in ISO 8601 format. |
| flow_date_to | string | Only hydrants last flow tested at or before this time are returned. This is a timestamp in ISO 8601 format. |
| flow_date_from | string | Only hydrants last flow tested at or after this time are returned. This is a timestamp in ISO 8601 format. |
| missing_hydrant_id | string | When missing_hydrant_id=true, return only hydrants with a missing Hydrant ID (xref_id). |
When missing_hydrant_id=false or omitted, return all hydrants without this filter. | | missing_facility_code | string | When missing_facility_code=true, return only hydrants with a missing Facility Code. When missing_facility_code=false or omitted, return all hydrants without this filter. | | updated_after | string | Only hydrants updated at or after this time are returned. This is a timestamp in ISO 8601 format. | | page | int | Number of pages | | limit | int | Display per page records |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "service_date_to=2019-02-15T19:00:00+00:00" "assigned_to_user=1" "facility_code=53/8" https://sizeup.firstduesizeup.test/fd-api/v1/get-hydrants
Success Response
HTTP/1.1 200 OK
{
"current_page": 1,
"total_pages": 1,
"total_hydrant_records": 22,
"total_hydrants_per_page": 22,
"has_more": false,
"items": [
{
"facility_code": "53/8",
"id": 430945,
"client_code": "THOMASVILLE",
"hydrant_type_code": "HYDRANT",
"year": null,
"fort_lauderdale_owner_code": null,
"latitude": "40.3499156",
"longitude": "-75.9365641",
"hydrant_status_code": "In service",
"inspected_at": "2024-10-28T14:02:00+00:00",
"area_ids_cache": "{5546}",
"static_pressure": "123.00",
"residual_pressure": "123.00",
"residual_flow_rate": "123.00",
"hydrant_type_name": "Hydrant",
"address": null,
"apparatus": null,
"closest_address": null,
"fire_zone": null,
"inspected_by": "User #8377",
"hydrant_zone": null,
"xref_id": null,
"base_color_code": "Class C Red less than 500 gpm - white outline",
"manufacturer": "1997",
"num_outlet": 3,
"steamer_port": "4.5\"",
"outlet_size2": "2.5\"",
"outlet_size3": "2.5\"",
"source": null,
"location": "In front of 932 McKnight Street",
"cistern_capacity_gallons": null,
"main_size": null,
"barrel_size": null,
"last_flow_tested_at": "04/25/2024 09:45",
"water_department": "RAWA",
"model": null,
"notes": null,
"is_private": false,
"cistern_capacity_liters": null,
"calculated_flow_rate": "120.00",
"fire_district": null,
"valve_location": null,
"placement": null,
"fire_station": null,
"shift": null,
"assigned_user": null,
"annual_maintenance": null,
"reason_out_of_service": null,
"hydrant_type_bg_color": null,
"icon_file_path": null,
"agency_name": "Thomasville",
"flow_hydrant_one": "First Due ID: 566213",
"flow_hydrant_two": "First Due ID: 566233",
"pitot_gauge_one": 3,
"pitot_gauge_two": 3,
"team_id": 32,
"assigned_team": "Team 3",
"responsible_occupancy": null,
"pressure_zone": null,
"created_at": "2025-06-02T16:48:35+00:00",
"updated_at": "2026-03-18T15:00:18+00:00",
"flowed_by": "User #8377",
},
{
...
}
]
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Please provide valid parameters like (id, facility_code, hydrant_status_code, hydrant_type_code, fire_zone_id, shift_id, assigned_to_user, assigned_to_team, service_date_to, service_date_from, flow_date_to, flow_date_from)",
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Please provide a valid parameter.",
"errors": [
{
"field": "service_date_from",
"code": "invalid",
"message": "Invalid service date from parameter."
},
{
"code": "invalid",
"field": "updated_after",
"message": "Invalid updated after parameter (use: YYYY-MM-DDTHH:MM:SSZ format)."
}
]
}
GET /fd-api/v1/get-hydrant-services
Get hydrant services. Request will be return a hydrant service or services that match with the parameters.
GET /fd-api/v1/get-hydrant-services
Parameters
Date parameters are in ISO 8601 in formatted datetime (YYYY-MM-DDTHH:MM:SS:Z).
| Name | Type | Description |
|---|---|---|
| firstdue_id | int | Firstdue Id |
| facility_code | string | Facility Code |
| hydrant_id | string | Hydrant Id |
| completed_at_from | string | Only hydrants completed at or before this time are returned. This is a timestamp in ISO 8601 format. |
| completed_at_to | string | Only hydrants completed at or after this time are returned. This is a timestamp in ISO 8601 format. |
| most_recent | bool | Available values 0 (false) or 1 (true) |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "completed_at_from=2025-04-20T14:35:00Z" "most_recent=1" "facility_code=53/8" https://sizeup.firstduesizeup.test/fd-api/v1/get-hydrant-services
Success Response
HTTP/1.1 200 OK
[
{
"completed_date": "2024-10-23T21:54:55+00:00",
"firstdue_id": 430945,
"facility_id": "53/8",
"hydrant_id": null,
"hydrant_type_name": "Hydrant",
"checklist_name": "Checklist Test",
"activity_date": null,
"questions": [
{
"question": "[Checklist 1] Is good?",
"answer": "Test 1; Test 2; Test 3",
"remark": null
},
{
"question": "[Checklist 3] Color",
"answer": "Brown",
"remark": "Check A1"
},
{
"question": "[Checklist 3] Hydrant Type",
"answer": "Hydrant",
"remark": "Check A3"
},
{
"question": "[Checklist 3] Static Pressure",
"answer": "2234",
"remark": null
},
{
"question": "[checklist 4] residual Pressure",
"answer": "34543",
"remark": null
},
{
"question": "[checklist 4] Calculated Flow",
"answer": "345",
"remark": null
},
{
"question": "[checklist 4] Flow hydrant",
"answer": "345",
"remark": null
},
{
"question": "[checklist 4] Pass and fail 4",
"answer": "Fail",
"remark": null
}
]
},
{
...
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Please provide valid parameters like (firstdue_id, facility_code, hydrant_id, most_recent, completed_at_from, completed_at_to)",
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Please provide a valid parameter.",
"errors": [
{
"field": "completed_at_from",
"code": "invalid",
"message": "Invalid completed date from parameter."
}
]
}
GET /fd-api/v1/get-hydrant-flow-tests
Get hydrant flow tests. Request will be return a hydrant flow test or flow tests that match with the parameters.
GET /fd-api/v1/get-hydrant-flow-tests
Parameters
Date parameters are in ISO 8601 in formatted datetime (YYYY-MM-DDTHH:MM:SS:Z).
| Name | Type | Description |
|---|---|---|
| firstdue_id | int | Firstdue Id |
| facility_code | string | Facility Code |
| hydrant_id | string | Hydrant Id |
| completed_at_from | string | Only hydrants completed at or before this time are returned. This is a timestamp in ISO 8601 format. |
| completed_at_to | string | Only hydrants completed at or after this time are returned. This is a timestamp in ISO 8601 format. |
| most_recent | bool | Available values 0 (false) or 1 (true) |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G --data-urlencode "completed_at_to=2019-02-15T19:00:00+00:00" "facility_code=53/8" https://sizeup.firstduesizeup.test/fd-api/v1/get-hydrant-flow-tests
Success Response
HTTP/1.1 200 OK
[
{
"firstdue_id": 430945,
"facility_id": "53/8",
"hydrant_id": null,
"nearest_address": null,
"flow_test_number": "TF-2025-0000001",
"completed_date": "2025-01-06T22:45:43+00:00",
"flow_tested_at": "2025-01-06T15:44:00+00:00",
"static_pressure": "2.00",
"maximum_test_residual_pressure": "1.00",
"residual_pressure": "1.00",
"drop": 1,
"differential": 50,
"flow_rates": {
"twenty": 0,
"ten": 0,
"zero": 1489
},
"hydrant_flows": [
{
"id": 26,
"hydrant_id": 430945,
"discharges": [
{
"flow": "787.3",
"coefficient": 0.9,
"outlet_size": 2.5,
"pitot_gauge": "22"
},
{
"flow": "237.4",
"coefficient": 0.9,
"outlet_size": 2.5,
"pitot_gauge": "2"
}
],
"facility_id": "53/8",
"nearest_address": null,
"total_flow": 1024.7
}
],
"department_members": "Camilo, First #10032 Last #10032, First #10094 Last #10094, First #10095 Last #10095, User #8377",
"outside_agencies": null,
"total_flow": 1024.7,
"other_participants": null
},
{
...
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Please provide valid parameters like (firstdue_id, facility_code, hydrant_id, most_recent, completed_at_from, completed_at_to)",
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Please provide a valid parameter.",
"errors": [
{
"field": "completed_at_from",
"code": "invalid",
"message": "Invalid completed date from parameter."
}
]
}
POST /fd-api/v1/set-hydrant-status
Set hydrant status.
POST /fd-api/v1/set-hydrant-status
Parameters
| Name | Type | Description |
|---|---|---|
| hydrant_id | integer | Hydrant Id (xref_id column value) |
| status_code | string | Desired hydrant status code. Possible values (in_service, out_of_service, null) |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"hydrant_id": 12345, "status_code": "in_service"}' https://sizeup.firstduesizeup.com/fd-api/v1/set-hydrant-status
Success Response
HTTP/1.1 200 OK
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": 'hydrant_id parameter should not be empty'
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": 'Invalid hydrant id parameter'
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": 'Invalid status code parameter'
}
Success Response
HTTP/1.1 200 OK
{
"total_open_count": 1,
"items": [
{
"facility_code": null,
"firstdue_id": 67,
"client_code": "BROOKLYN_TEST",
"hydrant_type_code": "HYDRANT",
"year": 2024,
"fort_lauderdale_owner_code": null,
"latitude": "40.6967212",
"longitude": "-73.9935332",
"hydrant_status_code": "Out of service",
"inspected_at": null,
"area_ids_cache": "{1,911,964,976,1394,6965,8483,8801}",
"static_pressure": null,
"residual_pressure": null,
"residual_flow_rate": null,
"hydrant_type_name": "Hydrant",
"address": null,
"apparatus": null,
"nearest_occupancy": null,
"fire_zone": null,
"inspected_by": null,
"hydrant_zone": null,
"hydrant_id": "8",
"base_color_code": "",
"manufacturer": "DT",
"num_outlet": null,
"steamer_port": null,
"outlet_size2": null,
"outlet_size3": null,
"source": null,
"location": null,
"cistern_capacity_gallons": null,
"main_size": null,
"barrel_size": null,
"last_flow_tested_at": null,
"water_department": null,
"model": null,
"notes": null,
"is_private": false,
"cistern_capacity_liters": null,
"calculated_flow_rate": null,
"fire_district": null,
"valve_location": null,
"placement": null,
"fire_station": null,
"shift": null,
"assigned_user": null,
"annual_maintenance": null,
"reason_out_of_service": null,
"hydrant_type_bg_color": null,
"icon_file_path": null,
"agency_name": "Brooklyn Test",
"flow_hydrant_one": null,
"flow_hydrant_two": null,
"pitot_gauge_one": null,
"pitot_gauge_two": null,
"team_id": null,
"assigned_team": null,
"responsible_occupancy": null,
"pressure_zone": null,
"flowed_by": ""
}
]
}
HTTP/1.1 200 OK
{
"total_open_count": 0,
"items": []
}
POST /fd-api/v1/update-hydrant-work-order
Set hydrant status.
POST /fd-api/v1/update-hydrant-work-order
Parameters
| Name | Type | Description |
|---|---|---|
| hydrant_id | integer | Hydrant id |
| work_order_number | integer | Work order number |
| eta_date | string | Work order ETA date. This is a timestamp in ISO 8601 format. |
| work_performed | string | Work performed |
| phase_id | integer | Phase id |
| board_id | integer | Board id |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"hydrant_id": 1051234, "work_order_number": 10, "eta_date": "2024-12-25T00:00:00+00:00", "work_performed": "test", "phase_id": 5}' https://sizeup.firstduesizeup.com/fd-api/v1/update-hydrant-work-order
Success Response
HTTP/1.1 200 OK
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": 'Please provide valid parameters'
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Please provide a valid parameter.",
"errors": [
{
"field": "hydrant_id",
"code": "invalid",
"message": "Hydrant parameter is invalid"
},
{
"field": "work_order_number",
"code": "invalid",
"message": "Work order number parameter is invalid"
},
{
"field": "eta_date",
"code": "invalid",
"message": "Invalid eta date from parameter."
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": 'Please provide valid work order phase parameters'
}
POST /fd-api/v1/create-hydrant-work-order
Set hydrant status.
POST /fd-api/create-hydrant-work-order
Parameters
| Name | Type | Description |
|---|---|---|
| hydrant_id | integer | Hydrant id (Required) |
| phase_id | integer | Phase id (Required) |
| board_id | integer | Board id (Required) |
| submitted_by | integer | Submitted by id (Required) |
| type_id | integer | Work order type id (Required) |
| summary | string | Work Order summary(Required) |
| eta_date | string | Work order ETA date. This is a timestamp in ISO 8601 format. |
| work_performed | string | Work performed |
| description | string | Description |
| is_change_hydrant_status | boolean | If is true change the hydrant status to out of service |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"hydrant_id": 1051234, "eta_date": "2024-12-25T00:00:00+00:00", "work_performed": "test", "phase_id": 5, "type_id": 3, "submitted_by": 8377, "summary": "new test from fd_api"}' https://sizeup.firstduesizeup.com/fd-api/v1/create-hydrant-work-order
Success Response
HTTP/1.1 200 OK
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": 'Please provide required parameters (submitted_by, phase_id, type_id, hydrant_id, summary)'
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Please provide a valid parameter.",
"errors": [
{
"field": "hydrant_id",
"code": "invalid",
"message": "Please provide valid hydrant parameters"
},
{
"field": "phase_id",
"code": "invalid",
"message": "Please provide valid hydrant work order phase parameters"
},
{
"field": "type_id",
"code": "invalid",
"message": "Please provide valid hydrant work order type parameters"
},
{
"field": "submitted_by",
"code": "invalid",
"message": "Please provide valid submitted by parameters"
},
{
"field": "eta_date",
"code": "invalid",
"message": "Invalid eta date from parameter."
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Can`t create hydrant work order"
}
POST /fd-api/v1/create-hydrant
Create a new hydrant.
POST /fd-api/v1/create-hydrant
Parameters
| Name | Type | Description |
|---|---|---|
| hydrant_type_code | string | Required. Hydrant type code allowed value: HYDRANT, CISTERN, Dry_Hydrant, DIPSITE, WATER_SOURCE, YARD_HYDRANT etc |
| latitude | number | Required. Latitude coordinate |
| longitude | number | Required. Longitude coordinate |
| facility_code | string | Facility/hydrant code |
| xref_id | string | External reference ID |
| address | string | Hydrant address |
| hydrant_status_code | string | Hydrant status (in_service, out_of_service) |
| base_color_code | string | Base color code |
| year | integer | Year of installation |
| manufacturer | string | Manufacturer name |
| model | string | Model name |
| num_outlet | integer | Number of outlets |
| steamer_port | string | Steamer port size |
| outlet_size2 | string | Second outlet size |
| outlet_size3 | string | Third outlet size |
| source | string | Water source |
| static_pressure | number | Static pressure |
| residual_pressure | number | Residual pressure |
| residual_flow_rate | number | Residual flow rate |
| calculated_flow_rate | number | Calculated flow rate |
| location | string | Location description |
| cistern_capacity_gallons | integer | Cistern capacity in gallons |
| cistern_capacity_liters | integer | Cistern capacity in liters |
| main_size | integer | Main size |
| barrel_size | number | Barrel size |
| water_department | string | Water department |
| notes | string | Additional notes |
| is_private | boolean | Whether hydrant is private |
| fire_zone_id | integer | Fire zone ID |
| hydrant_zone_id | integer | Hydrant zone ID |
| shift_id | integer | Shift ID |
| apparatus_id | integer | Apparatus ID |
| fire_station_id | integer | Fire station ID |
| team_id | integer | Team ID |
| assigned_user_id | integer | Assigned user ID |
| fire_district | string | Fire district |
| valve_location | string | Valve location |
| placement | string | Placement description |
| pressure_zone | string | Pressure zone |
| inspected_at | string | Last inspection date (ISO 8601 format) |
| last_flow_tested_at | string | Last flow test date (ISO 8601 format) |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -H "Content-Type: application/json" -X POST -d '{"hydrant_type_code": "HYDRANT", "latitude": 40.7128, "longitude": -74.0060, "facility_code": "H001", "xref_id": "HYD-001", "address": "123 Main St"}' https://sizeup.firstduesizeup.com/fd-api/v1/create-hydrant
Success Response
HTTP/1.1 201 Created
{
"facility_code": "HYD-PP22",
"firstdue_id": 91,
"client_code": "BROOKLYN_TEST",
"hydrant_type_code": "HYDRANT",
"year": null,
"fort_lauderdale_owner_code": null,
"latitude": "40.7128000",
"longitude": "-73.4555000",
"hydrant_status_code": null,
"inspected_at": null,
"area_ids_cache": "{1,55,148,227,259,309,901,964,985,2007,5575,8801}",
"static_pressure": null,
"residual_pressure": null,
"residual_flow_rate": null,
"hydrant_type_name": "Hydrant",
"address": "54PPP Main Sttttt",
"apparatus": null,
"nearest_occupancy": null,
"fire_zone": null,
"inspected_by": null,
"hydrant_zone": null,
"hydrant_id": "HYD-PP22",
"base_color_code": null,
"manufacturer": null,
"num_outlet": null,
"steamer_port": null,
"outlet_size2": null,
"outlet_size3": null,
"source": null,
"location": null,
"cistern_capacity_gallons": null,
"main_size": null,
"barrel_size": null,
"last_flow_tested_at": null,
"water_department": null,
"model": null,
"notes": null,
"is_private": false,
"cistern_capacity_liters": null,
"calculated_flow_rate": null,
"fire_district": null,
"valve_location": null,
"placement": null,
"fire_station": null,
"shift": null,
"assigned_user": null,
"annual_maintenance": null,
"reason_out_of_service": null,
"hydrant_type_bg_color": null,
"icon_file_path": null,
"agency_name": "Brooklyn Test",
"flow_hydrant_one": null,
"flow_hydrant_two": null,
"pitot_gauge_one": null,
"pitot_gauge_two": null,
"team_id": null,
"assigned_team": null,
"responsible_occupancy": null,
"pressure_zone": null,
"flowed_by": ""
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Please provide valid parameters.",
"errors": [
{
"field": "hydrant_type_code",
"message": "Field hydrant_type_code is required"
},
{
"field": "latitude",
"message": "Field latitude is required"
},
{
"field": "longitude",
"message": "Field longitude is required"
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation failed",
"errors": [
{
"field": "hydrant_type_code",
"message": "Type \"hydrant\" is invalid."
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation failed",
"errors": [
{
"field": "xref_id",
"message": "Hydrant ID \"HYD-PP4AS\" has already been taken."
}
]
}
PUT /fd-api/v1/update-hydrant?firstdue_id={firstdue_id}
PUT /fd-api/v1/update-hydrant?hydrant_id={hydrant_id}
PUT /fd-api/v1/update-hydrant?facility_code={facility_code}
Update an existing hydrant.
PUT /fd-api/v1/update-hydrant?... (Exactly one of firstdue_id, hydrant_id, facility_code must be provided as a query parameter)
Query Parameters (one required)
| Name | Type | Description |
|---|---|---|
| firstdue_id | int | First Due hydrant identifier |
| hydrant_id | string | Hydrant ID (xref identifier) |
| facility_code | string | Facility/Hydrant code |
Parameters
| Name | Type | Description |
|---|---|---|
| facility_code | string | Facility/hydrant code |
| xref_id | string | External reference ID |
| address | string | Hydrant address |
| hydrant_status_code | string | Hydrant status (in_service, out_of_service) |
| hydrant_type_code | string | Hydrant type code allowed value: HYDRANT, CISTERN, Dry_Hydrant, DIPSITE, WATER_SOURCE, YARD_HYDRANT etc |
| base_color_code | string | Base color code |
| year | integer | Year of installation |
| manufacturer | string | Manufacturer name |
| model | string | Model name |
| num_outlet | integer | Number of outlets |
| steamer_port | string | Steamer port size |
| outlet_size2 | string | Second outlet size |
| outlet_size3 | string | Third outlet size |
| source | string | Water source |
| static_pressure | number | Static pressure |
| residual_pressure | number | Residual pressure |
| residual_flow_rate | number | Residual flow rate |
| calculated_flow_rate | number | Calculated flow rate |
| location | string | Location description |
| cistern_capacity_gallons | integer | Cistern capacity in gallons |
| cistern_capacity_liters | integer | Cistern capacity in liters |
| main_size | integer | Main size |
| barrel_size | number | Barrel size |
| water_department | string | Water department |
| notes | string | Additional notes |
| is_private | boolean | Whether hydrant is private |
| fire_zone_id | integer | Fire zone ID |
| hydrant_zone_id | integer | Hydrant zone ID |
| shift_id | integer | Shift ID |
| apparatus_id | integer | Apparatus ID |
| fire_station_id | integer | Fire station ID |
| team_id | integer | Team ID |
| assigned_user_id | integer | Assigned user ID |
| fire_district | string | Fire district |
| valve_location | string | Valve location |
| placement | string | Placement description |
| pressure_zone | string | Pressure zone |
| latitude | number | Latitude coordinate |
| longitude | number | Longitude coordinate |
| reason_out_of_service | string | Reason for out of service status |
| inspected_at | string | Last inspection date (ISO 8601 format) |
| last_flow_tested_at | string | Last flow test date (ISO 8601 format) |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -H "Content-Type: application/json" -X PUT -d '{"facility_code": "H001-UPDATED", "hydrant_status_code": "in_service", "static_pressure": 65.5}' https://sizeup.firstduesizeup.com/fd-api/v1/update-hydrant?hydrant_id=HYD-PP22
Success Response
HTTP/1.1 200 OK
{
"total_hydrant_records": 2,
"items": [
{
"facility_code": "HYD-PP22",
"firstdue_id": 102,
"client_code": "BROOKLYN_TEST",
"hydrant_type_code": "HYDRANT",
"year": 2012,
"fort_lauderdale_owner_code": null,
"latitude": "40.7128000",
"longitude": "-73.4555000",
"hydrant_status_code": null,
"inspected_at": null,
"area_ids_cache": "{1,55,148,227,259,309,901,964,985,2007,5575,8801}",
"static_pressure": null,
"residual_pressure": null,
"residual_flow_rate": null,
"hydrant_type_name": "Hydrant",
"address": "54PPP Main Sttttt",
"apparatus": null,
"nearest_occupancy": null,
"fire_zone": null,
"inspected_by": null,
"hydrant_zone": null,
"hydrant_id": "HYD-PP22",
"base_color_code": null,
"manufacturer": null,
"num_outlet": null,
"steamer_port": null,
"outlet_size2": null,
"outlet_size3": null,
"source": null,
"location": null,
"cistern_capacity_gallons": null,
"main_size": null,
"barrel_size": null,
"last_flow_tested_at": null,
"water_department": null,
"model": null,
"notes": null,
"is_private": false,
"cistern_capacity_liters": null,
"calculated_flow_rate": null,
"fire_district": null,
"valve_location": null,
"placement": null,
"fire_station": null,
"shift": null,
"assigned_user": null,
"annual_maintenance": null,
"reason_out_of_service": null,
"hydrant_type_bg_color": null,
"icon_file_path": null,
"agency_name": "Brooklyn Test",
"flow_hydrant_one": null,
"flow_hydrant_two": null,
"pitot_gauge_one": null,
"pitot_gauge_two": null,
"team_id": null,
"assigned_team": null,
"responsible_occupancy": null,
"pressure_zone": null,
"flowed_by": ""
},
{
----,
----
},
]
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 404 Not Found
{
"code": 0,
"message": "Hydrant not found"
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Please provide valid parameters.",
"errors": [
{
"field": "hydrant_type_code",
"message": "Field hydrant_type_code is required"
},
{
"field": "latitude",
"message": "Field latitude is required"
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation failed",
"errors": [
{
"field": "hydrant_type_code",
"message": "Type \"hydrant\" is invalid."
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation failed",
"errors": [
{
"field": "xref_id",
"message": "Hydrant ID \"HYD-PP4AS\" has already been taken."
}
]
}
GET /fd-api/v1/fdids
Get a FDID list.
GET /fd-api/v1/fdids
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/fdids
Success Response
HTTP/1.1 200 OK
{
"list": [
{
"uuid": "4cee4bad-429d-465b-9c58-61d40fe728cf",
"fdid": "09229",
"name": "FDID1",
"is_enabled": true,
"is_default": false
},
{
"uuid": "e1a10b81-ea5d-4b1a-8233-b84bed6a9f94",
"fdid": "00122",
"name": "FDID2",
"is_enabled": true,
"is_default": true
}
],
"total": 2
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
GET /fd-api/v1/stations
Get a Fire Station list.
GET /fd-api/v1/stations
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/stations
Success Response
HTTP/1.1 200 OK
{
"list": [
{
"uuid": "6db68f01-943d-442f-9a10-bad0fbb048cb",
"name": "Station 1"
},
{
"uuid": "7c66149f-9660-4649-baba-46b57060ac11",
"name": "Station 2"
}
],
"total": 2
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
GET /fd-api/v1/shifts
Get a Battalion Department Shift list.
GET /fd-api/v1/shifts
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/shifts
Success Response
HTTP/1.1 200 OK
{
"list": [
{
"uuid": "ebe05dbe-185b-4ada-9e8f-de40f1d6f73a",
"name": "Shift 1"
},
{
"uuid": "7656306e-38be-44cf-ae22-e9b0647fc9ed",
"name": "Shift 2"
}
],
"total": 2
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
GET /fd-api/v1/response-zones
Get a Battalion Department Response Zone list.
GET /fd-api/v1/response-zones
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/response-zones
Success Response
HTTP/1.1 200 OK
{
"list": [
{
"uuid": "4d2cd84a-ce18-4e85-92b6-c3df39347374",
"name": "Response zone 1"
},
{
"uuid": "4367f65c-9ca2-4993-957f-b382c7ec51fc",
"name": "Response zone 2"
}
],
"total": 2
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
GET /fd-api/v1/aid-departments
Get a Battalion Department Aid list.
GET /fd-api/v1/aid-departments
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/aid-departments
Success Response
HTTP/1.1 200 OK
{
"list": [
{
"uuid": "1d5cbc85-34c1-4847-b439-37d2ff1d3d45",
"fdid": "00122",
"name": "Fire Department 1",
"aid_type": "Manual"
},
{
"uuid": "df8dd6d3-6fc6-42fe-96a4-c94a087caf38",
"fdid": "01525",
"name": "Fire Department 2",
"aid_type": "Automatic"
},
{
"uuid": "e1858558-05c0-4721-a384-2f005ff22233",
"fdid": "88111",
"name": "Fire Department 3",
"aid_type": "Both"
}
],
"total": 3
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
GET /fd-api/v1/apparatuses
Get a Apparatus list.
GET /fd-api/v1/apparatuses
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/apparatuses
Success Response
HTTP/1.1 200 OK
{
"list": [
{
"uuid": "e9f3baf8-2880-4d82-9c7f-79e0ea4e20bc",
"name": "Ambulance 1",
"unit_code": "AMB1",
"use_code": "2",
"use_name": "EMS"
},
{
"uuid": "f8813126-d976-41ff-81c0-adf8b3290d20",
"name": "Ambulance 2",
"unit_code": "AMB2",
"use_code": "2",
"use_name": "EMS"
},
{
"uuid": "9824bc40-baa0-4c12-8aa7-3b930c194c93",
"name": "Engine 1",
"unit_code": "PE1",
"use_code": "1",
"use_name": "Suppression"
}
],
"total": 3
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/apparatuses/operative-iq
Create a new apparatus for Operative IQ integration.
Required Permission: apiCreateApparatus
POST /fd-api/v1/apparatuses/operative-iq
Parameters
Important: - Fields marked as integer type must be numeric values (IDs from database tables). String values for these fields will be rejected with a validation error. - Fields marked as boolean type accept: true, false, "true", "false", 1, 0, "1", or "0".
| Name | Type | Description |
|---|---|---|
| unit_id | string | Unit ID from Operative IQ |
| unit_number | string | Required. Unit Number/Name. Text in parentheses will be removed (e.g., "A-43 (trans)" becomes "A-43") |
| unit_type | string | Unit Type/Apparatus Type Code (NERIS codes: ENGINE_STRUCT, LADDER_SMALL, ALS_AMB, etc.) |
| home_location | integer | Home Location (Fire Station ID from fire_station table) |
| unit_location | integer | Current Unit Location (Fire Station ID from fire_station table). Required for clients with NERIS enabled |
| price | decimal | Purchase Price (e.g., 750000.00) |
| purchase_date | string | Purchase Date (Initial In-Service Date). Format: MM/dd/yyyy (e.g., 01/01/2023) |
| decommission_date | string | Decommission Date (End of Service Date). Format: MM/dd/yyyy (e.g., 12/31/2023) |
| comments | string | Comments/Description |
| engine_tank_size | decimal | Engine Tank Size (Gallons Water, e.g., 1000.50) |
| purchased_on_grant | boolean | Purchased on Grant. Accepts: true, false, "true", "false", 1, 0, "1", "0" |
| assigned_to | integer | Assigned to User ID (from admin_account table). Must be a valid user ID for your organization |
| vom_eom | string | VOM/EOM (combined with VOM Location for Body Class). Combined length with vom_location must not exceed 64 characters |
| vom_location | string | VOM Location (combined with VOM/EOM for Body Class). Combined length with vom_eom must not exceed 64 characters |
| county_id_number | string | County ID Number (Department Vehicle ID) |
| year | string | Year (Manufacture Date). Format: MM/dd/yyyy (e.g., 01/01/2023) |
| make | string | Make/Manufacturer |
| model | string | Model |
| vin | string | VIN Number |
| license_plate_number | string | License Plate Number |
| title_number | integer | Title Number (DOT Number/ICC Number) |
| home | integer | Home Location (Fire Station ID from fire_station table) |
| current_location | integer | Current Location (Fire Station ID from fire_station table) |
| cost_code | integer | Cost Code (FEMA Cost Code ID from fema_cost_code table) |
| vehicle_number | string | Required. Fleet Vehicle Number |
Example Request
$ curl -i -k -H "Authorization: Bearer <YOUR_ACCESS_TOKEN>" -X POST -d '{
"unit_id": "OIQ_001",
"unit_number": "Engine 1",
"unit_type": "ENGINE_STRUCT",
"home_location": 50,
"price": "850000.00",
"purchase_date": "06/15/2020",
"comments": "Primary engine for downtown area",
"engine_tank_size": "750.00",
"purchased_on_grant": true,
"assigned_to": 1,
"vom_eom": "Fire Engine",
"vom_location": "Downtown Station",
"county_id_number": "BAL001",
"year": "01/01/2020",
"make": "Pierce",
"model": "Arrow XT",
"vin": "1FDXE40S0YHA12345",
"license_plate_number": "FD123",
"title_number": 123456789,
"home": 50,
"current_location": 50,
"cost_code": 357,
"vehicle_number": "VH-001"
}' https://sizeup.firstduesizeup.com/fd-api/v1/apparatuses/operative-iq
Success Response
HTTP/1.1 201 Created
{
"id": 1234,
"name": "Engine 1",
"api_apparatus_id": "OIQ_001",
"created_at": "2025-09-26 14:30:00"
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Validation Failed. Please provide unit_number, vehicle_number parameters."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Invalid data types for ID fields: assigned_to, cost_code. These fields must be numeric (integer IDs).",
"errors": [
{
"field": "assigned_to",
"code": "invalid_type",
"message": "Field \"assigned_to\" must be a numeric ID (integer), not a string."
},
{
"field": "cost_code",
"code": "invalid_type",
"message": "Field \"cost_code\" must be a numeric ID (integer), not a string."
}
]
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Validation Failed. Invalid assigned_to value.",
"errors": [
{
"field": "assigned_to",
"code": "invalid_value",
"message": "Field \"assigned_to\" must be a valid user ID for your organization."
}
]
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Validation Failed. Invalid purchased_on_grant value.",
"errors": [
{
"field": "purchased_on_grant",
"code": "invalid_value",
"message": "Field \"purchased_on_grant\" must be a valid boolean value: true, false, \"true\", \"false\", 1, 0, \"1\", or \"0\"."
}
]
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Validation Failed. Body class length exceeds maximum.",
"errors": [
{
"field": "body_class",
"code": "max_length_exceeded",
"message": "The combination of \"vom_eom\" and \"vom_location\" fields results in a body_class value that exceeds the maximum length of 64 characters. Current length: 85"
}
]
}
PATCH /fd-api/v1/apparatuses/operative-iq/:id
Update an existing apparatus by ID for Operative IQ integration.
Required Permission: apiUpdateApparatusOperativeIQ
PATCH /fd-api/v1/apparatuses/operative-iq/:id
Parameters
Important: - Fields marked as integer type must be numeric values (IDs from database tables). String values for these fields will be rejected with a validation error. - Fields marked as boolean type accept: true, false, "true", "false", 1, 0, "1", or "0".
| Name | Type | Description |
|---|---|---|
| unit_id | string | Unit ID from Operative IQ |
| unit_number | string | Unit Number/Name. Text in parentheses will be removed (e.g., "A-43 (trans)" becomes "A-43") |
| unit_type | string | Unit Type/Apparatus Type Code (NERIS codes: ENGINE_STRUCT, LADDER_SMALL, ALS_AMB, etc.) |
| home_location | integer | Home Location (Fire Station ID from fire_station table) |
| unit_location | integer | Current Unit Location (Fire Station ID from fire_station table). Required for clients with NERIS enabled |
| price | decimal | Purchase Price (e.g., 750000.00) |
| purchase_date | string | Purchase Date (Initial In-Service Date). Format: MM/dd/yyyy (e.g., 01/01/2023) |
| decommission_date | string | Decommission Date (End of Service Date). Format: MM/dd/yyyy (e.g., 12/31/2023) |
| comments | string | Comments/Description |
| engine_tank_size | decimal | Engine Tank Size (Gallons Water, e.g., 1000.50) |
| purchased_on_grant | boolean | Purchased on Grant. Accepts: true, false, "true", "false", 1, 0, "1", "0" |
| assigned_to | integer | Assigned to User ID (from admin_account table). Must be a valid user ID for your organization |
| vom_eom | string | VOM/EOM (combined with VOM Location for Body Class). Combined length with vom_location must not exceed 64 characters |
| vom_location | string | VOM Location (combined with VOM/EOM for Body Class). Combined length with vom_eom must not exceed 64 characters |
| county_id_number | string | County ID Number (Department Vehicle ID) |
| year | string | Year (Manufacture Date). Format: MM/dd/yyyy (e.g., 01/01/2023) |
| make | string | Make/Manufacturer |
| model | string | Model |
| vin | string | VIN Number |
| license_plate_number | string | License Plate Number |
| title_number | integer | Title Number (DOT Number/ICC Number) |
| home | integer | Home Location (Fire Station ID from fire_station table) |
| current_location | integer | Current Location (Fire Station ID from fire_station table) |
| cost_code | integer | Cost Code (FEMA Cost Code ID from fema_cost_code table) |
| vehicle_number | string | Fleet Vehicle Number |
Example Request
$ curl -i -k -H "Authorization: Bearer <YOUR_ACCESS_TOKEN>" -X PATCH -d '{
"unit_number": "Engine 1 Updated",
"comments": "Updated primary engine for downtown area",
"engine_tank_size": "800.00",
"make": "Pierce",
"model": "Arrow XT PUC",
"current_location": 50
}' https://sizeup.firstduesizeup.com/fd-api/v1/apparatuses/operative-iq/1234
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 404 Not Found
{
"code": 0,
"message": "Apparatus not found"
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Invalid values."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Validation Failed. Invalid assigned_to value.",
"errors": [
{
"field": "assigned_to",
"code": "invalid_value",
"message": "Field \"assigned_to\" must be a valid user ID for your organization."
}
]
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Validation Failed. Invalid purchased_on_grant value.",
"errors": [
{
"field": "purchased_on_grant",
"code": "invalid_value",
"message": "Field \"purchased_on_grant\" must be a valid boolean value: true, false, \"true\", \"false\", 1, 0, \"1\", or \"0\"."
}
]
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Validation Failed. Body class length exceeds maximum.",
"errors": [
{
"field": "body_class",
"code": "max_length_exceeded",
"message": "The combination of \"vom_eom\" and \"vom_location\" fields results in a body_class value that exceeds the maximum length of 64 characters. Current length: 85"
}
]
}
GET /fd-api/v1/personnel
Get a Personnel list.
GET /fd-api/v1/personnel
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/personnel
Success Response
HTTP/1.1 200 OK
{
"list": [
{
"uuid": "4d2cd84a-ce18-4e85-92b6-c3df39347374",
"full_name": "Jared A Barron",
"first_name": "Jared",
"middle_name": "A",
"last_name": "Barron"
},
{
"uuid": "c6d8cb63-13c5-4966-8a50-0742e0093af0",
"full_name": "Gisela Weiss",
"first_name": "Gisela",
"middle_name": "",
"last_name": "Weiss"
}
],
"total": 2
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
GET /fd-api/v1/personnel/list
Get a paginated list of personnel records with full details.
GET /fd-api/v1/personnel/list
Query Parameters
| Name | Type | Description |
|---|---|---|
| page | integer | Optional. Page number (1-based). Default: 1 |
| page_size | integer | Optional. Number of records per page. Default: 20. Maximum: 50 |
| employment_status | string |
Optional. Filter by employment status code (e.g., "active", "inactive"). Filters personnel by their status_code field. |
| is_field_crew_service_provider | boolean |
Optional. Filter by field crew service provider status. Accepts true, false, 1, 0, "true", "false", "yes", "no", "on", "off". |
| personnel_id | string | Optional. Filter by personnel ID. Accepts a comma-separated list of IDs. Maximum allowed count is 50. |
| first_due_id | string | Optional. Filter by First Due ID. Accepts a comma-separated list of IDs. Maximum allowed count is 50. |
Pagination Rules: - page_size: Minimum value is 1. Maximum allowed value is 50. Requests with page_size > 50 will be automatically reduced to 50 by the server. When the server clamps page_size (e.g., request 100 → server reduces to 50), the response metadata will reflect the clamped value (page_size: 50). - page: Values ≤ 0 are normalized to 1 by the server. If page > total_pages (and total_pages > 0), the server returns an empty result set (data: []) with the requested page number preserved in the response metadata. - total_pages: Calculated as ceil(total_count / page_size) when total_count > 0, otherwise 0. No explicit upper limit; derived from total record count and page size.
Filter Parameters: - employment_status: Filters personnel records by their employment status code. Must match a valid status code value. Only personnel with matching status_code will be returned. - is_field_crew_service_provider: Filters personnel records by whether they are field crew service providers. Accepts various boolean representations (true/false, 1/0, "true"/"false", "yes"/"no", "on"/"off"). If not provided, this filter is not applied. - personnel_id: Filters personnel records by their ID. Accepts a comma-separated list of IDs. Maximum allowed count is 50. - first_due_id: Filters personnel records by their First Due ID. Accepts a comma-separated list of IDs. Maximum allowed count is 50.
Pagination
This endpoint uses body-embedded pagination links (not RFC5988 Link headers). Pagination information is provided in the links object within the response body:
| Link Key | Description |
|---|---|
| first | The URL for the first page of results |
| prev | The URL for the immediate previous page of results (only present when not on first page) |
| next | The URL for the immediate next page of results (only present when not on last page) |
| last | The URL for the last page of results |
The links object is included only when multiple pages exist. Within links, prev and/or next are present only when applicable. When a single page exists, the links field is omitted. This differs from other endpoints (such as /fd-api/v1/dispatches) which use RFC5988 Link headers for pagination. The links object is only included in the response when multiple pages exist. This differs from other endpoints (such as /fd-api/v1/dispatches) which use RFC5988 Link headers for pagination.
Example Request
curl -i -k -H "Authorization: Bearer <ACCESS_TOKEN>" "https://sizeup.firstduesizeup.com/fd-api/v1/personnel/list?page=1&page_size=20" curl -i -k -H "Authorization: Bearer <ACCESS_TOKEN>" "https://sizeup.firstduesizeup.com/fd-api/v1/personnel/list?page=1&page_size=20&employment_status=active&is_field_crew_service_provider=true" curl -i -k -H "Authorization: Bearer <ACCESS_TOKEN>" "https://sizeup.firstduesizeup.com/fd-api/v1/personnel/list?page=1&page_size=20&employment_status=active&is_field_crew_service_provider=true&personnel_id=123,456,789&first_due_id=123,456,789"
Success Response
HTTP/1.1 200 OK
{
"status": "success",
"message": "Personnel list retrieved successfully",
"data": [
{
"id": 123,
"uuid": "4d2cd84a-ce18-4e85-92b6-c3df39347374",
"user_id": 456,
"first_name": "Jared",
"middle_name": "A",
"last_name": "Barron",
"preferred_name": "Jay",
"name_suffix": "Jr.",
"public_name": "Jared A Barron",
"email": "jared.barron@example.com",
"phone": "555-123-4567",
"home_phone": "555-987-6543",
"cad_personnel_id": "CAD123",
"firefighter_id": "FF456",
"payroll_id": "PAY789",
"fema_id": "FEMA123",
"dod_id": "DOD456",
"badge_number": "B123",
"agency_id": "AGENCY1",
"created_at": "2024-01-15T10:30:00+00:00",
"updated_at": "2024-10-15T14:20:00+00:00",
"updated_by": 789,
"status_code": "active",
"is_active": true,
"is_field_crew_service_provider": true,
"is_training_instructor": false,
"is_call_shift_eligible": true,
"sync_to_admin_account": true,
"start_date": "2020-01-01",
"secondary_start_date": null,
"start_date_ranking": 1,
"end_of_service_date": null,
"birth_date": "1990-05-15",
"accrual_start_date": "2020-01-01",
"driver_license_number": "D1234567",
"driver_license_state": "CA",
"driver_license_expiration_date": "2028-05-15",
"drivers_license_class": ["A", "B"],
"drivers_license_status": "valid",
"schedule_message_method_codes": ["email", "sms"],
"call_shift_method_codes": ["email"],
"lunch_period_code": "30",
"days_scheduled_code": "5",
"hours_scheduled_code": "8",
"gender_code": "M",
"marital_status": "single",
"citizenship_country_code": "US",
"race": ["W"],
"ethnicity_code": "N",
"address": "123 Main Street",
"city": "San Francisco",
"state_code": "CA",
"county_code": "SF",
"zip": "94102",
"unit": "Apt 5",
"rank_id": 10,
"ems_provider_level": "EMT-B",
"career_volunteer": "career",
"batt_dept_id": 1,
"batt_dept_division_id": 2,
"batt_dept_position_id": 3,
"batt_dept_shift_id": 4,
"batt_dept_district_id": 5,
"fire_station_id": 6,
"apparatus_id": 7,
"inspector_number": "INS123",
"inspector_designator": "IA",
"investigator_number": "INV456",
"iaff_local_number": "1234",
"external_ids": [
{
"external_system_code": "SYSTEM1",
"external_id": "EXT123"
},
{
"external_system_code": "SYSTEM2",
"external_id": "EXT456"
}
]
}
],
"not_found_ids": [123, 456, 789],
"page": 1,
"page_size": 20,
"total": 150,
"total_pages": 8,
"links": {
"first": "https://sizeup.firstduesizeup.com/fd-api/v1/personnel/list?page=1&page_size=20",
"next": "https://sizeup.firstduesizeup.com/fd-api/v1/personnel/list?page=2&page_size=20",
"last": "https://sizeup.firstduesizeup.com/fd-api/v1/personnel/list?page=8&page_size=20"
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
| status | string | Response status ("success") |
| message | string | Success message |
| data | array | Array of personnel records with full details (same structure as GET /fd-api/v1/personnel/:id) |
| page | integer | Current page number |
| not_found_ids | array | Array of personnel IDs that were not found in the personnel list |
| page_size | integer | Number of records per page |
| total | integer | Total number of personnel records |
| total_pages | integer | Total number of pages |
| links | object |
Body-embedded pagination links (not Link header). Contains first, prev, next, and last URL strings. Only included when multiple pages exist. This endpoint uses body-embedded links instead of RFC5988 Link headers. |
Personnel Record Fields:
Each personnel record in the data array includes all fields from the single personnel record endpoint, plus:
| Field | Type | Description |
|---|---|---|
| external_ids | array | Array of external system mappings. Each object contains external_system_code and external_id. Empty array if no mappings exist. |
Error Response
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide valid page, page_size parameters.",
"errors": [
{
"field": "page",
"code": "invalid",
"message": "Please provide a valid page number."
}
]
}
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 500 Internal Server Error
{
"code": 0,
"message": "An unknown error occurred."
}
PUT /fd-api/v1/personnel/:id
Replace a personnel record completely.
PUT /fd-api/v1/personnel/:id
Parameters
| Name | Type | Description |
|---|---|---|
| first_name | string | Required. First name |
| string | Required. Email address | |
| role | string | Required (when sync_to_admin_account is true). User role |
| last_name | string | Last name |
| middle_name | string | Middle name |
| preferred_name | string | Preferred name |
| name_suffix | string | Name suffix |
| public_name | string | Public display name |
| phone | string | Primary phone number |
| home_phone | string | Home phone number |
| start_date | string | Start date (YYYY-MM-DD format) |
| secondary_start_date | string | Secondary start date (YYYY-MM-DD format) |
| start_date_ranking | integer | Start date ranking |
| end_of_service_date | string | End of service date (YYYY-MM-DD format) |
| birth_date | string | Birth date (YYYY-MM-DD format) |
| accrual_start_date | string | Accrual start date (YYYY-MM-DD format) |
| driver_license_expiration_date | string | Driver license expiration date (YYYY-MM-DD format) |
| schedule_message_method_codes | array | Schedule message method codes |
| iaff_local_number | string | IAFF local number |
| fire_station_id | integer | Fire station ID |
| batt_dept_id | integer | Battalion department ID |
| citizenship_country_code | string | Citizenship country code |
| race | array | Race codes |
| ethnicity_code | string | Ethnicity code |
| batt_dept_division_id | integer | Battalion department division ID |
| batt_dept_position_id | integer | Battalion department position ID |
| address | string | Address |
| driver_license_number | string | Driver license number |
| driver_license_state | string | Driver license state |
| apparatus_id | integer | Apparatus ID |
| batt_dept_shift_id | integer | Battalion department shift ID |
| rank_id | integer | Rank ID |
| career_volunteer | string | Career volunteer status |
| ems_provider_level | integer | EMS provider level |
| is_field_crew_service_provider | boolean | Is field crew service provider |
| gender_code | string | Gender code |
| agency_id | string | Agency ID |
| sync_to_admin_account | boolean | Sync to admin account |
| state_code | string | State code |
| city | string | City |
| zip | string | ZIP code |
| unit | string | Unit |
| call_shift_method_codes | array | Call shift method codes |
| cad_personnel_id | string | CAD personnel ID |
| is_training_instructor | boolean | Is training instructor |
| county_code | string | County code |
| fema_id | string | FEMA ID |
| payroll_id | string | Payroll ID |
| driver_license_class | array | Driver license class |
| firefighter_id | string | Firefighter ID |
| batt_dept_district_id | integer | Battalion department district ID |
| badge_number | string | Badge number |
| marital_status | string | Marital status |
| lunch_period_code | string | Lunch period code |
| days_scheduled_code | string | Days scheduled code |
| hours_scheduled_code | string | Hours scheduled code |
| dod_id | string | Department of Defense ID |
| inspector_number | string | Inspector number |
| inspector_designator | string | Inspector designator |
| investigator_number | string | Investigator number |
| is_call_shift_eligible | boolean | Is call shift eligible |
| drivers_license_status | string | Driver license status |
| status_code | string | Status code |
Optional Workday / HRIS personnel fields (Charlotte Fire integration)
The same optional app.personnel fields documented under PATCH /fd-api/v1/personnel/:id in the subsection Optional Workday / HRIS personnel fields (Charlotte Fire integration) are accepted in the PUT JSON body. All are optional. Include them in the replace payload when persisting HRIS data; omission follows this endpoint’s full-replace contract for the rest of the personnel document.
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -H "Content-Type: application/json" -d '{
"first_name": "John",
"last_name": "Doe",
"middle_name": "Michael",
"preferred_name": "Johnny",
"name_suffix": "Jr.",
"public_name": "Johnny Doe",
"email": "john.doe@example.com",
"phone": "555-123-4567",
"home_phone": "555-987-6543",
"start_date": "2023-01-15",
"birth_date": "1990-05-20",
"gender_code": "M",
"race": ["1", "2"],
"ethnicity_code": "H",
"marital_status": "S",
"address": "123 Main Street",
"city": "Anytown",
"state_code": "CA",
"zip": "12345",
"unit": "Apt 4B",
"county_code": "001",
"citizenship_country_code": "US",
"driver_license_number": "D123456789",
"driver_license_state": "CA",
"driver_license_class": ["A", "B"],
"drivers_license_status": "V",
"driver_license_expiration_date": "2025-12-31",
"badge_number": "12345",
"firefighter_id": "FF001",
"payroll_id": "PAY001",
"fema_id": "FEMA001",
"dod_id": "DOD001",
"cad_personnel_id": "CAD001",
"iaff_local_number": "1234",
"inspector_number": "INS001",
"inspector_designator": "I",
"investigator_number": "INV001",
"fire_station_id": 1,
"batt_dept_id": 1,
"batt_dept_division_id": 1,
"batt_dept_position_id": 1,
"batt_dept_shift_id": 1,
"batt_dept_district_id": 1,
"rank_id": 1,
"apparatus_id": 1,
"agency_id": "AG001",
"career_volunteer": "C",
"ems_provider_level": 2,
"is_field_crew_service_provider": true,
"is_training_instructor": false,
"is_call_shift_eligible": true,
"sync_to_admin_account": true,
"role": "firefighter",
"status_code": "active",
"schedule_message_method_codes": ["email", "sms"],
"call_shift_method_codes": ["phone", "pager"],
"lunch_period_code": "12:00-13:00",
"days_scheduled_code": "M-F",
"hours_scheduled_code": "08:00-17:00"
}' https://sizeup.firstduesizeup.com/fd-api/v1/personnel/123
Success Response
HTTP/1.1 200 OK
{
"status": "success",
"message": "Personnel record replaced successfully.",
"data": {
"id": 123,
"first_name": "John",
"last_name": "Doe",
"middle_name": "Michael",
"preferred_name": "Johnny",
"name_suffix": "Jr.",
"email": "john.doe@example.com",
"public_name": "Johnny Doe",
"phone": "555-123-4567",
"uuid": "4d2cd84a-ce18-4e85-92b6-c3df39347374",
"user_id": 456,
"cad_personnel_id": "CAD001",
"firefighter_id": "FF001",
"payroll_id": "PAY001",
"fema_id": "FEMA001",
"dod_id": "DOD001",
"created_at": "2023-01-15T10:30:00+00:00",
"updated_at": "2024-01-15T14:30:00+00:00",
"updated_by": 789,
"status_code": "active",
"is_active": true,
"is_field_crew_service_provider": true,
"is_training_instructor": false,
"is_call_shift_eligible": true,
"sync_to_admin_account": true,
"start_date": "2023-01-15",
"secondary_start_date": null,
"start_date_ranking": null,
"end_of_service_date": null,
"birth_date": "1990-05-20",
"accrual_start_date": null,
"driver_license_expiration_date": "2025-12-31",
"batt_dept_id": 1,
"batt_dept_division_id": 1,
"batt_dept_position_id": 1,
"batt_dept_shift_id": 1,
"batt_dept_district_id": 1,
"driver_license_number": "D123456789",
"driver_license_state": "CA",
"drivers_license_class": ["A", "B"],
"schedule_message_method_codes": ["email", "sms"],
"call_shift_method_codes": ["phone", "pager"],
"lunch_period_code": "12:00-13:00",
"days_scheduled_code": "M-F",
"hours_scheduled_code": "08:00-17:00",
"gender_code": "M",
"marital_status": "S",
"citizenship_country_code": "US",
"race": ["1", "2"],
"ethnicity_code": "H",
"address": "123 Main Street",
"city": "Anytown",
"state_code": "CA",
"county_code": "001",
"zip": "12345",
"unit": "Apt 4B",
"home_phone": "555-987-6543",
"rank_id": 1,
"ems_provider_level": 2,
"career_volunteer": "C",
"badge_number": "12345",
"agency_id": "AG001",
"fire_station_id": 1,
"apparatus_id": 1,
"inspector_number": "INS001",
"inspector_designator": "I",
"investigator_number": "INV001",
"iaff_local_number": "1234",
"drivers_license_status": "V"
}
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 400 Bad Request
{
"code": 0,
"message": "Personnel data validation failed.",
"errors": {
"first_name": "The first_name field is required.",
"email": "Invalid email format: invalid-email (expected format: user@domain.com)",
"birth_date": "Invalid birth_date format: 1990/05/20 (expected format: 2024-01-15)"
}
}
HTTP/1.1 404 Not Found
{
"code": 0,
"message": "Personnel record not found or update failed."
}
GET /fd-api/v1/personnel/:id
Get a single personnel record by ID.
GET /fd-api/v1/personnel/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Personnel ID |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/personnel/123
Success Response
HTTP/1.1 200 OK
{
"status": "success",
"data": {
"id": 123,
"uuid": "4d2cd84a-ce18-4e85-92b6-c3df39347374",
"user_id": 456,
"first_name": "Jared",
"middle_name": "A",
"last_name": "Barron",
"preferred_name": "Jay",
"name_suffix": "Jr.",
"public_name": "Jared A Barron",
"email": "jared.barron@example.com",
"phone": "555-123-4567",
"home_phone": "555-987-6543",
"cad_personnel_id": "CAD123",
"firefighter_id": "FF456",
"payroll_id": "PAY789",
"fema_id": "FEMA123",
"dod_id": "DOD456",
"badge_number": "B123",
"agency_id": "AGENCY1",
"created_at": "2024-01-15T10:30:00+00:00",
"updated_at": "2024-10-15T14:20:00+00:00",
"updated_by": 789,
"status_code": "active",
"is_active": true,
"is_field_crew_service_provider": true,
"is_training_instructor": false,
"is_call_shift_eligible": true,
"sync_to_admin_account": true,
"start_date": "2020-01-01",
"secondary_start_date": null,
"start_date_ranking": 1,
"end_of_service_date": null,
"birth_date": "1990-05-15",
"accrual_start_date": "2020-01-01",
"driver_license_number": "D1234567",
"driver_license_state": "CA",
"driver_license_expiration_date": "2028-05-15",
"drivers_license_class": ["A", "B"],
"drivers_license_status": "valid",
"schedule_message_method_codes": ["email", "sms"],
"call_shift_method_codes": ["email"],
"lunch_period_code": "30",
"days_scheduled_code": "5",
"hours_scheduled_code": "8",
"gender_code": "M",
"marital_status": "single",
"citizenship_country_code": "US",
"race": ["W"],
"ethnicity_code": "N",
"address": "123 Main Street",
"city": "San Francisco",
"state_code": "CA",
"county_code": "SF",
"zip": "94102",
"unit": "Apt 5",
"rank_id": 10,
"ems_provider_level": "EMT-B",
"career_volunteer": "career",
"batt_dept_id": 1,
"batt_dept_division_id": 2,
"batt_dept_position_id": 3,
"batt_dept_shift_id": 4,
"batt_dept_district_id": 5,
"fire_station_id": 6,
"apparatus_id": 7,
"inspector_number": "INS123",
"inspector_designator": "IA",
"investigator_number": "INV456",
"iaff_local_number": "1234",
"workday_employee_name": null,
"master_seniority": null,
"ops_hire_date": null,
"promotion_title": null,
"promotion_date": null
}
}
Error Response
HTTP/1.1 400 Bad Request
{
"code": 0,
"message": "Invalid personnel ID."
}
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 404 Not Found
{
"code": 0,
"message": "Personnel record not found."
}
POST /fd-api/v1/personnel
Create a new personnel record.
POST /fd-api/v1/personnel
Parameters
| Name | Type | Description |
|---|---|---|
| first_name | string | Required. First name |
| last_name | string | Last name |
| middle_name | string | Middle name |
| string | Required. Email address | |
| password | string | Required if sync_to_admin_account is true AND auth_type_code is 'local' (or not provided). Password for admin account |
| auth_type_code | string | Authentication type: 'local' or 'sso' (defaults to 'local'). If 'sso' is selected, password is not required. |
| role | string | Required if sync_to_admin_account is true. User role |
| sync_to_admin_account | boolean | Whether to sync to admin account (defaults to client setting) |
| preferred_name | string | Preferred name |
| name_suffix | string | Name suffix (e.g., "Jr.", "Sr.") |
| public_name | string | Required. Public name |
| phone | string | Phone number |
| home_phone | string | Home phone number (format: XXX-XXX-XXXX) |
| start_date | string | Start date (format: YYYY-MM-DD) |
| birth_date | string | Birth date (format: YYYY-MM-DD) |
| schedule_message_method_codes | array[string] | Schedule message notification methods (e.g., ["email", "sms"]) |
| call_shift_method_codes | array[string] | Call shift notification methods (e.g., ["email", "sms"]) |
| iaff_local_number | string | IAFF local number |
| fire_station_id | int | Fire station ID |
| batt_dept_id | int | Battalion/Department ID |
| citizenship_country_code | string | Citizenship country code |
| race | array[string] | Race codes |
| ethnicity_code | string | Ethnicity code |
| batt_dept_division_id | int | Battalion/Department division ID |
| batt_dept_position_id | int | Battalion/Department position ID |
| address | string | Street address |
| driver_license_number | string | Driver's license number |
| driver_license_state | string | Driver's license state |
| apparatus_id | int | Apparatus ID |
| batt_dept_shift_id | int | Battalion/Department shift ID |
| rank_id | int | Rank ID |
| career_volunteer | string | Career or volunteer status |
| ems_provider_level | string | EMS provider level |
| is_field_crew_service_provider | boolean | Is field crew service provider |
| gender_code | string | Gender code |
| agency_id | string | Agency ID |
| state_code | string | State code |
| city | string | City |
| zip | string | ZIP code |
| unit | string | Unit/Apartment number |
| cad_personnel_id | string | CAD personnel ID |
| is_training_instructor | boolean | Is training instructor |
| county_code | string | County code |
| payroll_id | string | Payroll ID |
| fema_id | string | FEMA ID |
| driver_license_class | array[string] | Driver's license class codes |
| firefighter_id | string | Firefighter ID |
| secondary_start_date | string | Secondary start date (format: YYYY-MM-DD) |
| start_date_ranking | int | Start date ranking |
| batt_dept_district_id | int | Battalion/Department district ID |
| badge_number | string | Badge number |
| marital_status | string | Marital status |
| end_of_service_date | string | End of service date (format: YYYY-MM-DD) |
| driver_license_expiration_date | string | Driver's license expiration date (format: YYYY-MM-DD) |
| lunch_period_code | string | Lunch period code |
| days_scheduled_code | string | Days scheduled code |
| hours_scheduled_code | string | Hours scheduled code |
| dod_id | string | DOD ID |
| inspector_number | string | Inspector number |
| inspector_designator | string | Inspector designator |
| investigator_number | string | Investigator number |
| accrual_start_date | string | Accrual start date (format: YYYY-MM-DD) |
| is_call_shift_eligible | boolean | Is call shift eligible |
| driver_license_status | string | Driver's license status |
| status_code | string | Status code |
Optional Workday / HRIS personnel fields (Charlotte Fire integration)
The optional app.personnel fields documented under PATCH /fd-api/v1/personnel/:id in the subsection Optional Workday / HRIS personnel fields (Charlotte Fire integration) may be included in the POST body. All are optional. They appear on GET /fd-api/v1/personnel/:id and list responses when set.
Example Request
Local Authentication (with password):
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -H "Content-Type: application/json" -X POST -d '{"first_name": "John", "last_name": "Doe", "email": "john.doe@example.com", "password": "SecurePass123", "auth_type_code": "local", "role": "firefighter", "phone": "555-123-4567", "start_date": "2024-10-16"}' https://sizeup.firstduesizeup.com/fd-api/v1/personnel
SSO Authentication (password not required):
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -H "Content-Type: application/json" -X POST -d '{"first_name": "Jane", "last_name": "Smith", "email": "jane.smith@example.com", "auth_type_code": "sso", "role": "firefighter", "phone": "555-987-6543", "start_date": "2024-10-16"}' https://sizeup.firstduesizeup.com/fd-api/v1/personnel
Success Response
HTTP/1.1 200 OK
{
"status": "success",
"message": "Personnel record created successfully.",
"data": {
"id": 124,
"uuid": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"phone": "555-123-4567",
"start_date": "2024-10-16",
"created_at": "2024-10-16T15:30:00+00:00",
"status_code": "active",
"is_active": true
}
}
Error Response
HTTP/1.1 400 Bad Request
{
"code": 0,
"message": "Create data is required and must be a valid JSON object."
}
HTTP/1.1 400 Bad Request
{
"code": 0,
"message": "Personnel data validation failed.",
"errors": {
"first_name": "The first_name field is required.",
"email": "The email field is required."
}
}
HTTP/1.1 400 Bad Request
{
"code": 0,
"message": "Personnel data validation failed.",
"errors": {
"birth_date": "Invalid birth_date format: 01/15/1990 (expected format: 2024-10-16)"
}
}
HTTP/1.1 400 Bad Request
{
"code": 0,
"message": "Personnel data validation failed.",
"errors": {
"fire_station_id": "Invalid fire_station_id value: 999 (station not found)"
}
}
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 500 Internal Server Error
{
"code": 0,
"message": "Failed to create personnel record."
}
PATCH /fd-api/v1/personnel/:id
Update a personnel record with partial data.
PATCH /fd-api/v1/personnel/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Personnel ID |
Body Parameters
| Name | Type | Description |
|---|---|---|
| first_name | string | First name |
| last_name | string | Last name |
| middle_name | string | Middle name |
| string | Email address | |
| preferred_name | string | Preferred name |
| name_suffix | string | Name suffix (e.g., "Jr.", "Sr.") |
| public_name | string | Public name |
| phone | string | Phone number |
| home_phone | string | Home phone number (format: XXX-XXX-XXXX) |
| start_date | string | Start date (format: YYYY-MM-DD) |
| birth_date | string | Birth date (format: YYYY-MM-DD) |
| schedule_message_method_codes | array[string] | Schedule message notification methods (e.g., ["email", "sms"]) |
| call_shift_method_codes | array[string] | Call shift notification methods (e.g., ["email", "sms"]) |
| iaff_local_number | string | IAFF local number |
| fire_station_id | int | Fire station ID |
| batt_dept_id | int | Battalion/Department ID |
| citizenship_country_code | string | Citizenship country code |
| race | array[string] | Race codes |
| ethnicity_code | string | Ethnicity code |
| batt_dept_division_id | int | Battalion/Department division ID |
| batt_dept_position_id | int | Battalion/Department position ID |
| address | string | Street address |
| driver_license_number | string | Driver's license number |
| driver_license_state | string | Driver's license state |
| apparatus_id | int | Apparatus ID |
| batt_dept_shift_id | int | Battalion/Department shift ID |
| rank_id | int | Rank ID |
| career_volunteer | string | Career or volunteer status |
| ems_provider_level | string | EMS provider level |
| is_field_crew_service_provider | boolean | Is field crew service provider |
| gender_code | string | Gender code |
| agency_id | string | Agency ID |
| state_code | string | State code |
| city | string | City |
| zip | string | ZIP code |
| unit | string | Unit/Apartment number |
| cad_personnel_id | string | CAD personnel ID |
| is_training_instructor | boolean | Is training instructor |
| county_code | string | County code |
| payroll_id | string | Payroll ID |
| fema_id | string | FEMA ID |
| driver_license_class | array[string] | Driver's license class codes |
| firefighter_id | string | Firefighter ID |
| secondary_start_date | string | Secondary start date (format: YYYY-MM-DD) |
| start_date_ranking | int | Start date ranking |
| batt_dept_district_id | int | Battalion/Department district ID |
| badge_number | string | Badge number |
| marital_status | string | Marital status |
| end_of_service_date | string | End of service date (format: YYYY-MM-DD) |
| driver_license_expiration_date | string | Driver's license expiration date (format: YYYY-MM-DD) |
| lunch_period_code | string | Lunch period code |
| days_scheduled_code | string | Days scheduled code |
| hours_scheduled_code | string | Hours scheduled code |
| dod_id | string | DOD ID |
| inspector_number | string | Inspector number |
| inspector_designator | string | Inspector designator |
| investigator_number | string | Investigator number |
| accrual_start_date | string | Accrual start date (format: YYYY-MM-DD) |
| is_call_shift_eligible | boolean | Is call shift eligible |
| driver_license_status | string | Driver's license status |
| status_code | string | Status code |
| sync_to_admin_account | boolean | Whether to sync to admin account |
Optional Workday / HRIS personnel fields (Charlotte Fire integration)
These fields are stored on app.personnel, are optional on PATCH (this section), and on POST /fd-api/v1/personnel and PUT /fd-api/v1/personnel/:id (see the matching Optional Workday / HRIS personnel fields subsections under those endpoints). They appear on GET /fd-api/v1/personnel/:id and list responses when present. They support HRIS sync (for example Workday) without affecting clients that do not send them.
| Name | Type | Description |
|---|---|---|
| adj_city_hire_date | string | Date YYYY-MM-DD
|
| adj_fire_hire_date | string | Date YYYY-MM-DD
|
| adj_ops_hire_date | string | Date YYYY-MM-DD
|
| master_seniority | int | Department master seniority ranking |
| degree_month_date | string | Degree month (store as date, typically first day of month), YYYY-MM-DD
|
| workday_employee_name | string | Full display name from HRIS (up to 512 chars) |
| non_ops_rank | string | Non-operations rank label |
| ops_seniority | int | Operations seniority ranking |
| rank_seniority | int | Rank seniority |
| rc_graduated | boolean | Recruit class graduated |
| rc_graduation_date | string | Date YYYY-MM-DD
|
| rc_start_date | string | Recruit class start date YYYY-MM-DD
|
| recruit_class_number | string | Recruit class number |
| rc_class_rank | string | Recruit class rank |
| comp_rate | number | Compensation rate |
| dive_pay | number | Dive pay amount |
| rescue_pay | number | Rescue pay amount |
| pay_amount | number | Pay amount |
| pay_scale | string | Pay scale code or label |
| previous_salary | number | Previous salary |
| next_review_date | string | Next review date YYYY-MM-DD
|
| cpc_cid | string | CPCC identifier (client-validated list in Workday) |
| p_number | string | P-number (client-validated list in Workday) |
| second_language | string | Secondary language |
| top_pay | number | Top pay |
| ops_hire_date | string | Operations hire date YYYY-MM-DD
|
| rehire_date | string | Rehire date YYYY-MM-DD
|
| kelly_number | string | Kelly number |
| major_code | string | Degree major code |
| major_description | string | Degree major description |
| institution_description | string | Institution description |
| graduation_date | string | Degree graduation date YYYY-MM-DD
|
| prd_effective_date | string | PRD effective date YYYY-MM-DD
|
| prd_from_date | string | PRD from date YYYY-MM-DD
|
| prd_to_date | string | PRD to date YYYY-MM-DD
|
| review_type | string | Review type (e.g. H, I, P) |
| promotion_title | string | Latest promotion title |
| promotion_date | string | Promotion date YYYY-MM-DD
|
| promotion_action_code | string | Promotion action code |
| promotion_action | string | Promotion action description |
| promotion_reason_code | string | Promotion reason code |
| promotion_reason | string | Promotion reason description |
Additional optional Workday / HRIS personnel fields (PLT-1842, Charlotte Fire)
| Name | Type | Description |
|---|---|---|
| special_case | string | Max 128 characters. Free-text / classification string; if your department uses Personnel Field Management options for this attribute in the First Due UI, send the same stored value your HRIS integration maps to that configuration (the FD API does not validate against Field Management lists). |
| death_date | string | Date of death YYYY-MM-DD
|
| job_entry_date | string | Job entry date YYYY-MM-DD
|
| recruit_graduation_date | string | Recruit graduation date from HRIS YYYY-MM-DD (distinct from rc_graduation_date) |
| termination_date | string | HR termination date YYYY-MM-DD
|
| blood_type | string | Max 128 characters; optional HRIS / FM-aligned label or code (see note below). |
| military_status | string | Max 128 characters; optional HRIS / FM-aligned label or code (see note below). |
| attr_seniority | string | Max 64 characters; overall city seniority identifier or ranking text |
| religion | string | Max 255 characters |
| worship | string | Max 512 characters; place of worship |
| worship_phone | string | Worship contact phone (US format, same validation as other FD API phone fields) |
| worship_address | string | Max 512 characters |
| veteran | string | Max 128 characters; optional HRIS / FM-aligned label or code (see note below). |
| military_funeral_entitled | string | Max 128 characters; optional HRIS / FM-aligned label or code (see note below). |
| military_funeral | string | Max 128 characters; optional HRIS / FM-aligned label or code (see note below). |
| fire_service_funeral | string | Max 128 characters; optional HRIS / FM-aligned label or code (see note below). |
| living_will | string | Max 128 characters; optional HRIS / FM-aligned label or code (see note below). |
| will_location | string | Max 512 characters; location of will documents |
Additional optional Workday / HRIS personnel fields (PLT-1842 follow-on, Charlotte Fire)
| Name | Type | Description |
|---|---|---|
| driver_license_issued_date | string | Driver license issued date YYYY-MM-DD
|
| review_rating | string | Max 32 characters; performance review rating code from HRIS (opaque string; API does not enforce a fixed enumeration—use the same codes your Workday mapping supplies, e.g. single-letter ratings). |
| emergency_contact_employer_address | string | Max 512 characters; emergency contact’s employer street address |
| emergency_contact_employer_city | string | Max 255 characters |
| emergency_contact_employer_zip | string | Max 10 characters (ZIP / postal) |
| emergency_contact_employer_phone | string | US phone; same normalization as other FD API phone fields (10-digit storage) |
| retirement_system_name | string | Max 128 characters |
| benefit_fund | string | Max 255 characters; benefit fund label or amount text from HRIS |
| voluntary_pledge | boolean | Voluntary pledge participation |
| dental_vision | string | Max 128 characters; dental/vision coverage label |
| ffrs_pension | string | Max 255 characters; FFRS pension status or description |
| ret_ffrsp_member_id | string | Max 64 characters; RET / FFRSP member identifier |
| city_life_ins | string | Max 64 characters; city life insurance label or code |
HRIS fields aligned with Field Management (PLT-1842): First Due may show dropdowns for some of the string fields above in Personnel → Field Management, per client. The FD API still treats them as opaque strings with the max lengths shown (matching app.personnel and Personnel model rules). There is no API-enforced enumeration of Field Management option IDs—422 responses for these fields are from length, JSON type, phone format (worship_phone, emergency_contact_employer_phone), or date format, not from “invalid pick-list value.” Obtain the exact labels or codes your deployment expects from your department’s Field Management configuration or HRIS→First Due mapping document.
Note: Only the fields provided in the request body will be updated. All fields are optional for PATCH requests.
Personnel certification: external issuer name
Scope: These routes are main application Personnel controller actions (session / same-origin AJAX as the Personnel UI), not fd-api/v1 personnel endpoints. Integrations that only use the FD API bearer-token surface must use another path until a dedicated FD API certification resource exists.
| Method | Path | Purpose |
|---|---|---|
| POST | /personnel/addUserCertification |
Create a user certification row for a personnel user. |
| POST | /personnel/updateUserCertification |
Update an existing user certification. |
Body: Same JSON/request parameter shape as the Personnel certifications UI (e.g. certification_xref, certification_name, issue_date, expiration_date, user_id, user_xref_id, and other fields required by those actions). Additionally, optional certificate_issuer_name (string, max 500 characters) may be sent; it is stored on app.training_certification_user.certificate_issuer_name as the external issuing authority text from an HRIS. The existing issued_by column remains the internal admin user who assigned the record in First Due.
Access: Requires permission to manage personnel training certifications (managePersonnelTrainingCertification), consistent with the other certification actions on PersonnelController.
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -H "Content-Type: application/json" -X PATCH -d '{"phone": "555-999-8888", "address": "456 Oak Avenue", "city": "Oakland"}' https://sizeup.firstduesizeup.com/fd-api/v1/personnel/123
Success Response
HTTP/1.1 200 OK
{
"status": "success",
"message": "Personnel record updated successfully.",
"data": {
"phone": "555-999-8888",
"address": "456 Oak Avenue",
"city": "Oakland"
}
}
Error Response
HTTP/1.1 400 Bad Request
{
"code": 0,
"message": "Invalid personnel ID."
}
HTTP/1.1 400 Bad Request
{
"code": 0,
"message": "Update data is required and must be a valid JSON object."
}
HTTP/1.1 400 Bad Request
{
"code": 0,
"message": "Personnel data validation failed.",
"errors": {
"invalid_field": "This field is not allowed for update."
}
}
HTTP/1.1 400 Bad Request
{
"code": 0,
"message": "Personnel data validation failed.",
"errors": {
"birth_date": "Invalid birth_date format: 01/15/1990 (expected format: 2024-10-16)"
}
}
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 404 Not Found
{
"code": 0,
"message": "Personnel record not found or update failed."
}
DELETE /fd-api/v1/personnel/:id
Delete a personnel record.
DELETE /fd-api/v1/personnel/:id
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | Required. Personnel ID |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/personnel/123
Success Response
HTTP/1.1 200 OK
{
"status": "success",
"message": "Personnel record deleted successfully.",
"data": []
}
Error Response
HTTP/1.1 400 Bad Request
{
"code": 0,
"message": "Invalid personnel ID."
}
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 404 Not Found
{
"code": 0,
"message": "Personnel record not found."
}
HTTP/1.1 500 Internal Server Error
{
"code": 0,
"message": "Failed to delete personnel record."
}
GET /fd-api/v1/incident-reports/:incident_report_uuid
Get a Fire Incident Report.
GET /fd-api/v1/incident-reports/:incident_report_uuid
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/incident-reports/d8b49763-dda7-46f7-9f48-e07e6c5f2506
Success Response
HTTP/1.1 200 OK
{
"uuid": "d8b49763-dda7-46f7-9f48-e07e6c5f2506",
"incident_number": "PF-2024-0000145",
"alarm_at": "2024-09-02 05:03:24",
"dispatch_number": "20240731121231",
"incident_type": "320",
"location_type": "2",
"property_type": "110",
"fdid": "781695aa-6fbb-4686-8759-08ccc0fad06f",
"fdid_name": "FDID 1",
"station": "6db68f01-943d-442f-9a10-bad0fbb048cb",
"station_name": "Station 1",
"shift": "6f536c34-3651-4a79-b6fd-6f1d7f15be3d",
"shift_name": "Shift 1",
"response_zone": "4367f65c-9ca2-4993-957f-b382c7ec51fc",
"response_zone_name": "Response zone 1",
"aid_given_received": true,
"aid_type_code": 4,
"aid_department": "e1858558-05c0-4721-a384-2f005ff22233",
"aid_department_name": "First Received",
"latitude": "70.1111111",
"longitude": "-170.1111110",
"narratives": "New Narratives",
"incident_status": "incomplete",
"actions_taken": "10,12,13",
"street_address": "1020 HOLT DR",
"city": "Placentia",
"state_code": "CA",
"zip_code": "23323",
"officer_in_charge_name": "Gary Oldman",
"officer_in_charge": "d9d5f7f0-0d38-4000-a463-75b3b266ea87",
"officer_making_report_name": "William Deffoe",
"officer_making_report": "c6d8cb63-13c5-4966-8a50-0742e0093af0",
"apparatus": [
{
"uuid": "6dbf31d2-01bd-472c-be35-18592c8e92c5",
"apparatus_name": "Ambulance 1",
"apparatus_use": "2 - EMS",
"number_of_people": 1,
"dispatch_at": "2024-11-20T16:08:15+00:00",
"dispatch_acknowledged_at": "2024-11-20T16:08:15+00:00",
"enroute_at": "2024-11-20T16:08:15+00:00",
"arrive_at": "2024-11-20T16:08:15+00:00",
"arrived_patient_at": "2024-11-20T16:08:15+00:00",
"transfer_of_care_at": "2024-11-20T16:08:15+00:00",
"unit_canceled": false,
"canceled_at": null,
"canceled_stage_code": null,
"clear_at": "2024-11-20T16:08:15+00:00",
"back_in_service_at": "2024-11-20T16:08:15+00:00",
"personnel": [
{
"uuid": "61ed824a-ecf8-4a3f-96f9-30d28d15b843",
"full_name": "Gary Oldman",
"first_name": "Gary",
"middle_name": "",
"last_name": "Oldman",
"apparatus_name": "Ambulance 1",
"apparatus_use": "2 - EMS"
}
]
}
]
"people_involved": [
{
"name_prefix": null,
"first_name": "John",
"middle_name": null,
"last_name": "Mills",
"name_suffix": null,
"gender": "1",
"dob": "1999-03-29",
"race": "4",
"body_site_of_injury": null,
"primary_apparent_symptom": null
}
]
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: d8b49763-dda7-46f7-9f48-e07e6c5f2506 does not exist."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: d8b49763-dda7-46f7-9f48-e07e6c5f2506 already exists and it is deleted."
}
POST /fd-api/v1/incident-reports
Create a Fire Incident Report.
POST /fd-api/v1/incident-reports
Parameters
| Name | Type | Description |
|---|---|---|
| incident_number | string | Required. Incident Report |
| alarm_at | string | Required. Alarm At date |
| dispatch_number | string | Dispatch Number |
| incident_type | int | Required. Incident Type |
| fdid | string | Required. FDID UUID |
| station | string | Required. Fire Station UUID |
| shift | string | Required. Battalion Department Shift UUID |
| response_zone | string | Required. Battalion Department Response Zone UUID |
| aid_given_received | boolean | Required. (true or false) Aid Given Received |
| aid_type_code | int | Aid Type Code |
| aid_department | string | Aid Departament UUID |
| incident_number_receiving_aid | string | Incident Number of Receiving Aid |
| actions_taken | array | Overall Departmental Actions Taken. Format: "1,2,3,5" |
| officer_in_charge | string | Officer In Charge. (Personnel UUID) |
| officer_making_report | string | Officer making Report (Personnel UUID) |
| narratives | string | Narratives |
| street_address | string | Street Address |
| city | string | City |
| state_code | string | State Code. (2 characters) |
| zip_code | string | Zip Code |
| location_type | int | Location Type Code |
| property_type | int | Property Type Code |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"incident_number": "PF-2024-0000145", "alarm_at": "2024-09-02T15:03:24:+00:00", "dispatch_number": "20240731121231", "incident_type": 320, "fdid": "4d2cd84a-ce18-4e85-92b6-c3df39347374", "station": "6db68f01-943d-442f-9a10-bad0fbb048cb", "shift": "6f536c34-3651-4a79-b6fd-6f1d7f15be3d", "response_zone": "4367f65c-9ca2-4993-957f-b382c7ec51fc", "aid_given_received": "true", "aid_type_code": 4, "aid_department": "e1858558-05c0-4721-a384-2f005ff22233", "incident_number_receiving_aid": "15365", "actions_taken": "10,12,20", "officer_in_charge": "d9d5f7f0-0d38-4000-a463-75b3b266ea87", "officer_making_report": "c6d8cb63-13c5-4966-8a50-0742e0093af0", "narratives": "Narrative text", "street_address": "1020 HOLT DR", "city": "Placentia", "state_code": "CA", "zip_code": "23323", "location_type": 6, "property_type": 110}' https://sizeup.firstduesizeup.com/fd-api/v1/incident-reports
Success Response
HTTP/1.1 200 OK
{
"uuid": "d8b49763-dda7-46f7-9f48-e07e6c5f2506",
"incident_number": "PF-2024-0000145",
"alarm_at": "2024-09-02T15:03:24:+00:00",
"dispatch_number": "20240731121231",
"incident_type": "320",
"location_type": "2",
"property_type": "110",
"fdid": "781695aa-6fbb-4686-8759-08ccc0fad06f",
"fdid_name": "FDID 1",
"station": "6db68f01-943d-442f-9a10-bad0fbb048cb",
"station_name": "Station 1",
"shift": "6f536c34-3651-4a79-b6fd-6f1d7f15be3d",
"shift_name": "Shift 1",
"response_zone": "4367f65c-9ca2-4993-957f-b382c7ec51fc",
"response_zone_name": "Response zone 1",
"aid_given_received": true,
"aid_type_code": 4,
"aid_department": "e1858558-05c0-4721-a384-2f005ff22233",
"aid_department_name": "First Received",
"latitude": "70.1111111",
"longitude": "-170.1111110",
"narratives": "New Narratives",
"incident_status": "incomplete",
"actions_taken": "10,12,13",
"street_address": "1020 HOLT DR",
"city": "Placentia",
"state_code": "CA",
"zip_code": "23323",
"officer_in_charge_name": "Gary Oldman",
"officer_in_charge": "d9d5f7f0-0d38-4000-a463-75b3b266ea87",
"officer_making_report_name": "William Deffoe",
"officer_making_report": "c6d8cb63-13c5-4966-8a50-0742e0093af0",
"apparatus": [
{
"uuid": "6dbf31d2-01bd-472c-be35-18592c8e92c5",
"apparatus_name": "Ambulance 1",
"apparatus_use": "2 - EMS",
"number_of_people": 1,
"dispatch_at": "2024-09-02T15:03:24:+00:00",
"dispatch_acknowledged_at": "2024-09-02T15:03:24:+00:00",
"enroute_at": "2024-09-02T15:03:24:+00:00",
"arrive_at": "2024-09-02T15:03:24:+00:00",
"arrived_patient_at": "2024-09-02T15:03:24:+00:00",
"transfer_of_care_at": "2024-09-02T15:03:24:+00:00",
"unit_canceled": false,
"canceled_at": null,
"canceled_stage_code": null,
"clear_at": "2024-09-02T15:03:24:+00:00",
"back_in_service_at": "2024-09-02T15:03:24:+00:00",
"personnel": [
{
"uuid": "61ed824a-ecf8-4a3f-96f9-30d28d15b843",
"full_name": "Gary Oldman",
"first_name": "Gary",
"middle_name": "",
"last_name": "Oldman",
"apparatus_name": "Ambulance 1",
"apparatus_use": "2 - EMS"
}
]
}
]
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The NFIRS Notification for number PF-2024-0000144 on the date 2024-09-02 does not exist."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "The Incident Report for number PF-2024-0000145 on the date 2024-09-02 already exists."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: d8b49763-dda7-46f7-9f48-e07e6c5f2506 already exists and it is deleted."
}
PUT /fd-api/v1/incident-reports/:incident_report_uuid
Update a Fire Incident Report item completely.
PUT /fd-api/v1/incident-reports/:incident_report_uuid
Parameters
| Name | Type | Description |
|---|---|---|
| dispatch_number | string | Dispatch Number |
| incident_type | int | Required. Incident Type |
| fdid | string | Required. FDID UUID |
| station | string | Required. Fire Station UUID |
| shift | string | Required. Battalion Department Shift UUID |
| response_zone | string | Required. Battalion Department Response Zone UUID |
| aid_given_received | boolean | Required. (true or false) Aid Given Received |
| aid_type_code | int | Aid Type Code |
| aid_department | string | Aid Departament UUID |
| incident_number_receiving_aid | string | Incident Number of Receiving Aid |
| actions_taken | array | Overall Departmental Actions Taken. Format: "1,2,3,5" |
| officer_in_charge | string | Officer In Charge. (Personnel UUID) |
| officer_making_report | string | Officer Making Report (Personnel UUID) |
| narratives | string | Narratives |
| street_address | string | Street Address |
| city | string | City |
| state_code | string | State Code. (2 characters) |
| zip_code | string | Zip Code |
| location_type | int | Location Type Code |
| property_type | int | Property Type Code |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"dispatch_number": "20240731121231", "incident_type": 320, "fdid": "4d2cd84a-ce18-4e85-92b6-c3df39347374", "station": "6db68f01-943d-442f-9a10-bad0fbb048cb", "shift": "6f536c34-3651-4a79-b6fd-6f1d7f15be3d", "response_zone": "4367f65c-9ca2-4993-957f-b382c7ec51fc", "aid_given_received": "true", "aid_type_code": 4, "aid_department": "e1858558-05c0-4721-a384-2f005ff22233", "incident_number_receiving_aid": "15365", "actions_taken": "10,12,20", "officer_in_charge": "d9d5f7f0-0d38-4000-a463-75b3b266ea87", "officer_making_report": "c6d8cb63-13c5-4966-8a50-0742e0093af0", "narratives": "Narrative text", "street_address": "1020 HOLT DR", "city": "Placentia", "state_code": "CA", "zip_code": "23323", "location_type": 6, "property_type": 110}' https://sizeup.firstduesizeup.com/fd-api/v1/incident-reports
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc does not exist."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: d8b49763-dda7-46f7-9f48-e07e6c5f2506 already exists and it is deleted."
}
DELETE /fd-api/v1/incident-reports/:incident_report_uuid
Delete a Fire Incident Report item.
DELETE /fd-api/v1/incident-reports/:incident_report_uuid
Parameters
| Name | Type | Description |
|---|---|---|
| incident_report_uuid | string | Required. uuid |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/incident-reports/9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc does not exist."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: d8b49763-dda7-46f7-9f48-e07e6c5f2506 already exists and it is deleted."
}
PATCH /fd-api/v1/incident-reports/:incident_report_uuid/authorize
Authorize a Fire Incident Report item.
PATCH /fd-api/v1/incident-reports/:incident_report_uuid/authorize
Parameters
| Name | Type | Description |
|---|---|---|
| incident_report_uuid | string | Required. uuid |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PATCH https://sizeup.firstduesizeup.com/fd-api/v1/incident-reports/9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc does not exist."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: d8b49763-dda7-46f7-9f48-e07e6c5f2506 already exists and it is deleted."
}
GET /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses
Get Incident Report Apparatus List by Incident Report UUID.
GET /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/incident-reports/9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc/apparatuses
Success Response
HTTP/1.1 200 OK
{
"list": [
{
"uuid": "217f0118-8dae-4535-8aeb-e98f84ef4671",
"apparatus_name": "Ambulance 1",
"apparatus_use": "2 - EMS",
"number_of_people": 1,
"dispatch_at": "2024-09-09T01:23:36+00:00",
"dispatch_acknowledged_at": "2024-09-09T01:23:37",
"enroute_at": "2024-09-09T01:23:38+00:00",
"arrive_at": "2024-09-09T01:23:46+00:00",
"arrived_patient_at": "2024-09-09T01:23:47+00:00",
"transfer_of_care_at": "2024-09-09T01:23:48+00:00",
"unit_canceled": false,
"canceled_at": null,
"canceled_stage_code": null,
"clear_at": "2024-09-09T01:23:49+00:00",
"back_in_service_at": "2024-09-09T01:23:49+00:00",
"personnel": []
},
{
"uuid": "d2424c6f-5523-4504-8cc3-7de6848d53d6",
"apparatus_name": "Ambulance 2",
"apparatus_use": "2 - EMS",
"number_of_people": 0,
"dispatch_at": "2024-09-09T01:23:36",
"dispatch_acknowledged_at": "2024-09-09T01:23:37+00:00",
"enroute_at": "2024-09-09T01:23:38+00:00",
"arrive_at": null,
"arrived_patient_at": "2024-09-09T01:23:47+00:00",
"transfer_of_care_at": "2024-09-09T01:23:48+00:00",
"unit_canceled": true,
"canceled_at": "2024-09-08T19:23:49+00:00",
"canceled_stage_code": "while_en_route",
"clear_at": null,
"back_in_service_at": null,
"personnel": [
{
"uuid": "61ed824a-ecf8-4a3f-96f9-30d28d15b843",
"full_name": "Gary Oldman",
"first_name": "Gary",
"middle_name": "",
"last_name": "Oldman",
"apparatus_name": "Ambulance 1",
"apparatus_use": "2 - EMS"
}
]
}
],
"total": 2
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc does not exist."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc already exists and it is deleted."
}
GET /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:uuid
Get Incident Report Apparatus by Incident Report UUID and Incident Report Apparatus UUID.
GET /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:uuid
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/incident-reports/9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc/apparatuses/217f0118-8dae-4535-8aeb-e98f84ef4671
Success Response
HTTP/1.1 200 OK
{
"uuid": "217f0118-8dae-4535-8aeb-e98f84ef4671",
"apparatus_name": "Ambulance 1",
"apparatus_use": "2 - EMS",
"number_of_people": 0,
"dispatch_at": "2024-09-09T01:23:36+00:00",
"dispatch_acknowledged_at": "2024-09-09T01:23:37+00:00",
"enroute_at": "2024-09-09T01:23:38+00:00",
"arrive_at": "2024-09-09T01:23:46+00:00",
"arrived_patient_at": "2024-09-09T01:23:47+00:00",
"transfer_of_care_at": "2024-09-09T01:23:48+00:00",
"unit_canceled": false,
"canceled_at": null,
"canceled_stage_code": null,
"clear_at": "2024-09-09T01:23:49+00:00",
"back_in_service_at": "2024-09-09T01:23:49+00:00"
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc does not exist."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc already exists and it is deleted."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report Apparatus for UUID: 217f0118-8dae-4535-8aeb-e98f84ef4671 does not exist."
}
POST /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses
Create a Incident Report Apparatus.
POST /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses
Parameters
| Name | Type | Description |
|---|---|---|
| apparatus_uuid | string | Required. Apparatus UUID |
| unit_aid | boolean | Unit Aid (true or false) |
| unit_use | int | Unit Use |
| dispatch_at | string | Required. Dispatch At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| dispatch_acknowledged_at | string | Dispatch Acknowledged At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| enroute_at | string | Required. EnRoute At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrive_at | string | Required. Arrive At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrived_patient_at | string | Arrive Patient At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| transfer_of_care_at | string | Transferred Of Care At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| clear_at | string | Required. Clear At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| back_in_service_at | string | Back In Service. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| unit_canceled | boolean | Unit Canceled (true or false) |
| canceled_at | string | Unit Canceled At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| canceled_stage_code | string | Canceled Stage Code |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"apparatus_uuid": "9824bc40-baa0-4c12-8aa7-3b930c194c93", "unit_aid": false, "unit_use": 1, "dispatch_at": "2024-09-09T01:23:36+00:00", "dispatch_acknowledged_at": "2024-09-09T07:23:37+00:00", "enroute_at": "2024-09-09T07:23:38+00:00", "arrive_at": "2024-09-09T07:23:46+00:00", "arrived_patient_at": "2024-09-09 T07:23:47+00:00", "transfer_of_care_at": "2024-09-09T07:23:48+00:00", "clear_at": "2024-09-09T07:23:49+00:00", "back_in_service_at": null, "unit_canceled": true, "canceled_at": "2024-09-09T07:23:50+00:00", "canceled_stage_code": "while_en_route"}' https://sizeup.firstduesizeup.com/fd-api/v1/incident-reports/9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc/apparatuses
Success Response
HTTP/1.1 200 OK
{
"uuid": "a8cd4a17-d3f6-4ef2-8f20-d7336fa90f73",
"apparatus_name": "Ambulance 2",
"apparatus_use": "2 - EMS",
"number_of_people": 0,
"dispatch_at": "2024-09-09T01:23:36+00:00",
"dispatch_acknowledged_at": "2024-09-09T07:23:37+00:00",
"enroute_at": "2024-09-09T01:23:38+00:00",
"arrive_at": "2024-09-09T07:23:46+00:00",
"arrived_patient_at": "2024-09-09T01:23:47+00:00",
"transfer_of_care_at": "2024-09-09T01:23:48+00:00",
"unit_canceled": true,
"canceled_at": "2024-09-09T01:23:50+00:00",
"canceled_stage_code": "while_en_route",
"clear_at": "2024-09-09T07:23:49+00:00",
"back_in_service_at": null
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc does not exist."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc already exists and it is deleted."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Apparatus for UUID: 9824bc40-baa0-4c12-8aa7-3b930c194c93 does not exist."
}
HTTP/1.1 409 Conflict
{
"code": 0,
"message": "The Apparatus for UUID: 9824bc40-baa0-4c12-8aa7-3b930c194c93 already exists in this report."
}
PUT /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:uuid
Update Incident Report Apparatus item completely.
PUT /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:uuid
Parameters
| Name | Type | Description |
|---|---|---|
| unit_aid | boolean | Unit Aid (true or false) |
| unit_use | int | Unit Use |
| dispatch_at | string | Required. Dispatch At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| dispatch_acknowledged_at | string | Dispatch Acknowledged At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| enroute_at | string | Required. EnRoute At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrive_at | string | Required. Arrive At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| arrived_patient_at | string | Arrive Patient At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| transfer_of_care_at | string | Transferred Of Care At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| clear_at | string | Required. Clear At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| back_in_service_at | string | Back In Service. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| unit_canceled | boolean | Unit Canceled (true or false) |
| canceled_at | string | Unit Canceled At. Format Datetime (YYYY-MM-DDTHH:MM:SS:Z) |
| canceled_stage_code | string | Canceled Stage Code |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"unit_aid": false, "unit_use": 1, "dispatch_at": "2024-09-09T07:23:36+00:00", "dispatch_acknowledged_at": "2024-09-09T07:23:37+00:00", "enroute_at": "2024-09-09T07:23:38+00:00", "arrive_at": "2024-09-09T07:23:46+00:00", "arrived_patient_at": "2024-09-09T07:23:47+00:00", "transfer_of_care_at": "2024-09-09T07:23:48+00:00", "clear_at": "2024-09-09T07:23:49+00:00", "back_in_service_at": "2024-09-09T07:23:49+00:00", "unit_canceled": true, "canceled_at": "2024-09-09T07:23:50+00:00", "canceled_stage_code": "while_en_route"}' https://sizeup.firstduesizeup.com/fd-api/v1/incident-reports/9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc/apparatuses/217f0118-8dae-4535-8aeb-e98f84ef4671
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc does not exist."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc already exists and it is deleted."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report Apparatus for UUID: 9824bc40-baa0-4c12-8aa7-3b930c194c93 does not exist."
}
DELETE /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:uuid
Delete Incident Report Apparatus item.
DELETE /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:uuid
Parameters
| Name | Type | Description |
|---|---|---|
| incident_report_uuid | string | Required. Incident Report UUID |
| uuid | string | Required. Incident Report Apparatus UUID |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/incident-reports/9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc/apparatuses/217f0118-8dae-4535-8aeb-e98f84ef4671
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc does not exist."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc already exists and it is deleted."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report Apparatus for UUID: 217f0118-8dae-4535-8aeb-e98f84ef4671 does not exist."
}
GET /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:incident_report_apparatus_uuid/personnel/:uuid
Get Incident Report Personnel by Incident Report UUID, Incident Report Apparatus UUID and Incident Report Personnel UUID
GET /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:incident_report_apparatus_uuid/personnel/:uuid
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/incident-reports/9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc/apparatuses/217f0118-8dae-4535-8aeb-e98f84ef4671/personnel/af4246e3-1e70-455d-aef4-d69c23c9ca83
Success Response
HTTP/1.1 200 OK
{
"uuid": "af4246e3-1e70-455d-aef4-d69c23c9ca83",
"full_name": "Gary A Oldman",
"first_name": "Gary",
"middle_name": "A",
"last_name": "Oldman",
"apparatus_name": "Ambulance 1",
"apparatus_use": "2 - EMS"
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc does not exist."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc already exists and it is deleted."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report Apparatus for UUID: 217f0118-8dae-4535-8aeb-e98f84ef4671 does not exist."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report personnel for UUID: af4246e3-1e70-455d-aef4-d69c23c9ca83 does not exist."
}
POST /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:incident_report_apparatus_uuid/personnel
Create a Incident Report Personnel.
POST /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:incident_report_apparatus_uuid/personnel
Parameters
| Name | Type | Description |
|---|---|---|
| personnel_uuid | string | Required. (Personnel UUID) |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X POST -d '{"personnel_uuid": "9824bc40-baa0-4c12-8aa7-3b930c194c93"}' https://sizeup.firstduesizeup.com/fd-api/v1/incident-reports/9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc/apparatuses/217f0118-8dae-4535-8aeb-e98f84ef4671/personnel
Success Response
HTTP/1.1 200 OK
{
"uuid": "af4246e3-1e70-455d-aef4-d69c23c9ca83",
"full_name": "Gary Oldman",
"first_name": "Gary",
"middle_name": "",
"last_name": "Oldman",
"apparatus_name": "Ambulance 1",
"apparatus_use": "2 - EMS"
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc does not exist."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc already exists and it is deleted."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report Apparatus for UUID: 217f0118-8dae-4535-8aeb-e98f84ef4671 does not exist."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Personnel for UUID: 9824bc40-baa0-4c12-8aa7-3b930c194c93 does not exist."
}
DELETE /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:incident_report_apparatus_uuid/personnel/:uuid
Delete Incident Report Personnel item.
DELETE /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:incident_report_apparatus_uuid/personnel/:uuid
Parameters
| Name | Type | Description |
|---|---|---|
| incident_report_uuid | string | Required. Incident Report UUID |
| incident_report_apparatus_uuid | string | Required. Incident Report Apparatus UUID |
| uuid | string | Required. Incident Report Personnel UUID |
Example Requests
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/incident-reports/9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc/apparatuses/217f0118-8dae-4535-8aeb-e98f84ef4671/personnel/af4246e3-1e70-455d-aef4-d69c23c9ca83
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc does not exist."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report for UUID: 9f970231-4ad1-4ab5-9feb-fe1b4dc91ccc already exists and it is deleted."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report Apparatus for UUID: 217f0118-8dae-4535-8aeb-e98f84ef4671 does not exist."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "The Incident Report personnel for UUID: af4246e3-1e70-455d-aef4-d69c23c9ca83 does not exist."
}
GET /fd-api/v1/nfirs-setting
Get Fire Incident Setup
GET /fd-api/v1/nfirs-setting
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-setting
Success Response
HTTP/1.1 200 OK
{
"is_email_notification_enabled": true,
"email_recipient_codes": [
"member_completion_report"
],
"is_reason_incomplete_required": false,
"is_nfirs_incident_number_enabled": true,
"last_nfirs_incident_number": 9999998,
"is_incident_number_format_enabled": true,
"is_incident_number_short_code_enabled": true,
"incident_number_first_separator": "-",
"incident_number_year_code": "",
"incident_number_second_separator": "",
"incident_number_length": 7,
"is_cad_incident_number_format_enabled": true,
"go_live_date": "2025-09-14",
"hours_to_keep_reports_in_trash": 1,
"minutes_inactivity_after_autosave": 222,
"dispatch_incident_type_format_code": "CNCD",
"date_range_code": "7days",
"is_add_new_incident_enabled": true,
"is_automatic_incident_number_enabled": true,
"allow_everyone_to_manage_incident_report": true,
"show_nfirs_code_in_nfirs_dropdown": false,
"is_overwrite_user_data_with_cad_updates_enabled": false,
"is_wildland_form_enabled": true,
"wildland_form_incidents": {
"140": "always",
"141": "per-incident",
"142": "per-incident",
"143": "per-incident",
"160": "per-incident",
"170": "per-incident",
"171": "per-incident",
"172": "per-incident",
"173": "per-incident",
"561": "per-incident",
"631": "per-incident",
"632": "per-incident"
},
"is_irwin_submit_enabled": false,
"has_occupancy_info_enabled": false,
"is_nfors_extract_enabled": false,
"nfors_export_type_code": "deferred",
"nfors_export_day": 1,
"nfors_export_emails": [
"example1@gmail.com",
"example2@gmail.com"
],
"is_nfirs_extract_enabled": true,
"nfirs_export_type_code": "deferred",
"nfirs_export_frequency_code": "monthly",
"nfirs_export_day": 1,
"is_nfirs_department_export_enabled": true,
"nfirs_department_export_frequency_code": "monthly",
"nfirs_department_export_day": 20,
"nfirs_export_emails": [
"nfirs_export_emails": [
"admin@example.com"
],
"is_frusa_export_enabled": false,
"frusa_export_emails": [
"example5@gmail.com",
"example6@gmail.com"
],
"require_authorization_incident_type_codes": [
"100",
"111"
],
"is_refresh_cad_before_complete_report_enabled": false,
"is_incident_type_auto_populated_from_nfirs_notification": false,
"same_psap": false,
"psap_number": 123,
"dispatch_center_id": 456,
"is_auto_populate_dispatch_time_enabled": false,
"station_population_source": "first_arriving_apparatus",
"is_fire_zone_enable": true,
"is_response_zone_enable": false,
"nfirs_module_enabled_codes": [
"hazmat",
"ems"
],
"apparatus_reference_code": "name",
"is_aid_detailed_info_required": true,
"is_aid_department_apparatus_enabled": false,
"is_document_personnel_incident_required": false,
"is_default_personnel_number_for_apparatus_enabled": false,
"is_apparatus_assignment_override_enabled": true,
"is_apparatus_multiple_documentation_enabled": false,
"is_enable_oic_based_on_staff_rank": false,
"is_disabled_oic_based_on_first_arriving_unit": true,
"is_exclude_ems_units_for_determine_oic": false,
"is_oic_apparatus_hierarchy_enabled": false,
"is_station_response_enabled": false,
"is_populate_station_response_from_responder_enabled": false,
"is_payroll_summary_enabled": false,
"is_open_weather_enabled": false,
"temperature_scale_code": "celsius",
"is_covid_special_study_incident_enabled": false,
"is_covid_special_study_incident_required": true,
"is_ems_module_enabled": true,
"is_ems_patient_required": false,
"required_patient_incident_type_codes": [
57
],
"is_command_and_safety_enabled": false,
"allow_everyone_to_edit_any_ir_narrative": true,
"is_individual_unit_narratives_enabled": true,
"at_least_one_narrative_is_required_for_incident_type_codes": [
"100",
"111"
],
"all_narratives_are_required_for_incident_type_codes": [
"100",
"111"
],
"is_general_dept_narrative_enabled": false,
"general_dept_narrative_code": "optional",
"is_restrict_users_editing_narrative_enabled": false,
"is_signature_required_to_complete_report": false,
"is_same_officer_in_charge_and_member_completing": false,
"is_same_member_completing_and_officer_in_charge": true,
"is_neris": false
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
PUT /fd-api/v1/nfirs-setting
Update NFIRS Setting item.
PUT /fd-api/v1/nfirs-setting
Parameters
| Name | Type | Description |
|---|---|---|
| is_email_notification_enabled | boolean | Enable QA/QI Email Notifications |
| email_recipient_codes | array | Default Notification Recipient(s) |
| is_reason_incomplete_required | boolean | Require a reason for marking incomplete |
| is_nfirs_incident_number_enabled | boolean | Generate consecutive incident number |
| last_nfirs_incident_number | integer | Last Incident Number |
| is_incident_number_format_enabled | boolean | Enable Incident Number Format |
| is_incident_number_short_code_enabled | boolean | Use Department Short Code |
| incident_number_first_separator | string | First Separator |
| incident_number_year_code | string | Year Format |
| incident_number_second_separator | string | Second Separator |
| incident_number_length | integer | Number Length |
| is_cad_incident_number_format_enabled | boolean | Apply format to incident numbers that come from CAD |
| go_live_date | string | First Due Fire Incident Go-live Date |
| hours_to_keep_reports_in_trash | integer | How long to keep deleted Fire incidents on the deleted list until permanently removed |
| minutes_inactivity_after_autosave | integer | Fire Incident Inactivity Timer |
| dispatch_incident_type_format_code | string | Dispatch Incident Type Display |
| date_range_code | string | Date Range Code |
| is_add_new_incident_enabled | boolean | Do you want users to be able to create blank incident documents from scratch? |
| is_automatic_incident_number_enabled | boolean | Use Automatic Incident Numbering |
| allow_everyone_to_manage_incident_report | boolean | Do you want to allow users to access and complete documentation when logged in as a Unit User? |
| show_nfirs_code_in_nfirs_dropdown | boolean | Do you want users to see NFIRS Codes with the available options for drop-down values in Incident Reporting fields? |
| is_overwrite_user_data_with_cad_updates_enabled | boolean | Enable CAD Refresh button in Fire Form |
| is_wildland_form_enabled | boolean | Do you use Wildland Form for Outdoor Fires? |
| wildland_form_incidents | object | Wildland Incident Types |
| is_irwin_submit_enabled | boolean | Do you want to submit to IRWIN? |
| has_occupancy_info_enabled | boolean | Populate information from Occupancy when available |
| is_nfors_extract_enabled | boolean | Enable NFORS export |
| nfors_export_type_code | string | NFORS report method |
| nfors_export_day | integer | NFORS export day |
| nfors_export_emails | array | NFORS export emails |
| is_nfirs_extract_enabled | boolean | Enable Fire Incident Export |
| nfirs_export_type_code | string | Fire Incident report method |
| nfirs_export_frequency_code | string | Fire Incident export frequency |
| nfirs_export_day | integer | Fire Incident export day |
| is_nfirs_department_export_enabled | boolean | Enable Fire Incident Department Export |
| nfirs_department_export_frequency_code | string | Fire Incident Department report method |
| nfirs_department_export_day | integer | Fire Incident Department Export day |
| nfirs_export_emails | array | Fire Incident export emails |
| is_frusa_export_enabled | boolean | Enable Fire Recovery USA (FRUSA) export |
| frusa_export_emails | array | FRUSA Export Emails |
| require_authorization_incident_type_codes | array | Require Authorization for Incident Types |
| is_refresh_cad_before_complete_report_enabled | boolean | Do you want to automatically Refresh CAD data for Pending Authorization incidents? |
| is_incident_type_auto_populated_from_nfirs_notification | boolean | Auto Populate Actual Incident Type Found from Dispatched Incident Type |
| same_psap | boolean | Is your PSAP and Dispatch Center the same? |
| psap_number | integer | PSAP ID Number |
| dispatch_center_id | integer | Dispatch Center ID Number |
| is_auto_populate_dispatch_time_enabled | boolean | Do you want your Apparatus Dispatched Times to auto-populate from Dispatch Notified time? |
| station_population_source | string | Populate station from |
| is_fire_zone_enable | boolean | Enable Fire Zone field |
| is_response_zone_enable | boolean | Enable Response Zone field |
| nfirs_module_enabled_codes | array | Export Optional Fire Incident Module(s) |
| apparatus_reference_code | string | Pull Personnel and Display Responding Units By |
| is_aid_detailed_info_required | boolean | Do you want to document detailed Aiding Apparatus Information for Aid Received calls? |
| is_aid_department_apparatus_enabled | boolean | Include aiding apparatus detailed information as department resources? |
| is_document_personnel_incident_required | boolean | Do you want to document the personnel that participated in your Incident Responses? |
| is_default_personnel_number_for_apparatus_enabled | boolean | Take Default number of personnel from Apparatus record |
| is_apparatus_assignment_override_enabled | boolean | Apparatus Assignment Override |
| is_apparatus_multiple_documentation_enabled | boolean | Allow Documentation of Apparatus Multiple Times |
| is_enable_oic_based_on_staff_rank | boolean | Enable OIC based on Personnel Rank |
| is_disabled_oic_based_on_first_arriving_unit | boolean | Disable Officer in Charge based on First Arriving Unit |
| is_exclude_ems_units_for_determine_oic | boolean | Do you want to exclude the EMS units from the OIC logic? |
| is_oic_apparatus_hierarchy_enabled | boolean | Do you want to calculate OIC based on Apparatus Type hierarchy? |
| is_station_response_enabled | boolean | Do you want to track station standbys/responses on incident documents? |
| is_populate_station_response_from_responder_enabled | boolean | Populate personnel users into Station Response via Status in Responder |
| is_payroll_summary_enabled | boolean | Enable Payroll Summary grid |
| is_open_weather_enabled | boolean | Fetch info from OpenWeather at the moment of the incident |
| temperature_scale_code | string | Temperature Scale |
| is_covid_special_study_incident_enabled | boolean | Do you want to turn on the COVID Special Study field in your documentation system? |
| is_covid_special_study_incident_required | boolean | Do you want the COVID Special Study field to be required to complete an incident document? |
| is_ems_module_enabled | boolean | Fire Incident EMS Module |
| is_ems_patient_required | boolean | Require EMS Patient by Incident Type |
| required_patient_incident_type_codes | array | EMS Incident Types |
| is_command_and_safety_enabled | boolean | Do you want to include the Command & Safety Section on the Operations Page of your Incident Documents? |
| allow_everyone_to_edit_any_ir_narrative | boolean | Do you want to allow users to contribute to Narrative Entry regardless of their assignment? |
| is_individual_unit_narratives_enabled | boolean | Do you want to turn on individual unit narratives? |
| at_least_one_narrative_is_required_for_incident_type_codes | array | At Least One Narrative is Required |
| all_narratives_are_required_for_incident_type_codes | array | All Narratives are Required |
| is_general_dept_narrative_enabled | boolean | Do you want to turn on a general, department narrative field? |
| general_dept_narrative_code | string | General department narrative requirements |
| is_restrict_users_editing_narrative_enabled | boolean | Restrict users from editing each other's narrative entries |
| is_signature_required_to_complete_report | boolean | Capture and require a signature to complete report |
| is_same_officer_in_charge_and_member_completing | boolean | Set Officer In Charge from Member Completing Report |
| is_same_member_completing_and_officer_in_charge | boolean | Set Member Completing Report from Officer In Charge |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -X PUT -d '{"is_email_notification_enabled": true, "email_recipient_codes": ["member_completion_report"], "is_reason_incomplete_required": false, "is_nfirs_incident_number_enabled": true, "last_nfirs_incident_number": 9999998, "is_incident_number_format_enabled": true, "is_incident_number_short_code_enabled": true, "incident_number_first_separator": "-", "incident_number_year_code": "YYYY", "incident_number_second_separator": "", "incident_number_length": 7, "is_cad_incident_number_format_enabled": true, "go_live_date": "2025-08-01", "hours_to_keep_reports_in_trash": 1, "minutes_inactivity_after_autosave": 10, "dispatch_incident_type_format_code": "CNCD", "date_range_code": "7days", "is_add_new_incident_enabled": true, "is_automatic_incident_number_enabled": true, "allow_everyone_to_manage_incident_report": false, "show_nfirs_code_in_nfirs_dropdown": false, "is_overwrite_user_data_with_cad_updates_enabled": false, "is_wildland_form_enabled": true, "wildland_form_incidents": "{}", "is_irwin_submit_enabled": false, "has_occupancy_info_enabled": false, "is_nfors_extract_enabled": true, "nfors_export_type_code": "deferred", "nfors_export_day": 1, "nfors_export_emails": ["example1@gmail.com", "example2@gmail.com"], "is_nfirs_extract_enabled": true, "nfirs_export_type_code": "deferred", "nfirs_export_frequency_code": "weekly", "nfirs_export_day": 30, "is_nfirs_department_export_enabled": true, "nfirs_department_export_frequency_code": "monthly", "nfirs_department_export_day": 20, "nfirs_export_emails": ["example3@gmail.com", "example4@gmail.com"], "is_frusa_export_enabled": true, "frusa_export_emails": ["example5@gmail.com", "example6@gmail.com"], "require_authorization_incident_type_codes": ["100", 111], "is_refresh_cad_before_complete_report_enabled": false, "is_incident_type_auto_populated_from_nfirs_notification": false, "same_psap": false, "psap_number": 123, "dispatch_center_id": 456, "is_auto_populate_dispatch_time_enabled": false, "station_population_source": "first_arriving_apparatus", "is_fire_zone_enable": true, "is_response_zone_enable": false, "nfirs_module_enabled_codes": ["hazmat", "ems"], "apparatus_reference_code": "name", "is_aid_detailed_info_required": true, "is_aid_department_apparatus_enabled": true, "is_document_personnel_incident_required": false, "is_default_personnel_number_for_apparatus_enabled": true, "is_apparatus_assignment_override_enabled": true, "is_apparatus_multiple_documentation_enabled": false, "is_enable_oic_based_on_staff_rank": false, "is_disabled_oic_based_on_first_arriving_unit": true, "is_exclude_ems_units_for_determine_oic": false, "is_oic_apparatus_hierarchy_enabled": false, "is_station_response_enabled": true, "is_populate_station_response_from_responder_enabled": false, "is_payroll_summary_enabled": false, "is_open_weather_enabled": true, "temperature_scale_code": "celsius", "is_covid_special_study_incident_enabled": true, "is_covid_special_study_incident_required": true, "is_ems_module_enabled": true, "is_ems_patient_required": true, "required_patient_incident_type_codes": [], "is_command_and_safety_enabled": false, "allow_everyone_to_edit_any_ir_narrative": true, "is_individual_unit_narratives_enabled": true, "at_least_one_narrative_is_required_for_incident_type_codes": ["100", "111"], "all_narratives_are_required_for_incident_type_codes": ["100", "111"], "is_general_dept_narrative_enabled": true, "general_dept_narrative_code": "optional", "is_restrict_users_editing_narrative_enabled": false, "is_signature_required_to_complete_report": false, "is_same_member_completing_and_officer_in_charge": false}' https://sizeup.firstduesizeup.com/fd-api/v1/nfirs-setting
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 400 Bad request
{
"code": 0,
"message": "Update data is required and must be a valid JSON object."
}
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "The requested item does not exist or access denied."
}
HTTP/1.1 422 Unprocessable entity
{
"code": 0,
"message": "Validation Failed. Please provide valid parameters.",
"errors": {
"is_email_notification_enabled": "Invalid is_email_notification_enabled value: 12 (expected 0, 1, true, or false)"
"email_recipient_codes": [
"Cannot update email_recipient_codes. Check rule: (is_email_notification_enabled -> equal -> true)."
],
"nfirs_export_day": [
"Cannot update nfirs_export_day. Check rule: (is_nfirs_extract_enabled -> equal -> true).",
"Cannot update nfirs_export_day. Check rule: (nfirs_export_type_code -> equal -> 'deferred')."
]
}
}
Occupancy API
GET /fd-api/v1/occupancy
Get occupancies. Request will be paginated to 20 items by default.
GET /fd-api/v1/occupancy
Parameters
| Name | Type | Description |
|---|---|---|
| page | int | Page number |
| address_id | int | First Due address ID (place_id) |
| status_code | string | Filter by record status. Allowed: active, inactive |
| preplan_status_code | string | Filter by preplan published_status_code. Allowed: draft, review, published |
| city | string | City name |
| state_code | string | State code (e.g., NY) |
| zip | string | ZIP code (e.g., 12111) |
| address_line_1 | string | Exact match on occupancy.address_1 (URL‑encode the value) |
| address_line_2 | string | Exact match on occupancy.address_2 (URL‑encode the value) |
The Link header includes pagination information.
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -G https://sizeup.firstduesizeup.com/fd-api/v1/occupancy
Success Response
HTTP/1.1 200 OK
Link: <https://sizeup.firstduesizeup.com/fd-api/v1/occupancy?page=2>; rel="next",
<https://sizeup.firstduesizeup.com/fd-api/v1/occupancy?page=7>; rel="last"
{
"success": true,
"pagination": {
"currentPage": 1,
"pageSize": 20,
"totalPages": 1,
"totalRecords": 1
},
"data": [
{
"first_due_id": 3532,
"parcel_number": null,
"external_occupancy_id": null,
"address_1": "28 CARLTON AVE, BROOKLYN, NY 2025",
"address_2": null,
"city": "Brooklyn",
"state": "NY",
"zip": "20255",
"occupancy_address": "28 CARLTON AVE, BROOKLYN, NY 2025, BROOKLYN, NY, 20255",
"street_name": null,
"status_code": "active",
"xref_id": "PP:36047:3532",
"business_name": "28 Carlton OC",
"preplan_status_code": "published",
"description": "Test Preplan",
"business_phone": "1545454555",
"parent_id": null,
"has_child": true,
"parcel_code": null,
"occupancy_note": "test record 12345",
"complex_name": "Complex Name2",
"is_not_shared": true,
"contacts": [
{
"name": "Sunny Shaw",
"first_name": "Sunny",
"last_name": "Shaw",
"email": "ss@gg.com",
"phone": null,
"mobile": "915858585858",
"phone2": null,
"notes": "TEST A1",
"location": null,
"preplan_contact_type_code": "BUSINESS",
"primary_phone_column": "mobile",
"company_name": "Opus",
"is_primary": false,
"is_fire_inspection_primary": false,
"is_fire_hydrant_billing_contact": false,
"is_invoice_contact": false,
"is_permit_contact": false,
"receive_inspection_report_by_email": false
},
{
"name": "Britney Shaw",
"first_name": "Britney",
"last_name": "Shaw",
"email": "bs@gg.com",
"phone": "020254546",
"mobile": null,
"phone2": null,
"notes": "TEST A2",
"location": null,
"preplan_contact_type_code": "BUSINESS_OWNER",
"primary_phone_column": "phone",
"company_name": "Opus",
"is_primary": false,
"is_fire_inspection_primary": false,
"is_fire_hydrant_billing_contact": false,
"is_invoice_contact": false,
"is_permit_contact": false,
"receive_inspection_report_by_email": false
}
],
"property_class_ids": [
45804,
45805
],
"build_style": null,
"year_built": 2001,
"ceiling_height_cm": 1524,
"property_access_code": "PRA",
"property_access_notes": "TEST",
"fence": null,
"nfirs_structure_type_code": "6",
"construction_type_id": 123,
"exterior_wall_finish_id": 345,
"exterior_wall_framing_id": 163,
"interior_wall_finish_id": 187,
"interior_wall_framing_id": 167,
"roof_type": null,
"roof_type_id": 423,
"roof_support_id": 206,
"roof_deck_id": 144,
"roof_cover_id": 350,
"ventilation_problems": null,
"solar_panel": "Y",
"floor_type_id": 81,
"basement_type_id": 123,
"basement_access_notes": null,
"latitude": "40.6864931",
"longitude": "-73.9715000",
"technical_rescue_considerations": "Test",
"foam_resource": null,
"tanker_support": null,
"warning": null,
"notes": "TEST",
"created_via_app_interface_code": "preplan_page",
"building_style_id": 1377,
"building_width_feet": null,
"building_height_feet": null,
"building_length_feet": null,
"building_area_squarefeet": null,
"number_floors": null,
"walls": null,
"floors": null,
"basement_present": null,
"base_access1": null,
"base_access2": null,
"roof_material_type": null,
"building_access": null,
"access_problems": null,
"building_value": null,
"occupancy_load": null,
"building_status": null,
"critical_infrastructure": null,
"construction_class": null,
"building_use": null,
"property_class": null,
"number_units": 10,
"fire_load": null,
"special_directions": "Test 01",
"exit_doors_number": null,
"exit_fortified": null,
"defensive_ops_only": null,
"required_fire_flow": null,
"property_use_id": null,
"additional_property_use_id": null,
"nfirs_building_status_code": "1",
"property_value": "2555425.00",
"is_for_sale": true,
"is_target_hazard": true,
"target_occupancy_category_id": 1076,
"is_ibc_high_hazard": true,
"length_cm": 7772,
"width_cm": 9144,
"area_per_floor_sq_cm": "71070826",
"volume_per_floor_cu_cm": "108311938214",
"floors_above_grade": 200,
"floors_below_grade": 500,
"total_area_sq_cm": "371612",
"total_volume_cu_cm": "75818356750080",
"total_billable_area_sq_cm": "325161",
"common_areas_number": 10,
"entry_exit_access_points_number": 6,
"is_entry_exit_access_points_fortified": false,
"entry_access_points_number": 8,
"is_entry_access_points_fortified": null,
"exit_access_points_number": null,
"is_exit_access_points_fortified": null,
"posted_occupancy_load": 25,
"daytime_occupant_load": null,
"evening_occupant_load": null,
"overnight_occupant_load": null,
"property_ownership_id": 168,
"is_inspectable": true,
"is_defensive_ops_only": true,
"property_class_id": 45804,
"address_notes": null,
"dispatch_like_high_rise": false,
"is_condominium": false,
"code_year": null,
"inspection_schedule_code": null,
"index_block": null,
"index_building": null,
"index_alpha": null,
"earthquake_route": null,
"avg_exposure_separation_id": null,
"exposure_a_separation_id": null,
"exposure_b_separation_id": null,
"exposure_c_separation_id": null,
"exposure_d_separation_id": null,
"fire_department_access_id": null,
"occupant_mobility_id": null,
"warning_alarm_id": null,
"exiting_system_id": null,
"regulatory_oversight_id": null,
"human_activity_id": null,
"experience_id": null,
"capacity_to_control_id": null,
"hazard_index_id": null,
"fire_load_id": null,
"required_fire_flow_on_risk": null,
"fire_flow_available": null,
"fire_sprinkler_present_code": null,
"standpipe_systems": null,
"nfpa_five_year_inspection": null,
"community_value_id": null,
"risk_score": null,
"risk_classification_id": null,
"needed_fire_flow": null,
"sprinkler_system_deduction": "N",
"fuel_load_id": 4,
"exposure_number_id": 2,
"is_dangerous_building": true,
"is_high_rise": true,
"local_id": "2",
"billing_address": " CARLTON AVE, BROOKLYN, NY",
"basement_floors": null,
"lightweight_construction": null,
"last_published_date": "2025-10-20 17:54:33.180279"
},
{
...
}
]
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
POST /fd-api/v1/occupancy
Create an occupancy record. Multiple records can be submitted as an array.
POST /fd-api/v1/occupancy
Parameters
| Name | Type | Description |
|---|---|---|
| address_1 | string | Required. Address line 1 |
| city | string | Required. City |
| state_code | string | Required. State code (e.g. WA) |
| zip | string | Required. Zip/Postal code |
| status_code | string | Required. Status code (e.g. active) |
| unit | string | Unit or suite number (alias for address_2) |
| latitude | decimal | Required. Latitude coordinate |
| longitude | decimal | Required. Longitude coordinate |
| street_name | string | Street name |
| parent_id | integer | Parent occupancy ID for multi-unit buildings |
| has_child | boolean | Flag indicating if this occupancy has child records |
| parcel_code | string | Parcel code reference |
| xref_id | string | External system reference ID (must be unique) |
| business_name | string | Business name |
| business_phone | string | Business phone number |
| description | string | Description of the occupancy |
| local_id | string | Local ID or reference number |
| preplan_status_code | string | Status of the preplan (defaults to "published") |
| additional_data | object | Optional additional data to store with the record |
| build_style | string | Building style or architectural style |
| year_built | integer | Year the building was constructed |
| ceiling_height_cm | integer | Ceiling height in centimeters |
| property_access_code | string | Property access code (max 40 characters) |
| property_access_notes | string | Notes about property access |
| fence | string | Fence information (Allowed values: Y, N) |
| nfirs_structure_type_code | string | NFIRS structure type code (Allowed values: 0, 1, 2, 3, 4, 5, 6, 7, 8) |
| construction_type_id | integer | Reference ID for construction type |
| exterior_wall_finish_id | integer | Reference ID for exterior wall finish type |
| exterior_wall_framing_id | integer | Reference ID for exterior wall framing type |
| interior_wall_finish_id | integer | Reference ID for interior wall finish type |
| interior_wall_framing_id | integer | Reference ID for interior wall framing type |
| roof_type | string | Roof type description |
| roof_type_id | integer | Reference ID for roof type |
| roof_support_id | integer | Reference ID for roof support type |
| roof_deck_id | integer | Reference ID for roof deck type |
| roof_cover_id | integer | Reference ID for roof cover type |
| ventilation_problems | string | Description of ventilation problems |
| solar_panel | string | Solar panel information (Allowed values: Y, N) |
| floor_type_id | integer | Reference ID for floor type |
| basement_type_id | integer | Reference ID for basement type |
| basement_access_notes | string | Notes about basement access |
| technical_rescue_considerations | string | Technical rescue considerations |
| foam_resource | string | Foam resource information |
| tanker_support | string | Tanker support information |
| warning | string | Warning information or alerts |
| notes | string | General notes about the occupancy |
| created_via_app_interface_code | string | Code indicating how the record was created (max 30 characters) |
| building_style_id | integer | Reference ID for building style |
| building_width_feet | integer | Building width in feet |
| building_height_feet | integer | Building height in feet |
| building_length_feet | integer | Building length in feet |
| building_area_squarefeet | integer | Building area in square feet |
| number_floors | integer | Number of floors |
| walls | string | Wall construction information |
| floors | string | Floor construction information |
| basement_present | string | Indicates if basement is present |
| base_access1 | string | Basement access method 1 |
| base_access2 | string | Basement access method 2 |
| roof_material_type | string | Roof material type |
| building_access | string | Building access information |
| access_problems | string | Description of access problems |
| building_value | string | Building value information |
| occupancy_load | string | Occupancy load information |
| building_status | string | Current building status |
| critical_infrastructure | string | Critical infrastructure designation |
| construction_class | string | Construction class information |
| building_use | string | Building use description |
| property_class | string | Property class designation |
| number_units | integer | Number of units in the building |
| fire_load | string | Fire load information |
| special_directions | string | Special directions or instructions (max 1024 characters) |
| exit_doors_number | integer | Number of exit doors |
| exit_fortified | string | Exit door fortification information |
| defensive_ops_only | string | Defensive operations only flag |
| required_fire_flow | string | Required fire flow information |
| property_use_id | integer | Reference ID for property use type |
| additional_property_use_id | integer | Reference ID for additional property use type |
| nfirs_building_status_code | string | NFIRS building status code (Allowed values: 0, 1, 2, 3, 4, 5, 6, 7, U) |
| property_value | decimal | Property value (numeric, 14 digits, 2 decimal places) |
| is_for_sale | boolean | Flag indicating if property is for sale |
| is_target_hazard | boolean | Flag indicating if property is a target hazard |
| target_occupancy_category_id | integer | Reference ID for target occupancy category |
| is_ibc_high_hazard | boolean | Flag indicating IBC high hazard classification |
| length_cm | integer | Building length in centimeters |
| width_cm | integer | Building width in centimeters |
| area_per_floor_sq_cm | decimal | Area per floor in square centimeters |
| volume_per_floor_cu_cm | decimal | Volume per floor in cubic centimeters |
| floors_above_grade | integer | Number of floors above grade |
| floors_below_grade | integer | Number of floors below grade |
| total_area_sq_cm | decimal | Total area in square centimeters |
| total_volume_cu_cm | decimal | Total volume in cubic centimeters |
| total_billable_area_sq_cm | decimal | Total billable area in square centimeters |
| common_areas_number | integer | Number of common areas |
| entry_exit_access_points_number | integer | Number of entry/exit access points |
| is_entry_exit_access_points_fortified | boolean | Flag indicating if entry/exit access points are fortified |
| entry_access_points_number | integer | Number of entry access points |
| is_entry_access_points_fortified | boolean | Flag indicating if entry access points are fortified |
| exit_access_points_number | integer | Number of exit access points |
| is_exit_access_points_fortified | boolean | Flag indicating if exit access points are fortified |
| posted_occupancy_load | integer | Posted occupancy load |
| daytime_occupant_load | integer | Daytime occupant load |
| evening_occupant_load | integer | Evening occupant load |
| overnight_occupant_load | integer | Overnight occupant load |
| property_ownership_id | integer | Reference ID for property ownership type |
| is_inspectable | boolean | Flag indicating if property is inspectable |
| is_defensive_ops_only | boolean | Flag indicating if defensive operations only |
| property_class_id | integer | Reference ID for property class |
| address_notes | string | Notes about the address |
| dispatch_like_high_rise | boolean | Flag indicating if dispatch should treat as high rise |
| is_condominium | boolean | Flag indicating if property is a condominium |
| code_year | integer | Building code year (2-byte integer) |
| inspection_schedule_code | string | Inspection schedule code (max 17 characters) |
| index_block | integer | Index block number (2-byte integer) |
| index_building | string | Index building identifier (max 8 characters) |
| index_alpha | string | Index alpha identifier (max 8 characters) |
| earthquake_route | integer | Earthquake route number (2-byte integer) |
| avg_exposure_separation_id | integer | Reference ID for average exposure separation |
| exposure_a_separation_id | integer | Reference ID for exposure A separation |
| exposure_b_separation_id | integer | Reference ID for exposure B separation |
| exposure_c_separation_id | integer | Reference ID for exposure C separation |
| exposure_d_separation_id | integer | Reference ID for exposure D separation |
| fire_department_access_id | integer | Reference ID for fire department access type |
| occupant_mobility_id | integer | Reference ID for occupant mobility type |
| warning_alarm_id | integer | Reference ID for warning alarm type |
| exiting_system_id | integer | Reference ID for exiting system type |
| regulatory_oversight_id | integer | Reference ID for regulatory oversight type |
| human_activity_id | integer | Reference ID for human activity type |
| experience_id | integer | Reference ID for experience type |
| capacity_to_control_id | integer | Reference ID for capacity to control type |
| hazard_index_id | integer | Reference ID for hazard index type |
| fire_load_id | integer | Reference ID for fire load type |
| required_fire_flow_on_risk | integer | Required fire flow based on risk assessment |
| fire_flow_available | string | Fire flow available (Allowed values: Y, N) |
| fire_sprinkler_present_code | string | Fire sprinkler present code (max 7 characters) |
| standpipe_systems | string | Standpipe systems information (Allowed values: Y, N) |
| nfpa_five_year_inspection | string | NFPA five year inspection status (Allowed values: Y, N) |
| community_value_id | integer | Reference ID for community value type |
| risk_score | integer | Risk score (2-byte integer) |
| risk_classification_id | integer | Reference ID for risk classification type |
| needed_fire_flow | integer | Needed fire flow |
| sprinkler_system_deduction | string | Sprinkler system deduction (Allowed values: Y, N) |
| fuel_load_id | integer | Reference ID for fuel load type |
| exposure_number_id | integer | Reference ID for exposure number type |
| is_dangerous_building | boolean | Flag indicating if building is dangerous |
| is_high_rise | boolean | Flag indicating if building is a high rise |
| billing_address | string | Billing address for the property |
| basement_floors | integer | Number of basement floors |
| lightweight_construction | string | Lightweight construction information (max 64 characters) |
| last_published_date | string | Last published date for the preplan |
| occupancy_note | string | Notes about the occupancy |
| is_not_shared | boolean | Flag indicating if the occupancy should not be shared location with partners |
| property_class_ids | array | Array of property class IDs to associate with the preplan (Additional Occupancy Class) |
| address_complex_id | integer | Reference ID for the address complex (null to remove relationship) It's complex name |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -H "Content-Type: application/json" -X POST -d '[{
"address_1": "123 Main St",
"city": "Seattle",
"state_code": "WA",
"zip": "98101",
"status_code": "active",
"latitude": 47.633523,
"longitude": -122.277157,
"business_name": "Sample Business"
}]' https://sizeup.firstduesizeup.com/fd-api/v1/occupancy
Success Response
HTTP/1.1 200 OK
[
{
"success": true,
"errors": [],
"data": {
"id": 3570,
"address_1": "158 Create API POST, BROOKLYN, NY 2025",
"unit": null,
"city": "Brooklyn",
"state": "NY",
"zip": "20266",
"country": "US",
"status": "active",
"xref_id": "CC:36047:3570",
"version": 1,
"last_modified_timestamp": "2025-11-10T12:22:37+00:00",
"street_name": null,
"parent_id": null,
"has_child": true,
"parcel_code": null,
"external_occupancy_id": "195",
"business_name": "158 Create API POST",
"business_phone": "1545454555",
"description": "Create Test Preplan",
"local_id": "2",
"preplan_status_code": "published",
"build_style": null,
"ceiling_height_cm": 15245,
"property_access_code": "PRA",
"property_access_notes": "TEST",
"fence": "Y",
"nfirs_structure_type_code": "6",
"construction_type_id": 123,
"exterior_wall_finish_id": 345,
"exterior_wall_framing_id": 163,
"interior_wall_finish_id": 187,
"interior_wall_framing_id": 167,
"roof_type": null,
"roof_type_id": 423,
"roof_support_id": 206,
"roof_deck_id": 144,
"roof_cover_id": 350,
"ventilation_problems": null,
"solar_panel": "Y",
"floor_type_id": 81,
"basement_type_id": 123,
"basement_access_notes": null,
"latitude": "40.6864931",
"longitude": "-73.9715000",
"technical_rescue_considerations": "Test",
"foam_resource": null,
"tanker_support": null,
"warning": null,
"notes": "TEST",
"created_via_app_interface_code": "preplan_page",
"building_style_id": 1377,
"building_width_feet": null,
"building_height_feet": null,
"building_length_feet": null,
"building_area_squarefeet": null,
"number_floors": null,
"walls": null,
"floors": null,
"basement_present": null,
"base_access1": null,
"base_access2": null,
"roof_material_type": null,
"building_access": null,
"access_problems": null,
"building_value": null,
"occupancy_load": null,
"building_status": null,
"critical_infrastructure": null,
"construction_class": null,
"building_use": null,
"property_class": null,
"number_units": 10,
"fire_load": null,
"special_directions": "Test 01",
"exit_doors_number": null,
"exit_fortified": null,
"defensive_ops_only": null,
"required_fire_flow": null,
"property_use_id": null,
"additional_property_use_id": null,
"nfirs_building_status_code": "1",
"property_value": 2555425,
"is_for_sale": true,
"is_target_hazard": true,
"target_occupancy_category_id": 1076,
"is_ibc_high_hazard": true,
"length_cm": 7772,
"width_cm": 9144,
"area_per_floor_sq_cm": "71070826",
"volume_per_floor_cu_cm": "108311938214",
"floors_above_grade": 200,
"floors_below_grade": 500,
"total_area_sq_cm": "371612",
"total_volume_cu_cm": "75818356750080",
"total_billable_area_sq_cm": "325161",
"common_areas_number": 10,
"entry_exit_access_points_number": 6,
"is_entry_exit_access_points_fortified": false,
"entry_access_points_number": 8,
"is_entry_access_points_fortified": null,
"exit_access_points_number": null,
"is_exit_access_points_fortified": null,
"posted_occupancy_load": 25,
"daytime_occupant_load": null,
"evening_occupant_load": null,
"overnight_occupant_load": null,
"property_ownership_id": 168,
"is_inspectable": true,
"is_defensive_ops_only": true,
"property_class_id": 45804,
"address_notes": null,
"experience_id": null,
"nfpa_five_year_inspection": null,
"risk_score": null,
"risk_classification_id": null,
"needed_fire_flow": null,
"sprinkler_system_deduction": "N",
"fuel_load_id": 4,
"exposure_number_id": 2,
"is_dangerous_building": true,
"is_high_rise": true,
"billing_address": "158 Create API POST, BROOKLYN, NY 2025, BROOKLYN, NY, 20255",
"last_published_date": "2025-10-20 17:54:33.180279",
"occupancy_note": "test record 12345 PRAVIN",
"complex_name": "Complex Name2",
"is_not_shared": true,
"contacts": [],
"property_class_ids": [
45804,
45805
]
}
}
]
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Empty parameters."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address_1, city, state_code, zip, status_code parameters.",
"errors": [
{
"field": "address_1",
"code": "missing_field",
"message": "Please provide address_1 parameter."
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Failed. see error details.",
"errors": [
{
"field": "property_class_id",
"code": "invalid_value",
"message": "The value provided for 'Property Class' is invalid or does not exist. Please provide a valid Property Class."
}
]
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Failed. see error details.",
"errors": [
{
"field": "construction_type_id",
"code": "invalid_value",
"message": "The value provided for 'Construction Type' is invalid or does not exist. Please provide a valid Construction Type."
}
]
}
PUT /fd-api/v1/occupancy?address_id={address_id}
Complete update of an occupancy record. Requires version parameter for conflict prevention.
PUT /fd-api/v1/occupancy?address_id={address_id}
Parameters
| Name | Type | Description |
|---|---|---|
| version | integer | Required. Current version number for conflict prevention |
| address_1 | string | Required. Address line 1 |
| city | string | Required. City |
| state_code | string | Required. State code (e.g. WA) |
| zip | string | Required. Zip/Postal code |
| status_code | string | Required. Status code (e.g. active) |
| unit | string | Unit or suite number (alias for address_2) |
| latitude | decimal | Latitude coordinate |
| longitude | decimal | Longitude coordinate |
| street_name | string | Street name |
| parent_id | integer | Parent occupancy ID for multi-unit buildings |
| has_child | boolean | Flag indicating if this occupancy has child records |
| parcel_code | string | Parcel code reference |
| business_name | string | Business name |
| business_phone | string | Business phone number |
| description | string | Description of the occupancy |
| local_id | string | Local ID or reference number |
| preplan_status_code | string | Status of the preplan (defaults to "published") |
| additional_data | object | Optional additional data to store with the record |
| build_style | string | Building style or architectural style |
| year_built | integer | Year the building was constructed |
| ceiling_height_cm | integer | Ceiling height in centimeters |
| property_access_code | string | Property access code (max 40 characters) |
| property_access_notes | string | Notes about property access |
| fence | string | Fence information (Allowed values: Y, N) |
| nfirs_structure_type_code | string | NFIRS structure type code (Allowed values: 0, 1, 2, 3, 4, 5, 6, 7, 8) |
| construction_type_id | integer | Reference ID for construction type |
| exterior_wall_finish_id | integer | Reference ID for exterior wall finish type |
| exterior_wall_framing_id | integer | Reference ID for exterior wall framing type |
| interior_wall_finish_id | integer | Reference ID for interior wall finish type |
| interior_wall_framing_id | integer | Reference ID for interior wall framing type |
| roof_type | string | Roof type description |
| roof_type_id | integer | Reference ID for roof type |
| roof_support_id | integer | Reference ID for roof support type |
| roof_deck_id | integer | Reference ID for roof deck type |
| roof_cover_id | integer | Reference ID for roof cover type |
| ventilation_problems | string | Description of ventilation problems |
| solar_panel | string | Solar panel information (Allowed values: Y, N) |
| floor_type_id | integer | Reference ID for floor type |
| basement_type_id | integer | Reference ID for basement type |
| basement_access_notes | string | Notes about basement access |
| technical_rescue_considerations | string | Technical rescue considerations |
| foam_resource | string | Foam resource information |
| tanker_support | string | Tanker support information |
| warning | string | Warning information or alerts |
| notes | string | General notes about the occupancy |
| created_via_app_interface_code | string | Code indicating how the record was created (max 30 characters) |
| building_style_id | integer | Reference ID for building style |
| building_width_feet | integer | Building width in feet |
| building_height_feet | integer | Building height in feet |
| building_length_feet | integer | Building length in feet |
| building_area_squarefeet | integer | Building area in square feet |
| number_floors | integer | Number of floors |
| walls | string | Wall construction information |
| floors | string | Floor construction information |
| basement_present | string | Indicates if basement is present |
| base_access1 | string | Basement access method 1 |
| base_access2 | string | Basement access method 2 |
| roof_material_type | string | Roof material type |
| building_access | string | Building access information |
| access_problems | string | Description of access problems |
| building_value | string | Building value information |
| occupancy_load | string | Occupancy load information |
| building_status | string | Current building status |
| critical_infrastructure | string | Critical infrastructure designation |
| construction_class | string | Construction class information |
| building_use | string | Building use description |
| property_class | string | Property class designation |
| number_units | integer | Number of units in the building |
| fire_load | string | Fire load information |
| special_directions | string | Special directions or instructions (max 1024 characters) |
| exit_doors_number | integer | Number of exit doors |
| exit_fortified | string | Exit door fortification information |
| defensive_ops_only | string | Defensive operations only flag |
| required_fire_flow | string | Required fire flow information |
| property_use_id | integer | Reference ID for property use type |
| additional_property_use_id | integer | Reference ID for additional property use type |
| nfirs_building_status_code | string | NFIRS building status code (Allowed values: 0, 1, 2, 3, 4, 5, 6, 7, U) |
| property_value | decimal | Property value (numeric, 14 digits, 2 decimal places) |
| is_for_sale | boolean | Flag indicating if property is for sale |
| is_target_hazard | boolean | Flag indicating if property is a target hazard |
| target_occupancy_category_id | integer | Reference ID for target occupancy category |
| is_ibc_high_hazard | boolean | Flag indicating IBC high hazard classification |
| length_cm | integer | Building length in centimeters |
| width_cm | integer | Building width in centimeters |
| area_per_floor_sq_cm | decimal | Area per floor in square centimeters |
| volume_per_floor_cu_cm | decimal | Volume per floor in cubic centimeters |
| floors_above_grade | integer | Number of floors above grade |
| floors_below_grade | integer | Number of floors below grade |
| total_area_sq_cm | decimal | Total area in square centimeters |
| total_volume_cu_cm | decimal | Total volume in cubic centimeters |
| total_billable_area_sq_cm | decimal | Total billable area in square centimeters |
| common_areas_number | integer | Number of common areas |
| entry_exit_access_points_number | integer | Number of entry/exit access points |
| is_entry_exit_access_points_fortified | boolean | Flag indicating if entry/exit access points are fortified |
| entry_access_points_number | integer | Number of entry access points |
| is_entry_access_points_fortified | boolean | Flag indicating if entry access points are fortified |
| exit_access_points_number | integer | Number of exit access points |
| is_exit_access_points_fortified | boolean | Flag indicating if exit access points are fortified |
| posted_occupancy_load | integer | Posted occupancy load |
| daytime_occupant_load | integer | Daytime occupant load |
| evening_occupant_load | integer | Evening occupant load |
| overnight_occupant_load | integer | Overnight occupant load |
| property_ownership_id | integer | Reference ID for property ownership type |
| is_inspectable | boolean | Flag indicating if property is inspectable |
| is_defensive_ops_only | boolean | Flag indicating if defensive operations only |
| property_class_id | integer | Reference ID for property class |
| address_notes | string | Notes about the address |
| dispatch_like_high_rise | boolean | Flag indicating if dispatch should treat as high rise |
| is_condominium | boolean | Flag indicating if property is a condominium |
| code_year | integer | Building code year (2-byte integer) |
| inspection_schedule_code | string | Inspection schedule code (max 17 characters) |
| index_block | integer | Index block number (2-byte integer) |
| index_building | string | Index building identifier (max 8 characters) |
| index_alpha | string | Index alpha identifier (max 8 characters) |
| earthquake_route | integer | Earthquake route number (2-byte integer) |
| avg_exposure_separation_id | integer | Reference ID for average exposure separation |
| exposure_a_separation_id | integer | Reference ID for exposure A separation |
| exposure_b_separation_id | integer | Reference ID for exposure B separation |
| exposure_c_separation_id | integer | Reference ID for exposure C separation |
| exposure_d_separation_id | integer | Reference ID for exposure D separation |
| fire_department_access_id | integer | Reference ID for fire department access type |
| occupant_mobility_id | integer | Reference ID for occupant mobility type |
| warning_alarm_id | integer | Reference ID for warning alarm type |
| exiting_system_id | integer | Reference ID for exiting system type |
| regulatory_oversight_id | integer | Reference ID for regulatory oversight type |
| human_activity_id | integer | Reference ID for human activity type |
| experience_id | integer | Reference ID for experience type |
| capacity_to_control_id | integer | Reference ID for capacity to control type |
| hazard_index_id | integer | Reference ID for hazard index type |
| fire_load_id | integer | Reference ID for fire load type |
| required_fire_flow_on_risk | integer | Required fire flow based on risk assessment |
| fire_flow_available | string | Fire flow available (Allowed values: Y, N) |
| fire_sprinkler_present_code | string | Fire sprinkler present code (max 7 characters) |
| standpipe_systems | string | Standpipe systems information (Allowed values: Y, N) |
| nfpa_five_year_inspection | string | NFPA five year inspection status (Allowed values: Y, N) |
| community_value_id | integer | Reference ID for community value type |
| risk_score | integer | Risk score (2-byte integer) |
| risk_classification_id | integer | Reference ID for risk classification type |
| needed_fire_flow | integer | Needed fire flow |
| sprinkler_system_deduction | string | Sprinkler system deduction (Allowed values: Y, N) |
| fuel_load_id | integer | Reference ID for fuel load type |
| exposure_number_id | integer | Reference ID for exposure number type |
| is_dangerous_building | boolean | Flag indicating if building is dangerous |
| is_high_rise | boolean | Flag indicating if building is a high rise |
| billing_address | string | Billing address for the property |
| basement_floors | integer | Number of basement floors |
| lightweight_construction | string | Lightweight construction information (max 64 characters) |
| last_published_date | string | Last published date for the preplan |
| occupancy_note | string | Notes about the occupancy |
| is_not_shared | boolean | Flag indicating if the occupancy should not be shared location with partners |
| property_class_ids | array | Array of property class IDs to associate with the preplan (Additional Occupancy Class) |
| address_complex_id | integer | Reference ID for the address complex (null to remove relationship) It's complex name |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -H "Content-Type: application/json" -X PUT -d '{
"version": 1,
"address_1": "123 Main St",
"city": "Seattle",
"state_code": "WA",
"zip": "98101",
"status_code": "active",
"latitude": 47.633523,
"longitude": -122.277157,
"business_name": "Updated Business Name"
}' https://sizeup.firstduesizeup.com/fd-api/v1/occupancy?address_id=3570
Success Response
HTTP/1.1 200 OK
{
"id": 3570,
"address_1": "158 Create API POST, BROOKLYN, NY 2025",
"unit": null,
"city": "Brooklyn",
"state": "NY",
"zip": "20266",
"country": "US",
"status": "active",
"xref_id": "CC:36047:3570",
"version": 2,
"last_modified_timestamp": "2025-11-10T12:42:25+00:00",
"external_occupancy_id": 195,
"latitude": "40.6864931",
"longitude": "-73.9715000",
"street_name": null,
"parent_id": null,
"has_child": true,
"parcel_code": null,
"business_name": "UPDATE API",
"business_phone": "1545454555",
"description": "Pravin test",
"local_id": "2",
"preplan_status_code": "published",
"build_style": null,
"ceiling_height_cm": 15245,
"property_access_code": "PRA",
"property_access_notes": "TEST",
"fence": "Y",
"nfirs_structure_type_code": "6",
"construction_type_id": 123,
"exterior_wall_finish_id": 345,
"exterior_wall_framing_id": 163,
"interior_wall_finish_id": 187,
"interior_wall_framing_id": 167,
"roof_type": null,
"roof_type_id": 423,
"roof_support_id": 206,
"roof_deck_id": 144,
"roof_cover_id": 350,
"ventilation_problems": null,
"solar_panel": "Y",
"floor_type_id": 81,
"basement_type_id": 123,
"basement_access_notes": null,
"technical_rescue_considerations": "Test",
"foam_resource": null,
"tanker_support": null,
"warning": null,
"notes": "TEST",
"created_via_app_interface_code": "preplan_page",
"building_style_id": 1377,
"building_width_feet": null,
"building_height_feet": null,
"building_length_feet": null,
"building_area_squarefeet": null,
"number_floors": null,
"walls": null,
"floors": null,
"basement_present": null,
"base_access1": null,
"base_access2": null,
"roof_material_type": null,
"building_access": null,
"access_problems": null,
"building_value": null,
"occupancy_load": null,
"building_status": null,
"critical_infrastructure": null,
"construction_class": null,
"building_use": null,
"property_class": null,
"number_units": 10,
"fire_load": null,
"special_directions": "Test 01",
"exit_doors_number": null,
"exit_fortified": null,
"defensive_ops_only": null,
"required_fire_flow": null,
"property_use_id": null,
"additional_property_use_id": null,
"nfirs_building_status_code": "1",
"property_value": 2555425,
"is_for_sale": true,
"is_target_hazard": true,
"target_occupancy_category_id": 1076,
"is_ibc_high_hazard": true,
"length_cm": 7772,
"width_cm": 9144,
"area_per_floor_sq_cm": "71070826",
"volume_per_floor_cu_cm": "108311938214",
"floors_above_grade": 200,
"floors_below_grade": 500,
"total_area_sq_cm": "371612",
"total_volume_cu_cm": "75818356750080",
"total_billable_area_sq_cm": "325161",
"common_areas_number": 10,
"entry_exit_access_points_number": 6,
"is_entry_exit_access_points_fortified": false,
"entry_access_points_number": 8,
"is_entry_access_points_fortified": null,
"exit_access_points_number": null,
"is_exit_access_points_fortified": null,
"posted_occupancy_load": 25,
"daytime_occupant_load": null,
"evening_occupant_load": null,
"overnight_occupant_load": null,
"property_ownership_id": 168,
"is_inspectable": true,
"is_defensive_ops_only": true,
"property_class_id": 45804,
"address_notes": null,
"experience_id": null,
"nfpa_five_year_inspection": null,
"risk_score": null,
"risk_classification_id": null,
"needed_fire_flow": null,
"sprinkler_system_deduction": "N",
"fuel_load_id": 4,
"exposure_number_id": 2,
"is_dangerous_building": true,
"is_high_rise": true,
"billing_address": "158 Create API POST, BROOKLYN, NY 2025, BROOKLYN, NY, 20255",
"last_published_date": "2025-10-20 17:54:33.180279",
"occupancy_note": "test record 12345 PRAVIN",
"complex_name": "Complex Name2",
"is_not_shared": true,
"contacts": [
{
"name": "Sunny Shaw",
"first_name": "Sunny",
"last_name": "Shaw",
"email": "ss@gg.com",
"phone": null,
"mobile": "915858585858",
"phone2": null,
"notes": "TEST A1",
"location": null,
"preplan_contact_type_code": "BUSINESS",
"primary_phone_column": "mobile",
"company_name": "Opus",
"is_primary": true,
"is_fire_inspection_primary": false,
"is_fire_hydrant_billing_contact": false,
"is_invoice_contact": false,
"is_permit_contact": false,
"receive_inspection_report_by_email": false
},
{
"name": "Britney Shaw",
"first_name": "Britney",
"last_name": "Shaw",
"email": "bs@gg.com",
"phone": "020254546",
"mobile": null,
"phone2": null,
"notes": "TEST A2",
"location": null,
"preplan_contact_type_code": "BUSINESS_OWNER",
"primary_phone_column": "phone",
"company_name": "Opus",
"is_primary": false,
"is_fire_inspection_primary": false,
"is_fire_hydrant_billing_contact": false,
"is_invoice_contact": false,
"is_permit_contact": false,
"receive_inspection_report_by_email": false
}
],
"property_class_ids": [
45804,
45805
]
}
Error Response - Version Conflict
HTTP/1.1 409 Conflict
{
"message": "Version conflict detected. Current data is provided for reconciliation.",
"error": {
"code": "version_conflict",
"message": "The resource has been modified since you last retrieved it.",
"requested_version": 1,
"current_version": 2
},
"id": 3570,
"external_occupancy_id": "CC:36047:3570",
"address_1": "158 Create API POST, BROOKLYN, NY 2025",
"unit": null,
"city": "Brooklyn",
"state": "NY",
"zip": "20266",
"country": "US",
"status": "active",
"version": 2,
"latitude": "40.6864931",
"longitude": "-73.9715000",
"street_name": null,
"parent_id": null,
"has_child": true,
"parcel_code": null,
"business_name": "UPDATE API",
"business_phone": "1545454555",
"description": "Pravin test",
"local_id": "2",
"preplan_status_code": "published",
"build_style": null,
"year_built": null,
"ceiling_height_cm": 15245,
"property_access_code": "PRA",
"property_access_notes": "TEST",
"fence": "Y",
"nfirs_structure_type_code": "6",
"construction_type_id": 123,
"exterior_wall_finish_id": 345,
"exterior_wall_framing_id": 163,
"interior_wall_finish_id": 187,
"interior_wall_framing_id": 167,
"roof_type": null,
"roof_type_id": 423,
"roof_support_id": 206,
"roof_deck_id": 144,
"roof_cover_id": 350,
"ventilation_problems": null,
"solar_panel": "Y",
"floor_type_id": 81,
"basement_type_id": 123,
"basement_access_notes": null,
"technical_rescue_considerations": "Test",
"foam_resource": null,
"tanker_support": null,
"warning": null,
"notes": "TEST",
"created_via_app_interface_code": "preplan_page",
"building_style_id": 1377,
"building_width_feet": null,
"building_height_feet": null,
"building_length_feet": null,
"building_area_squarefeet": null,
"number_floors": null,
"walls": null,
"floors": null,
"basement_present": null,
"base_access1": null,
"base_access2": null,
"roof_material_type": null,
"building_access": null,
"access_problems": null,
"building_value": null,
"occupancy_load": null,
"building_status": null,
"critical_infrastructure": null,
"construction_class": null,
"building_use": null,
"property_class": null,
"number_units": 10,
"fire_load": null,
"special_directions": "Test 01",
"exit_doors_number": null,
"exit_fortified": null,
"defensive_ops_only": null,
"required_fire_flow": null,
"property_use_id": null,
"additional_property_use_id": null,
"nfirs_building_status_code": "1",
"property_value": 2555425,
"is_for_sale": true,
"is_target_hazard": true,
"target_occupancy_category_id": 1076,
"is_ibc_high_hazard": true,
"length_cm": 7772,
"width_cm": 9144,
"area_per_floor_sq_cm": "71070826",
"volume_per_floor_cu_cm": "108311938214",
"floors_above_grade": 200,
"floors_below_grade": 500,
"total_area_sq_cm": "371612",
"total_volume_cu_cm": "75818356750080",
"total_billable_area_sq_cm": "325161",
"common_areas_number": 10,
"entry_exit_access_points_number": 6,
"is_entry_exit_access_points_fortified": false,
"entry_access_points_number": 8,
"is_entry_access_points_fortified": null,
"exit_access_points_number": null,
"is_exit_access_points_fortified": null,
"posted_occupancy_load": 25,
"daytime_occupant_load": null,
"evening_occupant_load": null,
"overnight_occupant_load": null,
"property_ownership_id": 168,
"is_inspectable": true,
"is_defensive_ops_only": true,
"property_class_id": 45804,
"address_notes": null,
"dispatch_like_high_rise": false,
"is_condominium": false,
"code_year": null,
"inspection_schedule_code": null,
"index_block": null,
"index_building": null,
"index_alpha": null,
"earthquake_route": null,
"avg_exposure_separation_id": null,
"exposure_a_separation_id": null,
"exposure_b_separation_id": null,
"exposure_c_separation_id": null,
"exposure_d_separation_id": null,
"fire_department_access_id": null,
"occupant_mobility_id": null,
"warning_alarm_id": null,
"exiting_system_id": null,
"regulatory_oversight_id": null,
"human_activity_id": null,
"experience_id": null,
"capacity_to_control_id": null,
"hazard_index_id": null,
"fire_load_id": null,
"required_fire_flow_on_risk": null,
"fire_flow_available": null,
"fire_sprinkler_present_code": null,
"standpipe_systems": null,
"nfpa_five_year_inspection": null,
"community_value_id": null,
"risk_score": null,
"risk_classification_id": null,
"needed_fire_flow": null,
"sprinkler_system_deduction": "N",
"fuel_load_id": 4,
"exposure_number_id": 2,
"is_dangerous_building": true,
"is_high_rise": true,
"billing_address": "158 Create API POST, BROOKLYN, NY 2025, BROOKLYN, NY, 20255",
"basement_floors": null,
"lightweight_construction": null,
}
DELETE /fd-api/v1/occupancy?address_id={address_id}
Delete an occupancy record.
DELETE /fd-api/v1/occupancy?address_id={address_id}
Parameters
Query: address_id (required). If your API also supports external_id for deletion, document it here similarly.
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" \ -X DELETE https://sizeup.firstduesizeup.com/fd-api/v1/occupancy?address_id=123
Success Response
HTTP/1.1 204 No Content
HTTP/1.1 200 OK
{
"success": true,
"message": "Occupancy record deleted successfully."
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide address_id parameter.",
"errors": [
{
"field": "address_id",
"code": "missing_field",
"message": "Please provide address_id parameter."
}
]
}
GET /fd-api/v1/get-occupancy-dropdowns
Get occupancy picklist dropdown fields with values.
GET /fd-api/v1/get-occupancy-dropdowns
Example Request
$ curl -i -k -H "Authorization: Bearer <ACCESS_TOKEN>" -G --data-urlencode https://sizeup.firstduesizeup.com/fd-api/v1/get-occupancy-dropdowns
Success Response
HTTP/1.1 200 OK
{
"success": true,
"data": [
{
"label": "Life Hazard Use",
"column_name": "life_hazard_use_id",
"is_hidden": false,
"is_required": false,
"is_readonly": false,
"column_data": []
},
{
"label": "Fence",
"column_name": "fence",
"is_hidden": false,
"is_required": false,
"is_readonly": true,
"column_data": [
{
"id": "Y",
"label": "Yes"
},
{
"id": "N",
"label": "No"
}
]
},
{
"label": "Occupancy Class",
"column_name": "property_class_id",
"is_hidden": false,
"is_required": false,
"is_readonly": false,
"column_data": [
{
"id": 45804,
"label": "TEST"
}
]
},
]
}
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
Zuercher Portal-based Webhook Endpoints
POST /fd-api/v1/webhooks/{agency}/{token}
Receive webhook notifications from external CAD (Computer-Aided Dispatch) systems. This endpoint processes dispatch and unit data from Zuercher Portal-based systems and stores it in the database for later use in the First Due system.
Endpoint Pattern
The endpoint follows the pattern: /fd-api/v1/webhooks/{agency}/{token} where: - {agency} is the agency identifier (e.g., joplin-pd-mo, boone911wv, broken-arrow) - {token} is a unique authentication token (alphanumeric characters only)
Available Webhook Endpoints
| Agency | Endpoint | Description |
|---|---|---|
| Benton SO MO | /fd-api/v1/webhooks/benton-so-mo/<token> |
Benton County Central Dispatch MO |
| Boone County 911 WV | /fd-api/v1/webhooks/boone911wv/<token> |
Boone County 911, West Virginia |
| Broken Arrow PD OK | /fd-api/v1/webhooks/broken-arrow/<token> |
Broken Arrow Police Department, Oklahoma |
| Clatsop SO OR | /fd-api/v1/webhooks/clatsop-so-or/<token> |
Clatsop Sheriff's Office, Oregon |
| Excelsior Springs PD MO | /fd-api/v1/webhooks/excelsior-springs-pd-mo/<token> |
Excelsior Springs PD, Missouri |
| Gallatin County 911 MT | /fd-api/v1/webhooks/gallatin/<token> |
Gallatin County 911, Montana |
| Grant SO NM | /fd-api/v1/webhooks/grant-so-nm/<token> |
Grant Sheriff's Office, New Mexico |
| Huntington PD WV | /fd-api/v1/webhooks/huntington-pd-wv/<token> |
Huntington PD, West Virginia |
| Joplin PD MO | /fd-api/v1/webhooks/joplin-pd-mo/<token> |
Joplin Police Department, Missouri |
| Las Animas County 911 CO | /fd-api/v1/webhooks/las-animas-county-911-co/<token> |
Las Animas County 911 Communications Center, Colorado |
| Lees Summit PD MO | /fd-api/v1/webhooks/lees-summit-pd-mo/<token> |
Lee's Summit PD, Missouri |
| Monongalia 911 WV | /fd-api/v1/webhooks/monongalia-911-wv/<token> |
Monongalia 911, West Virginia |
| Mustang PD OK | /fd-api/v1/webhooks/mustang/<token> |
Mustang Police Department, Oklahoma |
| Pennington SO SD | /fd-api/v1/webhooks/pennington-so-sd/<token> |
Pennington SO, South Dakota |
| Putnam County OEM 911 WV | /fd-api/v1/webhooks/putnam/<token> |
Putnam County OEM/911, West Virginia |
| Rock Island 911 IL | /fd-api/v1/webhooks/rock-island-911-il/<token> |
Rock Island 911, Illinois |
| Stillwater PD OK | /fd-api/v1/webhooks/stillwater-pd-ok/<token> |
Stillwater PD (Zuercher CS Pro API), Oklahoma |
| Whiteside SO IL | /fd-api/v1/webhooks/whiteside-so-il/<token> |
Whiteside County SO (CS Pro API), Illinois |
| York County SC | /fd-api/v1/webhooks/york-county-sc/<token> |
York County, South Carolina |
Request
Headers: - Content-Type: application/json
Body: The request body should contain a JSON object with the following structure:
{
"unique_identifier": "string"
}
| Name | Type | Description |
|---|---|---|
| unique_identifier | string | Required. The unique identifier for the dispatch incident from the external CAD system |
Success Response
Status Code: 204 No Content
The endpoint returns 204 No Content on successful processing. The dispatch data is processed asynchronously and stored in the database.
Error Responses
Status Code: 401 Unauthorized
Returned when the authentication token is invalid or missing.
{
"code": 0,
"message": "Request failed. Missing or invalid token"
}
Status Code: 403 Forbidden
Returned when the request is not authorized.
Status Code: 500 Internal Server Error
Returned when an unexpected server error occurs during processing.
Notes
-
422 Errors: The endpoint converts
422 Unprocessable Entityerrors (e.g., no matching agencies) to204 No Contentresponses. These are not returned as client-facing errors. -
Database Connection Errors: If a database connection error occurs, the dispatch data is queued for retry processing and the endpoint returns
204 No Content. - Token Management: Tokens are managed by the webhook subscription system and are automatically refreshed when expired.
-
Re-authentication: The endpoint automatically handles
401 Unauthorizedresponses by refreshing the authentication token and retrying the request.
Example Request
$ curl -X POST \
-H "Content-Type: application/json" \
-d '{"unique_identifier": "12345"}' \
https://sizeup.firstduesizeup.com/fd-api/v1/webhooks/clatsop-so-or/abc123xyz
Implementation Details
- The endpoint validates the token against Redis cache
- Fetches dispatch data from the external CAD system using the unique identifier
- Fetches unit data from the external CAD system
- Processes the incident data through the appropriate dispatch processor
- Stores dispatch, NFIRS notification, and apparatus data in the database
- Handles errors gracefully with appropriate fallback mechanisms
POST /fd-api/v1/responder-status
Creates a new instance of DispatchResponder table after a request from Central Square
POST /fd-api/v1/responder-status
Parameters
| Name | Type | Description |
|---|---|---|
| status | string | Required The new vehicle status (e.g., in_service, to_scene, on_scene, transport, to_station, on_station, responding, arrived, at_destination, available) |
| client_code | string | Required The client_code |
| vehicle_id | string | Required The vehicle identifier |
| created_at | string | Required The datetime of the status change |
| dispatch_number | string | The CAD dispatch_number |
| transport_location | string | Required when status = "transport" |
| fire_station | string | Required when status = "to_station" |
Example Request
$ curl -i -k -H "Authorization: Bearer 4cc212aac77dad9f9e1e5e2b2be5dd5a" -H "Content-Type: application/json" -X POST -d '{
"status": "transport",
"dispatch_number": "CS2025-21-23",
"transport_location": "San Diego General Hospital",
"fire_station": "",
"client_code": "SAN_DIEGO_CA",
"created_at": "2026-01-01T12:34:56Z",
"vehicle_id": "Engine1"
}' https://sizeup.firstduesizeup.com/fd-api/v1/responder-status
Success Response
HTTP/1.1 204 No Content
Error Response
HTTP/1.1 401 Unauthorized
{
"code": 0,
"message": "Your request was made with invalid credentials."
}
HTTP/1.1 403 Forbidden
{
"code": 0,
"message": "You are not authorized to perform this action."
}
HTTP/1.1 422 Unprocessable Entity
{
"code": 0,
"message": "Validation Failed. Please provide status parameter.",
"errors": [
{
"field": "status",
"code": "missing_field",
"message": "Please provide status parameter."
}
]
}
Change Log:
- added
POST /fd-api/v1/webhooks/whiteside-so-il/<token>method - added
POST /fd-api/v1/webhooks/stillwater-pd-ok/<token>method - added
POST /fd-api/v1/webhooks/las-animas-county-911-co/<token>method - added
POST /fd-api/v1/webhooks/monongalia-911-wv/<token>method - added
POST /fd-api/v1/webhooks/grant-so-nm/<token>method - added
POST /fd-api/v1/webhooks/benton-so-mo/<token>method - added
agent_applied_atparam toPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numberandPUT /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_numbermethods - added
POST /fd-api/v1/webhooks/york-county-sc/<token>method - added
POST /fd-api/v1/webhooks/pennington-so-sd/<token>method - added
POST /fd-api/v1/webhooks/lees-summit-pd-mo/<token>method - added
POST /fd-api/v1/webhooks/excelsior-springs-pd-mo/<token>method - added
POST /fd-api/v1/webhooks/huntington-pd-wv/<token>method - added
POST /fd-api/v1/webhooks/rock-island-911-il/<token>method - added
POST /fd-api/v1/webhooks/joplin-pd-mo/<token>method - added
incident_end_atparam toPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numberandPUT /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_numbermethods - added
POST /fd-api/v1/responder-statusmethod - added
POST /fd-api/v1/webhooks/clatsop-so-or/:tokenmethod - added
GET /fd-api/v1/nfirs-settingmethod - added
PUT /fd-api/v1/nfirs-settingmethod - added
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-three-leadsmethod - added
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-three-leadsmethod - added
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-three-leads/:idmethod - added
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-three-leads/:idmethod - added
GET /fd-api/v1/_healthmethod - added
GET /fd-api/v1/_health/deepmethod - added
PUT /fd-api/v1/v1/patientRecords/:recordIdmethod - added
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-treatment-markermethod - added
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-treatment-markermethod - added
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-treatment-marker/:idmethod - added
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-treatment-marker/:idmethod - added
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-medication-markermethod - added
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-medication-markermethod - added
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-medication-marker/:idmethod - added
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-medication-marker/:idmethod - added
GET /fd-api/v1/device-locationsmethod - added
GET /fd-api/v1/fire-incidentsmethod - added
aid_fdid_numbersparam toPOST /fd-api/v1/nfirs-notifications,PUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
aid_direction,aid_department_entity_ids, andnonfd_aidsto NFIRS notification GET responses and toPOST/PUTnfirs-notification bodies (same array-or-comma-separated handling pattern asaid_fdid_numberswhere applicable) - added
GET /fd-api/v1/ems-cases/case-xref-id/:case_xref_idmethod - added
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-vital-signsmethod - added
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshotsmethod - added
GET /fd-api/v1/ems-cases/:ems_case_id/ems-case-twelve-leadsmethod - added
aid_type_code,aid_fdid_numberparams toPOST /fd-api/v1/nfirs-notifications,PUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
GET /fd-api/v1/ems-cases/:idmethod - added
POST /fd-api/v1/ems-casesmethod - added
PUT /fd-api/v1/ems-cases/:idmethod - added
DELETE /fd-api/v1/ems-cases/:idmethod - added
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-vital-signsmethod - added
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-vital-signs/:idmethod - added
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-vital-signs/:idmethod - added
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshotsmethod - added
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots/:idmethod - added
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots/:idmethod - added
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots/:ems_case_snapshot_id/ems-case-snapshot-imagesmethod - added
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots/:ems_case_snapshot_id/ems-case-snapshot-images/:idmethod - added
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-snapshots/:ems_case_snapshot_id/ems-case-snapshot-images/:idmethod - added
POST /fd-api/v1/ems-cases/:ems_case_id/ems-case-twelve-leadsmethod - added
PUT /fd-api/v1/ems-cases/:ems_case_id/ems-case-twelve-leads/:idmethod - added
DELETE /fd-api/v1/ems-cases/:ems_case_id/ems-case-twelve-leads/:idmethod - added
zip_codevalues toGET /fd-api/v1/nfirs-notifications/:idmethod - added
zip_codeparams toPOST /fd-api/v1/nfirs-notificatitonsandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
GET /fd-api/v1/apparatuses/unit-call-signsmethod - added
patient_arrived_at,patient_transferred_atparams toPOST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses,POST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses,PUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_codemethods - added
GET /fd-api/v1/schedulemethod - added
GET /fd-api/v1/logs/settingsmethod - added
POST /fd-api/v1/logsmethod - added
POST /fd-api/v1/logs/batchmethod - added
PUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethod - added
DELETE /fd-api/v1/nfirs-notification/number/:incident_numbermethod - added
POST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatusesmethod - added
PUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_codemethod - added
DELETE /fd-api/v1/nfirs-notification/number/:incident_number/apparatuses/code/:unit_codemethod - added
POST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_code/personnelmethod - added
PUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_code/personnel/xref/:xref_idmethod - added
DELETE /fd-api/v1/nfirs-notification/number/:incident_number/apparatuses/code/:unit_code/personnel/xref/:xref_idmethod - added
system_idvalue toGET /fd-api/v1/tce-inventories/xref/:inventory_idmethod - added
system_idparam toPOST /fd-api/v1/tce-inventoriesmethod - added
is_inventory_tracked,max_inventory_count,is_service_dates_based_on_inventoryvalues toGET /fd-api/v1/tce-systems/xref/:system_idmethod - added
is_inventory_tracked,max_inventory_count,is_service_dates_based_on_inventoryparams toPOST /fd-api/v1/tce-systemsandPATCH /fd-api/v1/tce-systems/xref/:system_idmethods - added
GET /fd-api/v1/nfirs-notifications/:idmethod - added
POST /fd-api/v1/nfirs-notificationsmethod - added
PUT /fd-api/v1/nfirs-notifications/:idmethod - added
DELETE /fd-api/v1/nfirs-notification/:idmethod - added
POST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatusesmethod - added
PUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:idmethod - added
DELETE /fd-api/v1/nfirs-notification/:nfirs_notification_id/apparatuses/:idmethod - added
POST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:nfirs_apparatus_id/personnelmethod - added
PUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:nfirs_apparatus_id/personnel/:idmethod - added
DELETE /fd-api/v1/nfirs-notification/:nfirs_notification_id/apparatuses/:nfirs_apparatus_id/personnel/:idmethod - added
address2value toGET /fd-api/v1/dispatchesmethod - added
address2param toPOST /fd-api/v1/dispatches,PATCH /fd-api/v1/dispatches/xref/:xref_idandPUT /fd-api/v1/dispatches/xref/:xref_idmethods - added
is_currentvalue toGET /fd-api/v1/tce-inventories/xref/:inventory_idmethod - added
is_currentparam toPOST /fd-api/v1/tce-inventoriesandPATCH /fd-api/v1/tce-inventories/xref/:inventory_idmethods - added
is_currentvalue toGET /fd-api/v1/tce-systems/xref/:system_idmethod - added
is_currentparam toPOST /fd-api/v1/tce-systemsandPATCH /fd-api/v1/tce-systems/xref/:system_idmethods - added
HEAD /fd-api/v1/iams/email/:emailmethod - changed response of
POST /fd-api/v1/preplans/units/caution-notesmethod - added
GET /fd-api/v1/preplans/units/caution-notes,DELETE /fd-api/v1/preplans/units/caution-notesmethods - added
incident_type_codevalue toGET /fd-api/v1/dispatchesmethod - added
incident_type_codeparam toPOST /fd-api/v1/dispatches,PATCH /fd-api/v1/dispatches/xref/:xref_idandPUT /fd-api/v1/dispatches/xref/:xref_idmethods - deleted
latitudeandlongitudeparams fromPOST /fd-api/v1/preplans/units/caution-notesmethod - added
POST /fd-api/v1/preplans/units/caution-notesmethod - added
tag_color_codevalue toGET /fd-api/v1/tce-premises/xref/:id,GET /fd-api/v1/tce-systems/xref/:idandGET /fd-api/v1/tce-inventories/xref/:idmethods - added
tag_color_codeparam toPOST /fd-api/v1/tce-premises,PATCH /fd-api/v1/tce-premises/xref/:id,POST /fd-api/v1/tce-systems, PATCH/fd-api/v1/tce-systems/xref/:id,POST /fd-api/v1/tce-inventoriesand PATCH/fd-api/v1/tce-inventories/xref/:idmethods - added
GET /fd-api/v1/tce-premises/xref/:id,GET /fd-api/v1/tce-systems/xref/:idandGET /fd-api/v1/tce-inventories/xref/:idmethods - renamed
has_open_dificienciestohas_open_deficienciesinPOST /fd-api/v1/tce-systems,PATCH /fd-api/v1/tce-systems/xref/:id,POST /fd-api/v1/tce-inventoriesandPATCH /fd-api/v1/tce-inventories/xref/:idmethods - added
system_type_name,last_inspection_date,next_inspection_date,has_open_dificienciesanddescriptionparams toPOST /fd-api/v1/tce-inventoriesandPATCH /fd-api/v1/tce-inventories/xref/:idmethods - deleted
system_profile_current,system_profile_complianceandtce_system_idparams fromPOST /fd-api/v1/tce-inventoriesandPATCH /fd-api/v1/tce-inventories/xref/:idmethods - added
has_open_dificienciesandstatus_codeparams toPOST /fd-api/v1/tce-systemsandPATCH /fd-api/v1/tce-systems/xref/:idmethods - renamed
last_inspected_datetolast_inspection_dateinPOST /fd-api/v1/tce-systemsandPATCH /fd-api/v1/tce-systems/xref/:idmethods - renamed
renewal_datetonext_inspection_dateinPOST /fd-api/v1/tce-systemsandPATCH /fd-api/v1/tce-systems/xref/:idmethods - renamed
addressparam toaddress1inPOST /fd-api/v1/tce-premisesandPATCH /fd-api/v1/tce-premises/xref/:idmethods - deleted
system_profile_current,system_profile_complianceandstatus_codeparams fromPOST /fd-api/v1/tce-systemsandPATCH /fd-api/v1/tce-systems/xref/:idmethods - added
POST /fd-api/v1/tce-inventoriesandPATCH /fd-api/v1/tce-inventories/xref/:idmethods - added
PATCH /fd-api/v1/tce-systems/xref/:idmethod - added
POST /fd-api/v1/tce-premises,PATCH /fd-api/v1/tce-premises/xref/:idandPOST /fd-api/v1/tce-systemsmethods -
messageparam is not required inPOST /fd-api/v1/dispatchesandPUT /fd-api/v1/dispatches/xref/:xref_idmethods - added
PUT /fd-api/v1/dispatches/xref/:xref_idmethod - added
GET /fd-api/v1/dispatchesmethod - added
unit_codesparam toPATCH /fd-api/v1/dispatches/xref/:xref_idmethod - added
PATCH /fd-api/v1/dispatches/xref/:xref_idmethod - added HTTP error code 406 to
POST /dispatchesmethod - added
xref_idparam toPOST /dispatchesmethod - added
GET /fd-api/v1/aladtec-personnelmethod - added
POST /fd-api/v1/aladtec-personnelmethod - added
PUT /fd-api/v1/aladtec-personnel/:idmethod - added
DELETE /fd-api/v1/aladtec-personnel/:idmethod - added
GET /fd-api/v1/dispatch-units/codesmethod - added
nfirs_incident_numberparam toPOST /fd-api/v1/dispatchesandPATCH /fd-api/v1/dispatches/xref/:xref_idandPUT /fd-api/v1/dispatches/xref/:xref_idmethods - added
officer_in_chargeparam toGET /fd-api/v1/nfirs-notifications/:idandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
call_completed_atparam toGET /fd-api/v1/nfirs-notifications/:idandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
unit_left_scene_atparam toPOST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatusesandPUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_codeandPOST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatusesandPUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:idmethods - added
arrival_destination_landing_area_atparam toPOST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatusesandPUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_codeandPOST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatusesandPUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:idmethods - added
patient_arrival_destination_atparam toPOST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatusesandPUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_codeandPOST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatusesandPUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:idmethods - added
destination_patient_transfer_care_atparam toPOST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatusesandPUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_codeandPOST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatusesandPUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:idmethods - added
unit_back_home_location_atparam toPOST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatusesandPUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_codeandPOST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatusesandPUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:idmethods - added
unit_arrived_staging_atparam toPOST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatusesandPUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_codeandPOST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatusesandPUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:idmethods - added
place_nameandradio_channelparams toGET /fd-api/v1/dispatchesandPOST /fd-api/v1/dispatches,PATCH /fd-api/v1/dispatches/xref/:xref_idandPUT /fd-api/v1/dispatches/xref/:xref_idmethods - added
zoneparam toGET /fd-api/v1/nfirs-notifications/:idandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
house_numparam toGET /fd-api/v1/nfirs-notifications/:idandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
prefix_directionparam toGET /fd-api/v1/nfirs-notifications/:idandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
street_nameparam toGET /fd-api/v1/nfirs-notifications/:idandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
street_typeparam toGET /fd-api/v1/nfirs-notifications/:idandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
suffix_directionparam toGET /fd-api/v1/nfirs-notifications/:idandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
beginning_odoparam toPOST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatusesandPUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_codeandPOST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatusesandPUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:idmethods - added
on_scene_odoparam toPOST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatusesandPUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_codeandPOST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatusesandPUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:idmethods - added
patient_dest_odoparam toPOST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatusesandPUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_codeandPOST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatusesandPUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:idmethods - added
ending_odoparam toPOST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatusesandPUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_codeandPOST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatusesandPUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:idmethods - added
ems_incident_numberparam toGET /fd-api/v1/nfirs-notifications/:idandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
ems_response_numberparam toGET /fd-api/v1/nfirs-notifications/:idandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
GET /fd-api/v1/paymentus/invoicemethod - added
POST /fd-api/v1/paymentus/confirm-paymentmethod - added
GET /fd-api/v1/apparatuses/ - added
PATCH /fd-api/v1/apparatuses/:id - added
GET /fd-api/v1/apparatuses/:apparatus_id/work-ordersmethod - added
GET /fd-api/v1/apparatuses/vehicle-number/:vehicle_numbermethod - added
GET /fd-api/v1/apparatuses/api-apparatus-id/:api_apparatus_idmethod - added
GET /fd-api/v1/asset-work-order-boardmethod - added
GET /fd-api/v1/asset-work-ordersmethod - added
GET /fd-api/v1/asset-work-orders/:idmethod - added
GET /fd-api/v1/locationsmethod - added
GET /fd-api/v1/locations/:idmethod - added
GET /fd-api/v1/occupanciesmethod - added
GET /fd-api/v1/get-units-by-dispatchesmethod - added
alarm_levelparam toGET /fd-api/v1/dispatches,POST /fd-api/v1/dispatches,PATCH /fd-api/v1/dispatches/xref/:xref_idandPUT /fd-api/v1/dispatches/xref/:xref_idmethods - Added
responder_status,responder_status_code,responding_address,responding_dispatch_place_location,fire_station_id,fire_station_name_or_numbertoGET /fd-api/v1/device-locationsmethod response - added
GET /fd-api/v1/nfirs-notifications/number/:incident_numbermethod - added
GET /fd-api/v1/nfirs-notifications/dispatch_number/:dispatch_numbermethod - added
GET /fd-api/v1/get-hydrantsmethod - added
GET /fd-api/v1/get-hydrant-servicesmethod - added
GET /fd-api/v1/fdidsmethod - added
GET /fd-api/v1/stationsmethod - added
GET /fd-api/v1/shiftsmethod - added
GET /fd-api/v1/response-zonesmethod - added
GET /fd-api/v1/aid-departmentsmethod - added
GET /fd-api/v1/apparatusesmethod - added
GET /fd-api/v1/personnelmethod - added
GET /fd-api/v1/incident-reports/:incident_report_uuidmethod - added
POST /fd-api/v1/incident-reportsmethod - added
PUT /fd-api/v1/incident-reports/:incident_report_uuidmethod - added
DELETE /fd-api/v1/incident-reports/:incident_report_uuidmethod - added
PATCH /fd-api/v1/incident-reports/:incident_report_uuid/authorizemethod - added
GET /fd-api/v1/incident-reports/:incident_report_uuid/apparatusesmethod - added
GET /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:uuidmethod - added
POST /fd-api/v1/incident-reports/:incident_report_uuid/apparatusesmethod - added
PUT /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:uuidmethod - added
DELETE /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:uuidmethod - added
GET /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:apparatus_uuid/personnel/:uuidmethod - added
POST /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:apparatus_uuid/personnelmethod - added
DELETE /fd-api/v1/incident-reports/:incident_report_uuid/apparatuses/:apparatus_uuid/personnel/:uuidmethod - added
cross_streetsparam toGET /fd-api/v1/dispatches,POST /fd-api/v1/dispatches,PATCH /fd-api/v1/dispatches/xref/:xref_idandPUT /fd-api/v1/dispatches/xref/:xref_idmethods - added
stationparam toGET /fd-api/v1/nfirs-notifications/:idandGET /fd-api/v1/nfirs-notifications/:incident_numberandGET /fd-api/v1/nfirs-notifications/:dispatch_numberandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numberandPUT /fd-api/v1/nfirs-notifications/number/:dispatch_numbermethods - added
emd_card_numberparam toGET /fd-api/v1/nfirs-notifications/:idandGET /fd-api/v1/nfirs-notifications/:incident_numberandGET /fd-api/v1/nfirs-notifications/:dispatch_numberandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numberandPUT /fd-api/v1/nfirs-notifications/number/:dispatch_numbermethods - added
psap_call_answered_atparam toGET /fd-api/v1/nfirs-notifications/:idandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
call_transferred_atparam toGET /fd-api/v1/nfirs-notifications/:idandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
fire_zoneandfire_stationsparam toGET /fd-api/v1/dispatchesmethods - added
psap_call_atparam toGET /fd-api/v1/nfirs-notifications/:idandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
response_modeparam toPOST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatusesandPUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_codeandPOST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatusesandPUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:idmethods - added
xref_idin response ofGET /fd-api/v1/get-units-by-dispatchesmethod - added
GET /fd-api/v1/occupancy,GET /fd-api/v1/occupancy?address_id={place_id},GET /fd-api/v1/occupancy?status_code={status_code},GET /fd-api/v1/occupancy?preplan_status_code={preplan_status_code},GET /fd-api/v1/occupancy?city={city},GET /fd-api/v1/occupancy?state_code={state_code},GET /fd-api/v1/occupancy?zip={zip},GET /fd-api/v1/occupancy?address_line_1={address1},GET /fd-api/v1/occupancy?address_line_2={address2},POST /fd-api/v1/occupancy,PUT /fd-api/v1/occupancy?address_id={place_id}, andDELETE /fd-api/v1/occupancy?address_id={place_id}methods - added
POST /fd-api/v1/create-hydrant,PUT /fd-api/v1/update-hydrant?firstdue_id={firstdue_id},PUT /fd-api/v1/update-hydrant?hydrant_id={hydrant_id}andPUT /fd-api/v1/update-hydrant?facility_code={facility_code}methods - added
GET /fd-api/v1/personnel/:idmethod - added
POST /fd-api/v1/personnelmethod - added
PATCH /fd-api/v1/personnel/:idmethod - added
PUT /fd-api/v1/personnel/:idmethod - added
cad_priorityparam toGET /fd-api/v1/nfirs-notifications/:idandPOST /fd-api/v1/nfirs-notificationsandPUT /fd-api/v1/nfirs-notifications/:idandPUT /fd-api/v1/nfirs-notifications/number/:incident_numbermethods - added
DELETE /fd-api/v1/personnel/:idmethod - added
latitudeandlongitudeparam toPOST /fd-api/v1/nfirs-notifications/number/:incident_number/apparatusesandPUT /fd-api/v1/nfirs-notifications/number/:incident_number/apparatuses/code/:unit_codeandPOST /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatusesandPUT /fd-api/v1/nfirs-notifications/:nfirs_notification_id/apparatuses/:idandPOST /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number/apparatusesandPUT /fd-api/v1/nfirs-notifications/dispatch-number/:dispatch_number/apparatuses/code/:unit_codemethods - added
GET /fd-api/v1/get-occupancy-dropdownsmethod