@viewdo/dxp-story-cli
Version:
DXP Story Management CLI
1,411 lines • 50.5 kB
JSON
{
"$schema": "http://json-schema.org/draft-07/schema#",
"defaultProperties": [],
"definitions": {
"ActionTemplate": {
"defaultProperties": [],
"properties": {
"action": {
"$ref": "#/definitions/StoryAction"
},
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"organization_requirements": {
"$ref": "#/definitions/OrganizationConfiguration"
},
"story_requirements": {
"$ref": "#/definitions/StoryConfiguration"
}
},
"required": [
"action",
"description",
"name",
"organization_requirements",
"story_requirements"
],
"type": "object"
},
"ActionType": {
"enum": [
"SendEmail",
"SendSMS",
"SendMMS",
"SendNotification",
"ConnectCall",
"CreateExternalRecord",
"WebHook",
"SendToStory",
"SyncToStory",
"SetExperienceData",
"SetExperienceCompleted",
"SetExperienceConverted",
"SetExperienceEpisode",
"StopExperienceActions",
"FireAction",
"AddToSuppressionList",
"RemoveFromSuppressionList",
"RecordEvent",
"RecordInboundLink",
"SetExperienceChildEntity",
"ExecuteFunction"
],
"type": "string"
},
"ConfigurationSource": {
"defaultProperties": [],
"properties": {
"modelKey": {
"description": "The owning model key.\n'iVX' if the sourceType is Global",
"type": "string"
},
"serviceKey": {
"description": "The service key identifier.",
"type": "string"
},
"sourceType": {
"$ref": "#/definitions/ConfigurationSourceType",
"description": "Which model type owns the configuration.\nGlobal | Organization"
}
},
"required": [
"modelKey",
"serviceKey",
"sourceType"
],
"type": "object"
},
"ConfigurationSourceType": {
"enum": [
"Global",
"Organization"
],
"type": "string"
},
"ContentType": {
"enum": [
"Text",
"HTML",
"LIQUID",
"JS",
"JSON",
"XML",
"CSS",
"LESS",
"CS",
"CSV",
"MD",
"VTT"
],
"type": "string"
},
"DataPoint": {
"defaultProperties": [],
"properties": {
"attributes": {
"additionalProperties": {
"type": "string"
},
"defaultProperties": [],
"description": "An whose name and values are assigned to the underlying HTML input.",
"type": "object"
},
"dataTree": {
"anyOf": [
{
"$ref": "#/definitions/DataTree",
"description": "An object that describes a set of cascading options."
},
{
"type": "null"
}
],
"default": null
},
"description": {
"description": "The description to show along with the name when presenting this on a form.",
"type": "string"
},
"display": {
"$ref": "#/definitions/DisplayType",
"description": "The display-type when presenting this input on a page"
},
"key": {
"description": "The input key.",
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"name": {
"description": "The input name (shown on DXP forms)",
"type": "string"
},
"options": {
"default": [],
"description": "If the display-type is Options, these are the list of values the user will select from.",
"items": {
"$ref": "#/definitions/OptionItem"
},
"type": "array"
},
"required": {
"default": false,
"description": "Mark this true to force this value be set when creating an experience.",
"type": "boolean"
},
"tip": {
"description": "The tooltip to display when presenting on a form.",
"type": [
"string",
"null"
]
},
"value": {
"description": "This is the default value if no other value is input.",
"type": [
"string",
"number",
"boolean"
]
}
},
"required": [
"display",
"key",
"name",
"required"
],
"type": "object"
},
"DataTree": {
"defaultProperties": [],
"properties": {
"isStatic": {
"default": false,
"description": "Should all of the lists be visible? Defaults to hiding until needed.",
"type": "boolean"
},
"items": {
"default": [],
"description": "The data tree object of the cascading lists. We should have a tree of values as deep as the label-count.\nThis level is the options for the first label.",
"items": {
"$ref": "#/definitions/DataTreeItem"
},
"type": "array"
},
"labels": {
"default": [],
"description": "These are the top level labels. Three labels means, three select lists and the items below must also have three sets.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"isStatic",
"items",
"labels"
],
"type": "object"
},
"DataTreeItem": {
"defaultProperties": [],
"properties": {
"items": {
"items": {
"$ref": "#/definitions/DataTreeItem"
},
"type": "array"
},
"key": {
"description": "The data key for this segment of the composite input.",
"pattern": "^[A-Za-z0-9-_~]{1,30}$",
"type": "string"
},
"name": {
"description": "The value of this element",
"type": "string"
}
},
"required": [
"items",
"key",
"name"
],
"type": "object"
},
"DataType": {
"enum": [
"String",
"Number",
"Boolean",
"Object",
"DateTime"
],
"type": "string"
},
"DayOfWeek": {
"enum": [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"type": "string"
},
"DisplayType": {
"enum": [
"CascadingOptions",
"Checkbox",
"Color",
"ComboBox",
"Date",
"DateTime",
"Email",
"Html",
"Image",
"Json",
"Number",
"Options",
"Password",
"RadioGroup",
"Secret",
"Telephone",
"TextArea",
"TextLarge",
"TextMedium",
"TextShort",
"Toggle",
"Unknown",
"Url"
],
"type": "string"
},
"EmailTemplate": {
"defaultProperties": [],
"properties": {
"file": {
"type": "string"
},
"key": {
"description": "The unique id for this item",
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"name": {
"description": "Friendly name",
"type": "string"
},
"path": {
"type": "string"
},
"type": {
"$ref": "#/definitions/ContentType"
}
},
"required": [
"file",
"key",
"name",
"path",
"type"
],
"type": "object"
},
"EnabledForType": {
"enum": [
"New",
"All"
],
"type": "string"
},
"EpisodeConfiguration": {
"defaultProperties": [],
"properties": {
"description": {
"description": "Description for this episode",
"type": "string"
},
"isEnabled": {
"default": true,
"description": "Should this episode be active and available.",
"type": "boolean"
},
"key": {
"description": "Episode key",
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"name": {
"description": "Episode friendly name",
"type": "string"
}
},
"required": [
"isEnabled",
"key",
"name"
],
"type": "object"
},
"EventType": {
"enum": [
"OnCreated",
"OnSent",
"OnOpened",
"OnBounced",
"OnOptedOut",
"OnStarted",
"OnMilestone",
"OnStoryEvent",
"OnChanged",
"OnDataChanged",
"OnFinished",
"OnCompleted",
"OnConverted",
"OnDemand",
"OnExternalEvent",
"OnRepersonalized",
"OnInboundLink",
"OnOutboundLink",
"OnRehydrated"
],
"type": "string"
},
"FlashboardConfiguration": {
"defaultProperties": [],
"description": "DXP ORGANIZATION FLASHBOARD CONFIG:\n-----------------------------------------------------\nThis file defines configurable organization flashboard settings hosted in the DXP platform.",
"properties": {
"key": {
"description": "The key for this model in the DXP platform (read-only)",
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"metrics": {
"default": [],
"items": {
"$ref": "#/definitions/Metric"
},
"type": "array"
},
"name": {
"description": "The name of this flashboard",
"type": "string"
}
},
"required": [
"key",
"name"
],
"type": "object"
},
"GroupingOperatorType": {
"enum": [
"And",
"Or",
"Not"
],
"type": "string"
},
"Input": {
"defaultProperties": [],
"properties": {
"attributes": {
"additionalProperties": {
"type": "string"
},
"defaultProperties": [],
"description": "An whose name and values are assigned to the underlying HTML input.",
"type": "object"
},
"dataTree": {
"anyOf": [
{
"$ref": "#/definitions/DataTree",
"description": "An object that describes a set of cascading options."
},
{
"type": "null"
}
],
"default": null
},
"description": {
"description": "The description to show along with the name when presenting this on a form.",
"type": "string"
},
"display": {
"$ref": "#/definitions/DisplayType",
"description": "The display-type when presenting this input on a page"
},
"isIdentifier": {
"default": false,
"type": "boolean"
},
"key": {
"description": "The input key.",
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"locked": {
"default": false,
"type": "boolean"
},
"name": {
"description": "The input name (shown on DXP forms)",
"type": "string"
},
"options": {
"default": [],
"description": "If the display-type is Options, these are the list of values the user will select from.",
"items": {
"$ref": "#/definitions/OptionItem"
},
"type": "array"
},
"required": {
"default": false,
"description": "Mark this true to force this value be set when creating an experience.",
"type": "boolean"
},
"source": {
"default": "Experience",
"type": "string"
},
"tip": {
"description": "The tooltip to display when presenting on a form.",
"type": [
"string",
"null"
]
},
"value": {
"description": "This is the default value if no other value is input.",
"type": [
"string",
"number",
"boolean"
]
},
"visibleInReport": {
"default": false,
"type": "boolean"
}
},
"required": [
"display",
"isIdentifier",
"key",
"locked",
"name",
"required",
"source",
"visibleInReport"
],
"type": "object"
},
"KpiSourceType": {
"enum": [
"Standard",
"Custom",
"Link",
"StoryEvent",
"ExternalEvent"
],
"type": "string"
},
"LatencyStrategyType": {
"enum": [
"Allow",
"Reschedule",
"Cancel"
],
"type": "string"
},
"Metric": {
"defaultProperties": [],
"properties": {
"kpiKey": {
"type": "string"
},
"order": {
"type": "number"
},
"storyKey": {
"type": "string"
},
"type": {
"$ref": "#/definitions/KpiSourceType"
}
},
"required": [
"kpiKey",
"order",
"storyKey",
"type"
],
"type": "object"
},
"OptionItem": {
"defaultProperties": [],
"properties": {
"display": {
"description": "Option display"
},
"value": {
"description": "Option value"
}
},
"required": [
"display",
"value"
],
"type": "object"
},
"OrganizationConfiguration": {
"defaultProperties": [],
"description": "DXP ORGANIZATION CONFIG:\n-----------------------------------------------------\nThis file defines configurable organization settings hosted in the DXP platform.",
"properties": {
"apiVersion": {
"default": "api.view.do/v1",
"description": "API version, model location (read-only)",
"type": "string"
},
"dataPoints": {
"default": [],
"description": "These are extra data points that can live with the organization and be used across stories.\nNote that they can differ by child entities.",
"items": {
"$ref": "#/definitions/DataPoint"
},
"type": "array"
},
"entities": {
"default": [],
"description": "Organizations can have sub-divisions that have alternative data-points. You can define child entities\nhere along with any data changes.",
"items": {
"$ref": "#/definitions/OrganizationEntity"
},
"type": "array"
},
"flashboards": {
"default": null,
"description": "These are the flashboards configured for the organization. Note** the metric keys must be tied to an\nexisting story tied to the organization.",
"items": {
"$ref": "#/definitions/FlashboardConfiguration"
},
"type": "array"
},
"key": {
"description": "The key for this model in the DXP platform (read-only)",
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"kind": {
"default": "Organization",
"description": "DXP model-type (read-only)",
"type": "string"
},
"name": {
"description": "The name of this organization",
"type": "string"
},
"scheduledDataSync": {
"default": false,
"type": "boolean"
},
"secrets": {
"default": [],
"description": "These are secrets available to this organization. They can be used in Service configurations for example.",
"items": {
"type": "string"
},
"type": "array"
},
"services": {
"default": [],
"description": "These are the services configured for the organization.\nThe keys here are what you use in the story.actions configuration.",
"items": {
"$ref": "#/definitions/OrganizationService"
},
"type": "array"
},
"suppressionLists": {
"default": [],
"description": "These are the services configured for the organization. These are read-only, as services must be\nconfigured in the administration app. The keys here are what you use in the story.actions configuration.",
"items": {
"$ref": "#/definitions/OrganizationSuppressionList"
},
"type": "array"
},
"url": {
"description": "The URL for this organization",
"type": "string"
}
},
"required": [
"apiVersion",
"key",
"kind",
"name",
"scheduledDataSync",
"url"
],
"type": "object"
},
"OrganizationEntity": {
"defaultProperties": [],
"properties": {
"data": {
"additionalProperties": true,
"description": "The data map of the values of the dataPoints defined at the organization.",
"properties": {},
"type": "object"
},
"key": {
"description": "Entity key (used in the experience and preview model)",
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"name": {
"description": "Entity name",
"type": "string"
}
},
"required": [
"data",
"key",
"name"
],
"type": "object"
},
"OrganizationService": {
"defaultProperties": [],
"properties": {
"data": {
"additionalProperties": true,
"description": "Services parameters for actions across all stories",
"properties": {},
"type": "object"
},
"key": {
"description": "Service key used in actions for all org stories",
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"serviceProvider": {
"$ref": "#/definitions/ServiceProviderType",
"description": "Services provider type"
}
},
"required": [
"data",
"key",
"serviceProvider"
],
"type": "object"
},
"OrganizationSuppressionList": {
"defaultProperties": [],
"properties": {
"key": {
"description": "SuppressionList unique key used for adding and removing values (e.g. email address)",
"pattern": "^[A-Za-z0-9-_]{1,16}$",
"type": "string"
},
"name": {
"additionalProperties": true,
"description": "SuppressionList User Friendly Name",
"properties": {},
"type": "object"
},
"storyKeys": {
"description": "Stories that this list should suppress contact events (e.g. send emails). None specified will apply this list to all organization stories.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"key",
"name",
"storyKeys"
],
"type": "object"
},
"RuleType": {
"enum": [
"Progress",
"Event",
"Data",
"CreatedDate",
"CampaignKey",
"BatchKey",
"StoryVersion",
"CreatedAnonymously",
"Episode"
],
"type": "string"
},
"ScheduleWindow": {
"defaultProperties": [],
"properties": {
"daysOfWeek": {
"default": [],
"description": "Which days are okay to send? Provide an array of DayOfWeek types.",
"items": {
"$ref": "#/definitions/DayOfWeek"
},
"type": "array"
},
"endTime": {
"description": "The local time-window stop time for this action to fire within.",
"type": "string"
},
"latencyStrategy": {
"$ref": "#/definitions/LatencyStrategyType",
"description": "How should we handle late fires?"
},
"startTime": {
"description": "The local time-window start time for this action to fire within.",
"type": "string"
},
"timeZone": {
"description": "The local time zone to use: http://www.xiirus.net/articles/article-_net-convert-datetime-from-one-timezone-to-another-7e44y.aspx",
"type": "string"
}
},
"required": [
"daysOfWeek",
"endTime",
"latencyStrategy",
"startTime",
"timeZone"
],
"type": "object"
},
"ServiceProviderType": {
"enum": [
"DXP",
"SMTP",
"HipChat",
"Slack",
"Postmark",
"LeadExec",
"Twilio",
"SparkPost",
"SendGrid"
],
"type": "string"
},
"StoryAction": {
"defaultProperties": [],
"properties": {
"actionType": {
"$ref": "#/definitions/ActionType",
"description": "Action to fire"
},
"configurationModifier": {
"description": "Configuration Modifier Script",
"type": [
"string",
"null"
]
},
"configurationSource": {
"$ref": "#/definitions/ConfigurationSource",
"description": "The model that holds the configuration"
},
"enabled": {
"description": "Enabled",
"type": "boolean"
},
"enabledFor": {
"$ref": "#/definitions/EnabledForType",
"description": "Enabled for new only or ALL experiences"
},
"eventData": {
"description": "Action conditional trigger data (for certain events with certain data, usually a key)",
"type": [
"string",
"null"
]
},
"eventType": {
"$ref": "#/definitions/EventType",
"description": "Action triggering event"
},
"executionWindow": {
"anyOf": [
{
"$ref": "#/definitions/ScheduleWindow",
"description": "The time window this action is safe to fire within"
},
{
"type": "null"
}
]
},
"fireMultiple": {
"default": false,
"description": "Should this fire each time the event is triggered?",
"type": "boolean"
},
"groupingOperator": {
"$ref": "#/definitions/GroupingOperatorType",
"description": "Rule grouping method (And vs Or)"
},
"isDeliveryAction": {
"description": "If this is the first email that delivers the XID",
"type": "boolean"
},
"key": {
"description": "Action key, also used in aid parameter tracking",
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"name": {
"description": "Action friendly name",
"type": "string"
},
"onDemand": {
"description": "Should we be able to fire this action from the experience grid?",
"type": "boolean"
},
"parameters": {
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
},
"defaultProperties": [],
"description": "Action parameters. These vary by action and provider.",
"type": "object"
},
"responseModifier": {
"description": "Response Modifier Script",
"type": [
"string",
"null"
]
},
"rules": {
"default": [],
"description": "A list of rules that have to be satisfied before this action will fire.",
"items": {
"$ref": "#/definitions/StoryActionRule"
},
"type": "array"
},
"serviceProvider": {
"$ref": "#/definitions/ServiceProviderType",
"description": "Service provider for this action"
},
"visibleInReport": {
"description": "Should we record this action results in analytics? Makes queries slower.",
"type": "boolean"
},
"wait": {
"$ref": "#/definitions/WaitType",
"default": "None",
"description": "Wait/delay after event?"
},
"waitValue": {
"default": 0,
"description": "The units to delay before firing when WaitType is not None",
"type": "number"
}
},
"required": [
"actionType",
"configurationSource",
"enabled",
"enabledFor",
"eventType",
"fireMultiple",
"groupingOperator",
"isDeliveryAction",
"key",
"name",
"onDemand",
"parameters",
"rules",
"serviceProvider",
"visibleInReport",
"wait",
"waitValue"
],
"type": "object"
},
"StoryActionRule": {
"defaultProperties": [],
"properties": {
"key": {
"type": "string"
},
"member": {
"type": "string"
},
"memberType": {
"$ref": "#/definitions/DataType"
},
"operator": {
"enum": [
"Contains",
"DoesNotContain",
"DoesNotEndWith",
"DoesNotEqual",
"DoesNotStartWit",
"EndsWith",
"Equal",
"Equals",
"GreaterThan",
"GreaterThanOrEqual",
"HasFired",
"HasNotFired",
"IsFalse",
"IsNotNull",
"IsNull",
"IsTrue",
"LessThan",
"LessThanOrEqual",
"StartsWith"
],
"type": "string"
},
"type": {
"$ref": "#/definitions/RuleType"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"memberType",
"operator",
"type"
],
"type": "object"
},
"StoryConfiguration": {
"defaultProperties": [],
"description": "STORY CONFIG:\n-----------------------------------------------------\nThis file defines configurable story settings hosted in the DXP platform.",
"properties": {
"actions": {
"default": [],
"description": "A list of configured actions that are triggered via events fired during the lifetime of an experience.\n\nThese actions use services configured with the organization-configuration.",
"items": {
"$ref": "#/definitions/StoryAction"
},
"type": "array"
},
"apiVersion": {
"default": "api.view.do/v1",
"description": "API version, model location (read-only)",
"type": "string"
},
"customKpis": {
"default": [],
"description": "A list of story KPIs counters that can be incremented with published web-hooks.",
"items": {
"$ref": "#/definitions/StoryCustomKpi"
},
"type": "array"
},
"customLinks": {
"default": [],
"description": "A list of story custom links to distribute trackable redirection URLs.",
"items": {
"$ref": "#/definitions/StoryCustomLink"
},
"type": "array"
},
"description": {
"type": "string"
},
"emailTemplates": {
"default": [],
"description": "A list of story email templates, usable in Actions",
"items": {
"$ref": "#/definitions/EmailTemplate"
},
"type": "array"
},
"episodes": {
"default": [],
"description": "A list of alternative story data, css and js sets that have the same data inputs and contacts.",
"items": {
"$ref": "#/definitions/EpisodeConfiguration"
},
"type": "array"
},
"events": {
"default": [],
"description": "A list of story events that can be raised during the experience.",
"items": {
"$ref": "#/definitions/StoryEvent"
},
"type": "array"
},
"externalEvents": {
"default": [],
"description": "A list of external events that can be raised using our published web-hooks.",
"items": {
"$ref": "#/definitions/StoryExternalEvent"
},
"type": "array"
},
"funnelEnabled": {
"description": "Toggle to allow anonymous experiences",
"type": "boolean"
},
"host": {
"default": "Hosted",
"description": "The host-type this story is meant for.\nHosted for NENT-based stories served from the platform, otherwise\nWebsite for stories served from a website.",
"enum": [
"Hosted",
"Website"
],
"type": "string"
},
"htmlTemplates": {
"default": [],
"description": "A list of story HTML templates that will be hosted and rendered using DXP tokens.",
"items": {
"$ref": "#/definitions/TemplateMeta"
},
"type": "array"
},
"inputMaps": {
"default": [],
"description": "A set of maps usable in actions or in the XAPI to translate input keys to external keys.",
"items": {
"$ref": "#/definitions/StoryInputMap"
},
"type": "array"
},
"inputs": {
"default": [],
"description": "A list of story inputs, used to define the story database.",
"items": {
"$ref": "#/definitions/Input"
},
"type": "array"
},
"key": {
"description": "The key for this model in the DXP platform (readonly)",
"pattern": "^[A-Za-z0-9-_]{1,18}$",
"type": "string"
},
"kind": {
"default": "Story",
"description": "DXP model-type (read-only)",
"type": "string"
},
"milestones": {
"default": [],
"description": "A list of story milestones, in order.",
"items": {
"pattern": "^[A-Za-z0-9-_\\s]{1,30}$"
},
"type": "array"
},
"name": {
"type": "string"
},
"organization": {
"$ref": "#/definitions/OrganizationConfiguration",
"description": "Optional (but encouraged) org model to be used during validateOnly story pushes"
},
"organizationKey": {
"type": "string"
},
"preventDuplicates": {
"description": "Set this value to true to prevent duplicates\nin public-created experiences. Be sure to\nannotate which contact-experiences is the\nidentifier to check.",
"type": "boolean"
},
"publicKey": {
"description": "The key for this model in the DXP platform (readonly)",
"pattern": "^[A-Za-z0-9-_]{1,18}$",
"type": "string"
},
"stripoRootDirectory": {
"default": "{{org-key}}/production",
"description": "Root directory where email templates are stored in Stripo.",
"type": "string"
},
"textTemplates": {
"default": [],
"description": "A list of story text templates usable in Actions or in the story as a URL reference.",
"items": {
"$ref": "#/definitions/TemplateMeta"
},
"type": "array"
},
"url": {
"description": "Hosted URL for the story.\nIf set manually, overrides default convention-based URL.",
"type": "string"
},
"vanityUrl": {
"description": "Hosted production-facing URL for the story.\nIf set manually, overrides default convention-based production URL.",
"type": "string"
}
},
"required": [
"actions",
"apiVersion",
"customKpis",
"customLinks",
"emailTemplates",
"episodes",
"events",
"externalEvents",
"funnelEnabled",
"host",
"htmlTemplates",
"inputMaps",
"inputs",
"key",
"kind",
"milestones",
"name",
"organization",
"organizationKey",
"preventDuplicates",
"publicKey",
"stripoRootDirectory",
"textTemplates",
"url",
"vanityUrl"
],
"type": "object"
},
"StoryCustomKpi": {
"defaultProperties": [],
"properties": {
"key": {
"description": "The id for this KPI",
"pattern": "^[A-Za-z0-9-]{1,16}$",
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
}
},
"required": [
"key",
"name"
],
"type": "object"
},
"StoryCustomLink": {
"defaultProperties": [],
"properties": {
"isKpi": {
"default": true,
"description": "True if we should capture the counts and report on them.",
"type": "boolean"
},
"key": {
"description": "The unique id for this item",
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"name": {
"description": "Friendly name",
"type": "string"
},
"targetUrl": {
"description": "The external url to redirect the browser after clicking.",
"type": "string"
}
},
"required": [
"isKpi",
"key",
"name",
"targetUrl"
],
"type": "object"
},
"StoryEvent": {
"defaultProperties": [],
"properties": {
"key": {
"description": "The unique id for this item",
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"name": {
"description": "Friendly name",
"type": "string"
}
},
"required": [
"key",
"name"
],
"type": "object"
},
"StoryExternalEvent": {
"defaultProperties": [],
"properties": {
"key": {
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"key",
"name"
],
"type": "object"
},
"StoryInputMap": {
"defaultProperties": [],
"properties": {
"key": {
"description": "The unique id for this item",
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"map": {
"additionalProperties": {
"type": "string"
},
"defaultProperties": [],
"description": "A map of input keys with their translations.",
"examples": [
"local-key: foreign-key"
],
"type": "object"
},
"name": {
"description": "Friendly name",
"type": "string"
}
},
"required": [
"key",
"map",
"name"
],
"type": "object"
},
"TemplateMeta": {
"defaultProperties": [],
"properties": {
"file": {
"type": "string"
},
"key": {
"description": "The unique id for this item",
"pattern": "^[A-Za-z0-9-_]{1,30}$",
"type": "string"
},
"name": {
"description": "Friendly name",
"type": "string"
},
"path": {
"type": "string"
},
"type": {
"$ref": "#/definitions/ContentType"
}
},
"required": [
"file",
"key",
"name",
"path",
"type"
],
"type": "object"
},
"WaitType": {
"enum": [
"None",
"Minutes",
"Hours",
"Days"
],
"type": "string"
}
},
"properties": {
"action_templates": {
"items": {
"$ref": "#/definitions/ActionTemplate"
},
"type": "array"
},
"apiVersion": {
"default": "api.view.do/v1",
"description": "API version, model location (read-only)",
"type": "string"
},
"description": {
"description": "The description for this template",
"type": "string"
},
"key": {
"description": "The key for this template",
"type": "string"
},
"kind": {
"default": "ActionTemplate",
"description": "DXP model-type (read-only)",
"type": "string"
},
"name": {
"description": "The key for this template",
"type": "string"
},
"organization_configuration": {
"$ref": "#/definitions/OrganizationConfiguration"
},
"parameter_templates": {
"additionalProperties": {
"defaultProperties": [],
"properties": {
"content": {
"type": "string"
},
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"supportFiles": {
"items": {
"type": "string"
},
"type": "array"
},
"type": {
"type": "string"
}
},
"required": [
"content",
"key",
"name",
"supp