Skip to content

Built-in Data types

TypeSpec

Array

model Array<Element>

Template Parameters

NameDescription
ElementThe type of the array elements

Properties

None

DefaultKeyVisibility

Applies a visibility setting to a collection of properties.

model DefaultKeyVisibility<Source, Visibility>

Template Parameters

NameDescription
SourceAn object whose properties are spread.
VisibilityThe visibility to apply to all properties.

Properties

None

ExampleOptions

Options for example decorators

model ExampleOptions

Properties

NameTypeDescription
title?stringThe title of the example
description?stringDescription of the example

object

Deprecated: object is deprecated. Please use {} for an empty model, Record<unknown> for a record with unknown property types, unknown[] for an array.

Represent a model

model object

Properties

None

OmitDefaults

Represents a collection of properties with default values omitted.

model OmitDefaults<Source>

Template Parameters

NameDescription
SourceAn object whose spread property defaults are all omitted.

Properties

None

OmitProperties

Represents a collection of omitted properties.

model OmitProperties<Source, Keys>

Template Parameters

NameDescription
SourceAn object whose properties are spread.
KeysThe property keys to omit.

Properties

None

OperationExample

Operation example configuration.

model OperationExample

Properties

NameTypeDescription
parameters?unknownExample request body.
returnType?unknownExample response body.

OptionalProperties

Represents a collection of optional properties.

model OptionalProperties<Source>

Template Parameters

NameDescription
SourceAn object whose spread properties are all optional.

Properties

None

PickProperties

Represents a collection of properties with only the specified keys included.

model PickProperties<Source, Keys>

Template Parameters

NameDescription
SourceAn object whose properties are spread.
KeysThe property keys to include.

Properties

None

Record

model Record<Element>

Template Parameters

NameDescription
ElementThe type of the properties

Properties

None

ServiceOptions

Service options.

model ServiceOptions

Properties

NameTypeDescription
title?stringTitle of the service.
version?stringVersion of the service.

UpdateableProperties

Represents a collection of updateable properties.

model UpdateableProperties<Source>

Template Parameters

NameDescription
SourceAn object whose spread properties are all updateable.

Properties

None

ArrayEncoding

Encoding for serializing arrays

enum ArrayEncoding
NameValueDescription
pipeDelimitedEach values of the array is separated by a |
spaceDelimitedEach values of the array is separated by a

BytesKnownEncoding

Known encoding to use on bytes

enum BytesKnownEncoding
NameValueDescription
base64"base64"Encode to Base64
base64url"base64url"Encode to Base64 Url

DateTimeKnownEncoding

Known encoding to use on utcDateTime or offsetDateTime

enum DateTimeKnownEncoding
NameValueDescription
rfc3339"rfc3339"RFC 3339 standard. https://www.ietf.org/rfc/rfc3339.txt
Encode to string.
rfc7231"rfc7231"RFC 7231 standard. https://www.ietf.org/rfc/rfc7231.txt
Encode to string.
unixTimestamp"unixTimestamp"Encode a datetime to a unix timestamp.
Unix timestamps are represented as an integer number of seconds since the Unix epoch and usually encoded as an int32.

DurationKnownEncoding

Known encoding to use on duration

enum DurationKnownEncoding
NameValueDescription
ISO8601"ISO8601"ISO8601 duration
seconds"seconds"Encode to integer or float

boolean

Boolean with true and false values.

scalar boolean

bytes

Represent a byte array

scalar bytes

decimal

A decimal number with any length and precision. This represent any decimal value possible. It is commonly represented as BigDecimal in some languages.

scalar decimal

decimal128

A 128-bit decimal number.

scalar decimal128

duration

A duration/time period. e.g 5s, 10h

scalar duration

float

A number with decimal value

scalar float

float32

A 32 bit floating point number. (±1.5 x 10^−45 to ±3.4 x 10^38)

scalar float32

float64

A 64 bit floating point number. (±5.0 × 10^−324 to ±1.7 × 10^308)

scalar float64

int16

A 16-bit integer. (-32,768 to 32,767)

scalar int16

int32

A 32-bit integer. (-2,147,483,648 to 2,147,483,647)

scalar int32

int64

A 64-bit integer. (-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807)

scalar int64

int8

A 8-bit integer. (-128 to 127)

scalar int8

integer

A whole number. This represent any integer value possible. It is commonly represented as BigInteger in some languages.

scalar integer

numeric

A numeric type

scalar numeric

offsetDateTime

A date and time in a particular time zone, e.g. “April 10th at 3:00am in PST”

scalar offsetDateTime

plainDate

A date on a calendar without a time zone, e.g. “April 10th”

scalar plainDate

plainTime

A time on a clock without a time zone, e.g. “3:00 am”

scalar plainTime

safeint

An integer that can be serialized to JSON (−9007199254740991 (−(2^53 − 1)) to 9007199254740991 (2^53 − 1) )

scalar safeint

string

A sequence of textual characters.

scalar string

uint16

A 16-bit unsigned integer (0 to 65,535)

scalar uint16

uint32

A 32-bit unsigned integer (0 to 4,294,967,295)

scalar uint32

uint64

A 64-bit unsigned integer (0 to 18,446,744,073,709,551,615)

scalar uint64

uint8

A 8-bit unsigned integer (0 to 255)

scalar uint8

unixTimestamp32

Represent a 32-bit unix timestamp datetime with 1s of granularity. It measures time by the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970.

scalar unixTimestamp32

url

Represent a URL string as described by https://url.spec.whatwg.org/

scalar url

utcDateTime

An instant in coordinated universal time (UTC)”

scalar utcDateTime