Skip to main content
POST
Ingest devices through a connector
The request is checked first and then runs as a job. A 202 response means the job started, not that the devices exist yet. Read the job with Get a job until status is COMPLETED, then read the devices back. A job has no result for each item.
Send 1 to 1,000 items in one request. Each item needs three members: You can also send deviceLocation, a text description of where the device is.
  • Only KODE API connectors accept ingestion. A connector of another type returns 400.
  • Send a deviceExternalId that exists already and the API updates the name and the location of that device. It does not create a second device.
  • The devices are created in the building and the connector in the path. A buildingId in the body is ignored.
  • Ingest devices before you ingest their points. See Ingest points through a connector.

Authorizations

Authorization
string
header
required

Paste an access token from Create an access token. Tokens expire, so request a new one if you receive 401.

Path Parameters

buildingId
string
required

Building identifier from List buildings.

connectorId
string
required

ID of a KODE API connector, from _id in Create a KODE API connector.

Body

application/json
items
object[]
required
Required array length: 1 - 1000 elements

Response

The job that was started, with status PROCESSING.

_id
string
organizationId
string
createdAt
string
read-only

Date and time in UTC, with a numeric offset and no colon, for example 2026-10-28T13:51:31+0000.

Example:

"2026-10-28T13:51:31+0000"

updatedAt
string
read-only

Date and time in UTC, with a numeric offset and no colon, for example 2026-10-28T13:51:31+0000.

Example:

"2026-10-28T13:51:31+0000"

name
string
description
string
status
enum<string>
Available options:
PENDING,
PROCESSING,
PROCESSED,
COMPLETED,
FAILED,
CANCELED
errorMessage
string