Skip to main content
POST
Ingest points through a connector
The request is checked first and then runs as a job. A 202 response means the job started, not that the points exist yet. Read the job with Get a job until status is COMPLETED, then read the points back. A job has no result for each item.
Send 1 to 1,000 items in one request. Each item describes one point and the device it belongs to. The request returns 400 before any job starts when:
  • A parent device was not ingested on this connector. The message lists the missing deviceExternalId values.
  • A pointUnit is not an ontology unit. The message lists the unknown ids.
  • A pointKind is not Number, Str, or Bool.
  • A point has pointMinVal higher than pointMaxVal.
  • The connector is not a KODE API connector.
Send a pointExternalId that exists already and the API does not create a second point. A buildingId in the body is ignored.

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