capability_id: release.update
version: "1.0.0"
description: Update a draft release without publishing it.
input_schema:
  type: object
  required: [owner, name, releaseId]
  properties:
    owner: { type: string, minLength: 1 }
    name: { type: string, minLength: 1 }
    releaseId: { type: integer, minimum: 1 }
    tagName: { type: string, minLength: 1 }
    title: { type: string, minLength: 1 }
    notes: { type: string, minLength: 1 }
    targetCommitish: { type: string, minLength: 1 }
    prerelease: { type: boolean }
    draft: { type: boolean }
  additionalProperties: false
output_schema:
  type: object
  required: [id, tagName, name, isDraft, isPrerelease, url, targetCommitish, createdAt, publishedAt]
  properties:
    id: { type: integer, minimum: 0 }
    tagName: { type: [string, "null"] }
    name: { type: [string, "null"] }
    isDraft: { type: boolean }
    isPrerelease: { type: boolean }
    url: { type: [string, "null"] }
    targetCommitish: { type: [string, "null"] }
    createdAt: { type: [string, "null"] }
    publishedAt: { type: [string, "null"] }
  additionalProperties: false
routing:
  preferred: cli
  fallbacks: []
  notes:
    - "Draft-first semantics: update only supports draft=true."
cli:
  command: api
