Skip to content

feat(api): add analytics and project report forwarding - #54

Merged
bjarn merged 2 commits into
mainfrom
codex/analytics-report-forwarding
Oct 1, 2026
Merged

bjarn merged 2 commits into
mainfrom
codex/analytics-report-forwarding

Conversation

@bjarn

@bjarn bjarn commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Review sending-openapi.json and team-openapi.json from the current documentation source.

Source fingerprints:

  • sending: c2aafb6d48a2572e688224629076748322f9c257394f18fe8879efb3f05059cb
  • team: d5525f1ce1865a3f8aee979f296c535d0029791450d89794731e70f7125b199c

The source specifications remain outside this repository and are not changed.

Changes

Add POST /analytics and its request and response types. Add project report-forwarding retrieve, update, delete, verify, and resend-code methods. Handle the empty HTTP 204 delete response.

Update project, route, webhook, RBAC, and suppression contracts. Keep project creation API tokens and both successful suppression deletion results. Keep existing public type names, scheduling helpers, builders, and cursor types. Check all 55 object component field sets against the current source. No public model type names are removed.

Keep string-valued header maps for single-message and batch sending. Both current source schemas define headers as an object with string-valued additional properties.

Validation

The Gradle test suite passed. New tests check all six operations, escaped path parameters, Bearer auth, bodies, nullable response fields, and HTTP 204.

Compatibility corrections

Keep CancelScheduledMessageResponse as a subclass of RescheduleMessageResponse. Old source code that assigns cancel() to RescheduleMessageResponse compiles, and Jackson reads the inherited fields. This restores source compatibility, not the old JVM method descriptor; already compiled clients must rebuild. Tests check cancel auth, path, null scheduled_at, and inbound process HTTP 202. All 45 tests and the Gradle build passed.

Keep the specification corrections for fields and enum values that the API no longer returns or accepts. Do not restore those as current wire contracts.

@bjarn
bjarn requested a review from a team as a code owner September 30, 2026 21:07
@bjarn
bjarn merged commit 854cfae into main Oct 1, 2026
19 checks passed
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