> This page is for version v8.3.0 (default).
> For other versions, use one of these documentation indexes:
> - v8.3.0 (default): https://docs.workflows.com/v-8-3-0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.workflows.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.workflows.com/_mcp/server.

# Snapshots Resource

> Upload training data and manage mind snapshots.

# Snapshots

A **Snapshot** is a trained AI model state derived from a file (PDF, Transcript, Word Doc).

## Create Snapshot (Recommended)

This method requests a signed URL, uploads the file content to storage, and registers the snapshot.

```typescript
import fs from "node:fs";

const buffer = fs.readFileSync("./transcript.vtt");

const response = await mindsim.snapshots.create("mind-id-uuid", {
  file: buffer,
  fileName: "meeting_transcript.vtt",
  mindsetDate: "2023-11-01" 
});
```

### Parameters

| Parameter            | Type     | Required | Description                                                                        |
| :------------------- | :------- | :------- | :--------------------------------------------------------------------------------- |
| `mindId`             | `string` | Yes      | The ID of the mind to attach the snapshot to.                                      |
| `params.file`        | `Buffer` | Yes      | The file content (Node.js Buffer or Blob).                                         |
| `params.fileName`    | `string` | Yes      | The full name of the file (e.g., `chat.pdf`).                                      |
| `params.contentType` | `string` | No       | MIME type. If omitted, inferred from `fileName`.                                   |
| `params.mindsetDate` | `string` | No       | ISO Date string (YYYY-MM-DD) representing when the conversation/document occurred. |

### Response

```json
{
  "message": "Snapshot created successfully.",
  "mindAssessmentId": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
  "artifactId": "f47ac10b-58cc-4372-a567-0e02b2c3d479"
}
```

---

## Check Status

Snapshot processing is asynchronous. Use this method to check progress.

```typescript
const status = await mindsim.snapshots.getStatus("mind-id-uuid", "snapshot-id");
```

### Parameters

| Parameter    | Type     | Required | Description                                      |
| :----------- | :------- | :------- | :----------------------------------------------- |
| `mindId`     | `string` | Yes      | The ID of the mind.                              |
| `snapshotId` | `string` | Yes      | The `mindAssessmentId` returned during creation. |

### Response

```json
{
  "id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
  "mindId": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
  "status": "completed", // "processing", "completed", or "failed"
  "startedAt": "2023-11-15T14:30:00Z",
  "completedAt": "2023-11-15T14:30:45Z"
}
```

---

## List Snapshots

View the history of training data uploaded to a specific mind.

```typescript
const history = await mindsim.snapshots.list("mind-id-uuid");
```

### Parameters

| Parameter | Type     | Required | Description         |
| :-------- | :------- | :------- | :------------------ |
| `mindId`  | `string` | Yes      | The ID of the mind. |

### Response

```json
{
  "count": 2,
  "snapshots": [
    {
      "id": "a0eebc99...",
      "mindId": "9b1deb4d...",
      "status": "completed",
      "createdAt": "2023-11-15T14:30:00Z",
      // ... additional stats
    }
  ]
}
```