# Reference profile commands

> Compare, preview, save, and export Studio reference plans.

HTML version: https://www.purveyors.io/docs/cli/reference-profile

Work with Studio reference profiles: compare roasts against a reference, preview and save plan changes, and export an Artisan file for your next batch.

Access: Member. Requires member access on your account.

## purvey reference-profile list

List your Studio reference profiles.

Usage: `purvey reference-profile list [options]`

Access: Member. Requires member access on your account.

- Requires a member credential and Studio access; entitlement is enforced by Parchment.

| Flags |
| --- |
| `--include-archived` |

Examples:

```bash
purvey reference-profile list --pretty
```

## purvey reference-profile get

Get one reference profile and its current revision.

Usage: `purvey reference-profile get <profile-id>`

Access: Member. Requires member access on your account.

- Use data.currentRevision.id for chart, preview, and save.

| Argument or flag | Details |
| --- | --- |
| `<profile-id>` | Required: owner-scoped reference profile UUID. |

Examples:

```bash
purvey reference-profile get 5ea1af6f-234c-43a9-9bf8-5678dd24f854 --pretty
```

## purvey reference-profile chart

Get the typed Artisan chart for a reference revision.

Usage: `purvey reference-profile chart <profile-id> <revision-id>`

Access: Member. Requires member access on your account.

| Argument or flag | Details |
| --- | --- |
| `<profile-id>` | Required: owner-scoped reference profile UUID. |
| `<revision-id>` | Required: immutable revision UUID belonging to the profile. |

Examples:

```bash
purvey reference-profile chart 5ea1af6f-234c-43a9-9bf8-5678dd24f854 8d2c41e0-7b9a-4f3e-a6d1-2c9e5f07b3a4 --pretty
```

## purvey reference-profile import

Upload an Artisan file as a private Studio reference profile.

Usage: `purvey reference-profile import <file> [options]`

Access: Member. Requires member access on your account.

- A new idempotency key is generated when omitted; reuse an explicit key to replay the same upload.
- Import creates a reference profile, not executed roast history.

| Argument or flag | Details |
| --- | --- |
| `<file>` | Required: Path to an Artisan .alog or importer-supported JSON file. |
| `--title <text>` |  |
| `--notes <text>` |  |
| `--idempotency-key <key>` | Stable key for safe retries. |

Examples:

```bash
purvey reference-profile import ~/artisan/ethiopia.alog --title "Ethiopia baseline"
```

## purvey reference-profile compare

Compare two immutable roast or reference revisions with measured deltas.

Usage: `purvey reference-profile compare <left> <right> [options]`

Access: Member. Requires member access on your account.

- profile:\<uuid> resolves the profile currentRevisionId; roast:\<roast-id> resolves data.metadata.revision from roast chart data.
- Parchment aligns both sides at charge; a reference profile is never executed roast history.

| Argument or flag | Details |
| --- | --- |
| `<left>` | Required: selector: revision:\<uuid>, profile:\<uuid>, roast:\<roast-id>, or roast:\<roast-id>@\<chart-revision>. |
| `<right>` | Required: selector: revision:\<uuid>, profile:\<uuid>, roast:\<roast-id>, or roast:\<roast-id>@\<chart-revision>. |
| `--unit <F\|C>` | Default: F. |
| `--target-points <n>` | Samples per aligned series, 50-1000. Default: 400. Range: 50 to 1000. |

Examples:

```bash
purvey reference-profile compare roast:123 profile:5ea1af6f-234c-43a9-9bf8-5678dd24f854 --pretty
purvey reference-profile compare roast:123 roast:124 --unit C --json
```

## purvey reference-profile preview

Preview bounded temperature adjustments without saving.

Usage: `purvey reference-profile preview <profile-id> <revision-id> [options]`

Access: Member. Requires member access on your account.

- Request JSON contains title, optional notes, optional userGoal (600 chars), modelRecommendation (800), and userEdits (800) provenance, and changes.temperatureAdjustments; each adjustment has kind, startMilliseconds, endMilliseconds, and delta.
- At most 12 adjustments are accepted; intervals must be ordered and each nonzero delta is bounded to -20 through 20.
- Parchment recalculates from the immutable parent; preview never persists or changes the source.

| Argument or flag | Details |
| --- | --- |
| `<profile-id>` | Required: owner-scoped reference profile UUID. |
| `<revision-id>` | Required: immutable parent revision UUID. |
| `--request <file>` | Required unless you use --form. |

Examples:

```bash
purvey reference-profile preview 5ea1af6f-234c-43a9-9bf8-5678dd24f854 8d2c41e0-7b9a-4f3e-a6d1-2c9e5f07b3a4 --request changes.json --pretty
```

## purvey reference-profile save

Save changes as a new immutable generated reference plan.

Usage: `purvey reference-profile save <profile-id> <revision-id> [options]`

Access: Member. Requires member access on your account.

- A new idempotency key is generated when omitted; reuse an explicit key to replay the same save.
- Generated references are plans and never create executed roast history.

| Argument or flag | Details |
| --- | --- |
| `<profile-id>` | Required: owner-scoped reference profile UUID. |
| `<revision-id>` | Required: immutable parent revision UUID. |
| `--request <file>` | Required unless you use --form. |
| `--idempotency-key <key>` | Stable key for safe retries. |

Examples:

```bash
purvey reference-profile save 5ea1af6f-234c-43a9-9bf8-5678dd24f854 8d2c41e0-7b9a-4f3e-a6d1-2c9e5f07b3a4 --request changes.json --pretty
```

## purvey reference-profile export

Download a saved generated reference as an unsigned Artisan .alog plan.

Usage: `purvey reference-profile export <profile-id> <revision-id> [options]`

Access: Member. Requires member access on your account.

- Only a saved generated revision can be exported; output is a local file plus a JSON receipt.
- The CLI does not claim verified Artisan 4.2 playback compatibility.

| Argument or flag | Details |
| --- | --- |
| `<profile-id>` | Required: saved generated reference profile UUID. |
| `<revision-id>` | Required: saved generated revision UUID. |
| `--output <file>` | Required unless you use --form. |
| `--force` | Overwrite the destination file if it exists. |

Examples:

```bash
purvey reference-profile export 0b7e9f52-3c61-4d8a-9e24-6f1a8c3d5b90 c43a1d7e-95b2-4e06-8f7c-1d2b3a4e5f68 --output ~/artisan/next-batch.alog
```

## Related

- [Roast commands](https://www.purveyors.io/docs/cli/roast): Import the roasts you compare against references.
- [CLI overview](https://www.purveyors.io/docs/cli/overview): Install, sign in, and see every command group.
