Ingest Event
Ingest a single resource event (upsert or delete).
Issue #238: Append-only event log for incremental indexing.
The resource_id URL path parameter accepts the human-readable slug (e.g. my-github-repo). Internally, token verification resolves the request context from that identifier (see verify_resource_token and _resolve_authoritative_context), and workspace access is enforced as a separate validation step. The authoritative resource record used for writes is then taken from the verified token record (token_record.resource_pk), so external callers never need to know or supply UUIDs.
Security: - Requires X-Resource-API-Key header - Token must be scoped to this resource_id - Rate limited by quota_events_per_hour
Request: POST /api/v1/resources/{resource_id}/events Headers: X-Resource-API-Key: kagura_resource_... Body: { "op": "upsert", "doc_id": "PROD-12345", "version": 3, "payload": {"product_name": "...", "price": 5980}, "idempotency_key": "optional-key" }
Response: { "status": "success", "event_id": 12345, "queued": true, "estimated_indexing_time_seconds": 600 }
Errors: - 401: Invalid/revoked token - 409: Duplicate version (resource_id, doc_id, version already exists) - 413: Payload too large (>100KB) - 422: Validation error (e.g., missing payload for upsert) - 429: Quota exceeded
Request
- Base URL: https://memory.kagura-ai.com (the document declares no server; this is the origin it was published from)
- URL: https://memory.kagura-ai.com/api/v1/resources/{resource_id}/events
- Auth: none declared
Path parameters
Headers
Request body
Response
Successful Response
Changes
No recorded changes to this operation across all 2 revisions of this API.