Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# Challenge Host Management

A clear and beginner-friendly guide explaining how to add, remove, and manage Challenge Hosts on EvalAI using both the Web UI and the REST API.

This document is intended for contributors, challenge creators, and challenge organizers.

---

## 1. Overview

**Challenge Hosts** are users with elevated permissions for a specific challenge.

They can:

- Create, edit, and delete challenges
- Upload challenge configuration files
- Manage submissions and leaderboard
- Add or remove participant teams
- Add or remove other hosts

A challenge may have multiple hosts with full access unless restricted by an Admin.

---

## 2. Adding a Challenge Host (Web UI)

- Sign in to your EvalAI instance
- Navigate to **My Challenges**
- Select the challenge you want to manage
- Open the left sidebar and click **Challenge Hosts**
- Click **Add Host**
- Enter the user's email and press **Enter**
- Click **Add**

If the user already exists, they are added immediately.
If not, an invitation email is sent to them.

---

## 3. Removing a Challenge Host (Web UI)

- Log in and go to **My Challenges**
- Select the challenge
- Open **Challenge Hosts** in the sidebar
- Locate the host you want to remove
- Click **Remove**
- Confirm the action

The host will be removed instantly.

---

## 4. API Usage (Programmatic Host Management)

Requirements:

- Your API Token (Profile → API Tokens)
- Base URL (example: `https://eval.ai`)
- `curl` installed
- Replace `<challenge_id>`, `<host_id>`, and `<your_token>` with real values

### 5. Add a Challenge Host (API)

```bash
curl -X POST "https://eval.ai/api/challenges/<challenge_id>/hosts/add/" \
-H "Authorization: Token <your_token>" \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]"
}'
```

Expected response:

200 OK

### 6. Remove a Challenge Host (API)

```bash
curl -X DELETE "https://eval.ai/api/challenges/<challenge_id>/hosts/remove/<host_id>/" \
-H "Authorization: Token <your_token>"
```

Expected response:

204 No Content

## 7. Roles and Permissions
### Challenge Host

Full access to challenge configuration

Can add or remove other hosts

Can manage submissions and participant teams

### Admin

Full system-wide privileges

Can override actions taken by hosts

### Participant

Cannot add or remove hosts

Limited to participating in challenges

## 8. Troubleshooting
### 8.1 “Host already exists”

The user is already a host for that challenge.
### 8.2 “User does not exist”

In self-hosted setups, SMTP/email configuration may be incorrect.
### 8.3 API: 401 Unauthorized

Your authentication token is missing or invalid.
### 8.4 API: 403 Forbidden

You do not have permission to perform this action.
### 8.5 API: 404 Not Found

Challenge ID or host ID is incorrect.
## 9. Recommended Tests (For Contributors)

Add a sample host email to a test challenge

Verify it appears in the host list

Remove the host and confirm it disappears

## 10. Related Documentation

Hosting Guide

API Reference (Challenge Endpoints)

Participant Team Management


2 changes: 1 addition & 1 deletion docs/source/02-for-challenge-hosts/hosting-guide/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ getting-started
challenge-types
host-challenge
approval-process

challenge-host-management
Original file line number Diff line number Diff line change
@@ -1 +1,185 @@
# Team Management
# Team Management (Participants)

This guide explains, in a complete and beginner-friendly way, how to **create participant teams**, **add members**, and **remove members** on EvalAI using both the **Web UI** and the **REST API**.

It is written step-by-step, with clear instructions for new users as well as contributors.

---

## 1. Overview

Participant teams on EvalAI allow multiple users to collaborate and submit entries to a challenge.
Using this guide, you will learn:

- How to create a participant team
- How to add members using the UI and API
- How to remove members
- How permissions work
- Common troubleshooting tips

This documentation applies to most EvalAI instances (public or self-hosted).

---

## 2. Creating a Participant Team (Web UI)

Follow these exact steps:

1. Open your EvalAI instance (example: `https://eval.ai`).
2. Click **Sign In** and log in with your account.
3. Go to **Challenges** from the top navigation bar.
4. Select the challenge you want to participate in.
5. On the challenge sidebar, click **Participant Teams**.
- If you are on a small screen, expand the left sidebar using the menu icon (☰).
6. Click the **Create Team** (or **Add Team**) button.
7. A dialog box appears:
- In **Team Name**, type your preferred team name (example: `my-team-123`).
- In **Add Member**, type the email of a team member → press **Enter** to add.
- Repeat for additional emails.
8. Click **Create**.

Your participant team is now created.
Users with existing EvalAI accounts are added immediately; others receive an invitation email.

---

## 3. Adding Members to an Existing Team (Web UI)

1. Go to **Challenges** → open the challenge.
2. Click **Participant Teams** in the sidebar.
3. Click on the **team name** you want to edit.
4. Click **Add Member**.
5. Enter the member’s email → press **Enter** → click **Add**.
6. The user should now appear in the team member list.

---

## 4. Removing Members from a Team (Web UI)

1. Go to **Challenges** → open the challenge → **Participant Teams**.
2. Click your **team name**.
3. In the members list, find the person to remove.
4. Click **Remove** (or open the ⋯ menu → **Remove**).
5. Confirm removal in the popup.

The member will disappear from the list immediately.

---

## 5. API Usage (Programmatic Team Management)

EvalAI provides REST API endpoints you can use to automate team management.
You need:

- Your **API token** from Profile → API Tokens
- Your instance base URL (example: `https://eval.ai`)
- `curl` installed locally

> Replace `<your_token>`, `<team_id>`, `<member_id>` with real values.

### 5.1 Create a Team
```bash
curl -X POST "https://eval.ai/api/participants/team/" \
-H "Authorization: Token <your_token>" \
-H "Content-Type: application/json" \
-d '{
"team_name": "my-team",
"members": "["[email protected]", "[email protected]"]"
}'
```

Response contains fields like id (team ID), which you will use later.
### 5.2 Add a Member to a Team

```bash
curl -X POST "https://eval.ai/api/participants/team/<team_id>/members/" \
-H "Authorization: Token <your_token>" \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]"}'

```

### 5.3 Remove a Member

curl -X DELETE "https://eval.ai/api/participants/team/<team_id>/members/<member_id>/" \
-H "Authorization: Token <your_token>"

A successful removal returns 204 No Content or 200 OK.
## 6. Permissions and Roles

Team Owner / Creator — can add/remove members and edit team information.

Team Member — cannot remove others or change team settings.

Challenge Host — may have permissions to manage participant teams depending on challenge configuration.

Admin — full control over all teams.

If you do not see the Add/Remove buttons, you likely lack permissions.
## 7. How to Get Your API Token

Log in to EvalAI.

Click your profile picture/name (top-right).

Select Profile or Settings.

Scroll to API Tokens.

Copy your token and keep it safe.

Use it like this in API calls:

-H "Authorization: Token <your_token>"

## 8. Troubleshooting
### 8.1 “Participant Teams” option missing

You may be on the wrong page.

Sidebar may be collapsed.

Challenge may not permit team submissions.

### 8.2 Invite email not received

Check spam folder.

Ensure the email typed is correct.

For self-hosted instances, SMTP may be misconfigured.

### 8.3 API: 401 Unauthorized

Token is missing or invalid.

### 8.4 API: 403 Forbidden

You do not have sufficient permissions.

### 8.5 API: 404 Not Found

The team ID or member ID is incorrect.

The API path may differ on some deployments.

## 9. Recommended Tests (For New Users)

Create a test team named test-team-<yourname>.

Add a test email you own.

Remove it to confirm removal works.

Test API endpoints using a dummy team.

## 10. Related Documentation

Participation Guide

API Reference → Users & Teams endpoints

Challenge Hosting Guide


---