Firefighters

Manage firefighter records — list, create, update, and delete personnel in your department.

Overview #

The Firefighters API provides full CRUD operations for managing firefighter personnel records. All endpoints are scoped to your tenant — you can only access firefighters belonging to your department.

Fields Reference #

Name Type Description
id uuid Optional Unique identifier
firstName string Required First name (1-100 characters)
lastName string Required Last name (1-100 characters)
phoneNumber string Optional Phone number (up to 50 characters)
email string Optional Email address
dateOfBirth datetime Optional Date of birth (ISO 8601)
invitationStatus string Optional Invitation status to the platform
userId uuid Optional Linked user account ID

List Firefighters #

Returns a paginated list of firefighters. Supports search, sorting, and pagination.

GET /api/v1/firefighters

Query Parameters

Name Type Description
page integer Optional Page number (default: 1)
pageSize integer Optional Items per page (default: 20, max: 100)
search string Optional Search by name, email, or phone
sortBy string Optional Sort field (e.g. firstName, lastName)
sortDir string Optional Sort direction: asc or desc (default: desc)
bash Request
curl -X GET "https://app.firecustos.com/api/v1/firefighters?page=1&pageSize=10&search=Ivan" \
  -H "Authorization: Bearer fc_your_api_key_here"

200 OK

json Response
{
  "data": {
    "items": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "firstName": "Ivan",
        "lastName": "Horvat",
        "phoneNumber": "+385 91 234 5678",
        "email": "ivan.horvat@example.com",
        "dateOfBirth": "1990-05-15T00:00:00Z",
        "invitationStatus": null,
        "userId": null
      }
    ],
    "page": 1,
    "pageSize": 10,
    "totalCount": 1,
    "totalPages": 1,
    "hasPreviousPage": false,
    "hasNextPage": false
  },
  "totalCount": 1
}

Get Firefighter #

Returns a single firefighter by ID.

GET /api/v1/firefighters/{id}

Path Parameters

Name Type Description
id uuid Required Firefighter UUID
bash Request
curl -X GET https://app.firecustos.com/api/v1/firefighters/3fa85f64-5717-4562-b3fc-2c963f66afa6 \
  -H "Authorization: Bearer fc_your_api_key_here"

200 OK

json Response
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "firstName": "Ivan",
  "lastName": "Horvat",
  "phoneNumber": "+385 91 234 5678",
  "email": "ivan.horvat@example.com",
  "dateOfBirth": "1990-05-15T00:00:00Z",
  "invitationStatus": null,
  "userId": null
}

Create Firefighter #

Creates a new firefighter record.

POST /api/v1/firefighters

Request Body

Name Type Description
firstName string Required First name (1-100 characters)
lastName string Required Last name (1-100 characters)
phoneNumber string Optional Phone number (up to 50 characters)
email string Optional Email address
dateOfBirth datetime Optional Date of birth (ISO 8601)
bash Request
curl -X POST https://app.firecustos.com/api/v1/firefighters \
  -H "Authorization: Bearer fc_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"firstName":"Marko","lastName":"Perić","phoneNumber":"+385 98 765 4321","email":"marko.peric@example.com","dateOfBirth":"1985-03-22T00:00:00Z"}'

201 Created

json Response
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "firstName": "Marko",
  "lastName": "Perić",
  "phoneNumber": "+385 98 765 4321",
  "email": "marko.peric@example.com",
  "dateOfBirth": "1985-03-22T00:00:00Z",
  "invitationStatus": null,
  "userId": null
}

Update Firefighter #

Updates an existing firefighter record. All fields in the request body are required — this is a full replacement.

PUT /api/v1/firefighters/{id}

Path Parameters

Name Type Description
id uuid Required Firefighter UUID

Request Body

Name Type Description
firstName string Required First name (1-100 characters)
lastName string Required Last name (1-100 characters)
phoneNumber string Optional Phone number (up to 50 characters)
email string Optional Email address
dateOfBirth datetime Optional Date of birth (ISO 8601)
bash Request
curl -X PUT https://app.firecustos.com/api/v1/firefighters/7c9e6679-7425-40de-944b-e07fc1f90ae7 \
  -H "Authorization: Bearer fc_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"firstName":"Marko","lastName":"Perić","phoneNumber":"+385 98 765 0000","email":"marko.peric@example.com","dateOfBirth":"1985-03-22T00:00:00Z"}'

200 OK

json Response
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "firstName": "Marko",
  "lastName": "Perić",
  "phoneNumber": "+385 98 765 0000",
  "email": "marko.peric@example.com",
  "dateOfBirth": "1985-03-22T00:00:00Z",
  "invitationStatus": null,
  "userId": null
}

Delete Firefighter #

Deletes a firefighter record (soft delete).

DELETE /api/v1/firefighters/{id}

Path Parameters

Name Type Description
id uuid Required Firefighter UUID
bash Request
curl -X DELETE https://app.firecustos.com/api/v1/firefighters/7c9e6679-7425-40de-944b-e07fc1f90ae7 \
  -H "Authorization: Bearer fc_your_api_key_here"

204 No Content

On success, the API returns an empty response with status 204.