---
title: "Add multiple memories"
method: POST
path: "/memories/add/bulk"
tags: ["Memories"]
---

# Add multiple memories

`POST /memories/add/bulk`

Adds multiple documents to the index in a single request.

All items are validated before any database operations occur. If any item
fails validation, the entire batch is rejected with a 422 error detailing
which items failed and why.

Maximum 100 items per request. Each item follows the same schema as the
single-item /memories/add endpoint.

## Request body

- BulkIngestRequest — Request schema for bulk memory ingestion.
  - `items` IngestRequest[], required — List of memories to ingest. Maximum 100 items.
    - `resource_id` string — The resource ID to add the document to. If not provided, a new resource ID will be generated. If provided, the document will be updated if it already exists.
    - `text` string, required — Full text of the document.
    - `collection` string, nullable — The collection to add the document to — deprecated, set the collection using metadata instead.
    - `title` string, nullable — Title of the document.
    - `date` string, date-time — Date of the document. Depending on the document, this could be the creation date or date the document was last updated (eg. for a chat transcript, this would be the date of the last message). This helps the ranking algorithm and allows you to filter by date range.
    - `metadata` object, nullable — Custom metadata for filtering. Keys must be alphanumeric with underscores, max 64 chars. Values must be string, number, boolean, or null.

## Response `200`

Successful Response

- BulkIngestResponse — Response schema for successful bulk ingestion.
  - `success` boolean
  - `count` integer, required — Number of items successfully processed
  - `items` DocumentStatusResponse[], required — Status of each ingested item
    - `source` 'reddit' | 'notion' | 'slack' | 'google_calendar' | 'google_mail' | 'box' | 'dropbox' | 'github' | 'google_drive' | 'vault' | 'web_crawler' | 'trace' | 'microsoft_teams' | 'gmail_actions' | 'granola' | 'fathom' | 'fireflies' | 'linear' | 'hubspot' | 'salesforce' | 'coda' | 'lightfield' | 'gong', required
    - `resource_id` string, required
    - `status` 'pending' | 'processing' | 'completed' | 'failed' | 'pending_review' | 'skipped', required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/hyperspell/apis/hyperspell-api.md) · [All operations](https://skmtc.net/hyperspell/apis/hyperspell-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hyperspell/hyperspell-api/revisions/5721acd588e6/schema)
