Basketry IR Specification v0.2 [DRAFT]
This specification is currently in a DRAFT state pending the full release of version 0.2. Portions of this document may be incomplete, incorrect, or change without notice.
1 Introductionโ
2 Conceptsโ
2.1 Single Structureโ
2.2 Source Mappingโ
3 Specificationโ
3.1 Structureโ
3.1.1 Serviceโ
Intermediate Representation (IR) of a service. The Basketry Intermediate Representation (IR) defines a structured, machine-oriented format that abstracts over various Interface Definition Languages (IDLs) and Service Description Languages (SDLs). This standardized, language-agnostic schema allows tooling to consistently interpret the core attributes and behaviors of a service, independent of its underlying definition format.
Basketry IR is optimized for automated workflows, enabling code generation, documentation, validation, and custom analysis through reusable components without requiring developers to manually interact with the raw representation. While a typical Basketry pipeline translates human-friendly specifications (such as OpenAPI) into this intermediate format, the IR serves as a foundational layer for building new generators, rules, and other automation tools.
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "Service" | REQUIRED. |
basketry | "0.2" | REQUIRED. This string MUST be the version number of the Basketry Specification that the Intermediate Representation uses. The basketry field SHOULD be used by tooling to interpret the IR document. This is not related to the Service majorVersion string. |
title | StringLiteral | REQUIRED. The title of the service |
majorVersion | IntegerLiteral | REQUIRED. The major version of the Service (which is distinct from the Basketry Specification version). |
sourcePaths | [string] | REQUIRED. The path to the original source document for this service. All locations in the Intermediate Representation refer to ranges within this source document. |
interfaces | [Interface] | REQUIRED. An array of Interfaces defined in this Service. |
types | [Type] | REQUIRED. An array of Types defined in this Service. |
enums | [Enum] | REQUIRED. An array of Enums defined in this Service. |
unions | [SimpleUnion | DiscriminatedUnion] | REQUIRED. An array of Unions defined in this Service. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.2 Interfaceโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "Interface" | REQUIRED. |
name | StringLiteral | REQUIRED. |
description | [StringLiteral] | |
methods | [Method] | REQUIRED. |
protocols | Protocols | |
deprecated | TrueLiteral | |
meta | [MetaValue] |
3.1.3 Typeโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "Type" | REQUIRED. |
name | StringLiteral | REQUIRED. |
description | [StringLiteral] | |
deprecated | TrueLiteral | |
properties | [Property] | REQUIRED. |
mapProperties | MapProperties | |
rules | [ObjectMinPropertiesRule | ObjectMaxPropertiesRule | ObjectAdditionalPropertiesRule] | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.4 Enumโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "Enum" | REQUIRED. |
name | StringLiteral | REQUIRED. |
description | [StringLiteral] | |
members | [EnumMember] | REQUIRED. |
deprecated | TrueLiteral | |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.5 SimpleUnionโ
TODO: don't allow arrays in primitive unions
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "SimpleUnion" | REQUIRED. |
name | StringLiteral | REQUIRED. |
description | [StringLiteral] | |
members | [PrimitiveValue | ComplexValue] | REQUIRED. |
disjunction | DisjunctionKindLiteral | |
deprecated | TrueLiteral | |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.6 DiscriminatedUnionโ
TODO: don't allow arrays, enums, or other unions in discriminated unions
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "DiscriminatedUnion" | REQUIRED. |
name | StringLiteral | REQUIRED. |
description | [StringLiteral] | |
discriminator | StringLiteral | REQUIRED. |
members | [ComplexValue] | REQUIRED. |
deprecated | TrueLiteral | |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.7 MetaValueโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "MetaValue" | REQUIRED. |
key | StringLiteral | REQUIRED. |
value | UntypedLiteral | REQUIRED. |
3.1.8 Methodโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "Method" | REQUIRED. |
name | StringLiteral | REQUIRED. |
security | [SecurityOption] | REQUIRED. |
description | [StringLiteral] | |
parameters | [Parameter] | REQUIRED. |
returns | ReturnValue | |
deprecated | TrueLiteral | |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.9 Protocolsโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "InterfaceProtocols" | REQUIRED. |
http | [HttpRoute] |
3.1.10 Propertyโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "Property" | REQUIRED. |
name | StringLiteral | REQUIRED. |
description | [StringLiteral] | |
value | PrimitiveValue | ComplexValue | REQUIRED. |
deprecated | TrueLiteral | |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.11 MapPropertiesโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "MapProperties" | REQUIRED. |
key | MapKey | REQUIRED. |
requiredKeys | [StringLiteral] | REQUIRED. |
value | MapValue | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.12 EnumMemberโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "EnumMember" | REQUIRED. |
content | StringLiteral | REQUIRED. |
description | [StringLiteral] | |
deprecated | TrueLiteral | |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.13 PrimitiveValueโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "PrimitiveValue" | REQUIRED. |
typeName | PrimitiveLiteral | REQUIRED. |
isArray | TrueLiteral | |
isNullable | TrueLiteral | |
isOptional | TrueLiteral | |
constant | StringLiteral | NumberLiteral | BooleanLiteral | NullLiteral | |
default | StringLiteral | NumberLiteral | BooleanLiteral | NullLiteral | |
rules | [StringMaxLengthRule | StringMinLengthRule | StringPatternRule | StringFormatRule | NumberMultipleOfRule | NumberGtRule | NumberGteRule | NumberLtRule | NumberLteRule | ArrayMaxItemsRule | ArrayMinItemsRule | ArrayUniqueItemsRule] | REQUIRED. |
3.1.14 ComplexValueโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ComplexValue" | REQUIRED. |
typeName | StringLiteral | REQUIRED. The name of a type, enum, or union defined in this Service. |
isArray | TrueLiteral | |
isNullable | TrueLiteral | |
isOptional | TrueLiteral | |
rules | [StringMaxLengthRule | StringMinLengthRule | StringPatternRule | StringFormatRule | NumberMultipleOfRule | NumberGtRule | NumberGteRule | NumberLtRule | NumberLteRule | ArrayMaxItemsRule | ArrayMinItemsRule | ArrayUniqueItemsRule] | REQUIRED. |
3.1.15 SecurityOptionโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "SecurityOption" | REQUIRED. |
schemes | [BasicScheme | ApiKeyScheme | OAuth2Scheme] | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.1.16 Parameterโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "Parameter" | REQUIRED. |
name | StringLiteral | REQUIRED. |
description | [StringLiteral] | |
value | PrimitiveValue | ComplexValue | REQUIRED. |
deprecated | TrueLiteral | |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.17 ReturnValueโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ReturnValue" | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] | |
value | PrimitiveValue | ComplexValue | REQUIRED. |
3.1.18 HttpRouteโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "HttpRoute" | REQUIRED. |
pattern | StringLiteral | REQUIRED. |
methods | [HttpMethod] | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.1.19 MapKeyโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "MapKey" | REQUIRED. |
value | PrimitiveValue | ComplexValue | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.20 MapValueโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "MapValue" | REQUIRED. |
value | PrimitiveValue | ComplexValue | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.21 BasicSchemeโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "BasicScheme" | REQUIRED. |
type | BasicSchemeType | REQUIRED. |
deprecated | TrueLiteral | |
name | StringLiteral | REQUIRED. |
description | StringLiteral | |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.22 ApiKeySchemeโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ApiKeyScheme" | REQUIRED. |
type | ApiKeySchemeType | REQUIRED. |
deprecated | TrueLiteral | |
name | StringLiteral | REQUIRED. |
description | [StringLiteral] | |
parameter | StringLiteral | REQUIRED. |
in | ApiKeySchemeIn | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.23 OAuth2Schemeโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "OAuth2Scheme" | REQUIRED. |
type | OAuth2SchemeType | REQUIRED. |
deprecated | TrueLiteral | |
name | StringLiteral | REQUIRED. |
description | [StringLiteral] | |
flows | [OAuth2ImplicitFlow | OAuth2PasswordFlow | OAuth2ClientCredentialsFlow | OAuth2AuthorizationCodeFlow] | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.24 HttpMethodโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "HttpMethod" | REQUIRED. |
name | StringLiteral | REQUIRED. |
verb | HttpVerbLiteral | REQUIRED. |
parameters | [HttpParameter] | REQUIRED. |
successCode | HttpStatusCodeLiteral | REQUIRED. |
requestMediaTypes | [StringLiteral] | REQUIRED. |
responseMediaTypes | [StringLiteral] | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.1.25 BasicSchemeTypeโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
value | "basic" | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.1.26 ApiKeySchemeTypeโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
value | "apiKey" | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.1.27 ApiKeySchemeInโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
value | "cookie" | "header" | "query" | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.1.28 OAuth2SchemeTypeโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
value | "oauth2" | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.1.29 OAuth2ImplicitFlowโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "OAuth2ImplicitFlow" | REQUIRED. |
type | OAuth2ImplicitFlowType | REQUIRED. |
deprecated | TrueLiteral | |
authorizationUrl | StringLiteral | REQUIRED. |
refreshUrl | StringLiteral | |
scopes | [OAuth2Scope] | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.30 OAuth2PasswordFlowโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "OAuth2PasswordFlow" | REQUIRED. |
type | OAuth2PasswordFlowType | REQUIRED. |
deprecated | TrueLiteral | |
tokenUrl | StringLiteral | REQUIRED. |
refreshUrl | StringLiteral | |
scopes | [OAuth2Scope] | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.31 OAuth2ClientCredentialsFlowโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "OAuth2ClientCredentialsFlow" | REQUIRED. |
type | OAuth2ClientCredentialsFlowType | REQUIRED. |
deprecated | TrueLiteral | |
tokenUrl | StringLiteral | REQUIRED. |
refreshUrl | StringLiteral | |
scopes | [OAuth2Scope] | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.32 OAuth2AuthorizationCodeFlowโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "OAuth2AuthorizationCodeFlow" | REQUIRED. |
type | OAuth2AuthorizationCodeFlowType | REQUIRED. |
deprecated | TrueLiteral | |
authorizationUrl | StringLiteral | REQUIRED. |
tokenUrl | StringLiteral | REQUIRED. |
refreshUrl | StringLiteral | |
scopes | [OAuth2Scope] | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.33 HttpParameterโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "HttpParameter" | REQUIRED. |
name | StringLiteral | REQUIRED. |
location | HttpLocationLiteral | REQUIRED. |
arrayFormat | HttpArrayFormatLiteral | |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.1.34 OAuth2ImplicitFlowTypeโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
value | "implicit" | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.1.35 OAuth2Scopeโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "OAuth2Scope" | REQUIRED. |
name | StringLiteral | REQUIRED. |
description | [StringLiteral] | REQUIRED. |
deprecated | TrueLiteral | |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
meta | [MetaValue] |
3.1.36 OAuth2PasswordFlowTypeโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
value | "password" | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.1.37 OAuth2ClientCredentialsFlowTypeโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
value | "clientCredentials" | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.1.38 OAuth2AuthorizationCodeFlowTypeโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
value | "authorizationCode" | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.2 Rulesโ
3.2.1 StringMaxLengthRuleโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ValidationRule" | REQUIRED. |
id | "StringMaxLength" | REQUIRED. |
length | NonNegativeIntegerLiteral | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.2.2 StringMinLengthRuleโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ValidationRule" | REQUIRED. |
id | "StringMinLength" | REQUIRED. |
length | NonNegativeIntegerLiteral | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.2.3 StringPatternRuleโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ValidationRule" | REQUIRED. |
id | "StringPattern" | REQUIRED. |
pattern | NonEmptyStringLiteral | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.2.4 StringFormatRuleโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ValidationRule" | REQUIRED. |
id | "StringFormat" | REQUIRED. |
format | NonEmptyStringLiteral | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.2.5 NumberMultipleOfRuleโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ValidationRule" | REQUIRED. |
id | "NumberMultipleOf" | REQUIRED. |
value | NonNegativeNumberLiteral | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.2.6 NumberGtRuleโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ValidationRule" | REQUIRED. |
id | "NumberGT" | REQUIRED. |
value | NumberLiteral | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.2.7 NumberGteRuleโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ValidationRule" | REQUIRED. |
id | "NumberGTE" | REQUIRED. |
value | NumberLiteral | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.2.8 NumberLtRuleโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ValidationRule" | REQUIRED. |
id | "NumberLT" | REQUIRED. |
value | NumberLiteral | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.2.9 NumberLteRuleโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ValidationRule" | REQUIRED. |
id | "NumberLTE" | REQUIRED. |
value | NumberLiteral | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.2.10 ArrayMaxItemsRuleโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ValidationRule" | REQUIRED. |
id | "ArrayMaxItems" | REQUIRED. |
max | NonNegativeIntegerLiteral | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.2.11 ArrayMinItemsRuleโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ValidationRule" | REQUIRED. |
id | "ArrayMinItems" | REQUIRED. |
min | NonNegativeIntegerLiteral | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.2.12 ArrayUniqueItemsRuleโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ValidationRule" | REQUIRED. |
id | "ArrayUniqueItems" | REQUIRED. |
required | boolean | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.3 Object Rulesโ
3.3.1 ObjectMinPropertiesRuleโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ObjectValidationRule" | REQUIRED. |
id | "ObjectMinProperties" | REQUIRED. |
min | NonNegativeIntegerLiteral | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.3.2 ObjectMaxPropertiesRuleโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ObjectValidationRule" | REQUIRED. |
id | "ObjectMaxProperties" | REQUIRED. |
max | NonNegativeIntegerLiteral | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.3.3 ObjectAdditionalPropertiesRuleโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "ObjectValidationRule" | REQUIRED. |
id | "ObjectAdditionalProperties" | REQUIRED. |
forbidden | TrueLiteral | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.4 Literalsโ
3.4.1 StringLiteralโ
A string literal
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "StringLiteral" | REQUIRED. |
value | string | REQUIRED. |
loc | string | The location of this in the doc. |
3.4.2 IntegerLiteralโ
An integer literal
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "IntegerLiteral" | REQUIRED. |
value | integer | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.4.3 TrueLiteralโ
A boolean literal whose value is always true
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "TrueLiteral" | REQUIRED. |
value | true | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.4.4 DisjunctionKindLiteralโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "DisjunctionKindLiteral" | REQUIRED. |
value | "exclusive" | "inclusive" | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.4.5 UntypedLiteralโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "UntypedLiteral" | REQUIRED. |
value | untyped | REQUIRED. |
loc | string |
3.4.6 NonNegativeIntegerLiteralโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "NonNegativeIntegerLiteral" | REQUIRED. |
value | integer | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.4.7 PrimitiveLiteralโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "PrimitiveLiteral" | REQUIRED. |
value | "binary" | "boolean" | "date" | "date-time" | "double" | "float" | "integer" | "long" | "null" | "number" | "string" | "untyped" | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.4.8 NumberLiteralโ
A number literal
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "NumberLiteral" | REQUIRED. |
value | integer | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.4.9 BooleanLiteralโ
A boolean literal
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "BooleanLiteral" | REQUIRED. |
value | boolean | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.4.10 NullLiteralโ
A null literal
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "NullLiteral" | REQUIRED. |
value | untyped | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.4.11 NonEmptyStringLiteralโ
A string literal
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "NonEmptyStringLiteral" | REQUIRED. |
value | string | REQUIRED. |
loc | string | The location of this in the doc. |
3.4.12 NonNegativeNumberLiteralโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "NonNegativeNumberLiteral" | REQUIRED. |
value | number | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.4.13 HttpVerbLiteralโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "HttpVerbLiteral" | REQUIRED. |
value | "delete" | "get" | "head" | "options" | "patch" | "post" | "put" | "trace" | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.4.14 HttpStatusCodeLiteralโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "HttpStatusCodeLiteral" | REQUIRED. |
value | integer | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.4.15 HttpLocationLiteralโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "HttpLocationLiteral" | REQUIRED. |
value | "body" | "formData" | "header" | "path" | "query" | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |
3.4.16 HttpArrayFormatLiteralโ
Fields Specificationโ
Field Name | Type | Description |
---|---|---|
kind | "HttpArrayFormatLiteral" | REQUIRED. |
value | "csv" | "multi" | "pipes" | "ssv" | "tsv" | REQUIRED. |
loc | string | A range in the source document encoded as a string. This string is a semicolon-separated list of numbers and MUST be in one of the following formats:
row and column values are 1-based. The offset values are 0-based. |