Skip to content

Sync mailbox sender-choice contract - #70

Merged
roshanjonah merged 4 commits into
mainfrom
agent/s12-contract-integration-20261012
Oct 12, 2026
Merged

roshanjonah merged 4 commits into
mainfrom
agent/s12-contract-integration-20261012

Conversation

@roshanjonah

@roshanjonah roshanjonah commented Oct 12, 2026 •

Copy link
Copy Markdown
Member

Adds the mailbox sender-choice contract and the 30-day draft scheduling capability. Updates the generated mailbox Postman collection and API navigation.

Validation: canonical Postman regeneration and drift check, confidentiality and external-link checks, plus the required Docs CI and review.

Held for the coordinated sender-policy release. Merge order: this Docs contract, App #736, then SDK #317, followed by the release build and deployment. No merge now.

Summary by CodeRabbit

  • New Features
    • The Mailbox API now provides permitted From and Reply-To addresses and domains, reflecting inbox, credential, provider, and delivery-group restrictions. Exact domains are authorized separately; permissions are rechecked when sending.
    • Mailbox session limits now report a maximum draft scheduling period of 30 days.
  • Documentation
    • Added API reference and request examples for sender choices, filtering, ETag-based conditional requests, and possible errors.
    • Clarified that draft writes reject certain reserved custom headers, existing drafts containing them remain readable, omitted headers preserve saved values, and sending "custom_headers": {} clears them.

@roshanjonah roshanjonah added the major Requires review for substantial logic, schema, API, auth, or rollout changes label Oct 12, 2026
@coderabbitai

coderabbitai Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Team
  • Run ID: 30295dca-c76d-4a1d-89a4-1d55189a50b0

📥 Commits

Reviewing files that changed from the base of the PR and between 7ba16cc and 78af869.


📒 Files selected for processing (16)
  • account/api-keys.mdx
  • account/team-limits.mdx
  • developer-tools/mailbox-api/sync.mdx
  • developer-tools/postman.mdx
  • domains/index.mdx
  • getting-started/quickstart.mdx
  • integrations/email-marketing/mailwizz.mdx
  • monitoring/dashboard-logs.mdx
  • monitoring/deliverability.mdx
  • sending/accounts/delivery-groups.mdx
  • sending/accounts/google-microsoft.mdx
  • sending/accounts/http-provider.mdx
  • sending/http.mdx
  • sending/idempotency.mdx
  • sending/smtp.mdx
  • sending/template-variables.mdx

🚧 Files skipped from review as they are similar to previous changes (1)
  • sending/http.mdx

Included review availability: This review used your included allowance. 0 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 2 reviews per hour.



📝 Walkthrough

Walkthrough

The API documentation adds GET /mailbox/sender-choices, its response schema, navigation entry, and Postman examples. It also documents mailbox custom-header rules, adds a required draft_schedule_days_max session limit fixed at 30, and updates related-guide card icons.

Changes

Sender choices

Layer / File(s) Summary
Sender-choice response contract
openapi-app.json
Adds schemas for sender choices and the standard success response envelope. Choices include the origin inbox address and permitted From and Reply-To addresses and domains.
Endpoint and request examples
openapi-app.json, docs.json, postman/sendmux-mailbox.postman_collection.json
Documents optional delivery-group filtering, mailbox selection, conditional responses, and endpoint behavior. The Postman collection includes success, unchanged, and error response examples.

Mailbox documentation

Layer / File(s) Summary
Document custom-header restrictions and updates
openapi-app.json, developer-tools/mailbox-api/saved-drafts.mdx, sending/http.mdx
Documents the X-* namespace and case-insensitive rejection of three reserved SES headers. Draft updates preserve saved headers when the field is omitted and clear them when it is {}. Existing drafts with reserved headers remain readable.
Declare the draft schedule limit
openapi-app.json
Adds required integer field draft_schedule_days_max to mailbox session limits. Its only allowed value is 30.

Related-guide icons

Layer / File(s) Summary
Update related-guide card icons
account/*.mdx, developer-tools/*.mdx, domains/index.mdx, getting-started/quickstart.mdx, integrations/email-marketing/mailwizz.mdx, monitoring/*.mdx, sending/**/*.mdx
Updates related-guide icon names for API errors, sending accounts, domain settings, and delivery logs. Card titles and destinations remain unchanged.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature


Merge Risk: 🟡 Moderate · up to 78af8

Merging now would publish the new mailbox API contract before the coordinated rollout is ready. Hold this documentation update until the release is ready.

Pre-merge checks | Passed 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly identifies the main change: synchronizing the mailbox sender-choice API contract. It is concise and specific.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@roshanjonah
roshanjonah merged commit 329c7c5 into main Oct 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

major Requires review for substantial logic, schema, API, auth, or rollout changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant