Request/Response Schemas
Complete reference for all request and response schemas used by the Memory Scope API.
POST /memory - Create Memory
Request Schema
Request Schema
{
"user_id": "string (required) - Unique user identifier",
"scope": "string (required) - One of: preferences, constraints, communication, accessibility, schedule, attention",
"domain": "string (optional) - Sub-category within the scope",
"source": "string (required) - Source of memory (e.g., 'explicit_user_input', 'inferred', 'system')",
"ttl_days": "number (optional) - Time-to-live in days (1-365). Default: null (no expiration)",
"value_json": "object | array (required) - Memory data as JSON"
}Response Schema
Response Schema
{
"id": "string (UUID) - Memory ID",
"user_id": "string - User identifier",
"scope": "string - Scope category",
"domain": "string | null - Domain sub-category",
"created_at": "string (ISO 8601) - Creation timestamp",
"expires_at": "string (ISO 8601) | null - Expiration timestamp"
}Example Request
Example Request
{
"user_id": "user123",
"scope": "preferences",
"domain": "food",
"source": "explicit_user_input",
"ttl_days": 30,
"value_json": {
"likes": [
"pizza",
"sushi"
],
"dislikes": [
"broccoli"
]
}
}Example Response
Example Response
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"user_id": "user123",
"scope": "preferences",
"domain": "food",
"created_at": "2024-01-15T10:30:00Z",
"expires_at": "2024-02-14T10:30:00Z"
}POST /memory/read - Read Memory
Request Schema
Request Schema
{
"user_id": "string (required) - Unique user identifier",
"scope": "string (required) - One of: preferences, constraints, communication, accessibility, schedule, attention",
"domain": "string (optional) - Filter by domain",
"purpose": "string (required) - Purpose for accessing memory",
"max_age_days": "number (optional) - Only return memories created within this many days. Default: null"
}Response Schema
Response Schema
{
"summary_text": "string - Human-readable summary",
"summary_struct": "object - Merged memory data as structured JSON",
"confidence": "number (0.0-1.0) - Confidence score for merged result",
"revocation_token": "string (UUID) - Token for revoking access",
"expires_at": "string (ISO 8601) - Token expiration timestamp"
}Example Request
Example Request
{
"user_id": "user123",
"scope": "preferences",
"domain": "food",
"purpose": "generate food recommendations",
"max_age_days": 30
}Example Response
Example Response
{
"summary_text": "Likes: 2, Dislikes: 1, Settings: 0",
"summary_struct": {
"likes": [
"pizza",
"sushi"
],
"dislikes": [
"broccoli"
],
"settings": {}
},
"confidence": 0.85,
"revocation_token": "550e8400-e29b-41d4-a716-446655440000",
"expires_at": "2024-01-16T10:30:00Z"
}POST /memory/read/continue - Continue Reading
Request Schema
Request Schema
{
"revocation_token": "string (required, UUID) - Revocation token from previous read"
}Response Schema
Same as POST /memory/read response schema.
Response Schema
{
"summary_text": "string - Human-readable summary",
"summary_struct": "object - Merged memory data as structured JSON",
"confidence": "number (0.0-1.0) - Confidence score",
"revocation_token": "string (UUID) - Same revocation token (reused)",
"expires_at": "string (ISO 8601) - Token expiration timestamp"
}Example Request
Example Request
{
"revocation_token": "550e8400-e29b-41d4-a716-446655440000"
}POST /memory/revoke - Revoke Access
Request Schema
Request Schema
{
"revocation_token": "string (required, UUID) - Revocation token to revoke"
}Response Schema
Response Schema
{
"revoked": "boolean - Whether revocation was successful",
"revoked_at": "string (ISO 8601) - Revocation timestamp"
}Example Request
Example Request
{
"revocation_token": "550e8400-e29b-41d4-a716-446655440000"
}Example Response
Example Response
{
"revoked": true,
"revoked_at": "2024-01-15T12:00:00Z"
}Error Response Schema
Standard Error Response
Error Response Schema
{
"error": {
"code": "string - Error code (e.g., 'policy_denied', 'invalid_request')",
"message": "string - Human-readable error message",
"details": "object (optional) - Additional error details"
}
}Example Error Responses
Policy Denied Error
{
"error": {
"code": "policy_denied",
"message": "Purpose 'execute task' is not allowed for scope 'preferences'",
"details": {
"scope": "preferences",
"purpose": "execute task",
"allowed_purpose_classes": [
"content_generation",
"recommendation"
]
}
}
}Common Data Types
Scope Values
Allowed Scopes
[
"preferences",
"constraints",
"communication",
"accessibility",
"schedule",
"attention"
]Source Values
Allowed Sources
[
"explicit_user_input",
"inferred",
"system",
"conversation",
"user_feedback"
]Value JSON Shapes
The value_json field can take different shapes depending on the scope:
Value JSON Shapes
{
"likes_dislikes": {
"likes": [
"string"
],
"dislikes": [
"string"
],
"settings": {}
},
"boolean_flags": {
"key": "boolean"
},
"rules_list": [
"string"
],
"schedule_windows": [
{
"day": "string",
"start": "string",
"end": "string"
}
],
"kv_map": {
"key": "any"
}
}Related Documentation