Corvus

Corvus is an HTTP proxy that extends NGSI-LD context brokers with delete-by-query functionality. The NGSI-LD API only supports deleting entities by ID; there is no standard way to delete all entities matching a filter. Corvus fills that gap.

Overview

The NGSI-LD specification defines entity deletion by ID. Deleting entities by type, idPattern, or attribute query requires fetching matching entities and deleting them one by one—a tedious and error-prone process. Corvus automates this: you send a single DELETE request with query parameters, and Corvus fetches all matching entities, paginates through results, and performs the deletions with concurrency and retries built in.

Key Features

  • Delete entities by queryDELETE /ngsi-ld/v1/entities with query parameters; Corvus finds all matches and batch-deletes them

  • Delete temporal entities by queryDELETE /ngsi-ld/v1/temporal/entities for whole entities or specific attribute instances

  • Automatic pagination — Drains all pages; no manual limit/offset handling

  • Concurrent deletes — Configurable parallelism for temporal purges

  • Retry logic — Exponential backoff on transient errors (429, 5xx)

  • RFC 7807 Problem Details — Structured error responses

  • Graceful shutdown — Handles SIGTERM and Ctrl+C cleanly

Use Cases

  • Data lifecycle management — Purge entities by type or filter when datasets are deprecated or refreshed

  • Temporal data cleanup — Remove old temporal observations or attribute instances

  • Integration workflows — Bulk deletion as part of ETL or migration pipelines

Next Steps