# sources.update

Access: Bearer token required. Additional credential or scope: sources:write. MCP allowed: yes (op_sources_update).

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":"sources.update","input":<input-object matching schema>}

CLI: indielogs call sources.update '<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": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "policy": {
      "type": "string",
      "enum": [
        "review",
        "veto",
        "auto"
      ]
    },
    "veto_minutes": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10080
    },
    "press_time": {
      "type": "string",
      "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d)?$"
    },
    "max_per_day": {
      "type": "number",
      "const": 1
    },
    "quiet_minutes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1440
    },
    "hold_customer_mentions": {
      "type": "boolean"
    },
    "weekly_edition": {
      "type": "boolean"
    },
    "edition_day": {
      "type": "integer",
      "minimum": 1,
      "maximum": 7
    },
    "edition_time": {
      "type": "string",
      "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d)?$"
    },
    "skip_kinds": {
      "maxItems": 30,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 40
      }
    },
    "notes_globs": {
      "maxItems": 30,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 300
      }
    },
    "screenshot_urls": {
      "maxItems": 10,
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "string",
            "const": ""
          },
          {
            "type": "string",
            "maxLength": 2048,
            "format": "uri"
          }
        ]
      }
    },
    "outputs": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "boolean"
          },
          {
            "type": "string",
            "enum": [
              "exact",
              "range",
              "milestones",
              "off"
            ]
          }
        ]
      }
    },
    "timezone": {
      "type": "string",
      "maxLength": 100
    },
    "enabled": {
      "type": "boolean"
    }
  },
  "required": [
    "project_id"
  ],
  "additionalProperties": {}
}

```