Skip to main content

ProjectConfigurationTemplate

Immutable, filtered version data; defaultValue is omitted. Arrays are indivisible. Excluded names are represented only by opaque deny hashes. The authenticated download validates source and attachment hashes before caching outside project source.

versionintegerrequired

Possible values: [2]

kindstringrequired

Possible values: [steamharness-configuration-template]

projectIdstringrequired
projectVersionstringrequired
sourceHashstringrequired

Possible values: Value must match regular expression ^[a-f0-9]{64}$

draftRevisionintegerrequired

Possible values: >= 0

fields object[]required
  • Array [
  • namestringrequired

    Possible values: Value must match regular expression ^[A-Za-z_][A-Za-z0-9_.-]{0,199}$

    typestringrequired

    Possible values: [string, number, boolean, json, file]

    labelstring
    descriptionstring
    defaultValue

    Native JSON default. Never store real secrets in source declarations.

    requiredboolean
    secretboolean
    multipleboolean

    String arrays for string fields; up to 32 server file references for file fields.

    controlstring

    Possible values: [text, textarea, select, radio, checkboxes]

    acceptstring[]

    File fields only. Accepted MIME types or extensions. Files upload through POST /api/projects/{projectId}/configurations/files and values contain server metadata, never file bytes.

    options object[]
  • Array [
  • valuestringrequired
    labelstring
  • ]
  • sharing object
    publishboolean
    Default value: true
    includeValueboolean
    Default value: false
    editableboolean
    Default value: true
    paths object

    JSON Pointer rules, inherited from the parent with more specific rules taking precedence. Excluding the whole field excludes every descendant.

    property name* ConfigurationSharingRule
    publishboolean
    Default value: true
    includeValueboolean
    Default value: false
    editableboolean
    Default value: true
    omittedPathsstring[]

    Generated opaque deny hashes for omitted JSON paths, without private path names.

    Possible values: Value must match regular expression ^[a-f0-9]{64}$

  • ]
  • configurations object[]required

    Possible values: >= 1

  • Array [
  • idstringrequired
    namestringrequired

    Possible values: non-empty and <= 200 characters

    values objectrequired
    property name*any
  • ]
  • defaultConfigurationIdstringrequired
    reservedFieldsstring[]

    Possible values: Value must match regular expression ^[a-f0-9]{64}$

    attachments object[]
  • Array [
  • idstringrequired
    pathstringrequired
    sha256stringrequired

    Possible values: Value must match regular expression ^[a-f0-9]{64}$

  • ]
  • ProjectConfigurationTemplate
    {
    "version": 2,
    "kind": "steamharness-configuration-template",
    "projectId": "string",
    "projectVersion": "string",
    "sourceHash": "string",
    "draftRevision": 0,
    "fields": [
    {
    "name": "string",
    "type": "string",
    "label": "string",
    "description": "string",
    "required": true,
    "secret": true,
    "multiple": true,
    "control": "text",
    "accept": [
    "string"
    ],
    "options": [
    {
    "value": "string",
    "label": "string"
    }
    ],
    "sharing": {
    "publish": true,
    "includeValue": false,
    "editable": true
    },
    "paths": {},
    "omittedPaths": [
    "string"
    ]
    }
    ],
    "configurations": [
    {
    "id": "string",
    "name": "string",
    "values": {}
    }
    ],
    "defaultConfigurationId": "string",
    "reservedFields": [
    "string"
    ],
    "attachments": [
    {
    "id": "string",
    "path": "string",
    "sha256": "string"
    }
    ]
    }