Skip to content

Instantly share code, notes, and snippets.

@amilos
Created October 14, 2020 13:17
Show Gist options
  • Save amilos/c02761d53b68d44ef273d27213a35bf5 to your computer and use it in GitHub Desktop.
Save amilos/c02761d53b68d44ef273d27213a35bf5 to your computer and use it in GitHub Desktop.
Adaptive cards specification converted to swagger
openapi: 3.0.3
info:
title: Adaptive Cards
description: This is a port of Adaptive Cards schema to swagger editor for exploration
version: 1.3.0
paths: {}
components:
schemas:
AdaptiveCard:
description: An Adaptive Card, containing a free-form body of card elements, and
an optional set of actions.
properties:
type:
enum:
- AdaptiveCard
description: Must be `AdaptiveCard`
x-version:
type: string
description: 'Schema version that this card requires. If a client is **lower**
than this version, the `fallbackText` will be rendered. NOTE: Version is
not required for cards within an `Action.ShowCard`. However, it *is* required
for the top-level card.'
x-examples:
- '1.0'
- '1.1'
- '1.2'
body:
type: array
items:
"$ref": "#/components/schemas/ImplementationsOf.Element"
description: The card elements to show in the primary card region.
actions:
type: array
items:
"$ref": "#/components/schemas/ImplementationsOf.Action"
description: The Actions to show in the card's action bar.
selectAction:
"$ref": "#/components/schemas/ImplementationsOf.ISelectAction"
description: An Action that will be invoked when the card is tapped or selected.
`Action.ShowCard` is not supported.
x-version: '1.1'
fallbackText:
type: string
description: Text shown when the client doesn't support the version specified
(may contain markdown).
backgroundImage:
anyOf:
- "$ref": "#/components/schemas/BackgroundImage"
- type: string
format: uri-reference
description: The URL (or data url) to use as the background image. Supports
data URI in version 1.2+
x-version: '1.0'
description: Specifies the background image of the card.
x-version: '1.2'
minHeight:
type: string
description: Specifies the minimum height of the card.
x-examples:
- 50px
x-version: '1.2'
x-features:
- 2293
speak:
type: string
description: Specifies what should be spoken for this entire card. This is
simple text or SSML fragment.
lang:
type: string
description: The 2-letter ISO-639-1 language used in the card. Used to localize
any date/time functions.
x-examples:
- en
- fr
- es
verticalContentAlignment:
"$ref": "#/components/schemas/VerticalContentAlignment"
description: Defines how the content should be aligned vertically within the
container. Only relevant for fixed-height cards, or cards with a `minHeight`
specified.
x-version: '1.1'
"$schema":
type: string
format: uri
description: The Adaptive Card schema.
type: object
additionalProperties: false
Action.OpenUrl:
description: When invoked, show the given url either by launching it in an external
web browser or showing within an embedded web browser.
properties:
type:
enum:
- Action.OpenUrl
description: Must be `Action.OpenUrl`
url:
type: string
format: uri-reference
description: The URL to open.
title: {}
iconUrl: {}
style: {}
fallback: {}
requires: {}
type: object
additionalProperties: false
required:
- url
allOf:
- "$ref": "#/components/schemas/Extendable.Action"
Action.ShowCard:
description: Defines an AdaptiveCard which is shown to the user when the button
or link is clicked.
properties:
type:
enum:
- Action.ShowCard
description: Must be `Action.ShowCard`
card:
"$ref": "#/components/schemas/AdaptiveCard"
description: The Adaptive Card to show. Inputs in ShowCards will not be submitted
if the submit button is located on a parent card. See https://docs.microsoft.com/en-us/adaptive-cards/authoring-cards/input-validation
for more details.
title: {}
iconUrl: {}
style: {}
fallback: {}
requires: {}
type: object
additionalProperties: false
allOf:
- "$ref": "#/components/schemas/Extendable.Action"
Action.Submit:
description: 'Gathers input fields, merges with optional data field, and sends
an event to the client. It is up to the client to determine how this data is
processed. For example: With BotFramework bots, the client would send an activity
through the messaging medium to the bot. The inputs that are gathered are those
on the current card, and in the case of a show card those on any parent cards.
See https://docs.microsoft.com/en-us/adaptive-cards/authoring-cards/input-validation
for more details.'
properties:
type:
enum:
- Action.Submit
description: Must be `Action.Submit`
data:
anyOf:
- type: string
- type: object
description: Initial data that input fields will be combined with. These are
essentially ‘hidden’ properties.
title: {}
iconUrl: {}
style: {}
fallback: {}
requires: {}
type: object
additionalProperties: false
allOf:
- "$ref": "#/components/schemas/Extendable.Action"
Action.ToggleVisibility:
description: An action that toggles the visibility of associated card elements.
x-version: '1.2'
properties:
type:
enum:
- Action.ToggleVisibility
description: Must be `Action.ToggleVisibility`
targetElements:
type: array
items:
"$ref": "#/components/schemas/TargetElement"
description: The array of TargetElements. It is not recommended to include
Input elements with validation under Action.Toggle due to confusion that
can arise from invalid inputs that are not currently visible. See https://docs.microsoft.com/en-us/adaptive-cards/authoring-cards/input-validation
for more information.
title: {}
iconUrl: {}
style: {}
fallback: {}
requires: {}
type: object
additionalProperties: false
allOf:
- "$ref": "#/components/schemas/Extendable.Action"
TargetElement:
description: Represents an entry for Action.ToggleVisibility's targetElements
property
anyOf:
- type: string
description: Element ID of element to toggle
- type: object
properties:
type:
enum:
- TargetElement
description: Must be `TargetElement`
elementId:
type: string
description: Element ID of element to toggle
isVisible:
anyOf:
- type: boolean
# - type: 'null'
description: 'If `true`, always show target element. If `false`, always
hide target element. If not supplied, toggle target element''s visibility. '
required:
- elementId
additionalProperties: false
ActionSet:
description: Displays a set of actions.
properties:
type:
enum:
- ActionSet
description: Must be `ActionSet`
actions:
type: array
items:
"$ref": "#/components/schemas/ImplementationsOf.Action"
description: The array of `Action` elements to show.
fallback: {}
height: {}
separator: {}
spacing: {}
id: {}
isVisible: {}
requires: {}
x-version: '1.2'
type: object
additionalProperties: false
required:
- actions
allOf:
- "$ref": "#/components/schemas/Extendable.Element"
Column:
description: Defines a container that is part of a ColumnSet.
properties:
type:
enum:
- Column
description: Must be `Column`
items:
type: array
items:
"$ref": "#/components/schemas/ImplementationsOf.Element"
description: The card elements to render inside the `Column`.
backgroundImage:
anyOf:
- "$ref": "#/components/schemas/BackgroundImage"
- type: string
format: uri-reference
description: The URL (or data url) to use as the background image. Supports
data URI.
description: Specifies the background image. Acceptable formats are PNG, JPEG,
and GIF
x-version: '1.2'
bleed:
type: boolean
description: Determines whether the column should bleed through its parent's
padding.
x-version: '1.2'
x-features:
- 2109
fallback:
anyOf:
- "$ref": "#/components/schemas/Column"
- "$ref": "#/components/schemas/FallbackOption"
description: Describes what to do when an unknown item is encountered or the
requires of this or any children can't be met.
x-version: '1.2'
minHeight:
type: string
description: Specifies the minimum height of the column in pixels, like `"80px"`.
x-examples:
- 50px
x-version: '1.2'
x-features:
- 2293
separator:
type: boolean
description: When `true`, draw a separating line between this column and the
previous column.
spacing:
"$ref": "#/components/schemas/Spacing"
description: Controls the amount of spacing between this column and the preceding
column.
selectAction:
"$ref": "#/components/schemas/ImplementationsOf.ISelectAction"
description: An Action that will be invoked when the `Column` is tapped or
selected. `Action.ShowCard` is not supported.
x-version: '1.1'
style:
anyOf:
- "$ref": "#/components/schemas/ContainerStyle"
# - type: 'null'
description: Style hint for `Column`.
verticalContentAlignment:
"$ref": "#/components/schemas/VerticalContentAlignment"
description: Defines how the content should be aligned vertically within the
column.
default: top
x-version: '1.1'
width:
anyOf:
- type: string
- type: number
description: '`"auto"`, `"stretch"`, a number representing relative width
of the column in the column group, or in version 1.1 and higher, a specific
pixel width, like `"50px"`.'
id: {}
isVisible: {}
requires: {}
type: object
additionalProperties: false
allOf:
- "$ref": "#/components/schemas/Extendable.ToggleableItem"
ColumnSet:
description: ColumnSet divides a region into Columns, allowing elements to sit
side-by-side.
properties:
type:
enum:
- ColumnSet
description: Must be `ColumnSet`
columns:
type: array
items:
"$ref": "#/components/schemas/Column"
description: The array of `Columns` to divide the region into.
selectAction:
"$ref": "#/components/schemas/ImplementationsOf.ISelectAction"
description: An Action that will be invoked when the `ColumnSet` is tapped
or selected. `Action.ShowCard` is not supported.
x-version: '1.1'
style:
anyOf:
- "$ref": "#/components/schemas/ContainerStyle"
# - type: 'null'
description: Style hint for `ColumnSet`.
x-version: '1.2'
bleed:
type: boolean
description: Determines whether the element should bleed through its parent's
padding.
x-version: '1.2'
x-features:
- 2109
minHeight:
type: string
description: Specifies the minimum height of the column set in pixels, like
`"80px"`.
x-examples:
- 50px
x-version: '1.2'
x-features:
- 2293
fallback: {}
height: {}
separator: {}
spacing: {}
id: {}
isVisible: {}
requires: {}
type: object
additionalProperties: false
allOf:
- "$ref": "#/components/schemas/Extendable.Element"
Container:
description: Containers group items together.
properties:
type:
enum:
- Container
description: Must be `Container`
items:
type: array
items:
"$ref": "#/components/schemas/ImplementationsOf.Element"
description: The card elements to render inside the `Container`.
selectAction:
"$ref": "#/components/schemas/ImplementationsOf.ISelectAction"
description: An Action that will be invoked when the `Container` is tapped
or selected. `Action.ShowCard` is not supported.
x-version: '1.1'
style:
anyOf:
- "$ref": "#/components/schemas/ContainerStyle"
# - type: 'null'
description: Style hint for `Container`.
verticalContentAlignment:
"$ref": "#/components/schemas/VerticalContentAlignment"
description: Defines how the content should be aligned vertically within the
container.
default: top
x-version: '1.1'
bleed:
type: boolean
description: Determines whether the element should bleed through its parent's
padding.
x-version: '1.2'
x-features:
- 2109
backgroundImage:
anyOf:
- "$ref": "#/components/schemas/BackgroundImage"
- type: string
format: uri-reference
description: The URL (or data url) to use as the background image. Supports
data URI.
description: Specifies the background image. Acceptable formats are PNG, JPEG,
and GIF
x-version: '1.2'
minHeight:
type: string
description: Specifies the minimum height of the container in pixels, like
`"80px"`.
x-examples:
- 50px
x-version: '1.2'
x-features:
- 2293
fallback: {}
height: {}
separator: {}
spacing: {}
id: {}
isVisible: {}
requires: {}
type: object
additionalProperties: false
required:
- items
allOf:
- "$ref": "#/components/schemas/Extendable.Element"
Fact:
description: Describes a Fact in a FactSet as a key/value pair.
properties:
type:
enum:
- Fact
description: Must be `Fact`
title:
type: string
description: The title of the fact.
value:
type: string
description: The value of the fact.
type: object
additionalProperties: false
required:
- title
- value
FactSet:
description: The FactSet element displays a series of facts (i.e. name/value pairs)
in a tabular form.
properties:
type:
enum:
- FactSet
description: Must be `FactSet`
facts:
type: array
items:
"$ref": "#/components/schemas/Fact"
description: The array of `Fact`'s.
fallback: {}
height: {}
separator: {}
spacing: {}
id: {}
isVisible: {}
requires: {}
type: object
additionalProperties: false
required:
- facts
allOf:
- "$ref": "#/components/schemas/Extendable.Element"
Image:
description: Displays an image. Acceptable formats are PNG, JPEG, and GIF
properties:
type:
enum:
- Image
description: Must be `Image`
url:
type: string
format: uri-reference
description: The URL to the image. Supports data URI in version 1.2+
altText:
type: string
description: Alternate text describing the image.
backgroundColor:
type: string
description: Applies a background to a transparent image. This property will
respect the image style.
example: "#DDDDDD"
x-version: '1.1'
height:
anyOf:
- type: string
- "$ref": "#/components/schemas/BlockElementHeight"
description: The desired height of the image. If specified as a pixel value,
ending in 'px', E.g., 50px, the image will distort to fit that exact height.
This overrides the `size` property.
x-examples:
- 50px
default: auto
x-version: '1.1'
horizontalAlignment:
"$ref": "#/components/schemas/HorizontalAlignment"
description: Controls how this element is horizontally positioned within its
parent.
selectAction:
"$ref": "#/components/schemas/ImplementationsOf.ISelectAction"
description: An Action that will be invoked when the `Image` is tapped or
selected. `Action.ShowCard` is not supported.
x-version: '1.1'
size:
"$ref": "#/components/schemas/ImageSize"
description: Controls the approximate size of the image. The physical dimensions
will vary per host.
style:
"$ref": "#/components/schemas/ImageStyle"
description: Controls how this `Image` is displayed.
width:
type: string
description: The desired on-screen width of the image, ending in 'px'. E.g.,
50px. This overrides the `size` property.
x-examples:
- 50px
x-version: '1.1'
fallback:
anyOf:
- "$ref": "#/components/schemas/ImplementationsOf.Element"
- "$ref": "#/components/schemas/FallbackOption"
description: Describes what to do when an unknown element is encountered or
the requires of this or any children can't be met.
x-version: '1.2'
separator:
type: boolean
description: When `true`, draw a separating line at the top of the element.
spacing:
"$ref": "#/components/schemas/Spacing"
description: Controls the amount of spacing between this element and the preceding
element.
id:
type: string
description: A unique identifier associated with the item.
isVisible:
type: boolean
description: If `false`, this item will be removed from the visual tree.
default: true
x-version: '1.2'
requires:
type: object
additionalProperties:
type: string
description: A series of key/value pairs indicating features that the item
requires with corresponding minimum version. When a feature is missing or
of insufficient version, fallback is triggered.
x-version: '1.2'
type: object
additionalProperties: false
required:
- url
ImageSet:
description: The ImageSet displays a collection of Images similar to a gallery.
Acceptable formats are PNG, JPEG, and GIF
properties:
type:
enum:
- ImageSet
description: Must be `ImageSet`
images:
type: array
items:
"$ref": "#/components/schemas/Image"
description: The array of `Image` elements to show.
imageSize:
"$ref": "#/components/schemas/ImageSize"
default: medium
description: Controls the approximate size of each image. The physical dimensions
will vary per host. Auto and stretch are not supported for ImageSet. The
size will default to medium if those values are set.
fallback: {}
height: {}
separator: {}
spacing: {}
id: {}
isVisible: {}
requires: {}
type: object
additionalProperties: false
required:
- images
allOf:
- "$ref": "#/components/schemas/Extendable.Element"
TextRun:
description: Defines a single run of formatted text
x-version: '1.2'
anyOf:
- type: string
description: Text to display. Markdown is not supported.
- type: object
properties:
type:
enum:
- TextRun
description: Must be `TextRun`
text:
type: string
description: Text to display. Markdown is not supported.
color:
"$ref": "#/components/schemas/Colors"
description: Controls the color of the text.
fontType:
"$ref": "#/components/schemas/FontType"
description: The type of font to use
highlight:
type: boolean
description: If `true`, displays the text highlighted.
isSubtle:
type: boolean
description: If `true`, displays text slightly toned down to appear less
prominent.
default: false
italic:
type: boolean
description: If `true`, displays the text using italic font.
selectAction:
"$ref": "#/components/schemas/ImplementationsOf.ISelectAction"
description: Action to invoke when this text run is clicked. Visually changes
the text run into a hyperlink. `Action.ShowCard` is not supported.
size:
"$ref": "#/components/schemas/FontSize"
description: Controls size of text.
strikethrough:
type: boolean
description: If `true`, displays the text with strikethrough.
underline:
type: boolean
description: If `true`, displays the text with an underline.
x-version: '1.3'
weight:
"$ref": "#/components/schemas/FontWeight"
description: Controls the weight of the text.
required:
- text
additionalProperties: false
Input.Choice:
description: Describes a choice for use in a ChoiceSet.
properties:
type:
enum:
- Input.Choice
description: Must be `Input.Choice`
title:
type: string
description: Text to display.
value:
type: string
description: The raw value for the choice. **NOTE:** do not use a `,` in the
value, since a `ChoiceSet` with `isMultiSelect` set to `true` returns a
comma-delimited string of choice values.
type: object
additionalProperties: false
required:
- title
- value
Input.ChoiceSet:
description: Allows a user to input a Choice.
properties:
type:
enum:
- Input.ChoiceSet
description: Must be `Input.ChoiceSet`
choices:
type: array
items:
"$ref": "#/components/schemas/Input.Choice"
description: "`Choice` options."
isMultiSelect:
type: boolean
description: Allow multiple choices to be selected.
default: false
style:
"$ref": "#/components/schemas/ChoiceInputStyle"
value:
type: string
description: The initial choice (or set of choices) that should be selected.
For multi-select, specify a comma-separated string of values.
wrap:
type: boolean
description: If `true`, allow text to wrap. Otherwise, text is clipped.
x-version: '1.2'
id: {}
errorMessage: {}
isRequired: {}
label: {}
fallback: {}
height: {}
separator: {}
spacing: {}
isVisible: {}
requires: {}
type: object
additionalProperties: false
required:
- choices
allOf:
- "$ref": "#/components/schemas/Extendable.Input"
Input.Date:
description: Lets a user choose a date.
properties:
type:
enum:
- Input.Date
description: Must be `Input.Date`
max:
type: string
description: Hint of maximum value expressed in YYYY-MM-DD(may be ignored
by some clients).
min:
type: string
description: Hint of minimum value expressed in YYYY-MM-DD(may be ignored
by some clients).
placeholder:
type: string
description: Description of the input desired. Displayed when no selection
has been made.
value:
type: string
description: The initial value for this field expressed in YYYY-MM-DD.
id: {}
errorMessage: {}
isRequired: {}
label: {}
fallback: {}
height: {}
separator: {}
spacing: {}
isVisible: {}
requires: {}
type: object
additionalProperties: false
allOf:
- "$ref": "#/components/schemas/Extendable.Input"
Input.Number:
description: Allows a user to enter a number.
properties:
type:
enum:
- Input.Number
description: Must be `Input.Number`
max:
type: number
description: Hint of maximum value (may be ignored by some clients).
min:
type: number
description: Hint of minimum value (may be ignored by some clients).
placeholder:
type: string
description: Description of the input desired. Displayed when no selection
has been made.
value:
type: number
description: Initial value for this field.
id: {}
errorMessage: {}
isRequired: {}
label: {}
fallback: {}
height: {}
separator: {}
spacing: {}
isVisible: {}
requires: {}
type: object
additionalProperties: false
allOf:
- "$ref": "#/components/schemas/Extendable.Input"
Input.Text:
description: Lets a user enter text.
properties:
type:
enum:
- Input.Text
description: Must be `Input.Text`
isMultiline:
type: boolean
description: If `true`, allow multiple lines of input.
default: false
maxLength:
type: number
description: Hint of maximum length characters to collect (may be ignored
by some clients).
placeholder:
type: string
description: Description of the input desired. Displayed when no text has
been input.
regex:
type: string
description: Regular expression indicating the required format of this text
input.
x-version: '1.3'
style:
"$ref": "#/components/schemas/TextInputStyle"
description: Style hint for text input.
inlineAction:
"$ref": "#/components/schemas/ImplementationsOf.ISelectAction"
description: The inline action for the input. Typically displayed to the right
of the input. It is strongly recommended to provide an icon on the action
(which will be displayed instead of the title of the action).
x-version: '1.2'
value:
type: string
description: The initial value for this field.
id: {}
errorMessage: {}
isRequired: {}
label: {}
fallback: {}
height: {}
separator: {}
spacing: {}
isVisible: {}
requires: {}
type: object
additionalProperties: false
allOf:
- "$ref": "#/components/schemas/Extendable.Input"
Input.Time:
description: Lets a user select a time.
properties:
type:
enum:
- Input.Time
description: Must be `Input.Time`
max:
type: string
description: Hint of maximum value expressed in HH:MM (may be ignored by some
clients).
min:
type: string
description: Hint of minimum value expressed in HH:MM (may be ignored by some
clients).
placeholder:
type: string
description: Description of the input desired. Displayed when no time has
been selected.
value:
type: string
description: The initial value for this field expressed in HH:MM.
id: {}
errorMessage: {}
isRequired: {}
label: {}
fallback: {}
height: {}
separator: {}
spacing: {}
isVisible: {}
requires: {}
type: object
additionalProperties: false
allOf:
- "$ref": "#/components/schemas/Extendable.Input"
Input.Toggle:
description: Lets a user choose between two options.
properties:
type:
enum:
- Input.Toggle
description: Must be `Input.Toggle`
title:
type: string
description: Title for the toggle
value:
type: string
description: The initial selected value. If you want the toggle to be initially
on, set this to the value of `valueOn`'s value.
default: 'false'
valueOff:
type: string
description: The value when toggle is off
default: 'false'
valueOn:
type: string
description: The value when toggle is on
default: 'true'
wrap:
type: boolean
description: If `true`, allow text to wrap. Otherwise, text is clipped.
x-version: '1.2'
id: {}
errorMessage: {}
isRequired: {}
label: {}
fallback: {}
height: {}
separator: {}
spacing: {}
isVisible: {}
requires: {}
type: object
additionalProperties: false
required:
- title
allOf:
- "$ref": "#/components/schemas/Extendable.Input"
Media:
description: Displays a media player for audio or video content.
x-version: '1.1'
x-features:
- 196
properties:
type:
enum:
- Media
description: Must be `Media`
sources:
type: array
items:
"$ref": "#/components/schemas/MediaSource"
description: Array of media sources to attempt to play.
poster:
type: string
format: uri-reference
description: URL of an image to display before playing. Supports data URI
in version 1.2+
altText:
type: string
description: Alternate text describing the audio or video.
fallback: {}
height: {}
separator: {}
spacing: {}
id: {}
isVisible: {}
requires: {}
type: object
additionalProperties: false
required:
- sources
allOf:
- "$ref": "#/components/schemas/Extendable.Element"
MediaSource:
description: Defines a source for a Media element
x-version: '1.1'
x-features:
- 196
properties:
type:
enum:
- MediaSource
description: Must be `MediaSource`
mimeType:
type: string
description: Mime type of associated media (e.g. `"video/mp4"`).
url:
type: string
format: uri-reference
description: URL to media. Supports data URI in version 1.2+
type: object
additionalProperties: false
required:
- mimeType
- url
RichTextBlock:
description: Defines an array of inlines, allowing for inline text formatting.
x-version: '1.2'
x-features:
- 1933
properties:
type:
enum:
- RichTextBlock
description: Must be `RichTextBlock`
inlines:
type: array
items:
"$ref": "#/components/schemas/ImplementationsOf.Inline"
description: The array of inlines.
horizontalAlignment:
"$ref": "#/components/schemas/HorizontalAlignment"
description: Controls the horizontal text alignment.
fallback: {}
height: {}
separator: {}
spacing: {}
id: {}
isVisible: {}
requires: {}
type: object
additionalProperties: false
required:
- inlines
allOf:
- "$ref": "#/components/schemas/Extendable.Element"
TextBlock:
description: Displays text, allowing control over font sizes, weight, and color.
properties:
type:
enum:
- TextBlock
description: Must be `TextBlock`
text:
type: string
description: Text to display. A subset of markdown is supported (https://aka.ms/ACTextFeatures)
color:
"$ref": "#/components/schemas/Colors"
description: Controls the color of `TextBlock` elements.
fontType:
"$ref": "#/components/schemas/FontType"
description: Type of font to use for rendering
x-version: '1.2'
horizontalAlignment:
"$ref": "#/components/schemas/HorizontalAlignment"
description: Controls the horizontal text alignment.
isSubtle:
type: boolean
description: If `true`, displays text slightly toned down to appear less prominent.
default: false
maxLines:
type: number
description: Specifies the maximum number of lines to display.
size:
"$ref": "#/components/schemas/FontSize"
description: Controls size of text.
weight:
"$ref": "#/components/schemas/FontWeight"
description: Controls the weight of `TextBlock` elements.
wrap:
type: boolean
description: If `true`, allow text to wrap. Otherwise, text is clipped.
default: false
fallback: {}
height: {}
separator: {}
spacing: {}
id: {}
isVisible: {}
requires: {}
type: object
additionalProperties: false
required:
- text
allOf:
- "$ref": "#/components/schemas/Extendable.Element"
ActionInputs:
anyOf:
- enum:
- All
- None
- pattern: "^([a|A][l|L][l|L])|([n|N][o|O][n|N][e|E])$"
ActionStyle:
description: Controls the style of an Action, which influences how the action
is displayed, spoken, etc.
x-features:
- 861
x-version: '1.2'
anyOf:
- enum:
- default
- positive
- destructive
- pattern: "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([p|P][o|O][s|S][i|I][t|T][i|I][v|V][e|E])|([d|D][e|E][s|S][t|T][r|R][u|U][c|C][t|T][i|I][v|V][e|E])$"
BlockElementHeight:
anyOf:
- enum:
- auto
- stretch
- pattern: "^([a|A][u|U][t|T][o|O])|([s|S][t|T][r|R][e|E][t|T][c|C][h|H])$"
ChoiceInputStyle:
description: Style hint for `Input.ChoiceSet`.
anyOf:
- enum:
- compact
- expanded
- pattern: "^([c|C][o|O][m|M][p|P][a|A][c|C][t|T])|([e|E][x|X][p|P][a|A][n|N][d|D][e|E][d|D])$"
Colors:
anyOf:
- enum:
- default
- dark
- light
- accent
- good
- warning
- attention
- pattern: "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([d|D][a|A][r|R][k|K])|([l|L][i|I][g|G][h|H][t|T])|([a|A][c|C][c|C][e|E][n|N][t|T])|([g|G][o|O][o|O][d|D])|([w|W][a|A][r|R][n|N][i|I][n|N][g|G])|([a|A][t|T][t|T][e|E][n|N][t|T][i|I][o|O][n|N])$"
ContainerStyle:
anyOf:
- enum:
- default
- emphasis
- good
- attention
- warning
- accent
- pattern: "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([e|E][m|M][p|P][h|H][a|A][s|S][i|I][s|S])|([g|G][o|O][o|O][d|D])|([a|A][t|T][t|T][e|E][n|N][t|T][i|I][o|O][n|N])|([w|W][a|A][r|R][n|N][i|I][n|N][g|G])|([a|A][c|C][c|C][e|E][n|N][t|T])$"
FallbackOption:
anyOf:
- enum:
- drop
- pattern: "^([d|D][r|R][o|O][p|P])$"
FontSize:
anyOf:
- enum:
- default
- small
- medium
- large
- extraLarge
- pattern: "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([s|S][m|M][a|A][l|L][l|L])|([m|M][e|E][d|D][i|I][u|U][m|M])|([l|L][a|A][r|R][g|G][e|E])|([e|E][x|X][t|T][r|R][a|A][l|L][a|A][r|R][g|G][e|E])$"
FontType:
anyOf:
- enum:
- default
- monospace
- pattern: "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([m|M][o|O][n|N][o|O][s|S][p|P][a|A][c|C][e|E])$"
FontWeight:
anyOf:
- enum:
- default
- lighter
- bolder
- pattern: "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([l|L][i|I][g|G][h|H][t|T][e|E][r|R])|([b|B][o|O][l|L][d|D][e|E][r|R])$"
HorizontalAlignment:
description: Controls how content is horizontally positioned within its container.
anyOf:
- enum:
- left
- center
- right
- pattern: "^([l|L][e|E][f|F][t|T])|([c|C][e|E][n|N][t|T][e|E][r|R])|([r|R][i|I][g|G][h|H][t|T])$"
ImageFillMode:
anyOf:
- enum:
- cover
- repeatHorizontally
- repeatVertically
- repeat
- pattern: "^([c|C][o|O][v|V][e|E][r|R])|([r|R][e|E][p|P][e|E][a|A][t|T][h|H][o|O][r|R][i|I][z|Z][o|O][n|N][t|T][a|A][l|L][l|L][y|Y])|([r|R][e|E][p|P][e|E][a|A][t|T][v|V][e|E][r|R][t|T][i|I][c|C][a|A][l|L][l|L][y|Y])|([r|R][e|E][p|P][e|E][a|A][t|T])$"
ImageSize:
description: Controls the approximate size of the image. The physical dimensions
will vary per host. Every option preserves aspect ratio.
anyOf:
- enum:
- auto
- stretch
- small
- medium
- large
- pattern: "^([a|A][u|U][t|T][o|O])|([s|S][t|T][r|R][e|E][t|T][c|C][h|H])|([s|S][m|M][a|A][l|L][l|L])|([m|M][e|E][d|D][i|I][u|U][m|M])|([l|L][a|A][r|R][g|G][e|E])$"
ImageStyle:
description: Controls how this `Image` is displayed.
anyOf:
- enum:
- default
- person
- pattern: "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([p|P][e|E][r|R][s|S][o|O][n|N])$"
Spacing:
description: Specifies how much spacing. Hosts pick the exact pixel amounts for
each of these.
anyOf:
- enum:
- default
- none
- small
- medium
- large
- extraLarge
- padding
- pattern: "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([n|N][o|O][n|N][e|E])|([s|S][m|M][a|A][l|L][l|L])|([m|M][e|E][d|D][i|I][u|U][m|M])|([l|L][a|A][r|R][g|G][e|E])|([e|E][x|X][t|T][r|R][a|A][l|L][a|A][r|R][g|G][e|E])|([p|P][a|A][d|D][d|D][i|I][n|N][g|G])$"
TextInputStyle:
description: Style hint for text input.
anyOf:
- enum:
- text
- tel
- url
- email
- pattern: "^([t|T][e|E][x|X][t|T])|([t|T][e|E][l|L])|([u|U][r|R][l|L])|([e|E][m|M][a|A][i|I][l|L])$"
VerticalAlignment:
anyOf:
- enum:
- top
- center
- bottom
- pattern: "^([t|T][o|O][p|P])|([c|C][e|E][n|N][t|T][e|E][r|R])|([b|B][o|O][t|T][t|T][o|O][m|M])$"
VerticalContentAlignment:
anyOf:
- enum:
- top
- center
- bottom
- pattern: "^([t|T][o|O][p|P])|([c|C][e|E][n|N][t|T][e|E][r|R])|([b|B][o|O][t|T][t|T][o|O][m|M])$"
BackgroundImage:
description: Specifies a background image. Acceptable formats are PNG, JPEG, and
GIF
properties:
type:
enum:
- BackgroundImage
description: Must be `BackgroundImage`
url:
type: string
format: uri-reference
description: The URL (or data url) of the image. Acceptable formats are PNG,
JPEG, and GIF
fillMode:
"$ref": "#/components/schemas/ImageFillMode"
description: Describes how the image should fill the area.
horizontalAlignment:
"$ref": "#/components/schemas/HorizontalAlignment"
description: Describes how the image should be aligned if it must be cropped
or if using repeat fill mode.
verticalAlignment:
"$ref": "#/components/schemas/VerticalAlignment"
description: Describes how the image should be aligned if it must be cropped
or if using repeat fill mode.
x-version: '1.2'
type: object
additionalProperties: false
required:
- url
ImplementationsOf.Item:
anyOf:
- required:
- type
allOf:
- "$ref": "#/components/schemas/Action.OpenUrl"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Action.ShowCard"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Action.Submit"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Action.ToggleVisibility"
- required:
- type
allOf:
- "$ref": "#/components/schemas/ActionSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Column"
- required:
- type
allOf:
- "$ref": "#/components/schemas/ColumnSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Container"
- required:
- type
allOf:
- "$ref": "#/components/schemas/FactSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Image"
- required:
- type
allOf:
- "$ref": "#/components/schemas/ImageSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.ChoiceSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Date"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Number"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Text"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Time"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Toggle"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Media"
- required:
- type
allOf:
- "$ref": "#/components/schemas/RichTextBlock"
- required:
- type
allOf:
- "$ref": "#/components/schemas/TextBlock"
ImplementationsOf.Action:
anyOf:
- required:
- type
allOf:
- "$ref": "#/components/schemas/Action.OpenUrl"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Action.ShowCard"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Action.Submit"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Action.ToggleVisibility"
ImplementationsOf.ISelectAction:
anyOf:
- required:
- type
allOf:
- "$ref": "#/components/schemas/Action.OpenUrl"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Action.Submit"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Action.ToggleVisibility"
ImplementationsOf.Element:
anyOf:
- required:
- type
allOf:
- "$ref": "#/components/schemas/ActionSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/ColumnSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Container"
- required:
- type
allOf:
- "$ref": "#/components/schemas/FactSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Image"
- required:
- type
allOf:
- "$ref": "#/components/schemas/ImageSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.ChoiceSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Date"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Number"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Text"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Time"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Toggle"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Media"
- required:
- type
allOf:
- "$ref": "#/components/schemas/RichTextBlock"
- required:
- type
allOf:
- "$ref": "#/components/schemas/TextBlock"
ImplementationsOf.ToggleableItem:
anyOf:
- required:
- type
allOf:
- "$ref": "#/components/schemas/ActionSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Column"
- required:
- type
allOf:
- "$ref": "#/components/schemas/ColumnSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Container"
- required:
- type
allOf:
- "$ref": "#/components/schemas/FactSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Image"
- required:
- type
allOf:
- "$ref": "#/components/schemas/ImageSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.ChoiceSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Date"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Number"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Text"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Time"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Toggle"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Media"
- required:
- type
allOf:
- "$ref": "#/components/schemas/RichTextBlock"
- required:
- type
allOf:
- "$ref": "#/components/schemas/TextBlock"
ImplementationsOf.Inline:
anyOf:
- required:
- type
allOf:
- "$ref": "#/components/schemas/TextRun"
ImplementationsOf.Input:
anyOf:
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.ChoiceSet"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Date"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Number"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Text"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Time"
- required:
- type
allOf:
- "$ref": "#/components/schemas/Input.Toggle"
Extendable.Action:
properties:
title:
type: string
description: Label for button or link that represents this action.
iconUrl:
type: string
format: uri-reference
description: Optional icon to be shown on the action in conjunction with the
title. Supports data URI in version 1.2+
x-version: '1.1'
style:
"$ref": "#/components/schemas/ActionStyle"
description: Controls the style of an Action, which influences how the action
is displayed, spoken, etc.
x-version: '1.2'
fallback:
anyOf:
- "$ref": "#/components/schemas/ImplementationsOf.Action"
- "$ref": "#/components/schemas/FallbackOption"
description: Describes what to do when an unknown element is encountered or
the requires of this or any children can't be met.
x-version: '1.2'
requires: {}
type: object
allOf:
- "$ref": "#/components/schemas/Extendable.Item"
Extendable.Element:
properties:
fallback:
anyOf:
- "$ref": "#/components/schemas/ImplementationsOf.Element"
- "$ref": "#/components/schemas/FallbackOption"
description: Describes what to do when an unknown element is encountered or
the requires of this or any children can't be met.
x-version: '1.2'
height:
"$ref": "#/components/schemas/BlockElementHeight"
description: Specifies the height of the element.
x-version: '1.1'
separator:
type: boolean
description: When `true`, draw a separating line at the top of the element.
spacing:
"$ref": "#/components/schemas/Spacing"
description: Controls the amount of spacing between this element and the preceding
element.
id: {}
isVisible: {}
requires: {}
type: object
allOf:
- "$ref": "#/components/schemas/Extendable.ToggleableItem"
Extendable.Input:
description: Base input class
properties:
id:
type: string
description: Unique identifier for the value. Used to identify collected input
when the Submit action is performed.
errorMessage:
type: string
description: Error message to display when entered input is invalid
x-version: '1.3'
isRequired:
type: boolean
description: Whether or not this input is required
x-version: '1.3'
label:
type: string
description: Label for this input
x-version: '1.3'
fallback:
anyOf:
- "$ref": "#/components/schemas/ImplementationsOf.Element"
- "$ref": "#/components/schemas/FallbackOption"
description: Describes what to do when an unknown element is encountered or
the requires of this or any children can't be met.
x-version: '1.2'
height:
"$ref": "#/components/schemas/BlockElementHeight"
description: Specifies the height of the element.
x-version: '1.1'
separator:
type: boolean
description: When `true`, draw a separating line at the top of the element.
spacing:
"$ref": "#/components/schemas/Spacing"
description: Controls the amount of spacing between this element and the preceding
element.
isVisible:
type: boolean
description: If `false`, this item will be removed from the visual tree.
default: true
x-version: '1.2'
requires:
type: object
additionalProperties:
type: string
description: A series of key/value pairs indicating features that the item
requires with corresponding minimum version. When a feature is missing or
of insufficient version, fallback is triggered.
x-version: '1.2'
type: object
required:
- id
Extendable.Item:
properties:
requires:
type: object
additionalProperties:
type: string
description: A series of key/value pairs indicating features that the item
requires with corresponding minimum version. When a feature is missing or
of insufficient version, fallback is triggered.
x-version: '1.2'
type: object
Extendable.ToggleableItem:
properties:
id:
type: string
description: A unique identifier associated with the item.
isVisible:
type: boolean
description: If `false`, this item will be removed from the visual tree.
default: true
x-version: '1.2'
requires: {}
type: object
allOf:
- "$ref": "#/components/schemas/Extendable.Item"
@lmvdz
Copy link

lmvdz commented Sep 30, 2023

How did you generate this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment