getting started

Authentication

All API requests require a Bearer token in the Authorization header.

request headers
Authorization: Bearer your_token_here Content-Type: application/json
All requests must include Content-Type: application/json. Responses use the same content type.
read_only

Read-Only Token

Access GET endpoints only. Perfect for AI tools that consume context.

full_access

Full Access Token

Access all endpoints — GET, POST, PATCH, DELETE. For management and automation.

Rate Limiting

API requests are limited to 100 requests per minute per token.

429 response 429 Too Many Requests
{ "error": { "code": "RATE_LIMITED", "message": "Rate limit exceeded. Please try again later.", "status": 429 } }

Error Handling

All errors follow a consistent JSON structure with a code, message, and HTTP status.

error format
{ "error": { "code": "ERROR_CODE", "message": "Human-readable description", "details": { ... }, // optional, for validation errors "status": 4xx } }
StatusCodeDescription
401UNAUTHORIZEDInvalid or missing access token
403FORBIDDENInsufficient permissions or inactive workspace
404NOT_FOUNDResource not found
422VALIDATION_ERRORInvalid request data (includes details)
429RATE_LIMITEDRate limit exceeded
resource

Workspaces

List Workspaces

Returns all active workspaces for the current account.

GET/workspaces.json
Parameters
NameTypeDescription
pageintegerPage number (default: 1)
response200 OK
[ { "id": 1, "name": "Project Alpha", "description": "Main project workspace", "memories_count": 42, "archived": false, "created_at": "2026-01-15T10:30:00Z", "updated_at": "2026-02-04T14:22:00Z", "url": "https://recuerd0.ai/workspaces/1" } ]
Pagination headers X-Page, X-Per-Page, X-Total, X-Total-Pages, and Link are included in all list responses.

Get Workspace

Returns a single workspace with memory count and pinned status.

GET/workspaces/:id.json
response200 OK
{ "id": 1, "name": "Project Alpha", "description": "Main project workspace", "memories_count": 42, "archived": false, "created_at": "2026-01-15T10:30:00Z", "updated_at": "2026-02-04T14:22:00Z", "url": "https://recuerd0.ai/workspaces/1" }

Create Workspace

Creates a new workspace.

POST/workspaces.jsonfull_access
Parameters
NameTypeDescription
workspace[name]stringrequiredWorkspace name (max 100 characters)
workspace[description]stringWorkspace description
request
{ "workspace": { "name": "New Project", "description": "A new workspace for the team" } }
response201 Created
{ "id": 2, "name": "New Project", "description": "A new workspace for the team", "memories_count": 0, "archived": false, "created_at": "2026-02-04T15:00:00Z", "updated_at": "2026-02-04T15:00:00Z", "url": "https://recuerd0.ai/workspaces/2" }

Update Workspace

Updates an existing workspace.

PATCH/workspaces/:id.jsonfull_access
Parameters
NameTypeDescription
workspace[name]stringWorkspace name
workspace[description]stringWorkspace description
response200 OK
Returns the updated workspace object.

Archive Workspace

Archives a workspace. Archived workspaces become read-only.

POST/workspaces/:id/archive.jsonfull_access
response200 OK
Returns the workspace with "archived": true

Unarchive Workspace

Restores an archived workspace.

DELETE/workspaces/:id/archive.jsonfull_access
response200 OK
Returns the workspace with "archived": false
resource

Memories

List Memories

Returns all memories (latest versions only) for a workspace.

GET/workspaces/:workspace_id/memories.json
Parameters
NameTypeDescription
pageintegerPage number (default: 1)
response200 OK
[ { "id": 1, "title": "Meeting Notes", "version": 1, "source": "manual", "tags": ["meetings", "q1"], "created_at": "2026-01-20T09:00:00Z", "updated_at": "2026-02-03T16:45:00Z", "url": "https://recuerd0.ai/workspaces/1/memories/1" } ]

Get Memory

Returns a memory with its content.

GET/workspaces/:workspace_id/memories/:id.json
response200 OK
{ "id": 1, "title": "Meeting Notes", "version": 1, "source": "manual", "tags": ["meetings", "q1"], "created_at": "2026-01-20T09:00:00Z", "updated_at": "2026-02-03T16:45:00Z", "url": "https://recuerd0.ai/workspaces/1/memories/1", "content": { "body": "# Meeting Notes\n\nDiscussed Q1 goals..." }, "workspace": { "id": 1, "name": "Project Alpha", "url": "https://recuerd0.ai/workspaces/1" } }

Create Memory

Creates a new memory with content.

POST/workspaces/:workspace_id/memories.jsonfull_access
Parameters
NameTypeDescription
memory[title]stringMemory title (max 255 characters)
memory[content]stringMemory body (Markdown)
memory[source]stringSource identifier
memory[tags]arrayArray of tag strings
request
{ "memory": { "title": "API Documentation", "content": "# Overview\n\nThis document describes...", "tags": ["docs", "api"] } }
response201 Created
Returns the created memory object with content.

Update Memory

Updates an existing memory.

PATCH/workspaces/:workspace_id/memories/:id.jsonfull_access
Parameters
NameTypeDescription
memory[title]stringMemory title
memory[content]stringMemory body
memory[source]stringSource identifier
memory[tags]arrayArray of tags
response200 OK
Returns the updated memory object with content.

Delete Memory

Deletes a memory and all its versions.

DELETE/workspaces/:workspace_id/memories/:id.jsonfull_access
response204 No Content
Empty response body.
resource

Memory Versions

Create Version

Creates a new version of a memory. Fields default to the parent version values if not provided.

POST/workspaces/:workspace_id/memories/:memory_id/versions.jsonfull_access
Parameters
NameTypeDescription
version[title]stringVersion title (defaults to parent)
version[content]stringVersion body (defaults to parent)
version[source]stringSource identifier (defaults to parent)
version[tags]arrayTags (defaults to parent)
request
{ "version": { "content": "# Updated Content\n\nRevised version..." } }
response201 Created
{ "id": 5, "title": "Meeting Notes", "version": 2, "source": "manual", "tags": ["meetings", "q1"], "created_at": "2026-02-04T16:00:00Z", "updated_at": "2026-02-04T16:00:00Z", "url": "https://recuerd0.ai/workspaces/1/memories/5", "content": { "body": "# Updated Content\n\nRevised version..." }, "workspace": { "id": 1, "name": "Project Alpha", "url": "https://recuerd0.ai/workspaces/1" } }
resource

Search