> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tasks and versions

> Use stable task aliases and isolated routing versions to evolve behavior safely.

A **task** is the stable behavior your application asks for. It owns a W\&B project, datasets, fine-tunes, evaluations, analytics, Automation, and one or more routing versions.

## Task alias

The alias is the model string used by your application, such as `ticket-classifier`. It is unique within a W\&B entity and remains stable as models change.

The bare alias always means version 1:

```json theme={"system"}
{"model": "ticket-classifier"}
```

Pin a later version explicitly:

```json theme={"system"}
{"model": "ticket-classifier@v2"}
```

## When to create a version

Create a new version when you need to experiment with a different model mix or provider parameters without touching the application's current traffic. Each version has an independent routing configuration.

<Note>
  Creating a version does not move traffic. A caller reaches it only after changing `model` to `alias@vN`.
</Note>

## What versions do not copy

A version is not a copy of the task. Datasets, fine-tunes, evaluations, and Automation remain task-level resources. Dataset queries and Automation can select which task version's traffic to use, and rollout can select which version receives a winner.

## Recommended progression

1. Keep production on the bare alias and version 1.
2. Create a new version with the proposed routing.
3. Send internal or canary traffic to `alias@vN`.
4. Inspect analytics and evaluations.
5. Change the application's configured model only when the new version is ready.

<Accordion title="API: Create a task version (POST /tasks/{alias}/versions)">
  This creates the next version with its own routing. The response contains the assigned version number.

  ```bash theme={"system"}
  curl --request POST \
    --url "https://distillation.training.wandb.ai/v1/tasks/ticket-classifier/versions" \
    --header "Authorization: Bearer $WANDB_API_KEY" \
    --header "Wandb-Entity: your-team" \
    --header "Content-Type: application/json" \
    --data '{
      "targets": [
        {"model_ref": "wandb-inference/your-fine-tuned-model", "weight": 1}
      ]
    }'
  ```

  See [Create a task version](/model-distillation/reference/management) for the complete operation.
</Accordion>
