Guide to the contents of the Brikit blueprints JSON file

Example file for download: blueprint-definitions.json

Data ElementStructureWhat It DoesWhat It MeansExample

spaceBlueprints

ArrayLists every Brikit space blueprint on your site.

Each item in this array is an object that defines one space blueprint.

This array will be empty if there are no space blueprints for your site.

 "spaceBlueprints" : [ 
     {
         "name"              : "New Product",
         "description"       : "Create a space for a new product.",
         "blueprintSpaceKey" : "productspacebp",
         "blueprintFields"   : [ "product-name", "product-owner-username" ],
         "spaceName"         : "[[product-name]]",
         "spaceKey"          : "[[product-name]]",
         "spaceCategories"   : "development, product",
         "spaceDescription"  : "Product space for everything related to [[product-name]]",
         "access"            : ["Product Space"]
     },
     {
         "name"              : "Team Workspace",
         "description"       : "Workspace for a department or project team",
         "blueprintSpaceKey" : "teamspacebp",
         "blueprintFields"   : [ "team-name", "team-key", "team-edit-group" ],
         "spaceName"         : "[[team-name]] Workspace",
         "spaceKey"          : "[[team-key]]",
         "spaceDescription"  : "Projects, timelines, and resources for the [[team-name]] team",
         "access"            : [ "Team" ]
     }
 ]
 

 "spaceBlueprints" : [
 ]
 

spaceBlueprints[i]

ObjectDefines an individual space blueprint on your site.

This object comprises a set of key/value pairs that function as specifications or instructions for creating new spaces from this blueprint.

Keys in this object:

 "spaceBlueprints" : [
     ...     
     {
         "name"              : "New Product",
         "description"       : "Create a space for a new product.",
         "blueprintSpaceKey" : "productspacebp",
         "blueprintFields"   : [ "product-name", "product-owner-username" ],
         "spaceName"         : "[[product-name]]",
         "spaceKey"          : "[[product-name]]",
         "spaceCategories"   : "development, product",
         "spaceDescription"  : "Product space for everything related to [[product-name]]",
         "access"            : [ "Product Space" ]
     }

     ...
 ]

spaceBlueprints[i].name

Key/value pairDefines the name of a space blueprint.The string value assigned to this key will be the name of the blueprint as it appears in the Blueprints Menu.

 "spaceBlueprints" : [
     ...     
     {
"name"              : "New Product",
         "description"       : "Create a space for a new product.",
         "blueprintSpaceKey" : "productspacebp",
         "blueprintFields"   : [ "product-name", "product-owner-username" ],
         "spaceName"         : "[[product-name]]",
         "spaceKey"          : "[[product-name]]",
         "spaceCategories"   : "development, product",
         "spaceDescription"  : "Product space for everything related to [[product-name]]",
         "access"            : [ "Product Space" ]
     }
     ...
 ]

spaceBlueprints[i].description

Key/value pairDescribes a space blueprint.The string value assigned to this key will be the description of the blueprint as it appears directly below the blueprint's name/title in the Blueprints Menu.

 "spaceBlueprints" : [
     ...     
     {
"name"              : "New Product",
         "description"       : "Create a space for a new product.",
         "blueprintSpaceKey" : "productspacebp",
         "blueprintFields"   : [ "product-name", "product-owner-username" ],
         "spaceName"         : "[[product-name]]",
         "spaceKey"          : "[[product-name]]",
         "spaceCategories"   : "development, product",
         "spaceDescription"  : "Product space for everything related to [[product-name]]",
         "access"            : [ "Product Space" ]
     }
     ...
 ]

spaceBlueprints[i].blueprintSpaceKey

Key/value pairIndicates a blueprint source space.The string value assigned to this key is the space key of the source space that will serve as the template for new spaces generated from this blueprint.

 "spaceBlueprints" : [
     ...     
     {
"name"              : "New Product",
         "description"       : "Create a space for a new product.",
         "blueprintSpaceKey" : "productspacebp",
         "blueprintFields"   : [ "product-name", "product-owner-username" ],
         "spaceName"         : "[[product-name]]",
         "spaceKey"          : "[[product-name]]",
         "spaceCategories"   : "development, product",
         "spaceDescription"  : "Product space for everything related to [[product-name]]",
         "access"            : [ "Product Space" ]
     }
     ...
 ]
 

 

spaceBlueprints[i].blueprintFields

Key/value pairLists all custom substitution fields included in the blueprint.

The array assigned to this key will comprise the names of all custom substitution fields that will be a part of this blueprint.

These are the fields blueprint users will be asked to provide values for whenever they create new spaces from this blueprint.

Each field name listed here will map to a blueprint field object defined in the JSON file. The substitution field name as it occurs in this array will match the corresponding blueprint field object's id key, which will also match the substitution field name as it occurs in the blueprint source page (enclosed in double brackets: [[substitution-field-name]]).

 "spaceBlueprints" : [
     ...     
     {
"name"              : "New Product",
         "description"       : "Create a space for a new product.",
         "blueprintSpaceKey" : "productspacebp",
         "blueprintFields"   : [ "product-name", "product-owner-username" ],
         "spaceName"         : "[[product-name]]",
         "spaceKey"          : "[[product-name]]",
         "spaceCategories"   : "development, product",
         "spaceDescription"  : "Product space for everything related to [[product-name]]",
         "access"            : [ "Product Space" ]
     }
     ...
 ]

spaceBlueprints[i].spaceName

Key/value pairDefines how new spaces generated from a space blueprint will be named.

The string value of this key will be the name of a new space generated via blueprint.

It is possible and indeed recommended to incorporate at least one custom substitution field into this key's value so that each new space created from this blueprint will have a unique name from the start, without requiring any extra input from the user who is creating the new space. (Built-in substitution fields, however, are not supported here.)

 "spaceBlueprints" : [
     ...     
     {
         "name"              : "Team Workspace",
         "description"       : "Workspace for a department or project team",
         "blueprintSpaceKey" : "teamspacebp",
         "blueprintFields"   : [ "team-name", "team-key", "team-edit-group" ],
         "spaceName"         : "[[team-name]] Workspace",
         "spaceKey"          : "[[team-key]]",
         "spaceDescription"  : "Projects, timelines, and resources for the [[team-name]] team",
         "access"            : [ "Team" ]
     }
...
 ]
 

 

spaceBlueprints[i].spaceKey

Key/value pairDefines the space key for new spaces generated from a blueprint.

The string value will be the space key of any new spaces generated via blueprint.

As with the spaceName key, it is possible and indeed recommended to incorporate at least one substitution field into this key's value so that each new space created from this blueprint will have a unique key from the start. Otherwise, when blueprint users try to create new spaces from blueprint, they will be prompted to go back and manually enter a unique space key to avoid naming collisions.

 "spaceBlueprints" : [
     ...     
     {
         "name"              : "Team Workspace",
         "description"       : "Workspace for a department or project team",
         "blueprintSpaceKey" : "teamspacebp",
         "blueprintFields"   : [ "team-name", "team-key", "team-edit-group" ],
         "spaceName"         : "[[team-name]] Workspace",
         "spaceKey"          : "[[team-key]]",
         "spaceDescription"  : "Projects, timelines, and resources for the [[team-name]] team",
         "access"            : [ "Team" ]
     }
...
 ]
 

 

spaceBlueprints[i].spaceCategories

Key/value pairAdds labels to new spaces generated from a blueprint.

The string value of this key is a comma-separated list of labels that will automatically be added to any new spaces created from the blueprint.

Custom substitution fields are allowed. The [[CURRENT DATE]], [[SPACE KEY]], and [[SPACE NAME]] built-in substitution fields are supported; however, we do not recommend using [[SPACE NAME]] as doing so will often result in errors (as labels cannot contain spaces and space names often consist of more than one word).

Leave blank or remove this key/value pair from the object altogether if you do not want to add labels to the new spaces.

 "spaceBlueprints" : [
     ...     
     {
"name"              : "New Product",
         "description"       : "Create a space for a new product.",
         "blueprintSpaceKey" : "productspacebp",
         "blueprintFields"   : [ "product-name", "product-owner-username" ],
         "spaceName"         : "[[product-name]]",
         "spaceKey"          : "[[product-name]]",
         "spaceCategories"   : "development, product",
         "spaceDescription"  : "Product space for everything related to [[product-name]]",
         "access"            : [ "Product Space" ]
     }
     ...
 ]
 

 

spaceBlueprints[i].spaceDescription

Key/value pairDescribes new spaces generated via blueprint.

The string value of this key will be the description (as seen in the

 Confluence space directory;

editable via the Space Tools Menu) for any new space generated from the blueprint.

It is possible to incorporate custom substitution fields into this key's value, should you wish to do that, although the use of built-in substitution fields is not supported.

 "spaceBlueprints" : [
     ...     
     {
"name"              : "New Product",
         "description"       : "Create a space for a new product.",
         "blueprintSpaceKey" : "productspacebp",
         "blueprintFields"   : [ "product-name", "product-owner-username" ],
         "spaceName"         : "[[product-name]]",
         "spaceKey"          : "[[product-name]]",
         "spaceCategories"   : "development, product",
         "spaceDescription"  : "Product space for everything related to [[product-name]]",
         "access"            : [ "Product Space" ]
     }
     ...
 ]

spaceBlueprints[i].access

Key/value pairAssigns a permission scheme to new spaces created from a blueprint.

The array assigned to this key will comprise the name of one or more permission settings objects enumerated in the accessLists array. Defining these objects will give blueprint authors tight control over who can view and edit the new spaces.

Leave this array empty if you wish to restrict access to new spaces to everyone except the space creator.

 "spaceBlueprints" : [
     ...     
     {
"name"              : "New Product",
         "description"       : "Create a space for a new product.",
         "blueprintSpaceKey" : "productspacebp",
         "blueprintFields"   : [ "product-name", "product-owner-username" ],
         "spaceName"         : "[[product-name]]",
         "spaceKey"          : "[[product-name]]",
         "spaceCategories"   : "development, product",
         "spaceDescription"  : "Product space for everything related to [[product-name]]",
         "access"            : [ "Product Space" ]
     }
     ...
 ]

accessLists

ArrayLists all permission schemes that may be applied to space blueprints.

Each item in this array is an object that defines space permission settings.

The objects in this list are what the items in spaceBlueprints[i].access may reference.

 "accessLists" : [   
     {
         "name"        : "Product Space",
         "permissions" : [
             {
                 "type"  : "group",
                 "name"  : "developers",
                 "grant" : [ "VIEWSPACE", "EDITSPACE" ]
             },
             {
                 "type"  : "group",
                 "name"  : "testers",
                 "grant" : [ "VIEWSPACE", "EDITSPACE", "COMMENT", "REMOVECOMMENT" ]
             },
             {
                 "type"  : "group",
                 "name"  : "editors",
                 "grant" : [ "VIEWSPACE", "EDITSPACE", "REMOVEPAGE", "EDITBLOG", "COMMENT", "REMOVECOMMENT", "CREATEATTACHMENT", "REMOVEATTACHMENT" ]
             },
             {
                 "type"  : "user",
                 "name"  : "[[product-owner-username]]",
                 "grant" : [ "ALL" ]
             }
         ]
     },
     {
         "name: "Team",
         "permissions" : [
             {
                 "type"  : "group",
                 "name"  : "[[team-edit-group]]",
                 "grant" : [ "VIEWSPACE", "EDITSPACE", "REMOVEPAGE", "COMMENT", "REMOVECOMMENT", "CREATEATTACHMENT", "REMOVEATTACHMENT", "EXPORTSPACE" ]
             }
         ]
     }
 ]

accessLists[m]

ObjectDefines a set of space permissions that may be applied to new spaces.

This object comprises two key/value pairs that hold information about who can view, access, or administer spaces created from a blueprint.

Keys in this object:

 "accessLists" : [   
     ...
     {
         "name"        : "Product Space",
         "permissions" : [
             {
                 "type"  : "group",
                 "name"  : "developers",
                 "grant" : [ "VIEWSPACE", "EDITSPACE" ]
             },
             {
                 "type"  : "group",
                 "name"  : "testers",
                 "grant" : [ "VIEWSPACE", "EDITSPACE", "COMMENT", "REMOVECOMMENT" ]
             },
             {
                 "type"  : "group",
                 "name"  : "editors",
                 "grant" : [ "VIEWSPACE", "EDITSPACE", "REMOVEPAGE", "EDITBLOG", "COMMENT", "REMOVECOMMENT", "CREATEATTACHMENT", "REMOVEATTACHMENT" ]
             },
             {
                 "type"  : "user",
                 "name"  : "[[product-owner-username]]",
                 "grant" : [ "ALL" ]
             }
         ]
     }

     ...
 ]

accessLists[m].name

Key/value pairDefines the name of a space permissions object whose properties can be applied to new spaces.

The string value assigned to this key is simply the name of the containing permission settings object.

Any instances of spaceBlueprints[i].access that reference this object will do so by this name.

 "accessLists" : [   
     ...
     {
         "name"        : "Product Space",
         "permissions" : [
             {
                 "type"  : "group",
                 "name"  : "developers",
                 "grant" : [ "VIEWSPACE", "EDITSPACE" ]
             },
             {
                 "type"  : "group",
                 "name"  : "testers",
                 "grant" : [ "VIEWSPACE", "EDITSPACE", "COMMENT", "REMOVECOMMENT" ]
             },
             {
                 "type"  : "group",
                 "name"  : "editors",
                 "grant" : [ "VIEWSPACE", "EDITSPACE", "REMOVEPAGE", "EDITBLOG", "COMMENT", "REMOVECOMMENT", "CREATEATTACHMENT", "REMOVEATTACHMENT" ]
             },
             {
                 "type"  : "user",
                 "name"  : "[[product-owner-username]]",
                 "grant" : [ "ALL" ]
             }
         ]
     }
     ...
 ]

accessLists[m].permissions

Key/value pairLists every type of user in the accessLists[m] permission scheme who will have some level of access to new spaces.

Each item in this array is an object that defines specific permission settings for one particular user or group.

 "accessLists" : [   
     ...
     {
         "name"        : "Product Space",
         "permissions" : [
             {
                 "type"  : "group",
                 "name"  : "developers",
                 "grant" : [ "VIEWSPACE", "EDITSPACE" ]
             },
             {
                 "type"  : "group",
                 "name"  : "testers",
                 "grant" : [ "VIEWSPACE", "EDITSPACE", "COMMENT", "REMOVECOMMENT" ]
             },
             {
                 "type"  : "group",
                 "name"  : "editors",
                 "grant" : [ "VIEWSPACE", "EDITSPACE", "REMOVEPAGE", "EDITBLOG", "COMMENT", "REMOVECOMMENT", "CREATEATTACHMENT", "REMOVEATTACHMENT" ]
             },
             {
                 "type"  : "user",
                 "name"  : "[[product-owner-username]]",
                 "grant" : [ "ALL" ]
             }
         ]

     }
     ...
 ]

accessLists[m].permissions[n]

Object

Defines space permissions for a particular user or group.

This object comprises a set of key/value pairs that hold information about how a particular user or group may interact new spaces created from any blueprint that references accessLists[m].

Keys in this object:

 "accessLists" : [   
     ...
     {
         "name"        : "Product Space",
         "permissions" : [
             ...
             {
                 "type"  : "group",
                 "name"  : "developers",
                 "grant" : [ "VIEWSPACE", "EDITSPACE" ]
             }

             ...
         ]
     }
     ...
 ]

accessLists[m].permissions[n].type

Key/value pairSpecifies the type of user for whom space permissions are being set.

The string value of this key will indicate whether accessLists[m].permissions[n] is defining space permissions for a Confluence user group, an individual user, or anonymous visitors.

Valid values:

  • group
  • user
  • anonymous

 "accessLists" : [   
     ...
     {
         "name"        : "Product Space",
         "permissions" : [
             ...
             {
                 "type"  : "group",
                 "name"  : "developers",
                 "grant" : [ "VIEWSPACE", "EDITSPACE" ]
             }
             ...
         ]
     }
     ...
 ]

 "accessLists" : [   
     ...
     {
         "name"        : "Product Space",
         "permissions" : [
             ...
             {
                 "type"  : "user",
                 "name"  : "[[product-owner-username]]",
                 "grant" : [ "ALL" ]
             }
             ...
         ]
     }
     ...
 ]

accessLists[m].permissions[n].name

Key/value pairSpecifies the name of the user or group for whom space permissions are being set.

The string value of this key will be the name of a user group, an individual's username, or "anonymous", depending on the value of accessLists[m].permissions[n].type.

It is possible to use custom substitution fields for this value, which blueprint users can supply at the time new spaces are created.

 "accessLists" : [   
     ...
     {
         "name"        : "Product Space",
         "permissions" : [
             ...
             {
                 "type"  : "group",
                 "name"  : "developers",
                 "grant" : [ "VIEWSPACE", "EDITSPACE" ]
             }
             ...
         ]
     }
     ...
 ]

 "accessLists" : [   
     ...
     {
         "name"        : "Product Space",
         "permissions" : [
             ...
             {
                 "type"  : "user",
                 "name"  : "[[product-owner-username]]",
                 "grant" : [ "ALL" ]
             }
             ...
         ]
     }
     ...
 ]

accessLists[m].permissions[n].grant

Key/value pairLists all of the specific space permissions granted to the user or group defined in accessLists[m].permissions[n].

Each item in this array is a string value that corresponds with a specific type of access to a space an individual or group may possess.

See valid space permissions array for a complete list of valid values.

 "accessLists" : [   
     ...
     {
         "name"        : "Product Space",
         "permissions" : [
             ...
             {
                 "type"  : "group",
                 "name"  : "developers",
                 "grant" : [ "VIEWSPACE", "EDITSPACE" ]
             }
             ...
         ]
     }
     ...
 ]

valid space permissions

ArrayLists all of the different types of permissions that can be granted to a user or group in a new space created from a blueprint.

For your convenience, all of the valid values you may use to populate accessLists[m].permissions[n].grant are listed here.

We recommend keeping this array as it is and not removing any items so that you will always have a complete list to draw from:

  • ALL
  • VIEWSPACE
  • EDITSPACE
  • REMOVEPAGE
  • EDITBLOG
  • REMOVEBLOG
  • COMMENT
  • REMOVECOMMENT
  • CREATEATTACHMENT
  • REMOVEATTACHMENT
  • SETPAGEPERMISSIONS
  • EXPORTSPACE
  • SETSPACEPERMISSIONS

 "valid space permissions" : [   
     "ALL",
     "VIEWSPACE",
     "EDITSPACE",
     "REMOVEPAGE",
     "EDITBLOG",
     "REMOVEBLOG",
     "COMMENT",
     "REMOVECOMMENT",
     "CREATEATTACHMENT",
     "REMOVEATTACHMENT",
     "SETPAGEPERMISSIONS",
     "EXPORTSPACE",
     "SETSPACEPERMISSIONS"
 ]

pageBlueprintsArrayLists every Brikit page blueprint on your site.Each item in this array is an object that defines one page blueprint.

This array will be empty if there are no page blueprints for your site.

 "pageBlueprints" : [ 
     {
         "name"            : "Product Overview",
         "description"     : "Create a page that describes the product.",
         "spaceKey"        : "BP",
         "pageTitle"       : "[[product-name]] Overview",
         "blueprintFields" : [ "product-name", "product-logo"]
     },
     {
         "name"            : "Team Member Profile",
         "description"     : "Create a page to show a member's profile information.",
         "spaceKey"        : "BP",
         "pageTitle"       : "[[team-member-name]]",
         "blueprintFields" : [ "team-member-name", "team-member-username" ],
         "includeChildren" : true,
         "visibility"      : [ "docs", "support" ]
     }
 ]

 "pageBlueprints" : [
 ]
 

pageBlueprints[j]

ObjectDefines an individual page blueprint on your site.

This object comprises a set of key/value pairs that function as specifications or instructions for creating new pages from this blueprint.

Keys in this object:

 "pageBlueprints" : [
     ...     
     {
         "name"            : "Team Member Profile",
         "description"     : "Create a page to show a member's profile information.",
         "spaceKey"        : "BP",
         "pageTitle"       : "[[team-member-name]]",
         "blueprintFields" : [ "team-member-name", "team-member-username" ],
         "includeChildren" : true,
         "visibility"      : [ "docs", "support" ]
     }

     ...
 ]

pageBlueprints[j].name

Key/value pairDefines the name of a page blueprint.

The string value assigned to this key will be the name of the blueprint as it appears in the Blueprints Menu.

 "pageBlueprints" : [
     ...     
     {
"name"            : "Product Overview",
         "description"     : "Create a page that describes the product.",
         "spaceKey"        : "BP",
         "pageTitle"    : "[[product-name]] Overview",
         "blueprintFields" : [ "product-name", "product-logo" ]
     }
     ...
 ]

pageBlueprints[j].description

Key/value pairDescribes a page blueprint.

The string value assigned to this key will be the description of the blueprint as it appears directly below the blueprint's name/title in the Blueprints Menu.

 "pageBlueprints" : [
     ...     
     {
"name"            : "Product Overview",
         "description"     : "Create a page that describes the product.",
         "spaceKey"        : "BP",
         "pageTitle"    : "[[product-name]] Overview",
         "blueprintFields" : [ "product-name", "product-logo" ]
     }
     ...
 ]

pageBlueprints[j].spaceKey

Key/value pairIndicates the space that holds a page blueprint's source page.

The string value will simply be the key of the space that is holding the blueprint source page.

Another way to think about it: The space indicated here is where the value of pageBlueprints[j].pageTitle lives.

 "pageBlueprints" : [
     ...     
     {
"name"            : "Product Overview",
         "description"     : "Create a page that describes the product.",
         "spaceKey"        : "BP",
         "pageTitle"    : "[[product-name]] Overview",
         "blueprintFields" : [ "product-name", "product-logo" ]
     }
     ...
 ]

pageBlueprints[j].pageTitle

Key/value pairIdentifies a source page that will be used as the template for a blueprint.

The string value assigned to this key will be the name of the source page that will be copied whenever new pages are generated from a blueprint.

It is possible and indeed recommended to incorporate at least one custom substitution field into this key's value so that each new page created from this blueprint will have a unique name from the start, without requiring any extra input from the user who is creating the new space.

Of the built-in substitution fields, [[CURRENT DATE]], [[SPACE KEY]], [[PARENT PAGE ID]] and [[SPACE NAME]] are supported.

 "pageBlueprints" : [
     ...     
     {
"name"            : "Product Overview",
         "description"     : "Create a page that describes the product.",
         "spaceKey"        : "BP",
         "pageTitle"    : "[[product-name]] Overview",
         "blueprintFields" : [ "product-name", "product-logo" ]
     }
     ...
 ]

pageBlueprints[j].blueprintFields

Key/value pairLists all custom substitution fields included in the blueprint.

The array assigned to this key will comprise the names of all custom substitution fields that will be a part of this blueprint.

These are the fields blueprint users will be asked to provide values for whenever they create new pages from this blueprint.

Each field name listed here will map to a blueprint field object defined in the JSON file. The substitution field name as it occurs in this array will match the corresponding blueprint field object's id key, which will also match the substitution field name as it occurs in the blueprint source page (enclosed in double brackets: [[substitution-field-name]]).

 "pageBlueprints" : [
     ...     
     {
"name"            : "Product Overview",
         "description"     : "Create a page that describes the product.",
         "spaceKey"        : "BP",
         "pageTitle"    : "[[product-name]] Overview",
         "blueprintFields" : [ "product-name", "product-logo" ]
     }
     ...
 ]

pageBlueprints[j].includeChildren

Key/value pairIndicates whether to include a blueprint source page's child pages when generating new pages from a blueprint.

The boolean value assigned to this key will specify whether a source page's children will be a part of the blueprint, or just the source page indicated in pageBlueprint[j].pageTitle.

Defaults to false if not indicated.

 "pageBlueprints" : [
     ...     
     {
         "name"            : "Team Member Profile",
         "description"     : "Create a page to show a member's profile information.",
         "spaceKey"        : "BP",
         "pageTitle"       : "[[team-member-name]]",
         "blueprintFields" : [ "team-member-name", "team-member-username" ],
         "includeChildren" : true,
         "visibility"      : [ "docs", "support" ]
     }
     ...
 ]

pageBlueprints[j].visibility

Key/value pair   

blueprintFields

Array   

blueprintFields[k]

Object   

blueprintFields[k].id

Key/value pair   

blueprintFields[k].name

Key/value pair   

blueprintFields[k].required

Key/value pair   

blueprintFields[k].type

Key/value pair   

blueprintFields[k].helpText

Key/value pair   

blueprintFields[k].placeholder

Key/value pair   

blueprintFields[k].validation

Key/value pair   
spaceMetadataArray   
pageMetadataArray   
createSpaceGroupsArray  
  • link
  • link
  • link
  • link