Add summarize parameter to /spend/logs API for individual transaction logs #11556
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Title
Add summarize parameter to /spend/logs API for individual transaction logs
Relevant issues
Fixes #11449
Pre-Submission checklist
Please complete all items before asking a LiteLLM maintainer to review your PR
tests/litellm/
directory, Adding at least 1 test is a hard requirement - see detailsmake test-unit
Type
New Feature
Changes
Problem Solved
The
/spend/logs
API had inconsistent behavior when using date filters:This made it difficult to extract raw transaction data for analytics dashboards when filtering by date range.
Solution Implementation
Added a new
summarize
parameter to the/spend/logs
endpoint with non-breaking behavior:API Changes (
litellm/proxy/spend_tracking/spend_management_endpoints.py
)summarize: bool = True
parameter with default value for backward compatibilitysummarize=False
and date filters are providedsummarize=True
(default)New Functionality
summarize=true
(default): Returns aggregated data grouped by date (legacy behavior)summarize=false
: Returns filtered individual transaction logs within date rangeExamples
Testing (
tests/test_litellm/proxy/spend_tracking/test_spend_management_endpoints.py
)test_view_spend_logs_summarize_parameter()
summarize=True
andsummarize=False
scenariosDocumentation (
docs/my-website/docs/proxy/cost_tracking.md
)Use Cases Enabled
summarize=false
Backward Compatibility
Fully backward compatible - existing integrations continue working unchanged since
summarize=True
is the default value.