feat(inbound-filters): Add custom inbound filters CRUD endpoint#117797
feat(inbound-filters): Add custom inbound filters CRUD endpoint#117797shellmayr wants to merge 11 commits into
1 issue
Medium
`post` (create) handler placed in the detail endpoint makes `POST /custom-inbound-filters/` return 405 - `src/sentry/api/endpoints/project_custom_inbound_filters.py:197-222`
The post method that creates a new filter is defined in CustomInboundFilterDetailsEndpoint, which is routed at /custom-inbound-filters/{filter_id}/. The collection endpoint CustomInboundFiltersEndpoint, routed at /custom-inbound-filters/, declares only "GET" in publish_status and has no post method, so a standard REST POST /custom-inbound-filters/ create request returns 405 Method Not Allowed. Creating a filter is only reachable by issuing POST /custom-inbound-filters/<arbitrary_id>/, where the filter_id path segment is accepted but never read inside post. A frontend built against the documented "Create a Custom Inbound Filter" collection URL would break, and the generated OpenAPI schema documents the create operation under the detail path with a meaningless required filter_id parameter. Fix: move the post method and its @extend_schema decorator into CustomInboundFiltersEndpoint, drop the unused filter_id parameter from its signature, and add "POST": ApiPublishStatus.PRIVATE to that class's publish_status (removing POST from CustomInboundFilterDetailsEndpoint).
6 skills analyzed
| Skill | Findings | Duration | Cost |
|---|---|---|---|
| security-review | 0 | 1m 38s | $0.19 |
| sentry-backend-bugs | 1 | 2m 44s | $0.63 |
| wrdn-pii | 0 | 24.1s | $0.03 |
| wrdn-authz | 0 | 1m 24s | $0.20 |
| wrdn-code-execution | 0 | 1m 25s | $0.03 |
| wrdn-data-exfil | 0 | 1m 22s | $0.06 |
⏱ 8m 57s · 909.0k in / 28.8k out · $1.13