Skip to content

Docs: no idempotency / safe-retry guidance (duplicate ingests, whole-source upsert overwrite) #235

Description

@Arpit-oo

Problem Statement

Error Responses documents WHEN to retry (429/500/503 + backoff) but never whether a retry is SAFE. Because ingestion is async (202 Accepted), a timed-out ingest that is actually succeeding, retried without a stable id, silently duplicates the document or memory. Separately, re-ingesting to fix a failed attempt replaces the WHOLE source under upsert - a partial re-ingest drops fields. Neither footgun is documented.

Proposed Solution

Add essentials/v2/idempotency-and-retries: which operations are idempotent by default; the async-202 duplicate trap and the stable-id + upsert fix; upsert-replaces-whole-source; retry-safe create (409 already exists) and delete (404 already gone); and a safe-retry checklist. Grounded in the existing ingest/status/error-responses contracts.

Alternatives Considered

  • Adding a note to Error Responses: that page owns retry TIMING; idempotency is a distinct, larger topic deserving its own page.

Additional Context

Submitted for the Mintlify x HydraDB documentation hackathon.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions