Skip to main content

ProjectConfigurationAction

At most 1 MiB. Revision is mandatory for every mutation. Profile mutations require id; create takes optional name. Save merges typed values and removes overrides named in unset. Field edits use field and optional old key. Import takes a complete document. Export optionally filters by id.

actionstringrequired

Possible values: [get, export, create, duplicate, rename, save, select, delete, field.save, field.delete, import, publication.save, publication.preview]

revisioninteger

Possible values: >= 0

idstring
namestring

Possible values: non-empty and <= 200 characters

values object
property name*any
unsetstring[]
field object
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}$

    keystring
    document object
    versionintegerrequired

    Possible values: [1]

    kindstringrequired

    Possible values: [steamharness-project-configurations]

    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 [
  • templateIdstring
    namestringrequired
    values objectrequired
    property name*any
  • ]
  • publication object
    revisionintegerrequired

    Possible values: >= 0

    configurationRevisionintegerrequired

    Possible values: >= 0

    configurationAccountIdstring

    Server-assigned source account for personal revision checks; client values do not grant authority.

    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
    ProjectConfigurationAction
    {
    "action": "get",
    "revision": 0,
    "id": "string",
    "name": "string",
    "values": {},
    "unset": [
    "string"
    ],
    "field": {
    "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"
    ]
    },
    "key": "string",
    "document": {
    "version": 1,
    "kind": "steamharness-project-configurations",
    "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": [
    {
    "templateId": "string",
    "name": "string",
    "values": {}
    }
    ]
    },
    "publication": {
    "revision": 0,
    "configurationRevision": 0,
    "configurationAccountId": "string",
    "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"
    }
    }