Forgejo has no Projects REST API. The proxy provides a complete Projects API by scraping the Forgejo web UI using an admin session.
Method Endpoint Description GET/api/v1/orgs/{org}/projectsList all projects in an organisation POST/api/v1/orgs/{org}/projectsCreate a new project in an organisation
Method Endpoint Description GET/api/v1/repos/{owner}/{repo}/projectsList all projects in a repository POST/api/v1/repos/{owner}/{repo}/projectsCreate a new project in a repository
Method Endpoint Description GET/api/v1/projects/{project_id}Get a project by ID DELETE/api/v1/projects/{project_id}Delete a project POST/api/v1/projects/{project_id}/closeClose (archive) a project POST/api/v1/projects/{project_id}/openReopen a closed project
Method Endpoint Description GET/api/v1/projects/{project_id}/columnsList all columns in a project POST/api/v1/projects/{project_id}/columnsCreate a new column PATCH/api/v1/projects/{project_id}/columns/{column_id}Update a column (rename, reorder) DELETE/api/v1/projects/{project_id}/columns/{column_id}Delete a column
Method Endpoint Description GET/api/v1/projects/{project_id}/columns/{column_id}/cardsList all cards in a column POST/api/v1/projects/{project_id}/columns/{column_id}/cardsAdd an issue/PR card to a column DELETE/api/v1/projects/{project_id}/columns/{column_id}/cards/{issue_id}Remove a card from a column
# List all projects in an org
curl -H ' Authorization: token YOUR_TOKEN ' \
' https://forgejo-proxy.hochguertel.work/api/v1/orgs/myorg/projects '
# Create a new repo project
curl -X POST -H ' Authorization: token YOUR_TOKEN ' \
-H ' Content-Type: application/json ' \
-d ' {"title": "Sprint 1", "description": "First sprint tasks"} ' \
' https://forgejo-proxy.hochguertel.work/api/v1/repos/myorg/myrepo/projects '
# List columns in project 5
curl -H ' Authorization: token YOUR_TOKEN ' \
' https://forgejo-proxy.hochguertel.work/api/v1/projects/5/columns '
# Add issue #12 to column 3 in project 5
curl -X POST -H ' Authorization: token YOUR_TOKEN ' \
-H ' Content-Type: application/json ' \
' https://forgejo-proxy.hochguertel.work/api/v1/projects/5/columns/3/cards '
curl -X POST -H ' Authorization: token YOUR_TOKEN ' \
' https://forgejo-proxy.hochguertel.work/api/v1/projects/5/close '
The proxy uses an admin session to interact with the Forgejo web UI. All mutations (create, update, delete) submit the equivalent web forms, and all reads scrape the rendered HTML or internal API endpoints exposed by the Forgejo web UI.
See Backend Modes for configuration options that affect how Projects data is retrieved.