3 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

UpdateDraftRequest — openapi

Request model for draft updates: PATCH uses a partial merge; PUT draft:overwrite treats the body as the full intended configuration after publish.

Properties

NameTypeRequiredDescription
draftHashstringfalseThe previous draft hash for concurrency control. If provided, the update will fail if it doesn't match.
entriesobjectfalseOn PATCH, keys not included are unchanged; set a key to null to delete a branch or entry per merge rules. On PUT draft:overwrite, this map is the authoritative final entry set: any key present on the latest published configuration but omitted here is removed, and any conditional branch omitted for a key that remains is removed.
conditionalRulesfalseOptional conditional rules. On PATCH, merges with the current draft rules when this payload is non-empty (any rule id or rulesOrder entry). Omit the property or send an empty object {} to leave rules unchanged (draft rules, or latest published rules if the draft has none yet). On PUT draft:overwrite, when this property is present, CreatorConfigsPublicApi.Models.ConditionalRulesPayload.Rules is the full intended rule set after publish: rules that exist on the latest published configuration but are omitted are removed. When omitted on overwrite, all published conditional rules are cleared (entries must not reference conditionals unless you provide this object).

Complete Schema

{
  "type": "object",
  "properties": {
    "draftHash": {
      "type": "string",
      "description": "The previous draft hash for concurrency control. If provided, the update will fail if it doesn't match.",
      "nullable": true
    },
    "entries": {
      "type": "object",
      "additionalProperties": {
        "nullable": true
      },
      "description": "On PATCH, keys not included are unchanged; set a key to null to delete a branch or entry per merge rules.\r\nOn PUT `draft:overwrite`, this map is the authoritative final entry set: any key present on the latest published configuration but omitted here is removed, and any conditional branch omitted for a key that remains is removed.",
      "nullable": true
    },
    "conditionalRules": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ConditionalRulesPayload"
        }
      ],
      "description": "Optional conditional rules. On PATCH, merges with the current draft rules when this payload is non-empty (any rule id or `rulesOrder` entry).\r\nOmit the property or send an empty object `{}` to leave rules unchanged (draft rules, or latest published rules if the draft has none yet).\r\nOn PUT `draft:overwrite`, when this property is present,\r\nCreatorConfigsPublicApi.Models.ConditionalRulesPayload.Rules is the full intended rule set after publish: rules that exist on the latest published configuration but are omitted are removed.\r\nWhen omitted on overwrite, all published conditional rules are cleared (entries must not reference conditionals unless you provide this object).",
      "nullable": true
    }
  },
  "additionalProperties": false,
  "description": "Request model for draft updates: PATCH uses a partial merge; PUT `draft:overwrite` treats the body as the full intended configuration after publish."
}