Skip to main content

Catalog Model v1.1.3 JSON Format Outline

The following outline is a representation of the JSON format for this model, whose schema can be found here. For each property, the name links to the corresponding entry in the JSON Format Reference. The cardinality and data type are also provided for each property where appropriate.

catalog [1]: { … }

uuid [1]: uuid,

metadata [1]: { … },

title [1]: markup-line,

published [0 or 1]: date-time-with-timezone,

last-modified [1]: date-time-with-timezone,

version [1]: string,

oscal-version [1]: string,

revisions [0 or 1]: [ … ],

An array of revision objects [1 to ∞] {

title [0 or 1]: markup-line,

published [0 or 1]: date-time-with-timezone,

last-modified [0 or 1]: date-time-with-timezone,

version [1]: string,

oscal-version [0 or 1]: string,

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

remarks [0 or 1]: markup-multiline,

}

],

document-ids [0 or 1]: [ … ],

An array of document-id objects [0 to ∞] {

scheme [0 or 1]: uri,

identifier [0 or 1]: string,

}

],

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

roles [0 or 1]: [ … ],

An array of role objects [1 to ∞] {

id [1]: token,

title [1]: markup-line,

short-name [0 or 1]: string,

description [0 or 1]: markup-multiline,

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

remarks [0 or 1]: markup-multiline,

}

],

locations [0 or 1]: [ … ],

An array of location objects [1 to ∞] {

uuid [1]: uuid,

title [0 or 1]: markup-line,

address [0 or 1]: { … },

type [0 or 1]: token,

addr-lines [0 or 1]: [ … ],

An array of addr-line strings [0 to ∞]: string

],

city [0 or 1]: string,

state [0 or 1]: string,

postal-code [0 or 1]: string,

country [0 or 1]: string,

},

email-addresses [0 or 1]: [ … ],

An array of email-address strings [0 to ∞]: email-address

],

telephone-numbers [0 or 1]: [ … ],

An array of telephone-number objects [0 to ∞] {

type [0 or 1]: string,

number [0 or 1]: string,

}

],

urls [0 or 1]: [ … ],

An array of url strings [0 to ∞]: uri

],

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

remarks [0 or 1]: markup-multiline,

}

],

parties [0 or 1]: [ … ],

An array of party objects [1 to ∞] {

uuid [1]: uuid,

type [1]: string,

name [0 or 1]: string,

short-name [0 or 1]: string,

external-ids [0 or 1]: [ … ],

An array of external-id objects [0 to ∞] {

scheme [1]: uri,

id [0 or 1]: string

}

],

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

email-addresses [0 or 1]: [ … ],

An array of email-address strings [0 to ∞]: email-address

],

telephone-numbers [0 or 1]: [ … ],

An array of telephone-number objects [0 to ∞] {

type [0 or 1]: string,

number [0 or 1]: string,

}

],

A choice of:

addresses [0 or 1]: [ … ],

An array of address objects [1 to ∞] {

type [0 or 1]: token,

addr-lines [0 or 1]: [ … ],

An array of addr-line strings [0 to ∞]: string

],

city [0 or 1]: string,

state [0 or 1]: string,

postal-code [0 or 1]: string,

country [0 or 1]: string

}

],

location-uuids [0 or 1]: [ … ]

An array of location-uuid strings [0 to ∞]: uuid

]

member-of-organizations [0 or 1]: [ … ],

An array of member-of-organization strings [0 to ∞]: uuid

],

remarks [0 or 1]: markup-multiline,

}

],

responsible-parties [0 or 1]: [ … ],

An array of responsible-party objects [1 to ∞] {

role-id [1]: token,

party-uuids [1]: [ … ],

An array of party-uuid strings [1 to ∞]: uuid

],

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

remarks [0 or 1]: markup-multiline,

}

],

actions [0 or 1]: [ … ],

An array of action objects [1 to ∞] {

uuid [1]: uuid,

date [0 or 1]: date-time-with-timezone,

type [1]: token,

system [1]: uri,

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

responsible-parties [0 or 1]: [ … ],

An array of responsible-party objects [1 to ∞] {

role-id [1]: token,

party-uuids [1]: [ … ],

An array of party-uuid strings [1 to ∞]: uuid

],

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

remarks [0 or 1]: markup-multiline,

}

],

remarks [0 or 1]: markup-multiline,

}

],

remarks [0 or 1]: markup-multiline,

},

params [0 or 1]: [ … ],

An array of param objects [1 to ∞] {

id [1]: token,

class [0 or 1]: token,

depends-on [0 or 1]: token,

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

label [0 or 1]: markup-line,

usage [0 or 1]: markup-multiline,

constraints [0 or 1]: [ … ],

An array of constraint objects [1 to ∞] {

description [0 or 1]: markup-multiline,

tests [0 or 1]: [ … ]

An array of test objects [1 to ∞] {

}

]

}

],

guidelines [0 or 1]: [ … ],

An array of guideline objects [1 to ∞] {

}

],

A choice of:

values [0 or 1]: [ … ],

An array of value strings [0 to ∞]: string

],

select [0 or 1]: { … }

how-many [0 or 1]: token,

choice [0 or 1]: [ … ],

An array of choice strings [0 to ∞]: markup-line

],

}

remarks [0 or 1]: markup-multiline,

}

],

controls [0 or 1]: [ … ],

An array of control objects [1 to ∞] {

id [1]: token,

class [0 or 1]: token,

title [1]: markup-line,

params [0 or 1]: [ … ],

An array of param objects [1 to ∞] {

id [1]: token,

class [0 or 1]: token,

depends-on [0 or 1]: token,

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

label [0 or 1]: markup-line,

usage [0 or 1]: markup-multiline,

constraints [0 or 1]: [ … ],

An array of constraint objects [1 to ∞] {

description [0 or 1]: markup-multiline,

tests [0 or 1]: [ … ]

An array of test objects [1 to ∞] {

}

]

}

],

guidelines [0 or 1]: [ … ],

An array of guideline objects [1 to ∞] {

}

],

A choice of:

values [0 or 1]: [ … ],

An array of value strings [0 to ∞]: string

],

select [0 or 1]: { … }

how-many [0 or 1]: token,

choice [0 or 1]: [ … ],

An array of choice strings [0 to ∞]: markup-line

],

}

remarks [0 or 1]: markup-multiline,

}

],

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

parts [0 or 1]: [ … ],

An array of part objects [1 to ∞] {

id [0 or 1]: token,

name [1]: token,

ns [0 or 1]: uri,

class [0 or 1]: token,

title [0 or 1]: markup-line,

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

prose [0 or 1]: markup-multiline,

parts [0 or 1]: [ … ],

An array of part objects [1 to ∞] {

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

}

],

controls [0 or 1]: [ … ],

An array of control objects [1 to ∞] {

}

],

}

],

groups [0 or 1]: [ … ],

An array of group objects [1 to ∞] {

id [0 or 1]: token,

class [0 or 1]: token,

title [1]: markup-line,

params [0 or 1]: [ … ],

An array of param objects [1 to ∞] {

id [1]: token,

class [0 or 1]: token,

depends-on [0 or 1]: token,

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

label [0 or 1]: markup-line,

usage [0 or 1]: markup-multiline,

constraints [0 or 1]: [ … ],

An array of constraint objects [1 to ∞] {

description [0 or 1]: markup-multiline,

tests [0 or 1]: [ … ]

An array of test objects [1 to ∞] {

}

]

}

],

guidelines [0 or 1]: [ … ],

An array of guideline objects [1 to ∞] {

}

],

A choice of:

values [0 or 1]: [ … ],

An array of value strings [0 to ∞]: string

],

select [0 or 1]: { … }

how-many [0 or 1]: token,

choice [0 or 1]: [ … ],

An array of choice strings [0 to ∞]: markup-line

],

}

remarks [0 or 1]: markup-multiline,

}

],

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

parts [0 or 1]: [ … ],

An array of part objects [1 to ∞] {

id [0 or 1]: token,

name [1]: token,

ns [0 or 1]: uri,

class [0 or 1]: token,

title [0 or 1]: markup-line,

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

prose [0 or 1]: markup-multiline,

parts [0 or 1]: [ … ],

An array of part objects [1 to ∞] {

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

}

],

A choice of:

groups [0 or 1]: [ … ],

An array of group objects [1 to ∞] {

}

],

controls [0 or 1]: [ … ]

An array of control objects [1 to ∞] {

id [1]: token,

class [0 or 1]: token,

title [1]: markup-line,

params [0 or 1]: [ … ],

An array of param objects [1 to ∞] {

id [1]: token,

class [0 or 1]: token,

depends-on [0 or 1]: token,

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

label [0 or 1]: markup-line,

usage [0 or 1]: markup-multiline,

constraints [0 or 1]: [ … ],

An array of constraint objects [1 to ∞] {

description [0 or 1]: markup-multiline,

tests [0 or 1]: [ … ]

An array of test objects [1 to ∞] {

}

]

}

],

guidelines [0 or 1]: [ … ],

An array of guideline objects [1 to ∞] {

}

],

A choice of:

values [0 or 1]: [ … ],

An array of value strings [0 to ∞]: string

],

select [0 or 1]: { … }

how-many [0 or 1]: token,

choice [0 or 1]: [ … ],

An array of choice strings [0 to ∞]: markup-line

],

}

remarks [0 or 1]: markup-multiline,

}

],

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

parts [0 or 1]: [ … ],

An array of part objects [1 to ∞] {

id [0 or 1]: token,

name [1]: token,

ns [0 or 1]: uri,

class [0 or 1]: token,

title [0 or 1]: markup-line,

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

prose [0 or 1]: markup-multiline,

parts [0 or 1]: [ … ],

An array of part objects [1 to ∞] {

}

],

links [0 or 1]: [ … ],

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

],

}

],

controls [0 or 1]: [ … ],

An array of control objects [1 to ∞] {

}

],

}

]

}

],

back-matter [0 or 1]: { … },
resources [0 or 1]: [ … ],

An array of resource objects [1 to ∞] {

uuid [1]: uuid,

title [0 or 1]: markup-line,

description [0 or 1]: markup-multiline,

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

document-ids [0 or 1]: [ … ],

An array of document-id objects [0 to ∞] {

scheme [0 or 1]: uri,

identifier [0 or 1]: string,

}

],

citation [0 or 1]: { … },

text [1]: markup-line,

props [0 or 1]: [ … ],

An array of prop objects [1 to ∞] {

name [1]: token,

uuid [0 or 1]: uuid,

ns [0 or 1]: uri,

value [1]: string,

class [0 or 1]: token,

group [0 or 1]: token,

remarks [0 or 1]: markup-multiline,

}

],

links [0 or 1]: [ … ]

An array of link objects [1 to ∞] {

href [1]: uri-reference,

rel [0 or 1]: token,

media-type [0 or 1]: string,

resource-fragment [0 or 1]: string,

text [0 or 1]: markup-line,

}

]

},

rlinks [0 or 1]: [ … ],

An array of rlink objects [1 to ∞] {

href [1]: uri-reference,

media-type [0 or 1]: string,

hashes [0 or 1]: [ … ],

An array of hash objects [0 to ∞] {

algorithm [1]: string,

value [0 or 1]: string,

}

],

}

],

base64 [0 or 1]: { … },

filename [0 or 1]: token,

media-type [0 or 1]: string,

value [0 or 1]: base64

},

remarks [0 or 1]: markup-multiline,

}

],

},

}

This page was last updated on January 1, 0001.