Cancel a consolidation job

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

Stop a queued or running job. Changes already applied stay applied and are listed in the report; nothing further is changed.

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.
Idempotency-KeyNoUp to 255 characters. Retrying with the same key within 24 hours returns the first result instead of acting twice. See Idempotency.

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": "canceled",
  "changes": {
    "examined": 900,
    "merged": 12,
    "rewritten": 2,
    "expired": 0,
    "unchanged": 886
  },
  "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
}
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.

Examples

curl -sS -X POST "https://app.syntic.ai/v1/memory_stores/mem_01JC1A3C5E7G9J1L3N5Q/consolidations/mcj_01JCG6J8L0N2Q4S6U8W0/cancel" \
  -H "Authorization: Bearer $SYNTIC_API_KEY" \
  -H "syntic-beta: agents-2026-11-01" \
  -H "Idempotency-Key: 8d6f0c1e-4b2a-4a57-9f0e-2f1d3c4b5a69"

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.
409conflict_errorconsolidation_finishedThe job already ended.
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?