# Delete a challenge group

`delete_project_group`

- Destructive
- Needs confirmation

Deletes one of this teacher’s challenge groups while its challenge is open, as long as it is not paid for, has no uploaded file and has no payment in progress (get_project_group says so in delete_blocked_reason). Its students become free to join another group and its places count again for the teacher and the country. Only an organiser can restore it. The person themselves has to confirm it, so a client that cannot ask them gets a panel link and nothing is done.

- **For**: Teachers
- **Needs**: Read and write access (`mcp:write`)
- **What it changes**: **Destructive.** It cannot be undone, so your own app has to ask you first. An app that cannot ask you is refused, and the tool answers with a link to do it in your panel instead.
- **Repeating it**: Not safe: the same call twice can change data twice.

## Inputs

- `brand`string

  Which olympiad this is about. Required unless the connection covers exactly one, in which case that one is used.

  one of`coding``gmath``hilingua``neo``stem`
- `group_id`stringrequired

  The group_id from list_my_project_groups.

  pattern`^[a-f0-9]{24}$`min length`24`max length`24`
- `confirmation`string

  The `confirmation` value from this tool’s own `confirmation_required` answer. Send it back with exactly the same other arguments to go ahead; never invent one.

  pattern`^cfm_[A-Za-z0-9._-]{1,4000}$`min length`5`max length`4096`

The server refuses a call that carries any field not listed here, and says which one.

## Answers instead of a result

What the tool says when it cannot do what was asked, and what to do about it.

- **`not_connected`**
- **`insufficient_scope`**
- **`rate_limited`**
- **`writes_disabled`**
- **`temporarily_unavailable`**
- **`upstream_error`**
- **`brand_not_allowed`**
- **`role_required`**
- **`tenant_account_missing`**
- **`not_found`**
- **`confirmation_expired`**
- **`window_closed`**
- **`group_locked`**
