Custom issue status API endpoint returns 404 #691

Closed
opened 2026-06-23 17:26:17 +00:00 by jmiller · 1 comment
Owner

Summary

The custom issue status API endpoint does not exist. Setting status via a dedicated endpoint returns 404.

Expected

A PUT or PATCH endpoint to set custom issue status by issue ID:

PUT /api/v1/repos/{owner}/{repo}/issues/status
Body: {"issue_ids": [5206], "status_id": 8}

Or per-issue:

PUT /api/v1/repos/{owner}/{repo}/issues/{number}/status
Body: {"status_id": 8}

Workaround

Setting status_id via the standard PATCH /api/v1/repos/{owner}/{repo}/issues/{number} endpoint works:

{"status_id": 8}

This is not documented but works. The dedicated gitea_issue_set_status MCP tool expects a separate endpoint that doesn't exist.

Impact

  • MCP tool gitea_issue_set_status is broken (returns 404)
  • Workaround exists via standard issue PATCH
  • Not blocking but the MCP tool should be fixed to use the correct endpoint

Severity

Breaking -- the MCP tool advertises this capability but it doesn't work.

## Summary The custom issue status API endpoint does not exist. Setting status via a dedicated endpoint returns 404. ## Expected A `PUT` or `PATCH` endpoint to set custom issue status by issue ID: ``` PUT /api/v1/repos/{owner}/{repo}/issues/status Body: {"issue_ids": [5206], "status_id": 8} ``` Or per-issue: ``` PUT /api/v1/repos/{owner}/{repo}/issues/{number}/status Body: {"status_id": 8} ``` ## Workaround Setting `status_id` via the standard `PATCH /api/v1/repos/{owner}/{repo}/issues/{number}` endpoint works: ```json {"status_id": 8} ``` This is not documented but works. The dedicated `gitea_issue_set_status` MCP tool expects a separate endpoint that doesn't exist. ## Impact - MCP tool `gitea_issue_set_status` is broken (returns 404) - Workaround exists via standard issue PATCH - Not blocking but the MCP tool should be fixed to use the correct endpoint ## Severity **Breaking** -- the MCP tool advertises this capability but it doesn't work.
Author
Owner

Resolution: Not a bug

The PATCH /api/v1/repos/{owner}/{repo}/issues/{number} endpoint correctly accepts status_id in the body. Verified:

PATCH /repos/MokoConsulting/MokoGitea-Fork/issues/666
Body: {"status_id": 8}
→ 200 OK, status_name: "Pending: Testing"

The 404 was caused by the MCP tool being called with the wrong parameter — the deferred tool schema showed issue_id (internal DB ID) instead of number (issue number), so the URL resolved to /issues/undefined.

No server-side fix needed. See mcp-mokogitea-api#28 for the client-side fix.

## Resolution: Not a bug The `PATCH /api/v1/repos/{owner}/{repo}/issues/{number}` endpoint correctly accepts `status_id` in the body. Verified: ``` PATCH /repos/MokoConsulting/MokoGitea-Fork/issues/666 Body: {"status_id": 8} → 200 OK, status_name: "Pending: Testing" ``` The 404 was caused by the MCP tool being called with the wrong parameter — the deferred tool schema showed `issue_id` (internal DB ID) instead of `number` (issue number), so the URL resolved to `/issues/undefined`. No server-side fix needed. See mcp-mokogitea-api#28 for the client-side fix.
Sign in to join this conversation.