Skip to content

Conversation

@alexluong
Copy link
Collaborator

@alexluong alexluong commented Dec 9, 2025

New Log API Schema

Base: logstore branch (PR #580)

Summary

Introduces new Log API endpoints focused on Delivery as the primary entity, with backward-compatible legacy endpoints.

Key Changes

Event-Centric → Delivery-Centric

Before After
GET /:tenantID/events GET /:tenantID/deliveries
GET /:tenantID/events/:eventID GET /:tenantID/deliveries/:deliveryID
GET /destinations/:destID/events GET /:tenantID/deliveries?destination_id=X

Retry: Event → Delivery

Before After
POST /:tenantID/events/:eventID/retry POST /:tenantID/deliveries/:deliveryID/retry

Response Schema Changes

Delivery:

{
  "id": "del_xxx",
  "event": "evt_xxx",           // or expanded Event object
  "destination": "dest_xxx",
  "status": "success",
  "delivered_at": "2024-01-01T00:00:00Z",
  "code": "200",
  "response_data": {}
}

Event:

{
  "id": "evt_xxx",
  "topic": "user.created",
  "time": "2024-01-01T00:00:00Z",
  "eligible_for_retry": true,
  "metadata": {},
  "data": {}                    // only with expand=event.data
}

New Endpoints

Method Endpoint Description
GET /:tenantID/deliveries List deliveries with filters
GET /:tenantID/deliveries/:deliveryID Retrieve single delivery
POST /:tenantID/deliveries/:deliveryID/retry Retry a delivery
GET /:tenantID/events/:eventID Retrieve single event

Query Parameters (List Deliveries)

  • destination_id - Filter by destination
  • event_id - Filter by event
  • status - Filter by status (success, failed)
  • expand=event - Include event summary (without data)
  • expand=event.data - Include full event with payload
  • next, prev, limit - Pagination

Legacy Endpoints (Deprecated)

All legacy endpoints return Deprecation and Sunset headers but continue to work:

Legacy Endpoint Migration Path
GET /:tenantID/events GET /:tenantID/deliveries
GET /:tenantID/events/:eventID GET /:tenantID/deliveries/:deliveryID
GET /:tenantID/events/:eventID/deliveries GET /:tenantID/deliveries?event_id=X
POST /:tenantID/events/:eventID/retry POST /:tenantID/deliveries/:deliveryID/retry
GET /destinations/:destID/events GET /:tenantID/deliveries?destination_id=X
GET /destinations/:destID/events/:eventID GET /:tenantID/deliveries/:deliveryID
GET /destinations/:destID/events/:eventID/deliveries GET /:tenantID/deliveries?event_id=X&destination_id=X

@vercel
Copy link

vercel bot commented Dec 9, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
outpost-docs Ready Ready Preview Comment Dec 9, 2025 1:27pm
outpost-website Ready Ready Preview Comment Dec 9, 2025 1:27pm

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants