Add idempotent batch ingest and target lifecycle APIs #59
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/starintel-server#59
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Replace single-document fire-and-forget routes with schema-aware, idempotent ingest and a complete target lifecycle.
Scope
POST /api/v1/documents:batchwith atomic/non-atomic modes, per-record validation, dedupe, replacement policy, and origin metadataPOST /api/v1/targets,GET /api/v1/targets,GET/PATCH/DELETE /api/v1/targets/:id/new/document/:dtypeand/new/target/:actorAcceptance criteria
Depends on #58 for the versioned API envelope and capability discovery.
Current production behavior was re-verified on 2026-08-22 while designing Auto-Dig operations skills. The internal service advertises doc_spec_version 0.8.0, while the Auto-Dig canonical repository schema is 0.9.0. The current legacy POST /new/document/:dtype path performs transport-level shape and dtype checks but does not invoke strict StarIntel 0.9 validation; HTTP success means RabbitMQ acceptance, not persistence. This confirms the schema-aware and idempotent v1 ingest acceptance criteria remain necessary.
RAGE unblock slice started in draft PR #127 from immutable master
52948721d8981e9aa5ccad4efd77185e52af845b.Architecture correction from current product decision: this issue owns the generic target lifecycle/idempotency API. Bixby-specific prepare/commit projection is an optional
starintel-bixbyadd-on over this core API; there is no standalone Bixby gateway.The smallest first slice is
POST /api/v1/targetswithtargets:dispatch, principal-bound deterministic idempotency, narrow receipt output, and reuse of the existing durable acceptance/schedule machinery. Tests also pin a newly found owner defect: the current target acceptance fingerprint omits target value/options/recurrence, so changed content under one schedule identity can be mistaken for a duplicate. That must fail as conflict before Bixby target commit is enabled.