---
title: "POST /assets/{assetId}/devices"
method: POST
path: "/assets/{assetId}/devices"
tags: ["Assets - Devices"]
---

# POST /assets/{assetId}/devices

`POST /assets/{assetId}/devices`

## Request

- The document declares no server URL.
- Auth: none declared

## Path parameters

- `assetId` string, required

## Request body

- CreateOrUpdateAssetDeviceModel
  - `serialNumber` string, required
  - `deviceTypeId` string, required

## Response `200`

## Other responses

- `400`
- `404`

## Changes

> 56 revisions in range; 6 not diffed.

- **2026-06-29** `59b8e3301f37`: 3 warning, 5 info
  - removed the optional property `code` from the response with the `400` status
  - removed the optional property `errors` from the response with the `400` status
  - removed the optional property `message` from the response with the `400` status
  - added the optional property `detail` to the response with the `400` status
  - …4 more
- **2024-11-16** `522dcbb4e6ef`: 1 breaking, 2 info
  - the response property `errors` became nullable for the status `400`
  - api tag `Assets - Devices` added
  - api tag `AssetsDevices` removed
- **2024-03-18** `5d7c2a1c439b`: 1 info
  - api operation id `AssetsDevices_Update` removed and replaced with `AssetsDevices_CreateOrUpdate`
- **2023-12-21** `ed52e5aeebfe`: 8 breaking, 5 warning, 5 info
  - request body became required
  - removed the media type `application/*+json` from the request body
  - removed the media type `text/json` from the request body
  - removed the media type `text/json` for the response with the status `400`
  - …14 more

[Operation history](https://skmtc.dev/navtrack/apis/navtrack-api/changes/assets/:assetId/devices/post.md)

---

[API](https://skmtc.dev/navtrack/apis/navtrack-api.md) - [All operations](https://skmtc.dev/navtrack/apis/navtrack-api/llms.txt) - [OpenAPI document](https://skmtc.dev/navtrack/apis/navtrack-api/revisions/70d0b7ce1640?raw)
