Deleted Voyage
The Deleted Voyages API exposes only the voyages that have been removed from the server's persistent store.
This lightweight stream allows a client to perform an incremental sync: by consuming the deleted voyages, the client can delete the corresponding records locally, keeping its view of the voyage data in lock-step with the server without pulling the entire dataset again.
How It Works
- Every time a voyage is deleted on the server (e.g., a cleanup operation, data correction, or re-processing), the voyage is pushed to this endpoint.
- The payload contains the voyage record that has been removed, including the vessel information and the deletion timestamp.
- Clients can consume the stream once, store a cursor (or last-seen timestamp), and resume from that point in subsequent polls to avoid re-processing the same records.
Key Features
Incremental Sync – Clients receive only the changes that matter (deletions), drastically reducing bandwidth and processing overhead.
Consistent State – By applying deletions exactly as they happen, the client's local dataset stays in perfect sync with the server.
Low Latency – Polling the deleted-only stream is lightweight and can be performed frequently (e.g., every 30 min) without impacting overall API throughput.
Simplified Logic – Clients don't need to maintain a full voyage store; they only need to delete or update entries based on the received payload.
Auditability – Each deleted record includes the deletedAt timestamp, enabling traceability and rollback if needed.
Vessel Information – Each deleted voyage includes complete vessel information, allowing clients to identify which vessel's voyage was deleted.
Flexible Filtering – Apply filters by:
- Deletion date/time range
- Vessel specifications (IMO, DWT, LOA, beam, draft, TEU, cubic capacity)
- Vessel segments, types, and sub-types
- Fleet names
- Vessel build year
Integration Checklist
- Authenticate with your API key/token (the same credentials used for the full Voyages API).
- Poll the endpoint at your chosen interval (e.g., every day).
- Store the latest
deletedAtvalue as a cursor for the next request. - Apply deletions to your local data store:
- Remove the record identified by
_id. - Optionally, archive the deleted voyage for audit purposes.
- Handle Errors: If a request fails, retry after a back-off period; on repeated failures, log and alert.
You can refer to the Incremental updates of polygon events guide as a use case for similar incremental sync patterns.
What This API Does Not Provide
- Full voyage data (only deleted voyages are returned).
- Real-time live voyages or incremental additions or updates.
- Historical aggregation or analytics (use the full Voyages API for those purposes).
Example Queries
Basic Deleted Voyages Query
query GetDeletedVoyages {
deletedVoyages(first: 50) {
pageInfo {
hasNextPage
endCursor
}
totalCount
edges {
node {
_id
deletedAt
vessel {
imo
name
dwt
type
}
}
}
}
}Filter by Deletion Date Range
query GetDeletedVoyagesByDate {
deletedVoyages(
first: 100
deletedAt: { from: "2025-12-01", to: "2025-12-31" }
) {
pageInfo { hasNextPage endCursor }
totalCount
edges {
node {
_id
deletedAt
vessel {
imo
name
segment
}
}
}
}
}Filter by Vessel Specifications
query GetDeletedVoyagesByVesselSpecs {
deletedVoyages(
first: 50
vesselDwt: { from: 50000, to: 100000 }
vesselSegments: ["tanker"]
vesselImos: [89035137, 9063108]
) {
pageInfo { hasNextPage endCursor }
totalCount
edges {
node {
_id
deletedAt
vessel {
imo
name
dwt
segment
type
}
}
}
}
}Incremental Sync Pattern
query GetDeletedVoyagesSince {
deletedVoyages(
first: 1000
deletedAt: { from: "2024-12-01T00:00:00Z" }
after: "cursor_from_last_request"
) {
pageInfo {
hasNextPage
endCursor
}
totalCount
edges {
node {
_id
deletedAt
vessel {
imo
name
}
}
}
}
}Recommended Usage Pattern
- Initial Sync – Perform a full pull from the standard Voyages API to seed the local store.
- Continuous Sync – After the initial sync, switch to the Deleted-Only stream to catch up with any deletions.
- Periodic Re-Sync – Every few weeks, perform a full pull again to guard against drift (e.g., missed deletions, client outages).
Header Parameters
Bearer token used for authentication.
Body Parameters
Maximum number of items to return from the start of the list.
Maximum number of items to return from the end of the list.
Return items that come before the specified cursor.
Return items that come after the specified cursor.
Filter by the deleted date/time.
Show child attributes
Filter by the year the vessel was built (inclusive).
Show child attributes
Filter by the beam of the vessel.
Show child attributes
Filter by the length overall (LOA) of the vessel.
Show child attributes
Filter by the draft of the vessel.
Show child attributes
Filter by the deadweight tonnage of the vessel.
Show child attributes
Filter by the TEU capacity of the vessel.
Show child attributes
Filter by the cubic capacity of the vessel.
Show child attributes
Filter by the fleet names the vessel belongs to.
Filter by the vessel IDs.
Filter by the IMO numbers of the vessels.
Filter by the vessel segments (e.g. 'dry', 'tanker', 'lng', 'chemical').
Filter by the vessel types (e.g. 'Bulk carrier', 'Tanker').
Filter by the vessel sub‑types