Skip to main content

Memos API

Manage your memos, including creating, updating, deleting, and retrieving them.

POST /api/v1/memo

Create a new memo. The memo will be automatically processed (summarized, chunked, and indexed for search). Authentication: Project API Key from https://platform.useskald.com Request:
{
    "title": "Meeting Notes",
    "content": "Full content of the memo...",
    "metadata": {
        "type": "notes",
        "author": "John Doe"
    },
    "reference_id": "external-id-123",
    "tags": ["meeting", "q1"],
    "source": "notion",
    "expiration_date": "2024-12-31T23:59:59Z"
}
Required Fields:
  • title (string, max 255 chars)
  • content (string)
Optional Fields:
  • metadata (object): Custom JSON metadata
  • reference_id (string, max 255 chars): External reference ID
  • tags (array of strings): Tags for categorization
  • source (string, max 255 chars): Source system name
  • expiration_date (datetime): When the memo should expire
Response:
{
    "ok": true
}

GET /api/v1/memo/

Get memo details by UUID or client reference ID. Authentication: Project API Key from https://platform.useskald.com Query Parameters:
  • id_type (string, optional): Type of identifier used. Must be either:
    • memo_uuid (default) - Use memo UUID
    • reference_id - Use client_reference_id
Examples: Get by UUID (default):
GET /api/v1/memo/550e8400-e29b-41d4-a716-446655440000
Get by client reference ID:
GET /api/v1/memo/external-id-123?id_type=reference_id
Response:
{
    "uuid": "memo-uuid",
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T10:30:00Z",
    "title": "Meeting Notes",
    "content": "Full content of the memo...",
    "summary": "Discussion about Q1 goals",
    "content_length": 1234,
    "metadata": { "type": "notes" },
    "client_reference_id": "external-id-123",
    "source": "notion",
    "type": "document",
    "expiration_date": "2024-12-31T23:59:59Z",
    "archived": false,
    "pending": false,
    "tags": [
        {
            "uuid": "tag-uuid",
            "tag": "meeting"
        }
    ],
    "chunks": [
        {
            "uuid": "chunk-uuid",
            "chunk_content": "First chunk content...",
            "chunk_index": 0
        }
    ]
}
Error Responses: Invalid id_type (400):
{
    "error": "id_type must be either 'memo_uuid' or 'reference_id'"
}
Memo not found (404):
{
    "error": "Memo not found"
}

PATCH /api/v1/memo/

Partially update an existing memo by UUID or client reference ID. If the content is updated, all related data (summary, tags, chunks) will be deleted and the memo will be reprocessed. Authentication: Project API Key from https://platform.useskald.com Query Parameters:
  • id_type (string, optional): Type of identifier used. Must be either:
    • memo_uuid (default) - Use memo UUID
    • reference_id - Use client_reference_id
Examples: Update by UUID (default):
PATCH /api/v1/memo/550e8400-e29b-41d4-a716-446655440000
Update by client reference ID:
PATCH /api/v1/memo/external-id-123?id_type=reference_id
Request:
{
    "title": "Updated Title",
    "metadata": { "type": "updated" },
    "client_reference_id": "new-ref-id",
    "source": "updated-source",
    "expiration_date": "2025-12-31T23:59:59Z",
    "content": "Updated content..."
}
All Fields Optional:
  • title (string, max 255 chars): Update the memo title
  • metadata (object): Update custom JSON metadata
  • client_reference_id (string, max 255 chars): Update external reference ID
  • source (string, max 255 chars): Update source system name
  • expiration_date (datetime): Update expiration date
  • content (string): Update the memo content (triggers reprocessing)
Response:
{
    "ok": true
}
Notes:
  • When content is updated, the memo is automatically reprocessed (summary, tags, and chunks are regenerated)
  • When other fields are updated without content, related data is preserved
Error Responses: Invalid id_type (400):
{
    "error": "id_type must be either 'memo_uuid' or 'reference_id'"
}
Memo not found (404):
{
    "error": "Memo not found"
}
Access denied (403):
{
    "error": "Resource does not belong to the project"
}
or
{
    "error": "Access denied"
}

DELETE /api/v1/memo/

Delete a memo by UUID or client reference ID and all its associated data (content, summary, tags, chunks). Authentication: Project API Key from https://platform.useskald.com Query Parameters:
  • id_type (string, optional): Type of identifier used. Must be either:
    • memo_uuid (default) - Use memo UUID
    • reference_id - Use client_reference_id
Examples: Delete by UUID (default):
DELETE /api/v1/memo/550e8400-e29b-41d4-a716-446655440000
Delete by client reference ID:
DELETE /api/v1/memo/external-id-123?id_type=reference_id
Response: 204 No Content Error Responses: Invalid id_type (400):
{
    "error": "id_type must be either 'memo_uuid' or 'reference_id'"
}
Memo not found (404):
{
    "error": "Memo not found"
}
Access denied (403):
{
    "error": "Resource does not belong to the project"
}
or
{
    "error": "Access denied"
}
I