Admin endpoints allow Gitea instance administrators to manage users, organisations,
and server tasks without logging into the web UI. Required for automated provisioning,
user onboarding pipelines, and scheduled maintenance.
Endpoints to implement
Method
Path
Tool name
Description
GET
/admin/users
admin_list_users
List all users on the instance
POST
/admin/users
admin_create_user
Create a user
PATCH
/admin/users/{username}
admin_edit_user
Edit user account
DELETE
/admin/users/{username}
admin_delete_user
Delete a user
POST
/admin/users/{username}/repos
admin_create_user_repo
Create repo for user
POST
/admin/users/{username}/rename
admin_rename_user
Rename a user
POST
/admin/users/{username}/orgs
admin_create_org
Create org for user
GET
/admin/orgs
admin_list_orgs
List all organizations
GET
/admin/hooks
admin_list_hooks
List global webhooks
POST
/admin/hooks
admin_create_hook
Create global webhook
PATCH
/admin/hooks/{id}
admin_edit_hook
Edit global webhook
DELETE
/admin/hooks/{id}
admin_delete_hook
Delete global webhook
GET
/admin/cron
admin_list_cron
List cron tasks
POST
/admin/cron/{task}
admin_run_cron
Trigger a cron task
GET
/admin/emails
admin_list_emails
List all user emails
GET
/admin/emails/search
admin_search_emails
Search emails
Acceptance Criteria
All admin_* tools document in their docstring that they require admin privileges
PATCH /admin/users/{username} body: subset of user fields — all optional
Admin endpoints return 403 if the authenticated user is not a site admin
Global hooks (/admin/hooks) fire for all repositories on the instance
## Context
Admin endpoints allow Gitea instance administrators to manage users, organisations,
and server tasks without logging into the web UI. Required for automated provisioning,
user onboarding pipelines, and scheduled maintenance.
## Endpoints to implement
| Method | Path | Tool name | Description |
|--------|------|-----------|-------------|
| GET | `/admin/users` | `admin_list_users` | List all users on the instance |
| POST | `/admin/users` | `admin_create_user` | Create a user |
| PATCH | `/admin/users/{username}` | `admin_edit_user` | Edit user account |
| DELETE | `/admin/users/{username}` | `admin_delete_user` | Delete a user |
| POST | `/admin/users/{username}/repos` | `admin_create_user_repo` | Create repo for user |
| POST | `/admin/users/{username}/rename` | `admin_rename_user` | Rename a user |
| POST | `/admin/users/{username}/orgs` | `admin_create_org` | Create org for user |
| GET | `/admin/orgs` | `admin_list_orgs` | List all organizations |
| GET | `/admin/hooks` | `admin_list_hooks` | List global webhooks |
| POST | `/admin/hooks` | `admin_create_hook` | Create global webhook |
| PATCH | `/admin/hooks/{id}` | `admin_edit_hook` | Edit global webhook |
| DELETE | `/admin/hooks/{id}` | `admin_delete_hook` | Delete global webhook |
| GET | `/admin/cron` | `admin_list_cron` | List cron tasks |
| POST | `/admin/cron/{task}` | `admin_run_cron` | Trigger a cron task |
| GET | `/admin/emails` | `admin_list_emails` | List all user emails |
| GET | `/admin/emails/search` | `admin_search_emails` | Search emails |
## Acceptance Criteria
- [ ] All `admin_*` tools document in their docstring that they require admin privileges
- [ ] `admin_create_user` accepts: `username`, `email`, `password`, `must_change_password`, `send_notify`
- [ ] `admin_delete_user` returns `{"success": true}` on 204; docstring warns about irreversibility
- [ ] `admin_list_users` supports `limit` and `page` pagination
- [ ] `admin_run_cron(task)` returns `{"success": true}` on 204
## Technical Notes
- `POST /admin/users` body: `{"username": "alice", "email": "alice@example.com", "password": "...", "must_change_password": true}`
- `PATCH /admin/users/{username}` body: subset of user fields — all optional
- Admin endpoints return 403 if the authenticated user is not a site admin
- Global hooks (`/admin/hooks`) fire for all repositories on the instance
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Context
Admin endpoints allow Gitea instance administrators to manage users, organisations,
and server tasks without logging into the web UI. Required for automated provisioning,
user onboarding pipelines, and scheduled maintenance.
Endpoints to implement
/admin/usersadmin_list_users/admin/usersadmin_create_user/admin/users/{username}admin_edit_user/admin/users/{username}admin_delete_user/admin/users/{username}/reposadmin_create_user_repo/admin/users/{username}/renameadmin_rename_user/admin/users/{username}/orgsadmin_create_org/admin/orgsadmin_list_orgs/admin/hooksadmin_list_hooks/admin/hooksadmin_create_hook/admin/hooks/{id}admin_edit_hook/admin/hooks/{id}admin_delete_hook/admin/cronadmin_list_cron/admin/cron/{task}admin_run_cron/admin/emailsadmin_list_emails/admin/emails/searchadmin_search_emailsAcceptance Criteria
admin_*tools document in their docstring that they require admin privilegesadmin_create_useraccepts:username,email,password,must_change_password,send_notifyadmin_delete_userreturns{"success": true}on 204; docstring warns about irreversibilityadmin_list_userssupportslimitandpagepaginationadmin_run_cron(task)returns{"success": true}on 204Technical Notes
POST /admin/usersbody:{"username": "alice", "email": "alice@example.com", "password": "...", "must_change_password": true}PATCH /admin/users/{username}body: subset of user fields — all optional/admin/hooks) fire for all repositories on the instance