addedInput schema / $defs / FormLayoutDiscountCode
Added value: +{
+ "description": "Where the discount code box sits. This item only places the box: the box shows while the page has `showCouponCodeField` on. Checkout pages and events only.",
+ "properties": {
+ "type": {
+ "const": "discount-code",
+ "description": "Always `discount-code`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+}
addedInput schema / $defs / FormLayoutDivider
Added value: +{
+ "description": "A line that separates parts of the form.",
+ "properties": {
+ "id": {
+ "description": "The divider's id, chosen by you: 1 to 64 characters, unique in the layout.",
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "divider",
+ "description": "Always `divider`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "id"
+ ],
+ "type": "object"
+}
addedInput schema / $defs / FormLayoutField
Added value: +{
+ "description": "A field on the page, shown where it sits in the layout.",
+ "properties": {
+ "fieldId": {
+ "description": "The `id` of a field in the page's `fields`.",
+ "pattern": "^[0-9a-fA-F]{24}$",
+ "type": "string"
+ },
+ "type": {
+ "const": "field",
+ "description": "Always `field`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "fieldId"
+ ],
+ "type": "object"
+}
addedInput schema / $defs / FormLayoutGroup
Added value: +{
+ "description": "Items shown side by side in columns.",
+ "properties": {
+ "columns": {
+ "description": "How many items sit side by side, 1 to 4. On phones the group stacks by default.",
+ "maximum": 4,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "id": {
+ "description": "The group's id, chosen by you: 1 to 64 characters, unique in the layout.",
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "items": {
+ "description": "What the group holds, filled row by row: fields, headings, dividers and the discount code. Groups never nest.",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/$defs/FormLayoutField"
+ },
+ {
+ "$ref": "#/$defs/FormLayoutHeading"
+ },
+ {
+ "$ref": "#/$defs/FormLayoutDivider"
+ },
+ {
+ "$ref": "#/$defs/FormLayoutDiscountCode"
+ }
+ ]
+ },
+ "maxItems": 200,
+ "type": "array"
+ },
+ "name": {
+ "description": "A name for the group, seen only in the dashboard. Up to 100 characters.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "type": {
+ "const": "group",
+ "description": "Always `group`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "id",
+ "columns",
+ "items"
+ ],
+ "type": "object"
+}
addedInput schema / $defs / FormLayoutHeading
Added value: +{
+ "description": "A heading or subheading shown above the items after it.",
+ "properties": {
+ "id": {
+ "description": "The heading's id, chosen by you: 1 to 64 characters, unique in the layout.",
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "level": {
+ "description": "`heading` for a section title, `subheading` for a smaller one.",
+ "enum": [
+ "heading",
+ "subheading"
+ ],
+ "type": "string"
+ },
+ "text": {
+ "description": "The text shown, up to 200 characters.",
+ "maxLength": 200,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "heading",
+ "description": "Always `heading`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "id",
+ "text",
+ "level"
+ ],
+ "type": "object"
+}
addedInput schema / $defs / FormLayoutItem
Added value: +{
+ "description": "More item types may be added later. When reading a layout, skip any item type you do not recognise. When updating, send every item back as you received it, including those.",
+ "oneOf": [
+ {
+ "$ref": "#/$defs/FormLayoutField"
+ },
+ {
+ "$ref": "#/$defs/FormLayoutHeading"
+ },
+ {
+ "$ref": "#/$defs/FormLayoutDivider"
+ },
+ {
+ "$ref": "#/$defs/FormLayoutDiscountCode"
+ },
+ {
+ "$ref": "#/$defs/FormLayoutGroup"
+ }
+ ]
+}
addedInput schema / properties / formLayout
Added value: +{
+ "description": "Replaces how the page's form is arranged, top to bottom. Reference fields by `fieldId`, the ids in the page's `fields`; an id that is not on the page is rejected. Send the whole layout: read the current one from `formLayout` on the page, change it and send it back. Each item is one of: `field` (`fieldId`), `heading` (`id`, `text`, `level` `heading` or `subheading`), `divider` (`id`), `discount-code` (no other properties) and `group` (`id`, optional `name`, `columns` 1 to 4, and `items` holding fields, headings, dividers or the discount code; groups never nest). You choose the `id` of each heading, divider and group: 1 to 64 characters, unique in the layout. Fields the layout leaves out are added after it, in their current order. `formLayout` on the page decides the form's order. Each field's `order` is its position among the page's fields and follows the layout: saving a layout (in the dashboard or through the API) rewrites every field's `order`. On a page that has never saved a layout, setting `order` moves the field; once a layout is saved, move fields with `formLayout` instead. A `discount-code` item only places the discount code box: the box shows while `showCouponCodeField` is on, and the item does not switch it on. Forms have no discount code, so a form layout must leave it out. More item types may be added later. When reading a layout, skip any item type you do not recognise. When updating, send every item back as you received it, including those.",
+ "items": {
+ "$ref": "#/$defs/FormLayoutItem"
+ },
+ "maxItems": 500,
+ "type": "array"
+}
changedOutput schema / $defs / Field / properties / order / description
Previous value: -"Display order of the field within the form."New value: +"Position of the field among the page's fields, from 0. `formLayout` on the page decides the form's order. Each field's `order` is its position among the page's fields and follows the layout: saving a layout (in the dashboard or through the API) rewrites every field's `order`. On a page that has never saved a layout, setting `order` moves the field; once a layout is saved, move fields with `formLayout` instead."
addedOutput schema / $defs / FormLayoutDiscountCode
Added value: +{
+ "additionalProperties": false,
+ "description": "Where the discount code box sits. This item only places the box: the box shows while the page has `showCouponCodeField` on. Checkout pages and events only.",
+ "properties": {
+ "type": {
+ "const": "discount-code",
+ "description": "Always `discount-code`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+}
addedOutput schema / $defs / FormLayoutDivider
Added value: +{
+ "additionalProperties": false,
+ "description": "A line that separates parts of the form.",
+ "properties": {
+ "id": {
+ "description": "The divider's id, chosen by you: 1 to 64 characters, unique in the layout.",
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "divider",
+ "description": "Always `divider`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "id"
+ ],
+ "type": "object"
+}
addedOutput schema / $defs / FormLayoutField
Added value: +{
+ "additionalProperties": false,
+ "description": "A field on the page, shown where it sits in the layout.",
+ "properties": {
+ "fieldId": {
+ "description": "The `id` of a field in the page's `fields`.",
+ "pattern": "^[0-9a-fA-F]{24}$",
+ "type": "string"
+ },
+ "type": {
+ "const": "field",
+ "description": "Always `field`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "fieldId"
+ ],
+ "type": "object"
+}
addedOutput schema / $defs / FormLayoutGroup
Added value: +{
+ "additionalProperties": false,
+ "description": "Items shown side by side in columns.",
+ "properties": {
+ "columns": {
+ "description": "How many items sit side by side, 1 to 4. On phones the group stacks by default.",
+ "maximum": 4,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "id": {
+ "description": "The group's id, chosen by you: 1 to 64 characters, unique in the layout.",
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "items": {
+ "description": "What the group holds, filled row by row: fields, headings, dividers and the discount code. Groups never nest.",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/$defs/FormLayoutField"
+ },
+ {
+ "$ref": "#/$defs/FormLayoutHeading"
+ },
+ {
+ "$ref": "#/$defs/FormLayoutDivider"
+ },
+ {
+ "$ref": "#/$defs/FormLayoutDiscountCode"
+ }
+ ]
+ },
+ "maxItems": 200,
+ "type": "array"
+ },
+ "name": {
+ "description": "A name for the group, seen only in the dashboard. Up to 100 characters.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "type": {
+ "const": "group",
+ "description": "Always `group`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "id",
+ "columns",
+ "items"
+ ],
+ "type": "object"
+}
addedOutput schema / $defs / FormLayoutHeading
Added value: +{
+ "additionalProperties": false,
+ "description": "A heading or subheading shown above the items after it.",
+ "properties": {
+ "id": {
+ "description": "The heading's id, chosen by you: 1 to 64 characters, unique in the layout.",
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "level": {
+ "description": "`heading` for a section title, `subheading` for a smaller one.",
+ "enum": [
+ "heading",
+ "subheading"
+ ],
+ "type": "string"
+ },
+ "text": {
+ "description": "The text shown, up to 200 characters.",
+ "maxLength": 200,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "heading",
+ "description": "Always `heading`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "id",
+ "text",
+ "level"
+ ],
+ "type": "object"
+}
addedOutput schema / $defs / FormLayoutItem
Added value: +{
+ "description": "More item types may be added later. When reading a layout, skip any item type you do not recognise. When updating, send every item back as you received it, including those.",
+ "oneOf": [
+ {
+ "$ref": "#/$defs/FormLayoutField"
+ },
+ {
+ "$ref": "#/$defs/FormLayoutHeading"
+ },
+ {
+ "$ref": "#/$defs/FormLayoutDivider"
+ },
+ {
+ "$ref": "#/$defs/FormLayoutDiscountCode"
+ },
+ {
+ "$ref": "#/$defs/FormLayoutGroup"
+ }
+ ]
+}
addedOutput schema / properties / data / properties / formLayout
Added value: +{
+ "description": "How the page's form is arranged, top to bottom: fields, headings, dividers, groups of fields shown side by side in columns, and where the discount code box sits. Always returned, even for a page that was never arranged: every field on the page is listed, and `fieldId` matches the `id` of an entry in `fields`. A `discount-code` item only places the box, which shows while `showCouponCodeField` is on. A placement you saved is returned whether the box is on or off; when none was saved and the box is on, the item is at the end, where the box shows. Forms never have one. Each item is one of: `field` (`fieldId`), `heading` (`id`, `text`, `level` `heading` or `subheading`), `divider` (`id`), `discount-code` (no other properties) and `group` (`id`, optional `name`, `columns` 1 to 4, and `items` holding fields, headings, dividers or the discount code; groups never nest). You choose the `id` of each heading, divider and group: 1 to 64 characters, unique in the layout. `formLayout` on the page decides the form's order. Each field's `order` is its position among the page's fields and follows the layout: saving a layout (in the dashboard or through the API) rewrites every field's `order`. On a page that has never saved a layout, setting `order` moves the field; once a layout is saved, move fields with `formLayout` instead. More item types may be added later. When reading a layout, skip any item type you do not recognise. When updating, send every item back as you received it, including those.",
+ "items": {
+ "$ref": "#/$defs/FormLayoutItem"
+ },
+ "type": "array"
+}