POST Register a series for the device key idempotently
/api/v1/ingest/series/register
Name and labels identify the series on the key’s device. Different labels create another series and consume allowance. Existing type/unit conflicts return 409; foreign-device access is not possible.
Name and labels identify the series on the key’s device. Different labels create another series and consume allowance. Existing type/unit conflicts return 409; foreign-device access is not possible.
API write key in Authorization: Bearer. It allows data submission for the selected devices or all devices in its workspace.
Private API responses prohibit storage. Public OAuth metadata is cached for 300 seconds; live streams additionally prohibit transformation.
Content-Language
string; {"enum":["en","de"]}
Language of human-readable response text, resolved from Accept-Language or the documented browser preference. Technical codes and identifiers remain stable.
The default referrer policy is strict-origin-when-cross-origin. Provider-login responses use no-referrer to protect login parameters.
Vary
string
Responses vary by Accept-Language; browser-rendered responses can also vary by the preference cookie.
X-Content-Type-Options
JSON; {"const":"nosniff"}
The browser must use the declared content type.
X-Frame-Options
JSON; {"const":"DENY"}
The response must not be embedded in a frame.
X-Request-ID
string
Server-generated request identifier. Include this when reporting an error; inbound values are not trusted.
application/json
Field
Type and limits
Required
Meaning
$
object
Yes
—
$.created
boolean
Yes
—
$.id
string
Yes
UUID of this resource. Keep the returned identifier for subsequent operations.
json
{
"created": false,
"id": "demo"
}
Header
Type and limits
Meaning
Cache-Control
string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"}
Private API responses prohibit storage. Public OAuth metadata is cached for 300 seconds; live streams additionally prohibit transformation.
Content-Language
string; {"enum":["en","de"]}
Language of human-readable response text, resolved from Accept-Language or the documented browser preference. Technical codes and identifiers remain stable.
The default referrer policy is strict-origin-when-cross-origin. Provider-login responses use no-referrer to protect login parameters.
Vary
string
Responses vary by Accept-Language; browser-rendered responses can also vary by the preference cookie.
X-Content-Type-Options
JSON; {"const":"nosniff"}
The browser must use the declared content type.
X-Frame-Options
JSON; {"const":"DENY"}
The response must not be embedded in a frame.
X-Request-ID
string
Server-generated request identifier. Include this when reporting an error; inbound values are not trusted.
application/json
Field
Type and limits
Required
Meaning
$
object
Yes
—
$.created
boolean
Yes
—
$.id
string
Yes
UUID of this resource. Keep the returned identifier for subsequent operations.
json
{
"created": false,
"id": "demo"
}
Stable error codes
invalid_key
Header
Type and limits
Meaning
Cache-Control
string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"}
Private API responses prohibit storage. Public OAuth metadata is cached for 300 seconds; live streams additionally prohibit transformation.
Content-Language
string; {"enum":["en","de"]}
Language of human-readable response text, resolved from Accept-Language or the documented browser preference. Technical codes and identifiers remain stable.
Private API responses prohibit storage. Public OAuth metadata is cached for 300 seconds; live streams additionally prohibit transformation.
Content-Language
string; {"enum":["en","de"]}
Language of human-readable response text, resolved from Accept-Language or the documented browser preference. Technical codes and identifiers remain stable.
Private API responses prohibit storage. Public OAuth metadata is cached for 300 seconds; live streams additionally prohibit transformation.
Content-Language
string; {"enum":["en","de"]}
Language of human-readable response text, resolved from Accept-Language or the documented browser preference. Technical codes and identifiers remain stable.
Private API responses prohibit storage. Public OAuth metadata is cached for 300 seconds; live streams additionally prohibit transformation.
Content-Language
string; {"enum":["en","de"]}
Language of human-readable response text, resolved from Accept-Language or the documented browser preference. Technical codes and identifiers remain stable.
Private API responses prohibit storage. Public OAuth metadata is cached for 300 seconds; live streams additionally prohibit transformation.
Content-Language
string; {"enum":["en","de"]}
Language of human-readable response text, resolved from Accept-Language or the documented browser preference. Technical codes and identifiers remain stable.
Private API responses prohibit storage. Public OAuth metadata is cached for 300 seconds; live streams additionally prohibit transformation.
Content-Language
string; {"enum":["en","de"]}
Language of human-readable response text, resolved from Accept-Language or the documented browser preference. Technical codes and identifiers remain stable.
Private API responses prohibit storage. Public OAuth metadata is cached for 300 seconds; live streams additionally prohibit transformation.
Content-Language
string; {"enum":["en","de"]}
Language of human-readable response text, resolved from Accept-Language or the documented browser preference. Technical codes and identifiers remain stable.
This change does not have a general retry guarantee. If the response is unclear, read the affected resource before trying again. Follow Retry-After waiting times and request new sign-in or action codes when they expire.
Replace demo IDs, timestamps and placeholders with your own values. For a retry, keep the same IDs, time and content. These examples do not run requests on this page.
Keep login links, codes, cookies and keys private. Do not print them in logs or share them in support requests.
Up to 1,000 events and 256 KiB before and after decompression; each event is at most 4 KiB and message at most 2 KiB UTF-8. Event IDs are account-wide idempotency keys. The optional type label controls aggregates; absent type is generic. Structured run data requires enabled run ingestion and reserves normalized type/run_id labels.
Store a numerical batch. Success confirms stored data; identical point IDs and content count as duplicates. Limits: 1,000 items and 256 KiB before and after decompression. identity and gzip are supported; decoded bytes count toward usage. Readings may be up to 24 hours old or two minutes ahead. Distinct readings of one series must be at least one second apart, including existing readings.