Skip to main content
POST
/
memories
/
upload
JavaScript
import Hyperspell from 'hyperspell';

const client = new Hyperspell({
  apiKey: process.env['HYPERSPELL_API_KEY'], // This is the default and can be omitted
});

const memoryStatus = await client.memories.upload({ file: fs.createReadStream('path/to/file') });

console.log(memoryStatus.resource_id);
{
  "source": "collections",
  "resource_id": "<string>",
  "status": "pending"
}

Authorizations

Authorization
string
header
required

API Key or JWT User Token. If using an API Key, set the X-As-User header to act as a specific user. A JWT User Token is always scoped to a specific user.

Body

multipart/form-data
file
file
required

The file to ingest.

collection
string | null

The collection to add the document to.

metadata
string | null

Custom metadata as JSON string for filtering. Keys must be alphanumeric with underscores, max 64 chars. Values must be string, number, or boolean.

Response

Successful Response

source
enum<string>
required
Available options:
collections,
reddit,
notion,
slack,
google_calendar,
google_mail,
box,
google_drive,
vault,
web_crawler
resource_id
string
required
status
enum<string>
required
Available options:
pending,
processing,
completed,
failed