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

# Resources

> Manage course configurations with push, pull, and unlink

## Overview

The `timeback resources` command manages course configurations between your local `timeback.config.json` and Timeback's remote services.

## Commands

| Command  | Description                                                |
| -------- | ---------------------------------------------------------- |
| `push`   | Push local config to Timeback (local → remote)             |
| `pull`   | Pull remote changes into local config (remote → local)     |
| `unlink` | Unlink courses from Timeback (deletes remote, keeps local) |

## push

Push resources defined in your local `timeback.config.json` to Timeback.

```bash theme={null}
# Push to staging
timeback resources push

# Push to production
timeback resources push --env production

# Preview changes without applying
timeback resources push --dry-run
```

| Flag          | Description                                    |
| ------------- | ---------------------------------------------- |
| `--env <env>` | Target environment (`staging` or `production`) |
| `--dry-run`   | Preview changes without applying               |
| `--yes`       | Skip confirmation prompt                       |

## pull

Pull remote course changes into your local `timeback.config.json`.

```bash theme={null}
# Pull from staging
timeback resources pull

# Pull from production
timeback resources pull --env production

# Pull and apply changes without prompting
timeback resources pull --apply

# Pull and import new resources
timeback resources pull --import
```

| Flag          | Description                                    |
| ------------- | ---------------------------------------------- |
| `--env <env>` | Source environment (`staging` or `production`) |
| `--apply`     | Apply changes without prompting                |
| `--import`    | Run import flow for new courses after pull     |

## unlink

Unlink courses from Timeback, deleting the remote but keeping local definitions.

```bash theme={null}
# Unlink from staging (interactive)
timeback resources unlink

# Unlink from production
timeback resources unlink --env production

# Unlink all courses
timeback resources unlink --all

# Preview without applying
timeback resources unlink --dry-run
```

| Flag          | Description                                   |
| ------------- | --------------------------------------------- |
| `--env <env>` | Target environment (required with `--yes`)    |
| `--all`       | Unlink all courses (no interactive selection) |
| `--dry-run`   | Preview without applying                      |
| `--yes`       | Skip confirmation (requires explicit `--env`) |

<Warning>
  Unlinking deletes courses from Timeback. This cannot be undone. Use `--dry-run` first to preview
  changes.
</Warning>

## Next Steps

<CardGroup cols={2}>
  <Card title="CLI: API" icon="plug" href="/beta/build-on-timeback/cli/api">
    Query APIs directly
  </Card>

  <Card title="Configuration" icon="gear" href="/beta/build-on-timeback/reference/configuration">
    Full config reference
  </Card>
</CardGroup>
