v37

latestOpenAPI 3.1.0raw.githubusercontent.com2026-06-1170194628.0 KB
v1
Sync

Get Sync Tiers

Return initial Tier 0 (goals/OKRs/use-cases --> tier 0 memories) and Tier 1 (hot memories) for the requesting user/workspace.

This is a minimal initial implementation to enable SDK integration. It uses simple heuristics and will be enhanced with analytics-driven selection.

post/v1/sync/tiers

Request body

max_tier0integer

Max Tier 0 items (goals/OKRs/use-cases)

max_tier1integer

Max Tier 1 items (hot memories)

workspace_idstring nullable

Optional workspace id to scope tiers

user_idstring nullable

Optional internal user ID to filter tiers by a specific user. If not provided, results are not filtered by user. If both user_id and external_user_id are provided, user_id takes precedence.

external_user_idstring nullable

Optional external user ID to filter tiers by a specific external user. If both user_id and external_user_id are provided, user_id takes precedence.

organization_idstring nullable

Optional organization ID for multi-tenant scoping. When provided, tiers are scoped to memories within this organization.

namespace_idstring nullable

Optional namespace ID for multi-tenant scoping. When provided, tiers are scoped to memories within this namespace.

include_embeddingsboolean

Include embeddings in the response. Format controlled by embedding_format parameter.

embedding_format'int8' | 'float32'

Embedding format options for sync tiers

embed_modelstring

Embedding model hint: 'sbert' or 'bigbird' or 'Qwen4B'

embed_limitinteger

Max items to embed per tier to control latency

Example request

{
  "embed_limit": 200,
  "embed_model": "sbert",
  "external_user_id": "external_user_abc",
  "include_embeddings": false,
  "max_tier0": 300,
  "max_tier1": 1000,
  "user_id": "internal_user_123",
  "workspace_id": "workspace_123"
}

Response

Tier assignments returned

codeinteger

HTTP status code

statusstring

'success' or 'error'

transitionsobject[]

Transition items between tiers

next_cursorstring nullable

Cursor for pagination

has_moreboolean

Whether there are more items available

errorstring nullable

Error message if failed

{"stackTrail":"components:schemas:SyncTiersResponse:properties:details:anyOf","oasType":"schema","type":"unknown","title":"Details","description":"Additional error details or context","nullable":true}

Example response

{
  "code": 200,
  "has_more": false,
  "status": "success",
  "tier0": [
    {
      "content": "Improve API performance",
      "id": "goal_123",
      "metadata": {
        "class": "goal",
        "sourceType": "papr"
      },
      "topics": [
        "performance",
        "api"
      ],
      "type": "goal"
    }
  ],
  "tier1": [
    {
      "content": "Customer complained about slow API response times",
      "id": "memory_456",
      "metadata": {
        "sourceType": "papr"
      },
      "topics": [
        "customer",
        "api",
        "performance"
      ],
      "type": "text"
    }
  ],
  "transitions": []
}