Package Bundle (KMP JSON)

The following documentation is generated from KMP JSON Schema describing Knowledge Model Package (or Package Bundle) file which can be used for importing and exporting Knowledge Models in DSW. Although we usually use .km extension, it is a JSON file with defined structure.

Package Bundle

The JSON representation used for import and export of KMs uses packages (event containers) bundled in a single object.

Package Bundle (object)

UUID

UUID version 4 according to RFC4122

type

string

pattern

^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

Optional String

anyOf

type

string

type

null

String Map

Representation of simple map where both keys and values are strings

type

object

patternProperties

  • .*

type

string

Value Type

type

string

enum

StringQuestionValueType, NumberQuestionValueType, DateQuestionValueType, TextQuestionValueType

Desirability Level

Level to indicate if a question is desirable in certain phase of a questionnaire

anyOf

type

integer

type

null

SemVer

Simple semantic version tag, e.g., 1.0.45

type

string

pattern

^[0-9]+\.[0-9]+\.[0-9]+$

Knowledge Model ID

ID of knowledge model

type

string

pattern

^[a-zA-Z0-9\-]+$

Organization ID

ID of organization

type

string

pattern

^[a-zA-Z0-9\.]+$

Package ID

Unique composed ID for a package

type

string

pattern

^[a-zA-Z0-9\.]+:^[a-zA-Z0-9\-]+:^[0-9]+\.[0-9]+\.[0-9]+$

Timestamp

Standard ISO timestamp format, e.g., 2019-06-09T14:25:58.438Z

type

string

pattern

^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?Z$

Metric Measure

Entity capturing how certain metric is affected

type

object

properties

  • metricUuid

UUID

  • measure

type

number

maximum

1.0

minimum

0.0

  • weight

type

number

maximum

1.0

minimum

0.0

additionalProperties

False

Package Bundle (object)

Collection of potentially multiple linked Knowledge Model packages that is commonly used for import and export in DSW.

type

object

properties

  • metamodelVersion

type

number

maximum

5

minimum

5

  • name

type

string

  • organizationId

Organization ID

  • kmId

Knowledge Model ID

  • version

SemVer

  • id

Package ID

  • packages

type

array

items

Package

Package

A single KM package that holds changes (or more precisely events) for the specific version.

type

object

properties

  • metamodelVersion

type

number

maximum

5

minimum

5

  • name

type

string

  • organizationId

Organization ID

  • kmId

Knowledge Model ID

  • version

SemVer

  • id

Package ID

  • description

type

string

  • readme

type

string

  • license

type

string

  • forkOfPackageId

Package ID

  • mergeCheckpointPackageId

Package ID

  • previousPackageId

Package ID

  • createdAt

Timestamp

  • events

type

array

items

Event

Event

An event represents a single change in a KM. There are events for each entity type and usually three types of changes: Add, Edit, and Delete. In some cases, also Move event is possible.

anyOf

Add Knowledge Model Event

Edit Knowledge Model Event

Add Chapter Event

Edit Chapter Event

Delete Chapter Event

Add Options Question Event

Add List Question Event

Add Value Question Event

Add Integration Question Event

Edit Options Question Event

Edit List Question Event

Edit Value Question Event

Edit Integration Question Event

Delete Question Event

Add Answer Event

Edit Answer Event

Delete Answer Event

Add Expert Event

Edit Expert Event

Delete Expert Event

Add Resource Page Reference Event

Add URL Reference Event

Add Cross-Reference Event

Edit Resource Page Reference Event

Edit URL Reference Event

Edit Cross-Reference Event

Delete Reference Event

Add Tag Event

Edit Tag Event

Delete Tag Event

Add Integration Event

Edit Integration Event

Delete Integration Event

Move Question Event

Move Answer Event

Move Expert Event

Move Reference Event

Add Knowledge Model Event

Add a new Knowledge Model (typically only once and the very first event) as the top-level entity

type

object

properties

  • eventType

type

string

enum

AddKnowledgeModelEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • name

type

string

additionalProperties

False

Edit Knowledge Model Event

Edit properties of the top-level entity

type

object

properties

  • eventType

type

string

enum

EditKnowledgeModelEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • name

type

object

properties

  • changed

type

boolean

  • value

type

array

items

type

string

  • chapterUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

  • tagUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

  • integrationUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

additionalProperties

False

Add Chapter Event

Add a new chapter to the KM

type

object

properties

  • eventType

type

string

enum

AddChapterEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • title

type

string

  • text

Optional String

additionalProperties

False

Edit Chapter Event

Edit an existing chapter in the KM

type

object

properties

  • eventType

type

string

enum

EditChapterEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • title

type

object

properties

  • changed

type

boolean

  • value

type

string

  • text

type

object

properties

  • changed

type

boolean

  • value

Optional String

  • questionUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

additionalProperties

False

Delete Chapter Event

Delete an existing chapter from the KM

type

object

properties

  • eventType

type

string

enum

DeleteChapterEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

additionalProperties

False

Add Options Question Event

Add a new options question to the KM

type

object

properties

  • eventType

type

string

enum

AddQuestionEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • questionType

type

string

enum

OptionsQuestion

  • title

type

string

  • text

Optional String

  • requiredLevel

Desirability Level

  • tagUuids

type

array

items

UUID

additionalProperties

False

Add List Question Event

Add a new list question to the KM

type

object

properties

  • eventType

type

string

enum

AddQuestionEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • questionType

type

string

enum

ListQuestion

  • title

type

string

  • text

Optional String

  • requiredLevel

Desirability Level

  • tagUuids

type

array

items

UUID

additionalProperties

False

Add Value Question Event

Add a new value question to the KM

type

object

properties

  • eventType

type

string

enum

AddQuestionEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • questionType

type

string

enum

ValueQuestion

  • title

type

string

  • text

Optional String

  • requiredLevel

Desirability Level

  • tagUuids

type

array

items

UUID

  • valueType

Value Type

additionalProperties

False

Add Integration Question Event

Add a new integration question to the KM

type

object

properties

  • eventType

type

string

enum

AddQuestionEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • questionType

type

string

enum

IntegrationQuestion

  • title

type

string

  • text

Optional String

  • requiredLevel

Desirability Level

  • tagUuids

type

array

items

UUID

  • integrationUuid

UUID

  • props

String Map

additionalProperties

False

Edit Options Question Event

Edit an existing options question in the KM

type

object

properties

  • eventType

type

string

enum

EditQuestionEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • questionType

type

string

enum

OptionsQuestion

  • title

type

object

properties

  • changed

type

boolean

  • value

type

string

  • text

type

object

properties

  • changed

type

boolean

  • value

Optional String

  • requiredLevel

type

object

properties

  • changed

type

boolean

  • value

Desirability Level

  • tagUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

  • expertUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

  • referenceUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

  • answerUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

additionalProperties

False

Edit List Question Event

Edit an existing list question in the KM

type

object

properties

  • eventType

type

string

enum

EditQuestionEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • questionType

type

string

enum

ListQuestion

  • title

type

object

properties

  • changed

type

boolean

  • value

type

string

  • text

type

object

properties

  • changed

type

boolean

  • value

Optional String

  • requiredLevel

type

object

properties

  • changed

type

boolean

  • value

Desirability Level

  • tagUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

  • expertUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

  • referenceUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

  • itemTemplateQuestionUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

additionalProperties

False

Edit Value Question Event

Edit an existing value question in the KM

type

object

properties

  • eventType

type

string

enum

EditQuestionEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • questionType

type

string

enum

ValueQuestion

  • title

type

object

properties

  • changed

type

boolean

  • value

type

string

  • text

type

object

properties

  • changed

type

boolean

  • value

Optional String

  • requiredLevel

type

object

properties

  • changed

type

boolean

  • value

Desirability Level

  • tagUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

  • expertUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

  • referenceUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

  • valueType

type

object

properties

  • changed

type

boolean

  • value

Value Type

additionalProperties

False

Edit Integration Question Event

Edit an existing integration question in the KM

type

object

properties

  • eventType

type

string

enum

EditQuestionEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • questionType

type

string

enum

IntegrationQuestion

  • title

type

object

properties

  • changed

type

boolean

  • value

type

string

  • text

type

object

properties

  • changed

type

boolean

  • value

Optional String

  • requiredLevel

type

object

properties

  • changed

type

boolean

  • value

Desirability Level

  • tagUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

  • expertUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

  • referenceUuids

type

object

properties

  • changed

type

boolean

  • value

type

array

items

UUID

  • integrationUuid

type

object

properties

  • changed

type

boolean

  • value

UUID

  • props

type

object

properties

  • changed

type

boolean

  • value

String Map

additionalProperties

False

Delete Question Event

Delete an existing question from the KM

type

object

properties

  • eventType

type

string

enum

DeleteQuestionEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

additionalProperties

False

Add Answer Event

Add a new answer to the KM

type

object

properties

  • eventType

type

string

enum

AddAnswerEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • label

type

string

  • advice

Optional String

  • metricMeasures

type

array

items

Metric Measure

additionalProperties

False

Edit Answer Event

Edit an existing answer in the KM

type

object

properties

  • eventType

type

string

enum

EditAnswerEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • label

type

object

properties

  • changed

type

boolean

  • value

type

string

  • advice

type

object

properties

  • changed

type

boolean

  • value

Optional String

  • followUpUuids

type

object

properties

  • changed

type

boolean

  • value

UUID

  • metricMeasures

type

object

properties

  • changed

type

boolean

  • value

Metric Measure

additionalProperties

False

Delete Answer Event

Delete an existing answer from the KM

type

object

properties

  • eventType

type

string

enum

DeleteAnswerEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

additionalProperties

False

Add Expert Event

Add a new expert to the KM

type

object

properties

  • eventType

type

string

enum

AddExpertEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • name

type

string

  • email

type

string

additionalProperties

False

Edit Expert Event

Edit an existing expert in the KM

type

object

properties

  • eventType

type

string

enum

EditExpertEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • name

type

object

properties

  • changed

type

boolean

  • value

type

string

  • email

type

object

properties

  • changed

type

boolean

  • value

type

string

additionalProperties

False

Delete Expert Event

Delete an existing expert from the KM

type

object

properties

  • eventType

type

string

enum

DeleteExpertEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

additionalProperties

False

Add Resource Page Reference Event

Add a new resource page reference to the KM

type

object

properties

  • eventType

type

string

enum

AddReferenceEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • referenceType

type

string

enum

ResourcePageReference

  • shortUuid

type

string

additionalProperties

False

Add URL Reference Event

Add a new URL reference to the KM

type

object

properties

  • eventType

type

string

enum

AddReferenceEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • referenceType

type

string

enum

URLReference

  • url

type

string

format

url

  • label

type

string

additionalProperties

False

Add Cross-Reference Event

Add a new cross-reference to the KM

type

object

properties

  • eventType

type

string

enum

AddReferenceEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • referenceType

type

string

enum

CrossReference

  • targetUuid

type

string

  • description

type

string

additionalProperties

False

Edit Resource Page Reference Event

Edit an existing resource page reference in the KM

type

object

properties

  • eventType

type

string

enum

EditReferenceEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • referenceType

type

string

enum

ResourcePageReference

  • url

type

object

properties

  • changed

type

boolean

  • value

type

string

additionalProperties

False

Edit URL Reference Event

Edit an existing URL reference in the KM

type

object

properties

  • eventType

type

string

enum

EditReferenceEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • referenceType

type

string

enum

URLReference

  • url

type

object

properties

  • changed

type

boolean

  • value

type

string

format

url

  • label

type

object

properties

  • changed

type

boolean

  • value

type

string

additionalProperties

False

Edit Cross-Reference Event

Edit an existing cross-reference in the KM

type

object

properties

  • eventType

type

string

enum

EditReferenceEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • referenceType

type

string

enum

CrossReference

  • targetUuid

type

object

properties

  • changed

type

boolean

  • value

UUID

  • description

type

object

properties

  • changed

type

boolean

  • value

type

string

additionalProperties

False

Delete Reference Event

Delete an existing reference from the KM

type

object

properties

  • eventType

type

string

enum

DeleteReferenceEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

additionalProperties

False

Add Tag Event

Add a new tag to the KM

type

object

properties

  • eventType

type

string

enum

AddTagEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • name

type

string

  • description

Optional String

  • color

type

string

additionalProperties

False

Edit Tag Event

Edit an existing tag in the KM

type

object

properties

  • eventType

type

string

enum

EditTagEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • name

type

object

properties

  • changed

type

boolean

  • value

type

string

  • description

type

object

properties

  • changed

type

boolean

  • value

Optional String

  • color

type

object

properties

  • changed

type

boolean

  • value

type

string

additionalProperties

False

Delete Tag Event

Delete an existing tag from the KM

type

object

properties

  • eventType

type

string

enum

DeleteTagEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

additionalProperties

False

Add Integration Event

Add a new integration to the KM

type

object

properties

  • eventType

type

string

enum

AddIntegrationEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • id

type

string

  • name

type

string

  • logo

type

string

  • props

type

array

items

type

string

  • requestMethod

type

string

  • requestUrl

type

string

  • requestHeaders

type

object

  • requestBody

type

string

  • responseListField

type

string

  • responseIdField

type

string

  • responseNameField

type

string

  • itemUrl

type

string

additionalProperties

False

Edit Integration Event

Edit an existing integration entity

type

object

properties

  • eventType

type

string

enum

EditIntegrationEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • id

type

object

properties

  • changed

type

boolean

  • value

type

string

  • name

type

object

properties

  • changed

type

boolean

  • value

type

string

  • logo

type

object

properties

  • changed

type

boolean

  • value

type

string

  • props

type

object

properties

  • changed

type

boolean

  • value

type

array

items

type

string

  • requestMethod

type

object

properties

  • changed

type

boolean

  • value

type

string

  • requestUrl

type

object

properties

  • changed

type

boolean

  • value

type

string

  • requestHeaders

type

object

properties

  • changed

type

boolean

  • value

type

string

  • requestBody

type

object

properties

  • changed

type

boolean

  • value

type

string

  • responseListField

type

object

properties

  • changed

type

boolean

  • value

type

string

  • responseIdField

type

object

properties

  • changed

type

boolean

  • value

type

string

  • responseNameField

type

object

properties

  • changed

type

boolean

  • value

type

string

  • itemUrl

type

object

properties

  • changed

type

boolean

  • value

type

string

additionalProperties

False

Delete Integration Event

Delete an existing integration from the KM

type

object

properties

  • eventType

type

string

enum

DeleteIntegrationEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

additionalProperties

False

Move Question Event

Move an existing question to a different location in the KM

type

object

properties

  • eventType

type

string

enum

MoveQuestionEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • targetUuid

UUID

additionalProperties

False

Move Answer Event

Move an existing answer to a different location in the KM

type

object

properties

  • eventType

type

string

enum

MoveAnswerEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • targetUuid

UUID

additionalProperties

False

Move Expert Event

Move an existing expert to a different location in the KM

type

object

properties

  • eventType

type

string

enum

MoveExpertEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • targetUuid

UUID

additionalProperties

False

Move Reference Event

Move an existing reference to a different location in the KM

type

object

properties

  • eventType

type

string

enum

MoveReferenceEvent

  • uuid

UUID

  • parentUuid

UUID

  • entityUuid

UUID

  • targetUuid

UUID

additionalProperties

False