Why fetching a pending subscription by external_id returns a 404
Last updated: July 10, 2026
Lago's subscription endpoints filter by status. GET /api/v1/subscriptions/:external_id only looks up active subscriptions by default, so a subscription created with a future subscription_at date, which is in pending status, returns a 404 unless you explicitly pass status=pending.
How to resolve the issue
Pass status=pending as a query parameter: GET /api/v1/subscriptions/{external_id}?status=pending. The same parameter applies to the DELETE endpoint for terminating a pending subscription: DELETE /api/v1/subscriptions/{external_id}?status=pending. Without it, that call also returns a 404, since it defaults to active subscriptions.
Field reference
The GET /api/v1/subscriptions list endpoint (without an external_id path parameter) only accepts external_customer_id as a filter, it does not accept external_id. To look up a specific subscription, use the show endpoint with the external_id as a path parameter.
This article reflects guidance drawn from customer case resolutions. It is not officially supported documentation and may not apply to all situations.