SDS type codes
- Last UpdatedNov 03, 2026
- 4 minute read
SDS type codes (referred to as stream type codes in this topic) identify the kind of data represented by a stream type or one of its properties. For example, Double identifies a numeric type, String identifies text, and DateTime identifies a date and time. The sdsTypeCode property in a stream type definition specifies this information so the service and clients can interpret its values.
Nullable and array variants are grouped with their base type family. Numeric codes identify types.
In default JSON responses, properties whose values equal their type defaults may be omitted from the payload to reduce its size. For example, a non-nullable numeric property with value 0 may be absent. Requesting Accept-Verbosity: verbose explicitly includes many otherwise-omitted default-valued properties, unless the service excludes them. Omission does not remove the data point or change its underlying values; those values still participate in summaries and calculations. Clients must interpret omitted properties using their data types. A generic JSON parser does not restore them automatically.
Numeric types
Numeric types represent whole numbers or values with fractional components, such as counts, measurements, and totals. Integer types differ in size and whether they support negative values; floating-point and decimal types differ in range and precision.
|
Type name |
Numeric code |
Default value |
|---|---|---|
|
SByte |
5 |
0 |
|
Byte |
6 |
0 |
|
Int16 |
7 |
0 |
|
UInt16 |
8 |
0 |
|
Int32 |
9 |
0 |
|
UInt32 |
10 |
0 |
|
Int64 |
11 |
0 |
|
UInt64 |
12 |
0 |
|
Single |
13 |
0 |
|
Double |
14 |
0 |
|
Decimal |
15 |
0 |
|
NullableSByte |
105 |
null |
|
NullableByte |
106 |
null |
|
NullableInt16 |
107 |
null |
|
NullableUInt16 |
108 |
null |
|
NullableInt32 |
109 |
null |
|
NullableUInt32 |
110 |
null |
|
NullableInt64 |
111 |
null |
|
NullableUInt64 |
112 |
null |
|
NullableSingle |
113 |
null |
|
NullableDouble |
114 |
null |
|
NullableDecimal |
115 |
null |
|
SByteArray |
205 |
null |
|
ByteArray |
206 |
null |
|
Int16Array |
207 |
null |
|
UInt16Array |
208 |
null |
|
Int32Array |
209 |
null |
|
UInt32Array |
210 |
null |
|
Int64Array |
211 |
null |
|
UInt64Array |
212 |
null |
|
SingleArray |
213 |
null |
|
DoubleArray |
214 |
null |
|
DecimalArray |
215 |
null |
String and character types
String types represent text, while character types represent a single UTF-16 code unit. Use strings for values such as labels and descriptions.
The character default \0 is the null character, not the digit 0.
|
Type name |
Numeric code |
Default value |
|---|---|---|
Char |
4 |
\0 |
|
String |
18 |
null |
|
NullableChar |
104 |
null |
|
CharArray |
204 |
null |
|
StringArray |
218 |
null |
Boolean types
Boolean types represent logical values: true or false. A nullable Boolean can also represent the absence of a value with null.
|
Type name |
Numeric code |
Default value |
|---|---|---|
|
Boolean |
3 |
false |
|
NullableBoolean |
103 |
null |
|
BooleanArray |
203 |
null |
Date and time types
Date and time types represent timestamps or elapsed durations. DateTime represents a date and time, DateTimeOffset includes a UTC offset, and TimeSpan represents a duration.
DateTime defaults have an unspecified time zone; DateTimeOffset defaults have a zero offset.
|
Type name |
Numeric code |
Default value |
|---|---|---|
|
DateTime |
16 |
0001-01-01T00:00:00 |
|
DateTimeOffset |
20 |
0001-01-01T00:00:00+00:00 |
|
TimeSpan |
21 |
00:00:00 |
|
NullableDateTime |
116 |
null |
|
NullableDateTimeOffset |
120 |
null |
|
NullableTimeSpan |
121 |
null |
|
DateTimeArray |
216 |
null |
|
DateTimeOffsetArray |
220 |
null |
|
TimeSpanArray |
221 |
null |
GUID types
GUID types represent 128-bit globally unique identifiers. Use them for identifier values rather than descriptive text or numeric measurements.
|
Type name |
Numeric code |
Default value |
|---|---|---|
|
Guid |
19 |
00000000-0000-0000-0000-000000000000 |
|
NullableGuid |
119 |
null |
|
GuidArray |
219 |
null |
Version types
Version types represent version numbers with major and minor components and optional build and revision components. They distinguish version information from arbitrary text.
|
Type name |
Numeric code |
Default value |
|---|---|---|
|
Version |
22 |
null |
|
VersionArray |
222 |
null |
Enum types
Enum types represent named values backed by an integer type, such as operating states or categories. The stream type definition supplies the names and their associated numeric values.
Enum defaults use the underlying numeric value 0, even when no named member has that value.
|
Type name |
Numeric code |
Default value |
|---|---|---|
|
SByteEnum |
605 |
0 |
|
ByteEnum |
606 |
0 |
|
Int16Enum |
607 |
0 |
|
UInt16Enum |
608 |
0 |
|
Int32Enum |
609 |
0 |
|
UInt32Enum |
610 |
0 |
|
Int64Enum |
611 |
0 |
|
UInt64Enum |
612 |
0 |
|
NullableSByteEnum |
705 |
null |
|
NullableByteEnum |
706 |
null |
|
NullableInt16Enum |
707 |
null |
|
NullableUInt16Enum |
708 |
null |
|
NullableInt32Enum |
709 |
null |
|
NullableUInt32Enum |
710 |
null |
|
NullableInt64Enum |
711 |
null |
|
NullableUInt64Enum |
712 |
null |
Collection types
Collection types represent groups of values rather than individual scalar values. These general-purpose codes cover arrays, lists, dictionaries, and enumerable sequences; typed arrays are listed with their base type families above.
|
Type name |
Numeric code |
Default value |
|---|---|---|
|
Array |
400 |
- |
|
IList |
401 |
- |
|
IDictionary |
402 |
- |
|
IEnumerable |
403 |
- |
SDS-specific types
These codes identify service-defined structures, such as stream definitions, type definitions, stream views, and tabular data. They describe structured information rather than primitive values such as numbers or text.
|
Type name |
Numeric code |
Default value |
|---|---|---|
|
SdsType |
501 |
null |
|
SdsTypeProperty |
502 |
null |
|
SdsStreamView |
503 |
null |
|
SdsStreamViewProperty |
504 |
null |
|
SdsStreamViewMap |
505 |
null |
|
SdsStreamViewMapProperty |
506 |
null |
|
SdsStream |
507 |
null |
|
SdsStreamIndex |
508 |
null |
|
SdsTable |
509 |
null |
|
SdsColumn |
510 |
null |
|
SdsValues |
511 |
null |
|
SdsObject |
512 |
- |
|
SdsListData |
513 |
null |
Other types
This group contains the general-purpose Object and Empty codes, which do not belong to the type families above. They are listed separately from codes for specific scalar or collection types.
|
Type name |
Numeric code |
Default value |
|---|---|---|
|
Empty |
0 |
- |
|
Object |
1 |
null |