---
title: "Insert/Update calibration of sensor(s). If calibration attributes like: 'version', 'calibrationType' or 'osmURL' needs to be changed, then use '/config/upload-file/{docType}' to upload the calibration file."
method: POST
path: "/config/calibration/upsert"
tags: ["config"]
---

# Insert/Update calibration of sensor(s). If calibration attributes like: 'version', 'calibrationType' or 'osmURL' needs to be changed, then use '/config/upload-file/{docType}' to upload the calibration file.

`POST /config/calibration/upsert`

## Request body

- Calibration, nullable
  - `version` string, required
  - `osmURL` string, required
  - `calibrationType` 'geo' | 'cartesian' | 'image', required
  - `sensors` object[], required
    - `type` string, required
    - `id` string, required
    - `origin` object, required
      - `lat` number, double, required
      - `lng` number, double, required
    - `geoLocation` object, required
      - `lat` number, double, required
      - `lng` number, double, required
    - `coordinates` object, required
      - `x` number, double, required
      - `y` number, double, required
      - `z` number, double
    - `translationToGlobalCoordinates` object
      - `x` number, double, required
      - `y` number, double, required
      - `z` number, double
    - `scaleFactor` number, double, required
    - `attributes` object[], required
      - `name` string, required
      - `value` string, required
    - `group` object
      - `name` string, required
      - `type` string, required
      - `origin` number[], required
      - `dimensions` number[], required
      - `alias` string
    - `region` object
      - `placeLevel` string, required
      - `origin` number[], required
      - `dimensions` object, required
        - `length` number, double, required
        - `width` number, double, required
    - `place` object[], required
      - `name` string, required
      - `value` string, required
    - `imageCoordinates` object[], required
      - `x` number, required
      - `y` number, required
    - `globalCoordinates` object[], required
      - `x` number, required
      - `y` number, required
      - `z` number
    - `intrinsicMatrix` array[]
      - number[]
    - `extrinsicMatrix` array[]
      - number[]
    - `cameraMatrix` array[]
      - number[]
    - `homography` array[]
      - number[]
    - `rois` object[]
      - `id` string, required
      - `type` string
      - `roiCoordinates` object[], required
        - `x` number, required
        - `y` number, required
        - `z` number
      - `restrictedObjectTypes` string[]
      - `confinedObjectTypes` string[]
    - `tripwires` object[]
      - `id` string, required
      - `wire` object, required
        - `p1` object, required
          - `x` number, required
          - `y` number, required
        - `p2` object, required
          - `x` number, required
          - `y` number, required
      - `direction` object, required
        - `p1` object, required
          - `x` number, required
          - `y` number, required
        - `p2` object, required
          - `x` number, required
          - `y` number, required
  - `rois` object[]
    - `id` string, required
    - `type` string
    - `roiCoordinates` object[], required
      - `x` number, required
      - `y` number, required
      - `z` number
    - `sensors` string[], required
    - `groups` string[], required
    - `restrictedObjectTypes` string[]
    - `confinedObjectTypes` string[]
  - `tripwires` object[]
    - `id` string, required
    - `wire` object, required
      - `p1` object, required
        - `x` number, required
        - `y` number, required
      - `p2` object, required
        - `x` number, required
        - `y` number, required
    - `direction` object, required
      - `p1` object, required
        - `x` number, required
        - `y` number, required
      - `p2` object, required
        - `x` number, required
        - `y` number, required
    - `sensors` string[], required
    - `groups` string[], required
  - `corridors` object[]
    - `name` string, required
    - `sensors` string[], required
    - `directions` string[], required
    - `length` number, double, required

## Response `201`

Successful Operation.

- Success
  - `success` boolean, required

## Other responses

- `400` — Bad Request. This response will be sent if request body doesn't follow schema.
- `404` — Resource Not Found
- `422` — Unprocessable Entity
- `500` — Internal Server Error

---

[API](https://skmtc.net/nvidia/apis/vss-video-analytics-apis.md) · [All operations](https://skmtc.net/nvidia/apis/vss-video-analytics-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nvidia/vss-video-analytics-apis/versions/0ff2b2f41244/schema)
