Get a consolidation job

⚠️
Preview — this feature is being built; the design below is the spec.
GET https://app.syntic.ai/v1/memory_stores/{store_id}/consolidations/{job_id}

Return one job. When it has finished, report_file_id points to a JSONL file listing every change: the memory ids involved, the old text and the new text.

For how this fits into a full workflow, see Memory consolidation.

Headers

HeaderRequiredValue
AuthorizationYesBearer <key>: a private inference key (sk_live_...). See Authentication.
syntic-betaYes, while in previewagents-2026-11-01. Without it the call fails with 400 beta_required. See Versioning.

Path parameters

ParameterTypeDescription
store_idstringThe memory store id, starting with mem_.
job_idstringThe job id, starting with mcj_.

Response

200 OK, Content-Type: application/json

{
  "id": "mcj_01JCG6J8L0N2Q4S6U8W0",
  "type": "memory_consolidation",
  "store_id": "mem_01JC1A3C5E7G9J1L3N5Q",
  "scope": "customer:*",
  "strategies": [
    "merge_duplicates",
    "resolve_conflicts",
    "expire_stale"
  ],
  "dry_run": false,
  "status": "succeeded",
  "changes": {
    "examined": 2318,
    "merged": 41,
    "rewritten": 9,
    "expired": 133,
    "unchanged": 2135
  },
  "usage": {
    "input_tokens": 412880,
    "output_tokens": 18406,
    "cost_usd": "1.2530"
  },
  "created_at": "2026-11-05T02:00:00Z",
  "finished_at": "2026-11-05T02:06:12Z",
  "error": null,
  "report_file_id": "file_01JCG7K9M1P3R5T7V9X1"
}
FieldTypeDescription
strategiesarraymerge_duplicates folds near-identical memories into one; resolve_conflicts keeps the newest of two contradicting memories and rewrites the other; expire_stale sets expires_at on memories no session has read for stale_after_days.
dry_runbooleanWhen true, nothing changes and changes reports what would have happened; the proposed edits are in the job’s report file.
changesobjectCounts of memories examined, merged, rewritten, expired and left alone.
usageobjectThe model work the job did, billed like any request.
statusstringqueued, running, succeeded, failed or canceled.
report_file_idstring or nullDownload with file content.

Examples

curl -sS "https://app.syntic.ai/v1/memory_stores/mem_01JC1A3C5E7G9J1L3N5Q/consolidations/mcj_01JCG6J8L0N2Q4S6U8W0" \
  -H "Authorization: Bearer $SYNTIC_API_KEY" \
  -H "syntic-beta: agents-2026-11-01"

Errors

Errors use the error envelope and carry a request_id. Codes specific to this operation:

StatustypecodeWhen
400invalid_request_errorbeta_requiredThe syntic-beta header is missing.
404not_found_errorconsolidation_not_foundNo job with this id on the store.
401authentication_errorinvalid_api_keyThe key is missing, unknown, revoked or expired.
429rate_limit_errorrate_limitedToo many requests; wait for Retry-After. See Rate-limit headers.
Was this page helpful?