Skip to main content
Glama

Get work package detail

get_work_package
Read-onlyIdempotent

Read one work package in full: description, dates, custom fields, parent, and progress. Use the returned lock_version for safe concurrent edits with update_work_package.

Instructions

Read one work package in full: description, dates, custom fields, parent and progress.

This is the tool to call once a search or list has given you an id, and the only way to read a work package's description text. The lock_version in the result is what update_work_package needs for a safe concurrent edit.

Returns every core field, custom_fields in the canonical [{key, name, type, value, value_ids}] shape (only fields that have a value), an available map saying whether this work package exposes dev links, meetings or file links, and any requested includes.

Pitfalls: includes are capped at 20 — a truncated children list means you should call list_work_packages(parent_id=…) for the rest, which more_via spells out verbatim. A sub-resource that 403s or 404s (module off, no permission) degrades into a notes entry instead of failing the whole read.

For the comment thread use list_work_package_comments; for attachment bytes use download_attachment; for linked PRs and commits use get_work_package_git_activity.

Input Schema

NameRequiredDescriptionDefault
idYesWork package id — the number shown as #1234 in OpenProject. Comes from search_work_packages or list_work_packages. Instances on 17.x with semantic identifiers enabled also accept the semantic form ('PROJ-42', the row's display_id).
includeNoExtra sub-resources, fetched concurrently: 'relations', 'watchers', 'attachments', 'children', 'custom_actions'. Each is capped at 20 items and reports {truncated, total, more_via} when there are more. Ask only for what you need — every include is one more upstream request.

Output Schema

NameRequiredDescriptionDefault
idNo
dateNo
typeNo
notesNo
authorNo
parentNo
sprintNo
statusNo
projectNo
subjectNo
versionNo
assigneeNo
categoryNo
childrenNo
due_dateNo
priorityNo
watchersNo
availableNo
relationsNo
created_atNo
display_idNo
start_dateNo
updated_atNo
attachmentsNo
descriptionNo
responsibleNo
spent_hoursNo
lock_versionNo
story_pointsNo
custom_fieldsNo
project_phaseNo
custom_actionsNo
estimated_hoursNo
percentage_doneNo
remaining_hoursNo
target_versionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed142 schema fields changedv0.4.0
    • removedOutput schema / description
      Removed value: -"``get_work_package`` result: detail plus the requested capped includes."
    • changedOutput schema / properties / assignee / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A reference to another resource. Canonical output shape.",
      -    "properties": {
      -      "id": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Resource id."
      -      },
      -      "name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Human-readable name."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": [
      +          "integer",
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / assignee / default
      Removed value: -null
    • removedOutput schema / properties / assignee / description
      Removed value: -"Assigned user or group."
    • changedOutput schema / properties / attachments / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "items": {
      -        "description": "Items included (capped).",
      -        "items": {
      -          "description": "An attachment on the work package.",
      -          "properties": {
      -            "author": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": false,
      -                  "description": "A reference to another resource. Canonical output shape.",
      -                  "properties": {
      -                    "id": {
      -                      "anyOf": [
      -                        {
      -                          "type": "integer"
      -                        },
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Resource id."
      -                    },
      -                    "name": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Human-readable name."
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Uploading user."
      -            },
      -            "content_type": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "MIME type reported by the server."
      -            },
      -            "created_at": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "ISO 8601 UTC timestamp."
      -            },
      -            "description": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Caption, when one was given."
      -            },
      -            "file_name": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Stored file name."
      -            },
      -            "file_size": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Size in bytes."
      -            },
      -            "id": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Attachment id."
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "more_via": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Tool call that returns the full list."
      -      },
      -      "total": {
      -        "default": 0,
      -        "description": "Total available items.",
      -        "type": "integer"
      -      },
      -      "truncated": {
      -        "default": false,
      -        "description": "True when items were dropped.",
      -        "type": "boolean"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "items": {
      +        "items": {
      +          "properties": {
      +            "author": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "id": {
      +                      "type": [
      +                        "integer",
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "name": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "content_type": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "created_at": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "description": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "file_name": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "file_size": {
      +              "type": [
      +                "integer",
      +                "null"
      +              ]
      +            },
      +            "id": {
      +              "type": [
      +                "integer",
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "more_via": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "total": {
      +        "type": "integer"
      +      },
      +      "truncated": {
      +        "type": "boolean"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / attachments / default
      Removed value: -null
    • removedOutput schema / properties / attachments / description
      Removed value: -"Present only when 'attachments' was requested."
    • changedOutput schema / properties / author / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A reference to another resource. Canonical output shape.",
      -    "properties": {
      -      "id": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Resource id."
      -      },
      -      "name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Human-readable name."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": [
      +          "integer",
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / author / default
      Removed value: -null
    • removedOutput schema / properties / author / description
      Removed value: -"Creating user."
    • removedOutput schema / properties / available / default
      Removed value: -null
    • removedOutput schema / properties / available / description
      Removed value: -"Feature availability for this WP: dev links, meetings, files."
    • changedOutput schema / properties / category / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A reference to another resource. Canonical output shape.",
      -    "properties": {
      -      "id": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Resource id."
      -      },
      -      "name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Human-readable name."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": [
      +          "integer",
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / category / default
      Removed value: -null
    • removedOutput schema / properties / category / description
      Removed value: -"Category."
    • changedOutput schema / properties / children / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "items": {
      -        "description": "Items included (capped).",
      -        "items": {
      -          "description": "Compact work-package row for list results.",
      -          "properties": {
      -            "assignee": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": false,
      -                  "description": "A reference to another resource. Canonical output shape.",
      -                  "properties": {
      -                    "id": {
      -                      "anyOf": [
      -                        {
      -                          "type": "integer"
      -                        },
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Resource id."
      -                    },
      -                    "name": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Human-readable name."
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Assigned user or group."
      -            },
      -            "display_id": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Human-facing id as the instance renders it. Matches the numeric id unless the instance uses semantic identifiers (17.x, e.g. 'PROJ-42'); null when the instance predates it."
      -            },
      -            "due_date": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "ISO date (YYYY-MM-DD)."
      -            },
      -            "id": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Work package id."
      -            },
      -            "percentage_done": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Progress, 0-100."
      -            },
      -            "priority": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": false,
      -                  "description": "A reference to another resource. Canonical output shape.",
      -                  "properties": {
      -                    "id": {
      -                      "anyOf": [
      -                        {
      -                          "type": "integer"
      -                        },
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Resource id."
      -                    },
      -                    "name": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Human-readable name."
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Priority."
      -            },
      -            "project": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": false,
      -                  "description": "A reference to another resource. Canonical output shape.",
      -                  "properties": {
      -                    "id": {
      -                      "anyOf": [
      -                        {
      -                          "type": "integer"
      -                        },
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Resource id."
      -                    },
      -                    "name": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Human-readable name."
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Owning project."
      -            },
      -            "start_date": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "ISO date (YYYY-MM-DD)."
      -            },
      -            "status": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": false,
      -                  "description": "A reference to another resource. Canonical output shape.",
      -                  "properties": {
      -                    "id": {
      -                      "anyOf": [
      -                        {
      -                          "type": "integer"
      -                        },
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Resource id."
      -                    },
      -                    "name": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Human-readable name."
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Status."
      -            },
      -            "subject": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Subject line."
      -            },
      -            "type": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": false,
      -                  "description": "A reference to another resource. Canonical output shape.",
      -                  "properties": {
      -                    "id": {
      -                      "anyOf": [
      -                        {
      -                          "type": "integer"
      -                        },
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Resource id."
      -                    },
      -                    "name": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Human-readable name."
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Work package type."
      -            },
      -            "updated_at": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "ISO 8601 UTC timestamp."
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "more_via": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Tool call that returns the full list."
      -      },
      -      "total": {
      -        "default": 0,
      -        "description": "Total available items.",
      -        "type": "integer"
      -      },
      -      "truncated": {
      -        "default": false,
      -        "description": "True when items were dropped.",
      -        "type": "boolean"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "items": {
      +        "items": {
      +          "properties": {
      +            "assignee": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "id": {
      +                      "type": [
      +                        "integer",
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "name": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "display_id": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "due_date": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "id": {
      +              "type": [
      +                "integer",
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "percentage_done": {
      +              "type": [
      +                "integer",
      +                "null"
      +              ]
      +            },
      +            "priority": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "id": {
      +                      "type": [
      +                        "integer",
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "name": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "project": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "id": {
      +                      "type": [
      +                        "integer",
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "name": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "start_date": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "status": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "id": {
      +                      "type": [
      +                        "integer",
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "name": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "subject": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "type": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "id": {
      +                      "type": [
      +                        "integer",
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "name": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "updated_at": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "more_via": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "total": {
      +        "type": "integer"
      +      },
      +      "truncated": {
      +        "type": "boolean"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / children / default
      Removed value: -null
    • removedOutput schema / properties / children / description
      Removed value: -"Present only when 'children' was requested."
    • removedOutput schema / properties / created_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / created_at / default
      Removed value: -null
    • removedOutput schema / properties / created_at / description
      Removed value: -"ISO 8601 UTC timestamp."
    • addedOutput schema / properties / created_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / custom_actions / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "items": {
      -        "description": "Items included (capped).",
      -        "items": {
      -          "description": "An instance-defined one-click action available on this work package.",
      -          "properties": {
      -            "id": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Custom action id."
      -            },
      -            "name": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Button label as configured by an admin."
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "more_via": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Tool call that returns the full list."
      -      },
      -      "total": {
      -        "default": 0,
      -        "description": "Total available items.",
      -        "type": "integer"
      -      },
      -      "truncated": {
      -        "default": false,
      -        "description": "True when items were dropped.",
      -        "type": "boolean"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "items": {
      +        "items": {
      +          "properties": {
      +            "id": {
      +              "type": [
      +                "integer",
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "name": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "more_via": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "total": {
      +        "type": "integer"
      +      },
      +      "truncated": {
      +        "type": "boolean"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / custom_actions / default
      Removed value: -null
    • removedOutput schema / properties / custom_actions / description
      Removed value: -"Present only when 'custom_actions' was requested."
    • removedOutput schema / properties / custom_fields / description
      Removed value: -"Always a list; empty when none are set."
    • removedOutput schema / properties / custom_fields / items / description
      Removed value: -"Canonical custom-field read shape."
    • removedOutput schema / properties / custom_fields / items / properties / key / description
      Removed value: -"Wire key, e.g. 'customField12'."
    • removedOutput schema / properties / custom_fields / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / custom_fields / items / properties / name / default
      Removed value: -null
    • removedOutput schema / properties / custom_fields / items / properties / name / description
      Removed value: -"Display name, e.g. 'Severity'."
    • addedOutput schema / properties / custom_fields / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / custom_fields / items / properties / type / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / custom_fields / items / properties / type / default
      Removed value: -null
    • removedOutput schema / properties / custom_fields / items / properties / type / description
      Removed value: -"Schema type, e.g. 'list', 'string'."
    • addedOutput schema / properties / custom_fields / items / properties / type / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / custom_fields / items / properties / value / default
      Removed value: -null
    • removedOutput schema / properties / custom_fields / items / properties / value / description
      Removed value: -"Scalar value or resolved name(s)."
    • changedOutput schema / properties / custom_fields / items / properties / value_ids / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "string"
      -        }
      -      ]
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "type": [
      +        "integer",
      +        "string"
      +      ]
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / custom_fields / items / properties / value_ids / default
      Removed value: -null
    • removedOutput schema / properties / custom_fields / items / properties / value_ids / description
      Removed value: -"Ids for list/user/version custom fields."
    • removedOutput schema / properties / date / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / date / default
      Removed value: -null
    • removedOutput schema / properties / date / description
      Removed value: -"Milestone date (ISO YYYY-MM-DD); null for non-milestones."
    • addedOutput schema / properties / date / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / description / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / description / default
      Removed value: -null
    • removedOutput schema / properties / description / description
      Removed value: -"Description as markdown (raw); html is dropped."
    • addedOutput schema / properties / description / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / display_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / display_id / default
      Removed value: -null
    • removedOutput schema / properties / display_id / description
      Removed value: -"Human-facing id as the instance renders it. Matches the numeric id unless the instance uses semantic identifiers (17.x, e.g. 'PROJ-42'); null when the instance predates it."
    • addedOutput schema / properties / display_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / due_date / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / due_date / default
      Removed value: -null
    • removedOutput schema / properties / due_date / description
      Removed value: -"ISO date (YYYY-MM-DD)."
    • addedOutput schema / properties / due_date / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / estimated_hours / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / estimated_hours / default
      Removed value: -null
    • removedOutput schema / properties / estimated_hours / description
      Removed value: -"Estimate in hours."
    • addedOutput schema / properties / estimated_hours / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / id / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / id / default
      Removed value: -null
    • removedOutput schema / properties / id / description
      Removed value: -"Work package id."
    • addedOutput schema / properties / id / type
      Added value: +[
      +  "integer",
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / lock_version / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / lock_version / default
      Removed value: -null
    • removedOutput schema / properties / lock_version / description
      Removed value: -"Optimistic-locking version; pass to update_work_package."
    • addedOutput schema / properties / lock_version / type
      Added value: +[
      +  "integer",
      +  "null"
      +]
    • removedOutput schema / properties / notes / default
      Removed value: -null
    • removedOutput schema / properties / notes / description
      Removed value: -"Degradation notes for this result."
    • changedOutput schema / properties / parent / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A reference to another resource. Canonical output shape.",
      -    "properties": {
      -      "id": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Resource id."
      -      },
      -      "name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Human-readable name."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": [
      +          "integer",
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / parent / default
      Removed value: -null
    • removedOutput schema / properties / parent / description
      Removed value: -"Parent work package."
    • removedOutput schema / properties / percentage_done / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / percentage_done / default
      Removed value: -null
    • removedOutput schema / properties / percentage_done / description
      Removed value: -"Progress, 0-100."
    • addedOutput schema / properties / percentage_done / type
      Added value: +[
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / priority / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A reference to another resource. Canonical output shape.",
      -    "properties": {
      -      "id": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Resource id."
      -      },
      -      "name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Human-readable name."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": [
      +          "integer",
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / priority / default
      Removed value: -null
    • removedOutput schema / properties / priority / description
      Removed value: -"Priority."
    • changedOutput schema / properties / project / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A reference to another resource. Canonical output shape.",
      -    "properties": {
      -      "id": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Resource id."
      -      },
      -      "name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Human-readable name."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": [
      +          "integer",
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / project / default
      Removed value: -null
    • removedOutput schema / properties / project / description
      Removed value: -"Owning project."
    • changedOutput schema / properties / project_phase / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A reference to another resource. Canonical output shape.",
      -    "properties": {
      -      "id": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Resource id."
      -      },
      -      "name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Human-readable name."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": [
      +          "integer",
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / project_phase / default
      Removed value: -null
    • removedOutput schema / properties / project_phase / description
      Removed value: -"Project phase this work package sits in (16.1+, only when phases are active in the project and visible to this user); details via get_project_phase."
    • changedOutput schema / properties / relations / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "items": {
      -        "description": "Items included (capped).",
      -        "items": {
      -          "description": "One work-package relation.\n\nThe two endpoints that produce relations — the ``relations`` include of\n``get_work_package`` and the relation write tools — return this same shape.\n``from_work_package``/``to_work_package`` are spelled out because the wire's\n``from``/``to`` read as prepositions rather than as the two ends of an edge.",
      -          "properties": {
      -            "description": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Free-text note stored on the relation; null when unset."
      -            },
      -            "from_work_package": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": false,
      -                  "description": "A reference to another resource. Canonical output shape.",
      -                  "properties": {
      -                    "id": {
      -                      "anyOf": [
      -                        {
      -                          "type": "integer"
      -                        },
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Resource id."
      -                    },
      -                    "name": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Human-readable name."
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Work package the relation starts at."
      -            },
      -            "id": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Relation id. Pass it to update_work_package_relation or delete_work_package_relation — it is not a work package id."
      -            },
      -            "lag": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Working days kept between the predecessor and the successor. Only follows/precedes relations carry one; null everywhere else."
      -            },
      -            "reverse_type": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "The same relation read from the 'to' work package: 'follows' <-> 'precedes', 'blocks' <-> 'blocked', 'relates' <-> 'relates'."
      -            },
      -            "to_work_package": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": false,
      -                  "description": "A reference to another resource. Canonical output shape.",
      -                  "properties": {
      -                    "id": {
      -                      "anyOf": [
      -                        {
      -                          "type": "integer"
      -                        },
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Resource id."
      -                    },
      -                    "name": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "default": null,
      -                      "description": "Human-readable name."
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Work package the relation points to."
      -            },
      -            "type": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Relation type as OpenProject stored it, read from the 'from' work package (e.g. 'follows' means 'from' is scheduled after 'to')."
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "more_via": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Tool call that returns the full list."
      -      },
      -      "total": {
      -        "default": 0,
      -        "description": "Total available items.",
      -        "type": "integer"
      -      },
      -      "truncated": {
      -        "default": false,
      -        "description": "True when items were dropped.",
      -        "type": "boolean"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "items": {
      +        "items": {
      +          "properties": {
      +            "description": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "from_work_package": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "id": {
      +                      "type": [
      +                        "integer",
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "name": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "id": {
      +              "type": [
      +                "integer",
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "lag": {
      +              "type": [
      +                "integer",
      +                "null"
      +              ]
      +            },
      +            "reverse_type": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "to_work_package": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "id": {
      +                      "type": [
      +                        "integer",
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "name": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "type": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "more_via": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "total": {
      +        "type": "integer"
      +      },
      +      "truncated": {
      +        "type": "boolean"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / relations / default
      Removed value: -null
    • removedOutput schema / properties / relations / description
      Removed value: -"Present only when 'relations' was requested."
    • removedOutput schema / properties / remaining_hours / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / remaining_hours / default
      Removed value: -null
    • removedOutput schema / properties / remaining_hours / description
      Removed value: -"Remaining work in hours."
    • addedOutput schema / properties / remaining_hours / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / responsible / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A reference to another resource. Canonical output shape.",
      -    "properties": {
      -      "id": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Resource id."
      -      },
      -      "name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Human-readable name."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": [
      +          "integer",
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / responsible / default
      Removed value: -null
    • removedOutput schema / properties / responsible / description
      Removed value: -"Accountable user."
    • removedOutput schema / properties / spent_hours / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / spent_hours / default
      Removed value: -null
    • removedOutput schema / properties / spent_hours / description
      Removed value: -"Logged time in hours."
    • addedOutput schema / properties / spent_hours / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / sprint / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A reference to another resource. Canonical output shape.",
      -    "properties": {
      -      "id": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Resource id."
      -      },
      -      "name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Human-readable name."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": [
      +          "integer",
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / sprint / default
      Removed value: -null
    • removedOutput schema / properties / sprint / description
      Removed value: -"The sprint the work package is planned in; null when unassigned."
    • removedOutput schema / properties / start_date / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / start_date / default
      Removed value: -null
    • removedOutput schema / properties / start_date / description
      Removed value: -"ISO date (YYYY-MM-DD)."
    • addedOutput schema / properties / start_date / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / status / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A reference to another resource. Canonical output shape.",
      -    "properties": {
      -      "id": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Resource id."
      -      },
      -      "name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Human-readable name."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": [
      +          "integer",
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / status / default
      Removed value: -null
    • removedOutput schema / properties / status / description
      Removed value: -"Status."
    • removedOutput schema / properties / story_points / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / story_points / default
      Removed value: -null
    • removedOutput schema / properties / story_points / description
      Removed value: -"Story points."
    • addedOutput schema / properties / story_points / type
      Added value: +[
      +  "integer",
      +  "null"
      +]
    • removedOutput schema / properties / subject / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / subject / default
      Removed value: -null
    • removedOutput schema / properties / subject / description
      Removed value: -"Subject line."
    • addedOutput schema / properties / subject / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / target_versions / description
      Removed value: -"All target versions; legacy instances yield zero or one."
    • removedOutput schema / properties / target_versions / items / description
      Removed value: -"A reference to another resource. Canonical output shape."
    • removedOutput schema / properties / target_versions / items / properties / id / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / target_versions / items / properties / id / default
      Removed value: -null
    • removedOutput schema / properties / target_versions / items / properties / id / description
      Removed value: -"Resource id."
    • addedOutput schema / properties / target_versions / items / properties / id / type
      Added value: +[
      +  "integer",
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / target_versions / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / target_versions / items / properties / name / default
      Removed value: -null
    • removedOutput schema / properties / target_versions / items / properties / name / description
      Removed value: -"Human-readable name."
    • addedOutput schema / properties / target_versions / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / type / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A reference to another resource. Canonical output shape.",
      -    "properties": {
      -      "id": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Resource id."
      -      },
      -      "name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Human-readable name."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": [
      +          "integer",
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / type / default
      Removed value: -null
    • removedOutput schema / properties / type / description
      Removed value: -"Work package type."
    • removedOutput schema / properties / updated_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / updated_at / default
      Removed value: -null
    • removedOutput schema / properties / updated_at / description
      Removed value: -"ISO 8601 UTC timestamp."
    • addedOutput schema / properties / updated_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / version / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A reference to another resource. Canonical output shape.",
      -    "properties": {
      -      "id": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Resource id."
      -      },
      -      "name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Human-readable name."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": [
      +          "integer",
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / version / default
      Removed value: -null
    • removedOutput schema / properties / version / description
      Removed value: -"Legacy alias: the sole target version, or null for zero/multiple."
    • changedOutput schema / properties / watchers / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "items": {
      -        "description": "Items included (capped).",
      -        "items": {
      -          "description": "A user watching the work package.",
      -          "properties": {
      -            "id": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "User id."
      -            },
      -            "name": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Display name."
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "more_via": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Tool call that returns the full list."
      -      },
      -      "total": {
      -        "default": 0,
      -        "description": "Total available items.",
      -        "type": "integer"
      -      },
      -      "truncated": {
      -        "default": false,
      -        "description": "True when items were dropped.",
      -        "type": "boolean"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "items": {
      +        "items": {
      +          "properties": {
      +            "id": {
      +              "type": [
      +                "integer",
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "name": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "more_via": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "total": {
      +        "type": "integer"
      +      },
      +      "truncated": {
      +        "type": "boolean"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / watchers / default
      Removed value: -null
    • removedOutput schema / properties / watchers / description
      Removed value: -"Present only when 'watchers' was requested."
  2. Changed1 schema field changedv0.3.3
    • addedOutput schema / properties / sprint
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "description": "A reference to another resource. Canonical output shape.",
      +      "properties": {
      +        "id": {
      +          "anyOf": [
      +            {
      +              "type": "integer"
      +            },
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "default": null,
      +          "description": "Resource id."
      +        },
      +        "name": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "default": null,
      +          "description": "Human-readable name."
      +        }
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "The sprint the work package is planned in; null when unassigned."
      +}
  3. Changed2 schema fields changedv0.3.1
    • addedOutput schema / properties / remaining_hours
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Remaining work in hours."
      +}
    • addedOutput schema / properties / story_points
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Story points."
      +}
  4. Changed2 schema fields changedv0.3.0
    • addedOutput schema / properties / target_versions
      Added value: +{
      +  "description": "All target versions; legacy instances yield zero or one.",
      +  "items": {
      +    "additionalProperties": false,
      +    "description": "A reference to another resource. Canonical output shape.",
      +    "properties": {
      +      "id": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Resource id."
      +      },
      +      "name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Human-readable name."
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / version / description
      Previous value: -"Version / sprint."New value: +"Legacy alias: the sole target version, or null for zero/multiple."
  5. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, non-destructive), yet the description adds substantial non-obvious behavior: lock_version is required for safe concurrent updates, includes are capped at 20 with more_via reporting, and a 403/404 sub-resource degrades into a notes entry rather than failing the read. These are exactly the traits an agent could not infer from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action, then usage, then return shape, then pitfalls, ending with sibling routing. Despite its length, each sentence carries distinct operational information; nothing is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read tool with a rich output schema and full annotation coverage, nothing an agent needs to invoke it correctly is missing — parameter limits, failure degradation, follow-up tools, and the update handoff are all present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond it — the per-include 20-item cap, the truncation signal, and the cost model ('every include is one more upstream request'). The id semantics (semantic 'PROJ-42' form) are already in the schema, so no extra credit there.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource plus scope: 'Read one work package in full: description, dates, custom fields, parent and progress.' It explicitly separates itself from list/search siblings and notes it is the only way to read description text, which is not obvious from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States the entry condition precisely ('once a search or list has given you an id') and routes three adjacent needs to their dedicated tools: list_work_package_comments for threads, download_attachment for bytes, get_work_package_git_activity for PRs/commits. Also names the recovery path (list_work_packages(parent_id=…)) when children truncate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.