Back

Memory Bank
Description
Extend AI memory. Ask it to store and retrieve your information to get personalized assistance tailored to your needs.
Details
https://plugin.memorybank.app/.well-known/ai-plugin.json
{
"schema_version": "v1",
"name_for_model": "memorybank",
"name_for_human": "Memory Bank",
"description_for_model": "Use for storing, updating, and retrieving user's information or documents (such as files, emails, and more) to find answers to questions and retrieve relevant information. Use it whenever a user asks something that might be found in their personal information, or asks you to save information for later.",
"description_for_human": "Extend AI memory. Ask it to store and retrieve your information to get personalized assistance tailored to your needs.",
"auth": {
"type": "oauth",
"client_url": "https://dev-5hctgu3e4fhyq5c1.us.auth0.com/authorize",
"scope": "openid profile email offline_access",
"authorization_url": "https://dev-5hctgu3e4fhyq5c1.us.auth0.com/oauth/token",
"authorization_content_type": "application/json",
"verification_tokens": {
"openai": "dfdd8e743c574050ad49f41cfd6688ad"
}
},
"api": {
"type": "openapi",
"url": "https://plugin.memorybank.app/.well-known/openapi.yaml"
},
"logo_url": "https://plugin.memorybank.app/.well-known/logo.png",
"contact_email": "apprizon@gmail.com",
"legal_info_url": "https://memorybank.app/legal"
}
https://plugin.memorybank.app/.well-known/openapi.yaml
openapi: 3.0.2
info:
title: Memory Bank API
description: A retrieval API for querying and filtering documents based on natural language queries and metadata
version: 1.0.0
servers:
- url: https://plugin.memorybank.app
paths:
/upsert:
post:
summary: Upsert
description: Save chat information. Accepts an array of documents with text (potential questions + conversation text), metadata (source 'chat' and timestamp, no ID as this will be generated). Confirm with the user before saving, ask for more details/context.
operationId: upsert_upsert_post
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpsertRequest"
required: true
responses:
"200":
description: Successful Response
content:
application/json:
schema:
$ref: "#/components/schemas/UpsertResponse"
"422":
description: Validation Error
content:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
security:
- OAuth2: ['write:documents']
/query:
post:
summary: Query
description: Accepts search query objects array each with query and optional filter. Break down complex questions into sub-questions. Refine results by criteria, e.g. time / source, don't do this often. Split queries if ResponseTooLargeError occurs.
operationId: query_query_post
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/QueryRequest"
required: true
responses:
"200":
description: Successful Response
content:
application/json:
schema:
$ref: "#/components/schemas/QueryResponse"
"422":
description: Validation Error
content:
application/json:
schema:
$ref: "#/components/schemas/HTTPValidationError"
security:
- OAuth2: ['write:documents']
components:
schemas:
Document:
title: Document
required:
- text
- user_id
type: object
properties:
id:
title: Id
type: string
text:
title: Text
type: string
user_id:
title: User Id
type: string
metadata:
$ref: "#/components/schemas/DocumentMetadata"
DocumentChunkMetadata:
title: DocumentChunkMetadata
type: object
properties:
source:
$ref: "#/components/schemas/Source"
source_id:
title: Source Id
type: string
url:
title: Url
type: string
created_at:
title: Created At
type: string
author:
title: Author
type: string
document_id:
title: Document Id
type: string
DocumentChunkWithScore:
title: DocumentChunkWithScore
required:
- text
- metadata
- score
type: object
properties:
id:
title: Id
type: string
text:
title: Text
type: string
metadata:
$ref: "#/components/schemas/DocumentChunkMetadata"
embedding:
title: Embedding
type: array
items:
type: number
score:
title: Score
type: number
DocumentMetadata:
title: DocumentMetadata
type: object
properties:
source:
$ref: "#/components/schemas/Source"
source_id:
title: Source Id
type: string
url:
title: Url
type: string
created_at:
title: Created At
type: string
author:
title: Author
type: string
DocumentMetadataFilter:
title: DocumentMetadataFilter
type: object
properties:
document_id:
title: Document Id
type: string
source:
$ref: "#/components/schemas/Source"
source_id:
title: Source Id
type: string
author:
title: Author
type: string
start_date:
title: Start Date
type: string
end_date:
title: End Date
type: string
HTTPValidationError:
title: HTTPValidationError
type: object
properties:
detail:
title: Detail
type: array
items:
$ref: "#/components/schemas/ValidationError"
Query:
title: Query
required:
- query
- user_id
type: object
properties:
query:
title: Query
type: string
user_id:
title: User Id
type: string
filter:
$ref: "#/components/schemas/DocumentMetadataFilter"
top_k:
title: Top K
type: integer
default: 3
QueryRequest:
title: QueryRequest
required:
- queries
type: object
properties:
queries:
title: Queries
type: array
items:
$ref: "#/components/schemas/Query"
QueryResponse:
title: QueryResponse
required:
- results
type: object
properties:
results:
title: Results
type: array
items:
$ref: "#/components/schemas/QueryResult"
QueryResult:
title: QueryResult
required:
- query
- results
type: object
properties:
query:
title: Query
type: string
results:
title: Results
type: array
items:
$ref: "#/components/schemas/DocumentChunkWithScore"
Source:
title: Source
enum:
- email
- file
- chat
type: string
description: An enumeration.
UpsertRequest:
title: UpsertRequest
required:
- documents
type: object
properties:
documents:
title: Documents
type: array
items:
$ref: "#/components/schemas/Document"
UpsertResponse:
title: UpsertResponse
required:
- ids
type: object
properties:
ids:
title: Ids
type: array
items:
type: string
ValidationError:
title: ValidationError
required:
- loc
- msg
- type
type: object
properties:
loc:
title: Location
type: array
items:
anyOf:
- type: string
- type: integer
msg:
title: Message
type: string
type:
title: Error Type
type: string
securitySchemes:
OAuth2:
type: oauth2
flows:
implicit:
authorizationUrl: https://dev-5hctgu3e4fhyq5c1.us.auth0.com/authorize
scopes:
'read:documents': Read documents
'write:documents': Write documents
password:
tokenUrl: https://dev-5hctgu3e4fhyq5c1.us.auth0.com/oauth/token
scopes:
'read:documents': Read documents
'write:documents': Write documents
clientCredentials:
tokenUrl: https://dev-5hctgu3e4fhyq5c1.us.auth0.com/oauth/token
scopes:
'read:documents': Read documents
'write:documents': Write documents
authorizationCode:
authorizationUrl: https://dev-5hctgu3e4fhyq5c1.us.auth0.com/authorize
tokenUrl: https://dev-5hctgu3e4fhyq5c1.us.auth0.com/oauth/token
scopes:
'read:documents': Read documents
'write:documents': Write documents