Common resources
Foundational types, scalars, and interfaces shared across the API, including Node, Titled, Versioned, pagination types, and common scalars like DateTime and Decimal.
Foundational types, scalars, and interfaces used throughout the API.
Queries
node (query)
Retrieves any entity by its globally unique identifier.
node(id: ID!): NodeArguments
id
ID!
The ID of the entity to retrieve.
Output types:
nodes
Retrieves multiple entities by their globally unique identifiers. Returns items in the same order as the input IDs.
nodes(ids: [ID!]!): [Node]!Arguments
ids
[ID!]!
The IDs of the entities to retrieve.
Output types:
Objects
DeletePayload
The result of a delete mutation.
deletedId
ID!
The ID of the deleted entity.
PageInfo
Information about the current page in a paginated connection.
hasNextPage
Boolean!
Whether more items exist after the current page.
hasPreviousPage
Boolean!
Whether more items exist before the current page.
startCursor
String
The cursor pointing to the first item in the current page.
endCursor
String
The cursor pointing to the last item in the current page.
CountInfo
Information about the total count of items in a connection.
count
Int!
The count of items matching the filter.
Money
A monetary amount in minor units (cents) with currency.
Enums
OrderDirection
The direction for sorting query results.
ASC
Sort in ascending order (A→Z, 0→9, oldest→newest). NULL values appear last.
DESC
Sort in descending order (Z→A, 9→0, newest→oldest). NULL values appear first.
CountPrecision
How far a CountInfo.count can be trusted.
EXACT
The count is exact.
APPROXIMATE
The count is not exact. The connection's total description says how it can differ from the number of items a client can page through.
Interfaces
Node
An object with a globally unique identifier.
id
ID!
A globally unique identifier. This ID is opaque and should not be parsed by clients.
Versioned
An object that supports optimistic locking for concurrency control.
version
Int!
The version number for optimistic locking. Incremented on each update. Can be provided in update/delete mutations to prevent lost updates. If omitted, the update proceeds without stale-read protection.
Edge
An edge in a paginated connection.
cursor
String!
An opaque cursor for this edge, used for pagination.
Connection
A paginated connection following the Relay Cursor Connections specification.
Titled
An object with a human-readable display name.
title
String!
The human-readable display name.
Customizable
An object that supports custom field values.
Implies Node: values are stored on the holder and indexed by its id, so every holder is an addressable entity. Selecting id on a Customizable fragment therefore needs no concrete type.
Implements: Node
id
ID!
A globally unique identifier. This ID is opaque and should not be parsed by clients.
customFields
[CustomFieldValue!]!
Typed custom field values, one entry per set field code. Each element is a concrete CustomFieldValue implementation matching the field's FieldType — select fields via inline fragments. The system-reserved code geojson_data is excluded — it is exposed through GeoObject.geojsonData instead.
Arguments of customFields
MultiValue
An interface for field parameters that support selecting multiple values.
isMulti
Boolean!
Whether multiple values can be selected for this field.
Scalars
DateTime
An ISO 8601 datetime string with timezone (RFC 3339). Example: 2024-01-15T10:30:00Z.
Format
YYYY-MM-DDTHH:mm:ss.sssZ
Example
2025-01-15T14:30:00.000Z
JSON
An arbitrary JSON value. Can be an object, array, string, number, boolean, or null.
Format
Any valid JSON
Example
{"key": "value", "count": 42}
Specification
UUID
A UUID (RFC 9562) that is not an entity id of this API — unlike ID, which is always a platform UUIDv8 carrying an entity-type discriminator. node(id:) does not resolve one.
It carries two kinds of value. Actor ids, a person's or an agent's as Console and IAM name them (actorId, actorUserId, actorAgentId): Console mints a person's id with the entity type this API's User ids carry, but from its own records, so it is not a User id, and an agent's id is a plain v4. And keys a caller chooses, such as idempotencyKey.
Specification
Code
A machine-readable identifier code.
Constraints:
Allowed characters: ASCII letters (a-z, A-Z), digits (0-9), underscore (_), dot (.), hyphen (-)
Must start with a letter or digit
Case-preserving: the original casing is stored as provided
Case-insensitive for uniqueness checks and comparisons
Length: 1 to 100 characters (auto-generated codes are truncated to 30)
Uniqueness:
For catalog items: unique within the same catalog and workspace scope
For custom field definitions: unique per owner catalog item and workspace
For field options (OPTIONS type): unique within a single field definition
Additional uniqueness requirements may apply depending on context (see individual fields)
Examples: DEVICE_TYPE, vehicle_car, status.active, sensor-v2, ABC123
Format
UPPER_SNAKE_CASE, lower_snake_case
Example
DEVICE_TYPE, vehicle_type
Long
Signed 64-bit integer in the range [-9223372036854775808, 9223372036854775807]. Encoded as a JSON number.
Format
64-bit signed integer
Example
1234567890123456789
Duration
An ISO 8601 duration restricted to the fixed-length designators — PnDTnHnMn.nS, optionally signed. Examples: PT5M (five minutes), PT1H30M, P1D, PT0.5S, -PT5M.
Always the ISO form, never a bare number of seconds and never a shorthand like 5m: a duration that travels as a string with no agreed grammar is a duration every caller parses differently.
The calendar designators are refused, not silently reinterpreted: P1Y, P1M and P1W all fail coercion. Their length is a question about a calendar and a time zone, and a duration on the wire carries neither — a month is 28 to 31 days, and a week is 168 hours only where no DST transition falls inside it. A caller that means a calendar step asks for a date range instead.
@specifiedBy points at the Navixy page rather than at ISO 8601 or RFC 3339, because the full grammar in either is precisely what this scalar does not accept — a pointer to it would describe the wrong type. The page restates the paragraphs above; those paragraphs and ScalarCoercingTest.DurationCoercingTest are the contract.
Date
An ISO 8601 date string without time component (RFC 3339). Example: 2024-01-15.
GeoJSON
A bare GeoJSON geometry object (RFC 7946 §3.1) — one of the types GeoJsonGeometryType lists.
The Feature and FeatureCollection wrappers are rejected everywhere this scalar is used, GeoObject.geojsonData and GEOJSON custom-field values alike: send feature.geometry, not the feature.
Format
GeoJSON geometry object
Example
{"type": "Point", "coordinates": [125.6, 10.1]}
Specification
Decimal
Arbitrary-precision decimal value encoded as a JSON string (e.g. "5.25"). String encoding avoids the precision loss inherent in JSON Float.
Values exceeding the declared scale of a decimal custom field are rounded server-side using HALF_UP (round half away from zero for positive values, round half toward zero for negative — matches Java RoundingMode.HALF_UP). The rounded value is persisted in both the CFV table and the custom_fields_data JSONB blob; raw un-rounded input is never stored.
Storage is numeric(28, 10) — up to 28 significant digits, of which at most 10 follow the decimal point (so up to 18 digits before). Values exceeding this envelope (e.g. more than 18 integer digits) are rejected as VALIDATION_ERROR at the API layer.
Format
String-encoded decimal number
Example
"123.456"
Latitude
A geographic latitude coordinate in decimal degrees. Valid range: -90.0 to 90.0.
Format
-90.0 to 90.0
Example
37.7749
Longitude
A geographic longitude coordinate in decimal degrees. Valid range: -180.0 to 180.0.
Format
-180.0 to 180.0
Example
-122.4194
Locale
A BCP 47 language tag identifying a user locale. Example: en-US, es-MX, fr-CA.
Format
language-REGION
Example
en-US
EmailAddress
An email address conforming to RFC 5322. Example: [email protected].
Format
user@domain
Example
HexColorCode
A hexadecimal color code. Supports 3-digit (#RGB) or 6-digit (#RRGGBB) format.
Format
#RRGGBB
Example
#FF5733
CountryCode
An ISO 3166-1 alpha-2 country code. Example: US, GB, ES.
Format
Two uppercase letters
Example
US
Currency
ISO 4217 three-letter currency code (for example: USD, EUR, JPY).
See also
Last updated
Was this helpful?