# updates.publish

Access: Bearer token required. Additional credential or scope: updates:publish. MCP allowed: yes (op_updates_publish).

HTTP: POST /api/v2/execute. Replace the placeholder input below with an object matching the input JSON Schema; this example is not a runnable request.

{"version":1,"operation":"updates.publish","input":<input-object matching schema>}

CLI: indielogs call updates.publish '<input-json>' (command shape only; the placeholder is not a valid sample input).

Input JSON Schema (generated from the shared Zod input schema). JSON Schema describes representable structure; runtime refinements and transforms remain enforced by the canonical parser and may not be fully represented here.

```json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "project_id": {
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "string",
          "pattern": "^[1-9]\\d*$"
        }
      ]
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 10000
    },
    "date": {
      "type": "string"
    },
    "image": {
      "anyOf": [
        {
          "type": "string",
          "const": ""
        },
        {
          "type": "string",
          "maxLength": 2048,
          "format": "uri"
        }
      ]
    },
    "video": {
      "anyOf": [
        {
          "type": "string",
          "const": ""
        },
        {
          "type": "string",
          "maxLength": 2048,
          "format": "uri"
        }
      ]
    },
    "items": {
      "maxItems": 16,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 280
      }
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:-]{1,200}$"
    }
  },
  "required": [
    "project_id",
    "description"
  ],
  "additionalProperties": {}
}

```