Schema

Schema is used to define the format of input/output data. Represents a select subset of an OpenAPI 3.0 schema object. More fields may be added in the future as needed.

JSON representation
{
  "type": enum (Type),
  "format": string,
  "title": string,
  "description": string,
  "nullable": boolean,
  "default": value,
  "items": {
    object (Schema)
  },
  "minItems": string,
  "maxItems": string,
  "enum": [
    string
  ],
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "minProperties": string,
  "maxProperties": string,
  "minimum": number,
  "maximum": number,
  "minLength": string,
  "maxLength": string,
  "pattern": string,
  "example": value
}
Fields
type

enum (Type)

Optional. The type of the data.

format

string

Optional. The format of the data. Supported formats: for NUMBER type: "float", "double" for INTEGER type: "int32", "int64" for STRING type: "email", "byte", etc

title

string

Optional. The title of the Schema.

description

string

Optional. The description of the data.

nullable

boolean

Optional. Indicates if the value may be null.

default

value (Value format)

Optional. Default value of the data.

items

object (Schema)

Optional. SCHEMA FIELDS FOR TYPE ARRAY Schema of the elements of type.ARRAY.

minItems

string (int64 format)

Optional. Minimum number of the elements for type.ARRAY.

maxItems

string (int64 format)

Optional. Maximum number of the elements for type.ARRAY.

enum[]

string

Optional. Possible values of the element of type.STRING with enum format. For example we can define an Enum Direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}

properties

map (key: string, value: object (Schema))

Optional. SCHEMA FIELDS FOR TYPE OBJECT Properties of type.OBJECT.

required[]

string

Optional. Required properties of type.OBJECT.

minProperties

string (int64 format)

Optional. Minimum number of the properties for type.OBJECT.

maxProperties

string (int64 format)

Optional. Maximum number of the properties for type.OBJECT.

minimum

number

Optional. SCHEMA FIELDS FOR TYPE INTEGER and NUMBER Minimum value of the type.INTEGER and type.NUMBER

maximum

number

Optional. Maximum value of the type.INTEGER and type.NUMBER

minLength

string (int64 format)

Optional. SCHEMA FIELDS FOR TYPE STRING Minimum length of the type.STRING

maxLength

string (int64 format)

Optional. Maximum length of the type.STRING

pattern

string

Optional. Pattern of the type.STRING to restrict a string to a regular expression.

example

value (Value format)

Optional. Example of the object. Will only populated when the object is the root.

Type

type contains the list of OpenAPI data types as defined by http://swagger.io/docs/specification/data-models/data-types/

Enums
TYPE_UNSPECIFIED Not specified, should not be used.
STRING OpenAPI string type
NUMBER OpenAPI number type
INTEGER OpenAPI integer type
BOOLEAN OpenAPI boolean type
ARRAY OpenAPI array type
OBJECT OpenAPI object type