i-PRO Active Guard server WebAPI (ver.1)

Introduction

i-PRO Active Guard server provide integration option via WEB API. The client can use following data stored in i-PRO Active Guard server.

  • Search face, people or vehicle Best shot images.
  • Search alarm history (ex. Resistered face detection, Registered people detection ,AI-VMD and so on.)
  • Control face or people watchlist
  • Get statistics data (ex. People counting, Face and gender statistics, people or vehicle attribute statistics.)

Support

Please access Integration Partner Portal to submit related questions.

An account is required to submit inquiry. If you do not have an account, you can create.

HTTP Common Definition

HTTP version

Execute the request using the method of HTTP /1.1

Request Header

Table Request Header

No. HTTP Header Value
Content-Type application/json; charset=UTF-8
Connection Close
Content-Length Send data size

Response Header

The HTTP status code is set to “200” unless the HTTP server normally accepts a message from the client and thereafter cannot respond from the application.

For other general HTTP communication errors, for examples, 404 or 403 will be responded In that case, no response body is set.

Content-Body

Request

JSON format is used. When the API needs image data, the data should be encoded with BASE64.

Response

The result related to the request is returned in the HTTP status code and response body in JSON format.

When the response includes the image data, they are encoded with BASE64.

Example of resonse

  {
    "status_body":
    {
        "status":true,
        "details": [
          {
            "srv_id":"9999",
            "code":"00000",
            "message":"OK"
          }         
        ]
    },
    "result_body":
    {
        *Depends on API
    }
  }

"status" is set to true when details.code includes "00000" and "00001".

When status is true, detail data exist in result_body. When status is false, detail data does not exist in result_body.

"srv_id" in "details" is 9999 (fixed value).

Authentication

Digest Authentication is used between the client and i-PRO Active Guard server.

SSL Communication

HTTPS communication is possible between the client and the i-PRO Active Guard server by configuring server setting.

Only TLS1.2 is supported. Self-signed certificate is installed as defalut when installing i-PRO Active Guard server.

To verify the certificate on client side, it is recoomennded to replace to CA certificate.

License

This document is generated using ReDoc.

About License

Device Information

Get System Information

Available AI analytics feature depends on extension software installed on cameras.
Client can get which AI feature is available now as whole system by using this API for Best shot image, Alarm history, respectively.

Responses

Response samples

Content type
application/json
{
  • "status_body": {
    • "status": true,
    • "details": [
      • {
        • "srv_id": "9999",
        • "code": "00000",
        • "message": "OK"
        }
      ]
    },
  • "result_body": {
    • "multi_ai_soft_version": "1.3.2.4",
    • "bestshot_type_list": [
      • {
        • "section": "face",
        • "server_type": "local",
        • "search_item": [
          • "date&time",
          • "cameras"
          ]
        },
      • {
        • "section": "people",
        • "server_type": "local",
        • "search_item": [
          • "date&time",
          • "cameras",
          • "attribute",
          • "similarity"
          ]
        },
      • {
        • "section": "vehicle",
        • "server_type": "local",
        • "search_item": [
          • "date&time",
          • "cameras",
          • "attribute",
          • "similarity"
          ]
        }
      ],
    • "alarm_type_list": [
      • {
        • "section": "face",
        • "alarm_type": "(registered category)"
        },
      • {
        • "section": "people",
        • "alarm_type": "listed-alarm"
        },
      • {
        • "section": "sound",
        • "alarm_type": [
          • "gunshot",
          • "glass break",
          • "vehicle horn",
          • "yell",
          • "audio detection"
          ]
        },
      • {
        • "section": "aivmd",
        • "alarm_type": [
          • "intruder detection",
          • "loitering detection",
          • "cross line detection",
          • "direction detection"
          ]
        },
      • {
        • "section": "peopleCount",
        • "alarm_type": [
          • "occupancy"
          ]
        }
      ]
    }
}

Get Cameras Information

Client can get AI feature of the camera and Camera ID that is required for many API request to specify the camera.

Responses

Response samples

Content type
application/json
{
  • "status_body": {
    • "status": true,
    • "details": [
      • {
        • "srv_id": "9999",
        • "code": "00000",
        • "message": "OK"
        }
      ]
    },
  • "result_body": {
    • "system_type_list": [
      • {
        • "system_type": "multi-AI",
        • "srv_id_list": [
          • {
            • "srv_id": "9999",
            • "cameras": [
              • {
                • "camera_id": "1557187868",
                • "camera_ip": "192.168.0.10",
                • "camera_model": "WV-X2571L",
                • "camera_name": "Entrance camera",
                • "ai_capability": [
                  • "face",
                  • "people",
                  • "sound"
                  ],
                • "is_enabled": "true"
                },
              • {
                • "camera_id": "1826478927",
                • "camera_ip": "192.168.0.11",
                • "camera_model": "WV-S2136",
                • "camera_name": "Parking lot",
                • "ai_capability": [
                  • "vehicle",
                  • "aivmd"
                  ],
                • "is_enabled": "true"
                },
              • {
                • "camera_id": "923264335",
                • "camera_ip": "192.168.0.12",
                • "camera_model": "WV-S4156",
                • "camera_name": "Exit",
                • "ai_capability": [
                  • "aivmd",
                  • "peopleCount"
                  ],
                • "is_enabled": "true"
                }
              ]
            }
          ]
        }
      ]
    }
}

Best shot Image

Face, people or vehilce Best shot images stored in i-PRO Active Guard server can be searched and get by API. Client need to send 'Start Search' with search condition and get the 'search_session_id' from the response at first.

Using 'Get Search Result Summary' with the 'search_session_id', client can get timestamp and 'thumbnail-key' which is used to get Best shot image binary data. The client can also request the specified number from the total number of all search results.

Finally, sending 'Get Best shot image' API for each 'thumbnail-key', image data will be get.

Start Search

By sending search condition, client can get 'search_session_id'.
It is possible to request for face, people and vehicle at the same time.

Request Body schema: application/json
Any of
required
object

Face search condition
'search_thumbnail_1' and 'matching_list_id' are exclusive.If neither is specified, all facial images for the specified date and time and camera will be searched.

date_from
required
string <YYYY-MM-DD hh:mm:ss>

Start date and time. (*UTC)

date_to
required
string <YYYY-MM-DD hh:mm:ss>

End date and time. (*UTC)

object

Sort

Responses

Request samples

Content type
application/json
Example
{
  • "section_face": {
    • "similarity": "50",
    • "cameras": [
      • {
        • "srv_id": "9999",
        • "camera_id": "1557187868"
        }
      ],
    • "matching_list_id": "7d6b8ce8-e51c-41bf-a382-f29e818f10b8"
    },
  • "date_from": "2022-01-01 01:00:00",
  • "date_to": "2022-01-10 23:59:59",
  • "sort": {
    • "sort-item": "shot-date-time",
    • "asc-desc": "desc"
    }
}

Response samples

Content type
application/json
{
  • "status_body": {
    • "status": true,
    • "details": [
      • {
        • "srv_id": "9999",
        • "code": "00000",
        • "message": "OK"
        }
      ]
    },
  • "result_body": {
    • "search_session_id": "1620151537"
    }
}

Get Search Result Summary

Search result summary such as the number of result, timestamp for each image, and 'thumbnail_key' can be get for the specified 'search_session_id'.
The client can also request the specified number from the total number of all search results.

path Parameters
search_session_id
required
string
Example: 1620151537

Search session ID

query Parameters
result-from
integer
Example: result-from=1

Search result acquisition start number
When omitted, it is acquired from first number.

result-count
integer
Example: result-count=100

Set the get maximum number of results from 'result_from'.
When omitted, all search results are got but it may take time.

Responses

Response samples

Content type
application/json
{
  • "status_body": {
    • "status": true,
    • "details": [
      • {
        • "srv_id": "9999",
        • "code": "00000",
        • "message": "OK"
        }
      ]
    },
  • "result_body": {
    • "search_session_id": "1620151537",
    • "result_count": "200",
    • "search_result": [
      • {
        • "shot_date_time": "2022-01-01 00:00:00.000",
        • "camera_id": "1557187868",
        • "system_type": "multi-AI",
        • "srv_id": "9999",
        • "source_type": "face",
        • "degree_of_similarity": "74",
        • "thumbnail_key": "SearchThumbnail\\\\multi-AI\\\\9999\\\\1557187868\\\\2022\\\\01\\\\01\\\\000000000_3D24F100A42311EC89B21557187868.jpg"
        },
      • {
        • "shot_date_time": "2022-01-01 00:00:30.000",
        • "camera_id": "1557187868",
        • "system_type": "multi-AI",
        • "srv_id": "9999",
        • "source_type": "face",
        • "degree_of_similarity": "56",
        • "thumbnail_key": "SearchThumbnail\\\\multi-AI\\\\9999\\\\1557187868\\\\2022\\\\01\\\\01\\\\000030000_4F102100A42311EC89B21557147321.jpg"
        }
      ]
    }
}

Get Best shot image

Best shot image data can be get for the specific 'thumbnail_key'.
When 'info=on' is added for the query, detail information such as analyzed attribute score and the size of image will be included.

query Parameters
thumbnail-key
required
string
Example: thumbnail-key=SearchThumbnail\\multi-AI\\9999\\1557187868\\2022\\03\\C15\\144618780_3D24F100A42311EC89B21557187868.jpg

Key of the Best shot image

info
string
Example: info=on

When on is set, analyzed attribute score and the size of image will be respond.

Responses

Response samples

Content type
application/json
Example
{
  • "status_body": {
    • "status": true,
    • "details": [
      • {
        • "srv_id": "9999",
        • "code": "00000",
        • "message": "OK"
        }
      ]
    },
  • "result_body": {
    • "thumbnail_image": "(Base64 encoded image)",
    • "recommended_size": [
      • {
        • "recommended": "no",
        • "detect_pixel_width": "198",
        • "detect_pixel_height": "198"
        }
      ]
    }
}

Cancel Search

path Parameters
search_session_id
required
string
Example: 1620151537

Search session ID

Responses

Response samples

Content type
application/json
{
  • "status_body": {
    • "status": true,
    • "details": [
      • {
        • "srv_id": "9999",
        • "code": "00000",
        • "message": "OK"
        }
      ]
    }
}

Alarm History

Start Search

Alarm history for Registered face detection, Registered people detection, sound alarm, AI-VMD and occupancy detection can be searched.
By sending search condition, client can get 'search_session_id'.
It is possible to request for multiple alarm kind at the same time.

Request Body schema: application/json
Any of
required
object

Search face matching alarm history Request

date_from
required
string <YYYY-MM-DD hh:mm:ss>

Start date and time(*UTC)

date_to
required
string <YYYY-MM-DD hh:mm:ss>

End date and time(*UTC)

object

Responses

Request samples