---
title: "IncidentPerson"
url: "https://dev.4hse.com/api/incidentperson"
---

# IncidentPerson

An **IncidentPerson** represents a person involved in an incident. Links an incident (Incident) to a person-office assignment (PersonOffice).

Use this API to:

-   Register people involved in an incident
-   Find all people involved in an incident (filter by `office_incident_id`)
-   Find all incidents a person was involved in (filter by `person_office_id`)
-   Record sickness days per person (`days`)

Version

2.0.0

OpenAPI version

3.0.0

## Authentication

[Section titled “ Authentication ”](#authentication)

### OAuth2

[Section titled “OAuth2 ”](#oauth2)

**Security scheme type:** oauth2

**Flow type:** password

**Token URL:** [https://auth.4hse.com/realms/4hse/protocol/openid-connect/token](https://auth.4hse.com/realms/4hse/protocol/openid-connect/token)

### AccessToken

[Section titled “AccessToken ”](#accesstoken)

**Security scheme type:** apiKey

**Query parameter name:** access-token

## Operations

[Section titled “Operations”](#operations)

### index

[Section titled “index”](#operation-indexIncidentPerson-post)

POST

/v2/incident-person/index

-   

Returns a paginated list of people involved in incidents.

Most useful filters:

-   `office_incident_id`: all people involved in a specific incident
-   `person_office_id`: all incidents a person was involved in

## Authorizations

[Section titled “Authorizations ”](#authorizations)

-   **[OAuth2](/api/incidentperson/#oauth2)**
-   **[AccessToken](/api/incidentperson/#accesstoken)**

#### Request Body

[Section titled “Request Body ”](#request-body)

Parameters for searching

Select media typeapplication/json

object

**filter**

object

**office\_incident\_person\_id**

string format: uuid

**office\_incident\_id**

string format: uuid

**person\_office\_id**

string format: uuid

**code**

string

**description**

string

**days**

integer

**tenant\_id**

string format: uuid

**subtenant\_id**

string format: uuid

**person\_id**

string format: uuid

**person\_code**

string

nullable

**person\_first\_name**

string

**person\_last\_name**

string

**person\_is\_employee**

boolean

**incident\_code**

string

nullable

**incident\_name**

string

**incident\_date**

string format: date

**incident\_category**

string

nullable

**incident\_status**

string

Allowed values: new open closed

**project\_name**

string

**project\_type**

string

Allowed values: safety template

**office\_name**

string

**per-page**

integer

default: 100 \>= 1

**page**

integer

default: 1 \>= 1

**sort**

string

Allowed values: person\_first\_name person\_last\_name person\_code incident\_name incident\_date office\_name

##### Example

```
{  "filter": {    "office_incident_id": "5c6d7e8f-9012-3456-abcd-ef5678901234"  },  "per-page": 20,  "page": 1,  "sort": "person_last_name"}
```

#### Responses

[Section titled “ Responses ”](#responses)

##### 200

[Section titled “200 ”](#200)

List of involved people

Select media typeapplication/json

Array<object>

object

**office\_incident\_person\_id**

string format: uuid

**office\_incident\_id**

string format: uuid

**person\_office\_id**

string format: uuid

**code**

string

**description**

string

**days**

integer

**tenant\_id**

string format: uuid

**subtenant\_id**

string format: uuid

**person\_id**

string format: uuid

**person\_code**

string

nullable

**person\_first\_name**

string

**person\_last\_name**

string

**person\_is\_employee**

boolean

**incident\_code**

string

nullable

**incident\_name**

string

**incident\_date**

string format: date

**incident\_category**

string

nullable

**incident\_status**

string

Allowed values: new open closed

**project\_name**

string

**project\_type**

string

Allowed values: safety template

**office\_name**

string

#### Headers

[Section titled “Headers ”](#headers)

**X-Pagination-Current-Page**

integer

Current page

**X-Pagination-Page-Count**

integer

Total number of pages

**X-Pagination-Per-Page**

integer

Number of items per page

**X-Pagination-Total-Count**

integer

Total number of items

### create

[Section titled “create”](#operation-createIncidentPerson-post)

POST

/v2/incident-person/create

-   

Registers a person involved in an incident.

Requires `office_incident_id`, `person_office_id`, `subtenant_id` (office\_id), and `tenant_id` (project\_id). The `office_incident_person_id` is auto-generated if not provided.

## Authorizations

[Section titled “Authorizations ”](#authorizations)

-   **[OAuth2](/api/incidentperson/#oauth2)**
-   **[AccessToken](/api/incidentperson/#accesstoken)**

#### Request Body required

[Section titled “Request Body required ”](#request-body)

Involved person to register

Select media typeapplication/json

object

**office\_incident\_person\_id**

Unique identifier. Auto-generated if not provided.

string format: uuid

**office\_incident\_id**

required

The incident. Pass the `office_incident_id` from the Incident API.

string format: uuid

<= 50 characters

**person\_office\_id**

required

The involved person. Pass the `person_office_id` from the PersonOffice API.

string format: uuid

<= 50 characters

**code**

Identifier code.

string

nullable <= 50 characters

**description**

Description of the person’s involvement.

string

nullable

**days**

Number of sickness days for this person due to the incident.

integer

nullable

**tenant\_id**

required

The project (company). Pass the `project_id`.

string format: uuid

<= 50 characters

**subtenant\_id**

required

The office. Pass the `office_id`.

string format: uuid

<= 50 characters

#### Responses

[Section titled “ Responses ”](#responses)

##### 201

[Section titled “201 ”](#201)

Involved person registered successfully

Select media typeapplication/json

object

**office\_incident\_person\_id**

Unique identifier. Auto-generated if not provided.

string format: uuid

**office\_incident\_id**

required

The incident. Pass the `office_incident_id` from the Incident API.

string format: uuid

<= 50 characters

**person\_office\_id**

required

The involved person. Pass the `person_office_id` from the PersonOffice API.

string format: uuid

<= 50 characters

**code**

Identifier code.

string

nullable <= 50 characters

**description**

Description of the person’s involvement.

string

nullable

**days**

Number of sickness days for this person due to the incident.

integer

nullable

**tenant\_id**

required

The project (company). Pass the `project_id`.

string format: uuid

<= 50 characters

**subtenant\_id**

required

The office. Pass the `office_id`.

string format: uuid

<= 50 characters

### view

[Section titled “view”](#operation-viewIncidentPerson-get)

GET

/v2/incident-person/view/{id}

-   

Retrieves a single involved person by its ID.

## Authorizations

[Section titled “Authorizations ”](#authorizations)

-   **[OAuth2](/api/incidentperson/#oauth2)**
-   **[AccessToken](/api/incidentperson/#accesstoken)**

#### Path Parameters

[Section titled “Path Parameters ”](#path-parameters)

**id**

required

string format: uuid

The office\_incident\_person\_id to retrieve.

#### Responses

[Section titled “ Responses ”](#responses)

##### 200

[Section titled “200 ”](#200)

Involved person found

Select media typeapplication/json

object

**office\_incident\_person\_id**

string format: uuid

**office\_incident\_id**

string format: uuid

**person\_office\_id**

string format: uuid

**code**

string

**description**

string

**days**

integer

**tenant\_id**

string format: uuid

**subtenant\_id**

string format: uuid

**person\_id**

string format: uuid

**person\_code**

string

nullable

**person\_first\_name**

string

**person\_last\_name**

string

**person\_is\_employee**

boolean

**incident\_code**

string

nullable

**incident\_name**

string

**incident\_date**

string format: date

**incident\_category**

string

nullable

**incident\_status**

string

Allowed values: new open closed

**project\_name**

string

**project\_type**

string

Allowed values: safety template

**office\_name**

string

##### 404

[Section titled “404 ”](#404)

Not found

### update

[Section titled “update”](#operation-updateIncidentPerson-put)

PUT

/v2/incident-person/update/{id}

-   

Updates an existing involved person record.

## Authorizations

[Section titled “Authorizations ”](#authorizations)

-   **[OAuth2](/api/incidentperson/#oauth2)**
-   **[AccessToken](/api/incidentperson/#accesstoken)**

#### Path Parameters

[Section titled “Path Parameters ”](#path-parameters)

**id**

required

string format: uuid

The office\_incident\_person\_id to update.

#### Request Body required

[Section titled “Request Body required ”](#request-body)

Fields to update

Select media typeapplication/json

object

**office\_incident\_person\_id**

Unique identifier. Auto-generated if not provided.

string format: uuid

**office\_incident\_id**

required

The incident. Pass the `office_incident_id` from the Incident API.

string format: uuid

<= 50 characters

**person\_office\_id**

required

The involved person. Pass the `person_office_id` from the PersonOffice API.

string format: uuid

<= 50 characters

**code**

Identifier code.

string

nullable <= 50 characters

**description**

Description of the person’s involvement.

string

nullable

**days**

Number of sickness days for this person due to the incident.

integer

nullable

**tenant\_id**

required

The project (company). Pass the `project_id`.

string format: uuid

<= 50 characters

**subtenant\_id**

required

The office. Pass the `office_id`.

string format: uuid

<= 50 characters

#### Responses

[Section titled “ Responses ”](#responses)

##### 200

[Section titled “200 ”](#200)

Updated successfully

Select media typeapplication/json

object

**office\_incident\_person\_id**

Unique identifier. Auto-generated if not provided.

string format: uuid

**office\_incident\_id**

required

The incident. Pass the `office_incident_id` from the Incident API.

string format: uuid

<= 50 characters

**person\_office\_id**

required

The involved person. Pass the `person_office_id` from the PersonOffice API.

string format: uuid

<= 50 characters

**code**

Identifier code.

string

nullable <= 50 characters

**description**

Description of the person’s involvement.

string

nullable

**days**

Number of sickness days for this person due to the incident.

integer

nullable

**tenant\_id**

required

The project (company). Pass the `project_id`.

string format: uuid

<= 50 characters

**subtenant\_id**

required

The office. Pass the `office_id`.

string format: uuid

<= 50 characters

##### 404

[Section titled “404 ”](#404)

Not found

### delete

[Section titled “delete”](#operation-deleteIncidentPerson-delete)

DELETE

/v2/incident-person/delete/{id}

-   

Deletes an involved person record.

## Authorizations

[Section titled “Authorizations ”](#authorizations)

-   **[OAuth2](/api/incidentperson/#oauth2)**
-   **[AccessToken](/api/incidentperson/#accesstoken)**

#### Path Parameters

[Section titled “Path Parameters ”](#path-parameters)

**id**

required

string format: uuid

The office\_incident\_person\_id to delete.

#### Query Parameters

[Section titled “Query Parameters ”](#query-parameters)

**force**

boolean

If true, deletes the record.

#### Responses

[Section titled “ Responses ”](#responses)

##### 204

[Section titled “204 ”](#204)

Deleted successfully

##### 400

[Section titled “400 ”](#400)

Preview of affected entities (returned when force=false)

This site is protected by reCAPTCHA and the Google [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms) apply.