Skip to main content

ProjectConfigurationResponse

errCodeintegerrequired
Constant value: 0
errMessagestringrequired
Constant value:
data objectrequired
oneOf
versionintegerrequired

Possible values: [1]

revisionintegerrequired

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}$

  • ]
  • customFields 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}$

  • ]
  • shadowedCustomFields object[]

    Custom definitions temporarily hidden by same-name project declarations, retained for later restoration.

  • 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 [
  • deletedPaths object

    Personal JSON deletion overlays; managed by the service and rechecked against each version's permissions.

    property name* string[]
  • Array [
  • string
  • ]
  • templateIdstring
    idstringrequired
    namestringrequired
    values objectrequired
    property name*any
    createdAtstring<date-time>required
    updatedAtstring<date-time>required
  • ]
  • activeConfigurationIdstringrequired
    template object

    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}$

  • ]
  • 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
    publicationPreview object

    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}$

  • ]
  • canManagePublicationboolean
    sourceHashstring
    fieldCapabilities object
    property name* ProjectConfigurationCapability
    editablebooleanrequired
    reasonstring
    paths object
    property name* ProjectConfigurationCapability
    editablebooleanrequired
    reasonstring
    conflicts object[]

    Preserved personal drafts whose field types changed on upgrade.

  • Array [
  • configurationIdstring
    keystring
    value
    reasonstring
  • ]
  • ProjectConfigurationResponse
    {
    "errCode": 0,
    "errMessage": "string",
    "data": {
    "version": 1,
    "revision": 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"
    ]
    }
    ],
    "customFields": [
    {
    "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"
    ]
    }
    ],
    "shadowedCustomFields": [
    {
    "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": [
    {
    "deletedPaths": {},
    "templateId": "string",
    "id": "string",
    "name": "string",
    "values": {},
    "createdAt": "2024-07-29T15:51:28.071Z",
    "updatedAt": "2024-07-29T15:51:28.071Z"
    }
    ],
    "activeConfigurationId": "string",
    "template": {
    "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"
    }
    ]
    },
    "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"
    },
    "publicationPreview": {
    "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"
    }
    ]
    },
    "canManagePublication": true,
    "sourceHash": "string",
    "fieldCapabilities": {},
    "conflicts": [
    {
    "configurationId": "string",
    "key": "string",
    "value": {},
    "reason": "string"
    }
    ]
    }
    }