core2-jvm (latest)
core2-jvm (latest)core-jvm
  • Home
  • Features
  • Spec
  • Guides
  • Sandbox
  • Step Studio
  • Step
    • Action
    • External
    • Help
    • Link Handler
    • Navigation
    • Persist Async
    • Polling
    • Refresh On Change
    • Schema On Change
    • Step Error
    • Suggestions
    • Summary
    • Toolbar
    • Upload
    • Validate Async
    • Schema
    • All Of Schema
    • Array Schema
    • Blob Schema
    • Boolean Schema
    • Const Schema
    • Integer Schema
    • Number Schema
    • Object Schema
    • One Of Schema
    • String Schema
    • Layout
    • Alert Layout
    • Box Layout
    • Button Layout
    • Columns Layout
    • Decision Layout
    • Divider Layout
    • Form Layout
    • Heading Layout
    • Image Layout
    • Instructions Layout
    • List Layout
    • Loading Indicator Layout
    • Markdown Layout
    • Media Layout
    • Modal Layout
    • Paragraph Layout
    • Progress Layout
    • Review Layout
    • Search Layout
    • Section Layout
    • Status List Layout
    • Tabs Layout
    • Upsell Layout
    • Behavior
    • Action Behavior
    • Copy Behavior
    • Dismiss Behavior
    • Link Behavior
    • Modal Behavior
    • Refresh Behavior
    • Subflow Behavior
    • Subflow
    • Dynamic Launch Config
    • Launch Config
    • Modal Presentation
    • Native Launch Config
    • Presentation
    • Push Presentation
    • Action Response Body
    • Error Response Body
    • Flow Response
    • Modal Response Body
    • No Op Response Body
    • Search Initial Layout Config
    • Search Initial Results Config
    • Search Initial State
    • Search Layout Response Body
    • Search Response
    • Search Response Body
    • Search Result
    • Search Results Response Body
    • Subflow Response Body
    • Additional Info
    • Align
    • Autocapitalization Type
    • Autocomplete Token
    • Context
    • Icon
    • Image
    • Inline Alert
    • Media
    • Native Capabilities
    • Request
    • Size
    • Supporting Values
    • Control
    • Tag

Blob Schema

Android - 8.25.0 iOS - 11539 Web - 2.5.0

Represents a binary data submission using Form Data rather than JSON.

It can only be used as the schema of a Persist Async configuration.

obj {
    id = "#schema"
    properties {
        string("file") {
            persistAsync {
                url = "/upload"
                method = HttpMethod.POST
                param = "bodyAttribute"
                idProperty = "token"
                schema = BlobSchema.build {
                    source = Upload.Source.FILE
                    title = "Invoice"
                    description = "PNG, JPG, or PDF, less than 5mb"
                    accepts = listOf(
                        "image/png",
                        "image/jpg",
                        "application/pdf"
                    )
                }
            }
        }
    }
}

Properties

PropertyTypeRequiredDescription
$idStringNoA unique id which can be used to refer to the schema.
acceptsArray<String>NoArray of MIME types the field should accept. If null, any type of file is accepted. Wildcard MIME types are allowed, but support for them varies from platform to platform. Clients must support at least image, audio, and video. Any unrecognised MIME types will be ignored.

additionalText

String

No

Additional information to be displayed to the user.

Android - Unsupported iOS - Unsupported Web - Unsupported

alertAlertLayoutNoConfigure an alert which will be displayed above the UI for this schema. This can be used to provide warnings or additional information to the user, but shouldn't be used for validation. For client-side validation please see the validation available on each schema type, or see Validate Async and Action for server-side validation.
analyticsIdStringNoAn internal id which is attached to analytics events relating to the schema. It allows you to override $id during event emission, it is not user-facing and does not have to be unique within the step.
cameraConfigAnyNoProvide client-specific configuration for the camera capture experience.
controlStringNoAn identifier which can be used to request the client use a particular UI control to represent this schema.
descriptionStringNoA user-facing description for the schema.
disabledBooleanNoIf true, the UI for this schema will not accept input, but the corresponding data will still be submitted. Defaults to false.
hiddenBooleanNoIf true, no UI will be shown to the user for this schema, but the corresponding data will still be submitted. Defaults to false.
iconIconNoAn icon which the client can use to represent this entity.
imageImageNoAn image which the client can use to represent this entity.

inlineAlert

InlineAlert

No

An alert that will be displayed inline with the item.

Android - Unsupported iOS - Unsupported Web - Unsupported

keywordsArray<String>NoA list of keywords that can be used when searching or filtering items in a One Of Schema. Only applies when this schema is child schema in a One Of Schema.
maxSizeLongNoThe maximum file size in bytes. If null, file size is unlimited.
mediaMediaNoA media object which the client can use to represent this entity.
sourceUpload.SourceNoValid sources for the file. If null, any source is permitted.
summarySummary.ProviderNoConfigure how this schema will be summarised when included in an Array Schema.

supportingValues

SupportingValues

No

An object containing two strings representing two user-facing values. One being clearly more important than the other.

Android - Unsupported iOS - Unsupported Web - Unsupported

tags

Array<String>

No

An optional list of identifiers used to configure renderers.

Android - 8.131.0 iOS - 8.125 Web - 4.33.0

titleStringNoA user-facing title for the schema.
typeStringYesIt must be blob.
validationAsyncValidateAsyncNo
validationMessagesMap<String, String>NoAn object where each property/value pair is the name of a validation property (e.g. maximum) to the user-facing error message to display if the validation fails.