Skip to content

feat(cli): wire up Fern CLI generator#170

Open
fern-support wants to merge 18 commits into
mainfrom
fs/wire-cli-gen
Open

feat(cli): wire up Fern CLI generator#170
fern-support wants to merge 18 commits into
mainfrom
fs/wire-cli-gen

Conversation

@fern-support

@fern-support fern-support commented Jun 4, 2026

Copy link
Copy Markdown
Collaborator

Description

Wires up the Fern CLI generator so a CLI SDK (agentmail-cli) is published alongside the existing SDKs. The repo becomes a multi-API workspace and the generated OpenAPI spec is committed to serve as the CLI generator's input.

Changes Made

  • Multi-API layout: existing API moves under fern/apis/api/; new fern/apis/cli/ group added (fern-cli-generator@0.8.0, publishing agentmail-cli).
  • Committed spec: openapi/openapi.yml is now committed and used as the CLI generator's input.
  • Release workflow: release-cli.yml regenerates the CLI on spec/version/config changes.
  • Misc: sync-stainless.yml targets the API explicitly; Fern CLI bumped 4.63.0 -> 5.44.8.

Prerequisites (before merge)

  • Output repo agentmail-to/agentmail-cli created
  • Fern GitHub App installed on the output repo

Testing

  • Manual review of config restructure and generator wiring
  • CLI release workflow validated end-to-end

@fern-support fern-support changed the title Fs/wire cli gen feat(cli): wire up Fern CLI generator with committed OpenAPI spec Jun 4, 2026
@fern-support fern-support changed the title feat(cli): wire up Fern CLI generator with committed OpenAPI spec feat(cli): wire up Fern CLI generator Jun 4, 2026
@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 40 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name=".github/workflows/release-cli.yml">

<violation number="1" location=".github/workflows/release-cli.yml:13">
P0: Trigger path `fern/api/cli/generators.yml` is a typo — the actual file is at `fern/apis/cli/generators.yml` (missing 's' in `apis`). The directory `fern/api/` does not exist. This means the workflow will never fire when generator version changes are pushed to `fern/apis/cli/generators.yml`, silently breaking the third trigger condition.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

Comment thread .github/workflows/release-cli.yml Outdated
# b) Fern CLI version changes
- "fern/fern.config.json"
# c) Generator version changes
- "fern/api/cli/generators.yml"

@cubic-dev-ai cubic-dev-ai Bot Jun 4, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P0: Trigger path fern/api/cli/generators.yml is a typo — the actual file is at fern/apis/cli/generators.yml (missing 's' in apis). The directory fern/api/ does not exist. This means the workflow will never fire when generator version changes are pushed to fern/apis/cli/generators.yml, silently breaking the third trigger condition.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/release-cli.yml, line 13:

<comment>Trigger path `fern/api/cli/generators.yml` is a typo — the actual file is at `fern/apis/cli/generators.yml` (missing 's' in `apis`). The directory `fern/api/` does not exist. This means the workflow will never fire when generator version changes are pushed to `fern/apis/cli/generators.yml`, silently breaking the third trigger condition.</comment>

<file context>
@@ -0,0 +1,29 @@
+      # b) Fern CLI version changes
+      - "fern/fern.config.json"
+      # c) Generator version changes
+      - "fern/api/cli/generators.yml"
+  workflow_dispatch:
+
</file context>
Suggested change
- "fern/api/cli/generators.yml"
- "fern/apis/cli/generators.yml"
Fix with cubic

cadesark and others added 11 commits June 10, 2026 16:59
… collision

The generated Rust code glob-imports the model prelude into error.rs,
so a model named Send shadows std::marker::Send and breaks the
`+ Send + Sync` trait-object bounds. x-fern-type-name renames the
generated type to SendEvent without changing the wire format.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
openapi/openapi.yml is generated output, so the inline annotation would
be lost on the next spec regen. The overrides file is merged onto the
spec only for CLI generation.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…api"

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The unscoped agentmail-cli name on npm is AgentMail's production
(Stainless-generated Go) CLI, so the generated README's install
instructions pointed at the wrong binary. Revert to agentmail-cli
when this pipeline becomes the official one.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The OpenAPI export drops the group nesting that exists in the Fern
definition, so the CLI generator flattened nested resources into
hyphenated groups (inboxes-messages send). Annotate all 63 operations
in the inboxes-*/pods-* groups so commands nest properly
(inboxes messages send). Names are camelCase per Fern convention;
smart-casing renders them kebab-case in the CLI.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ync alive

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

📋 View the side-by-side API change review

The link expires in 7 days.

🔒 Your API specs are encrypted in CI before they're uploaded. The decryption key stays in this link's URL fragment (after the #), which browsers never send to a server, so oasdiff cannot read your specs. How it works →

Posted automatically by the oasdiff GitHub Action. To turn this off (no spec upload, no comment), set review: false on the action.

@github-actions

Copy link
Copy Markdown

✨ API Changes

# API Changelog n/a vs. n/a


## API Changes

### POST /v0/agent/sign-up
- :warning: api path removed without deprecation


### POST /v0/agent/verify
- :warning: api path removed without deprecation


### GET /v0/api-keys
- :warning: deleted the `query` request parameter `ascending`
- :warning: removed the optional property `api_keys/items/inbox_id` from the response with the `200` status
- :warning: removed the optional property `api_keys/items/permissions` from the response with the `200` status
- :warning: removed the optional property `api_keys/items/pod_id` from the response with the `200` status
-  api tag `ApiKeys` added
-  api tag `APIKeys` removed


### POST /v0/api-keys
- :warning: the request property `name` became required
- :warning: removed the request property `permissions`
- :warning: removed the optional property `code` from the response with the `400` status
- :warning: removed the optional property `docs` from the response with the `400` status
- :warning: removed the optional property `fix` from the response with the `400` status
- :warning: removed the optional property `inbox_id` from the response with the `200` status
- :warning: removed the optional property `message` from the response with the `400` status
- :warning: removed the optional property `permissions` from the response with the `200` status
- :warning: removed the optional property `pod_id` from the response with the `200` status
-  api tag `ApiKeys` added
-  api tag `APIKeys` removed


### DELETE /v0/api-keys/{api_key_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status
-  api tag `ApiKeys` added
-  api tag `APIKeys` removed


### GET /v0/auth/me
- :warning: api path removed without deprecation


### GET /v0/domains
- :warning: removed the required property `domains/items/domain` from the response with the `200` status
- :warning: removed the required property `domains/items/subdomains_enabled` from the response with the `200` status
- :warning: deleted the `query` request parameter `ascending`


### POST /v0/domains
- :warning: the request property `feedback_enabled` became required
- :warning: removed the required property `domain` from the response with the `200` status
- :warning: removed the required property `subdomains_enabled` from the response with the `200` status
- :warning: removed the request property `subdomains_enabled`
- :warning: removed the optional property `code` from the response with the `400` status
- :warning: removed the optional property `docs` from the response with the `400` status
- :warning: removed the optional property `fix` from the response with the `400` status
- :warning: removed the optional property `message` from the response with the `400` status


### DELETE /v0/domains/{domain_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/domains/{domain_id}
- :warning: removed the required property `domain` from the response with the `200` status
- :warning: removed the required property `subdomains_enabled` from the response with the `200` status
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### PATCH /v0/domains/{domain_id}
- :warning: api removed without deprecation


### POST /v0/domains/{domain_id}/verify
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/domains/{domain_id}/zone-file
- :warning: removed the success response with the status `200`
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status
-  added the success response with the status `204`


### GET /v0/drafts
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `drafts/items/forward_of` from the response with the `200` status
- :warning: removed the optional property `drafts/items/in_reply_to` from the response with the `200` status
- :warning: removed the optional property `fix` from the response with the `404` status
-  added the required property `drafts/items/thread_id` to the response with the `200` status


### GET /v0/drafts/{draft_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `forward_of` from the response with the `200` status
-  added the required property `thread_id` to the response with the `200` status


### GET /v0/drafts/{draft_id}/attachments/{attachment_id}
- :warning: api path removed without deprecation


### GET /v0/inboxes
- :warning: removed the required property `inboxes/items/email` from the response with the `200` status
- :warning: deleted the `query` request parameter `ascending`
- :warning: removed the optional property `inboxes/items/metadata` from the response with the `200` status


### POST /v0/inboxes
- :warning: removed the required property `email` from the response with the `200` status
- :warning: removed the request property `metadata`
- :warning: removed the optional property `code` from the response with the `400` status
- :warning: removed the optional property `docs` from the response with the `400` status
- :warning: removed the optional property `fix` from the response with the `400` status
- :warning: removed the optional property `message` from the response with the `400` status
- :warning: removed the optional property `metadata` from the response with the `200` status
-  removed the non-success response with the status `422`


### DELETE /v0/inboxes/{inbox_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/inboxes/{inbox_id}
- :warning: removed the required property `email` from the response with the `200` status
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `metadata` from the response with the `200` status


### PATCH /v0/inboxes/{inbox_id}
- :warning: the request property `display_name` became required
- :warning: removed the required property `email` from the response with the `200` status
- :warning: removed the request property `metadata`
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `metadata` from the response with the `200` status
-  removed the non-success response with the status `400`


### GET /v0/inboxes/{inbox_id}/api-keys
- :warning: api path removed without deprecation


### POST /v0/inboxes/{inbox_id}/api-keys
- :warning: api path removed without deprecation


### DELETE /v0/inboxes/{inbox_id}/api-keys/{api_key_id}
- :warning: api path removed without deprecation


### GET /v0/inboxes/{inbox_id}/drafts
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `drafts/items/forward_of` from the response with the `200` status
- :warning: removed the optional property `drafts/items/in_reply_to` from the response with the `200` status
- :warning: removed the optional property `fix` from the response with the `404` status
-  added the required property `drafts/items/thread_id` to the response with the `200` status


### POST /v0/inboxes/{inbox_id}/drafts
- :warning: removed the request property `attachments`
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `forward_of` from the response with the `200` status
-  added the required property `thread_id` to the response with the `200` status


### DELETE /v0/inboxes/{inbox_id}/drafts/{draft_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/inboxes/{inbox_id}/drafts/{draft_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `forward_of` from the response with the `200` status
-  added the required property `thread_id` to the response with the `200` status


### PATCH /v0/inboxes/{inbox_id}/drafts/{draft_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `forward_of` from the response with the `200` status
-  added the required property `thread_id` to the response with the `200` status


### GET /v0/inboxes/{inbox_id}/drafts/{draft_id}/attachments/{attachment_id}
- :warning: api path removed without deprecation


### POST /v0/inboxes/{inbox_id}/drafts/{draft_id}/send
- :warning: request property `add_labels` list-of-types was narrowed by removing types `string` from media type `application/json`
- :warning: request property `remove_labels` list-of-types was narrowed by removing types `string` from media type `application/json`
- :warning: removed the optional property `code` from the response with the `400` status
- :warning: removed the optional property `code` from the response with the `403` status
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `400` status
- :warning: removed the optional property `docs` from the response with the `403` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `400` status
- :warning: removed the optional property `fix` from the response with the `403` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `message` from the response with the `400` status
-  the request property `add_labels` became nullable
-  the request property `remove_labels` became nullable
-  removed the non-success response with the status `409`


### GET /v0/inboxes/{inbox_id}/events
- :warning: api path removed without deprecation


### GET /v0/inboxes/{inbox_id}/lists/{direction}/{type}
- :warning: api path removed without deprecation


### POST /v0/inboxes/{inbox_id}/lists/{direction}/{type}
- :warning: api path removed without deprecation


### DELETE /v0/inboxes/{inbox_id}/lists/{direction}/{type}/{entry}
- :warning: api path removed without deprecation


### GET /v0/inboxes/{inbox_id}/lists/{direction}/{type}/{entry}
- :warning: api path removed without deprecation


### GET /v0/inboxes/{inbox_id}/messages
- :warning: deleted the `query` request parameter `from`
- :warning: deleted the `query` request parameter `include_blocked`
- :warning: deleted the `query` request parameter `include_trash`
- :warning: deleted the `query` request parameter `include_unauthenticated`
- :warning: deleted the `query` request parameter `subject`
- :warning: deleted the `query` request parameter `to`
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### POST /v0/inboxes/{inbox_id}/messages/batch-get
- :warning: api path removed without deprecation


### POST /v0/inboxes/{inbox_id}/messages/batch-update
- :warning: api path removed without deprecation


### GET /v0/inboxes/{inbox_id}/messages/search
- :warning: api path removed without deprecation


### POST /v0/inboxes/{inbox_id}/messages/send
- :warning: removed the optional property `code` from the response with the `400` status
- :warning: removed the optional property `code` from the response with the `403` status
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `400` status
- :warning: removed the optional property `docs` from the response with the `403` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `400` status
- :warning: removed the optional property `fix` from the response with the `403` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `message` from the response with the `400` status
-  removed the non-success response with the status `409`


### DELETE /v0/inboxes/{inbox_id}/messages/{message_id}
- :warning: api removed without deprecation


### GET /v0/inboxes/{inbox_id}/messages/{message_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### PATCH /v0/inboxes/{inbox_id}/messages/{message_id}
- :warning: request property `add_labels` list-of-types was narrowed by removing types `string` from media type `application/json`
- :warning: request property `remove_labels` list-of-types was narrowed by removing types `string` from media type `application/json`
- :warning: removed the optional property `code` from the response with the `400` status
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `400` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `400` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `message` from the response with the `400` status
-  the request property `add_labels` became nullable
-  the request property `remove_labels` became nullable
-  added the optional property `attachments` to the response with the `200` status
-  added the optional property `bcc` to the response with the `200` status
-  added the optional property `cc` to the response with the `200` status
-  added the optional property `extracted_html` to the response with the `200` status
-  added the optional property `extracted_text` to the response with the `200` status
-  added the optional property `headers` to the response with the `200` status
-  added the optional property `html` to the response with the `200` status
-  added the optional property `in_reply_to` to the response with the `200` status
-  added the optional property `preview` to the response with the `200` status
-  added the optional property `references` to the response with the `200` status
-  added the optional property `reply_to` to the response with the `200` status
-  added the optional property `subject` to the response with the `200` status
-  added the optional property `text` to the response with the `200` status
-  added the required property `created_at` to the response with the `200` status
-  added the required property `from` to the response with the `200` status
-  added the required property `inbox_id` to the response with the `200` status
-  added the required property `size` to the response with the `200` status
-  added the required property `thread_id` to the response with the `200` status
-  added the required property `timestamp` to the response with the `200` status
-  added the required property `to` to the response with the `200` status
-  added the required property `updated_at` to the response with the `200` status


### GET /v0/inboxes/{inbox_id}/messages/{message_id}/attachments/{attachment_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### POST /v0/inboxes/{inbox_id}/messages/{message_id}/draft-forward
- :warning: api path removed without deprecation


### POST /v0/inboxes/{inbox_id}/messages/{message_id}/draft-reply
- :warning: api path removed without deprecation


### POST /v0/inboxes/{inbox_id}/messages/{message_id}/draft-reply-all
- :warning: api path removed without deprecation


### POST /v0/inboxes/{inbox_id}/messages/{message_id}/forward
- :warning: removed the optional property `code` from the response with the `400` status
- :warning: removed the optional property `code` from the response with the `403` status
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `400` status
- :warning: removed the optional property `docs` from the response with the `403` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `400` status
- :warning: removed the optional property `fix` from the response with the `403` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `message` from the response with the `400` status
-  removed the non-success response with the status `409`


### GET /v0/inboxes/{inbox_id}/messages/{message_id}/raw
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### POST /v0/inboxes/{inbox_id}/messages/{message_id}/reply
- :warning: removed the optional property `code` from the response with the `400` status
- :warning: removed the optional property `code` from the response with the `403` status
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `400` status
- :warning: removed the optional property `docs` from the response with the `403` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `400` status
- :warning: removed the optional property `fix` from the response with the `403` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `message` from the response with the `400` status
-  removed the non-success response with the status `409`


### POST /v0/inboxes/{inbox_id}/messages/{message_id}/reply-all
- :warning: removed the optional property `code` from the response with the `400` status
- :warning: removed the optional property `code` from the response with the `403` status
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `400` status
- :warning: removed the optional property `docs` from the response with the `403` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `400` status
- :warning: removed the optional property `fix` from the response with the `403` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `message` from the response with the `400` status
-  removed the non-success response with the status `409`


### GET /v0/inboxes/{inbox_id}/metrics
-  endpoint added


### GET /v0/inboxes/{inbox_id}/metrics/events
- :warning: api path removed without deprecation


### GET /v0/inboxes/{inbox_id}/metrics/usage
- :warning: api path removed without deprecation


### GET /v0/inboxes/{inbox_id}/threads
- :warning: deleted the `query` request parameter `include_blocked`
- :warning: deleted the `query` request parameter `include_trash`
- :warning: deleted the `query` request parameter `include_unauthenticated`
- :warning: deleted the `query` request parameter `recipients`
- :warning: deleted the `query` request parameter `senders`
- :warning: deleted the `query` request parameter `subject`
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/inboxes/{inbox_id}/threads/search
- :warning: api path removed without deprecation


### DELETE /v0/inboxes/{inbox_id}/threads/{thread_id}
- :warning: deleted the `query` request parameter `permanent`
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/inboxes/{inbox_id}/threads/{thread_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### PATCH /v0/inboxes/{inbox_id}/threads/{thread_id}
- :warning: api removed without deprecation


### GET /v0/inboxes/{inbox_id}/threads/{thread_id}/attachments/{attachment_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/inboxes/{inbox_id}/webhooks
- :warning: api path removed without deprecation


### POST /v0/inboxes/{inbox_id}/webhooks
- :warning: api path removed without deprecation


### DELETE /v0/inboxes/{inbox_id}/webhooks/{webhook_id}
- :warning: api path removed without deprecation


### GET /v0/inboxes/{inbox_id}/webhooks/{webhook_id}
- :warning: api path removed without deprecation


### PATCH /v0/inboxes/{inbox_id}/webhooks/{webhook_id}
- :warning: api path removed without deprecation


### GET /v0/lists/{direction}/{type}
- :warning: api path removed without deprecation


### POST /v0/lists/{direction}/{type}
- :warning: api path removed without deprecation


### DELETE /v0/lists/{direction}/{type}/{entry}
- :warning: api path removed without deprecation


### GET /v0/lists/{direction}/{type}/{entry}
- :warning: api path removed without deprecation


### GET /v0/metrics
-  endpoint added


### GET /v0/metrics/events
- :warning: api path removed without deprecation


### GET /v0/metrics/usage
- :warning: api path removed without deprecation


### GET /v0/organizations
- :warning: removed the optional property `authentication_id` from the response with the `200` status
- :warning: removed the optional property `authentication_type` from the response with the `200` status
- :warning: removed the optional property `billing_id` from the response with the `200` status
- :warning: removed the optional property `billing_subscription_id` from the response with the `200` status
- :warning: removed the optional property `billing_type` from the response with the `200` status


### GET /v0/pods
- :warning: deleted the `query` request parameter `ascending`


### POST /v0/pods
- :warning: removed the optional property `code` from the response with the `400` status
- :warning: removed the optional property `docs` from the response with the `400` status
- :warning: removed the optional property `fix` from the response with the `400` status
- :warning: removed the optional property `message` from the response with the `400` status


### DELETE /v0/pods/{pod_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/pods/{pod_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/pods/{pod_id}/api-keys
- :warning: api path removed without deprecation


### POST /v0/pods/{pod_id}/api-keys
- :warning: api path removed without deprecation


### DELETE /v0/pods/{pod_id}/api-keys/{api_key_id}
- :warning: api path removed without deprecation


### GET /v0/pods/{pod_id}/domains
- :warning: removed the required property `domains/items/domain` from the response with the `200` status
- :warning: removed the required property `domains/items/subdomains_enabled` from the response with the `200` status
- :warning: deleted the `query` request parameter `ascending`
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### POST /v0/pods/{pod_id}/domains
- :warning: the request property `feedback_enabled` became required
- :warning: removed the required property `domain` from the response with the `200` status
- :warning: removed the required property `subdomains_enabled` from the response with the `200` status
- :warning: removed the request property `subdomains_enabled`
- :warning: removed the optional property `code` from the response with the `400` status
- :warning: removed the optional property `docs` from the response with the `400` status
- :warning: removed the optional property `fix` from the response with the `400` status
- :warning: removed the optional property `message` from the response with the `400` status


### DELETE /v0/pods/{pod_id}/domains/{domain_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/pods/{pod_id}/domains/{domain_id}
- :warning: api removed without deprecation


### PATCH /v0/pods/{pod_id}/domains/{domain_id}
- :warning: api removed without deprecation


### POST /v0/pods/{pod_id}/domains/{domain_id}/verify
- :warning: api path removed without deprecation


### GET /v0/pods/{pod_id}/domains/{domain_id}/zone-file
- :warning: api path removed without deprecation


### GET /v0/pods/{pod_id}/drafts
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `drafts/items/forward_of` from the response with the `200` status
- :warning: removed the optional property `drafts/items/in_reply_to` from the response with the `200` status
- :warning: removed the optional property `fix` from the response with the `404` status
-  added the required property `drafts/items/thread_id` to the response with the `200` status


### GET /v0/pods/{pod_id}/drafts/{draft_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `forward_of` from the response with the `200` status
-  added the required property `thread_id` to the response with the `200` status


### GET /v0/pods/{pod_id}/drafts/{draft_id}/attachments/{attachment_id}
- :warning: api path removed without deprecation


### GET /v0/pods/{pod_id}/inboxes
- :warning: removed the required property `inboxes/items/email` from the response with the `200` status
- :warning: deleted the `query` request parameter `ascending`
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `inboxes/items/metadata` from the response with the `200` status


### POST /v0/pods/{pod_id}/inboxes
- :warning: removed the required property `email` from the response with the `200` status
- :warning: removed the request property `metadata`
- :warning: removed the optional property `code` from the response with the `400` status
- :warning: removed the optional property `docs` from the response with the `400` status
- :warning: removed the optional property `fix` from the response with the `400` status
- :warning: removed the optional property `message` from the response with the `400` status
- :warning: removed the optional property `metadata` from the response with the `200` status
-  removed the non-success response with the status `422`


### DELETE /v0/pods/{pod_id}/inboxes/{inbox_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/pods/{pod_id}/inboxes/{inbox_id}
- :warning: removed the required property `email` from the response with the `200` status
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `metadata` from the response with the `200` status


### PATCH /v0/pods/{pod_id}/inboxes/{inbox_id}
- :warning: api removed without deprecation


### GET /v0/pods/{pod_id}/lists/{direction}/{type}
- :warning: api path removed without deprecation


### POST /v0/pods/{pod_id}/lists/{direction}/{type}
- :warning: api path removed without deprecation


### DELETE /v0/pods/{pod_id}/lists/{direction}/{type}/{entry}
- :warning: api path removed without deprecation


### GET /v0/pods/{pod_id}/lists/{direction}/{type}/{entry}
- :warning: api path removed without deprecation


### GET /v0/pods/{pod_id}/metrics/events
- :warning: api path removed without deprecation


### GET /v0/pods/{pod_id}/metrics/usage
- :warning: api path removed without deprecation


### GET /v0/pods/{pod_id}/threads
- :warning: deleted the `query` request parameter `include_blocked`
- :warning: deleted the `query` request parameter `include_trash`
- :warning: deleted the `query` request parameter `include_unauthenticated`
- :warning: deleted the `query` request parameter `recipients`
- :warning: deleted the `query` request parameter `senders`
- :warning: deleted the `query` request parameter `subject`
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/pods/{pod_id}/threads/search
- :warning: api path removed without deprecation


### DELETE /v0/pods/{pod_id}/threads/{thread_id}
- :warning: api removed without deprecation


### GET /v0/pods/{pod_id}/threads/{thread_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### PATCH /v0/pods/{pod_id}/threads/{thread_id}
- :warning: api removed without deprecation


### GET /v0/pods/{pod_id}/threads/{thread_id}/attachments/{attachment_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/pods/{pod_id}/webhooks
- :warning: api path removed without deprecation


### POST /v0/pods/{pod_id}/webhooks
- :warning: api path removed without deprecation


### DELETE /v0/pods/{pod_id}/webhooks/{webhook_id}
- :warning: api path removed without deprecation


### GET /v0/pods/{pod_id}/webhooks/{webhook_id}
- :warning: api path removed without deprecation


### PATCH /v0/pods/{pod_id}/webhooks/{webhook_id}
- :warning: api path removed without deprecation


### GET /v0/threads
- :warning: deleted the `query` request parameter `include_blocked`
- :warning: deleted the `query` request parameter `include_trash`
- :warning: deleted the `query` request parameter `include_unauthenticated`
- :warning: deleted the `query` request parameter `recipients`
- :warning: deleted the `query` request parameter `senders`
- :warning: deleted the `query` request parameter `subject`
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/threads/search
- :warning: api path removed without deprecation


### DELETE /v0/threads/{thread_id}
- :warning: api removed without deprecation


### GET /v0/threads/{thread_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### PATCH /v0/threads/{thread_id}
- :warning: api removed without deprecation


### GET /v0/threads/{thread_id}/attachments/{attachment_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/webhooks
- :warning: deleted the `query` request parameter `ascending`
-  removed the `message.received.blocked` enum value from the `webhooks/items/event_types/items/` response property for the response status `200`
-  removed the `message.received.spam` enum value from the `webhooks/items/event_types/items/` response property for the response status `200`
-  removed the `message.received.unauthenticated` enum value from the `webhooks/items/event_types/items/` response property for the response status `200`


### POST /v0/webhooks
- :warning: added the new required request property `event_types`
- :warning: added the new required request property `url`
- :warning: removed `#/components/schemas/webhooksCreatePodWebhookRequest` from the request body `allOf` list
- :warning: removed the optional property `code` from the response with the `400` status
- :warning: removed the optional property `docs` from the response with the `400` status
- :warning: removed the optional property `fix` from the response with the `400` status
- :warning: removed the optional property `message` from the response with the `400` status
-  added the new optional request property `client_id`
-  added the new optional request property `inbox_ids`
-  removed the `message.received.blocked` enum value from the `event_types/items/` response property for the response status `200`
-  removed the `message.received.spam` enum value from the `event_types/items/` response property for the response status `200`
-  removed the `message.received.unauthenticated` enum value from the `event_types/items/` response property for the response status `200`


### DELETE /v0/webhooks/{webhook_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status


### GET /v0/webhooks/{webhook_id}
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `404` status
-  removed the `message.received.blocked` enum value from the `event_types/items/` response property for the response status `200`
-  removed the `message.received.spam` enum value from the `event_types/items/` response property for the response status `200`
-  removed the `message.received.unauthenticated` enum value from the `event_types/items/` response property for the response status `200`


### PATCH /v0/webhooks/{webhook_id}
- :warning: removed `#/components/schemas/webhooksUpdatePodWebhookRequest` from the request body `allOf` list
- :warning: removed the optional property `code` from the response with the `400` status
- :warning: removed the optional property `code` from the response with the `404` status
- :warning: removed the optional property `docs` from the response with the `400` status
- :warning: removed the optional property `docs` from the response with the `404` status
- :warning: removed the optional property `fix` from the response with the `400` status
- :warning: removed the optional property `fix` from the response with the `404` status
- :warning: removed the optional property `message` from the response with the `400` status
-  added the new optional request property `add_inbox_ids`
-  added the new optional request property `remove_inbox_ids`
-  removed the `message.received.blocked` enum value from the `event_types/items/` response property for the response status `200`
-  removed the `message.received.spam` enum value from the `event_types/items/` response property for the response status `200`
-  removed the `message.received.unauthenticated` enum value from the `event_types/items/` response property for the response status `200`




## Components
-  removed the schema `AgentSignupRequest`
-  removed the schema `AgentSignupResponse`
-  removed the schema `AgentVerifyRequest`
-  removed the schema `AgentVerifyResponse`
-  removed the schema `ApiKeyPermissions`
-  removed the schema `BatchGetMessagesMessageIds`
-  removed the schema `BatchGetMessagesRequest`
-  removed the schema `BatchGetMessagesResponse`
-  removed the schema `BatchUpdateMessagesMessageIds`
-  removed the schema `BatchUpdateMessagesRequest`
-  removed the schema `BatchUpdateMessagesResponse`
-  removed the schema `CreateDraftForwardRequest`
-  removed the schema `CreateDraftReplyAllRequest`
-  removed the schema `CreateDraftReplyRequest`
-  removed the schema `CreateListEntryRequest`
-  removed the schema `Descending`
-  removed the schema `Direction`
-  removed the schema `DraftForwardOf`
-  removed the schema `DraftReplyAll`
-  removed the schema `End`
-  removed the schema `EntryType`
-  removed the schema `Error`
-  removed the schema `ErrorCode`
-  removed the schema `ErrorDocs`
-  removed the schema `ErrorFix`
-  removed the schema `ErrorMessage`
-  removed the schema `Identity`
-  removed the schema `InboxEvent`
-  removed the schema `InboxEventId`
-  removed the schema `InboxEventType`
-  removed the schema `IncludeBlocked`
-  removed the schema `IncludeTrash`
-  removed the schema `IncludeUnauthenticated`
-  removed the schema `ListEntry`
-  removed the schema `ListEntryBase`
-  removed the schema `ListInboxEventsResponse`
-  removed the schema `ListListEntriesResponse`
-  removed the schema `ListType`
-  removed the schema `MessageReceivedEventType`
-  removed the schema `MetricBucket`
-  removed the schema `MetricLimit`
-  removed the schema `Period`
-  removed the schema `PodListEntry`
-  removed the schema `PodListListEntriesResponse`
-  removed the schema `Query`
-  removed the schema `QueryMetricsResponse`
-  removed the schema `QueryUsageResponse`
-  removed the schema `ScopeType`
-  removed the schema `SearchMessageHighlights`
-  removed the schema `SearchMessageItem`
-  removed the schema `SearchMessagesResponse`
-  removed the schema `SearchThreadHighlights`
-  removed the schema `SearchThreadItem`
-  removed the schema `SearchThreadsResponse`
-  removed the schema `Start`
-  removed the schema `Status`
-  removed the schema `SubdomainsEnabled`
-  removed the schema `UpdateDomainRequest`
-  removed the schema `UpdateMessageLabels`
-  removed the schema `UpdateMessageResponse`
-  removed the schema `UpdateThreadRequest`
-  removed the schema `UpdateThreadResponse`
-  removed the schema `UsagePoint`
-  removed the schema `UsageType`
-  removed the schema `UsageTypes`
-  removed the schema `inboxesEmail`
-  removed the schema `inboxesMetadata`
-  removed the schema `inboxesMetadataValue`
-  removed the schema `inboxesUpdateMetadata`
-  removed the schema `webhooksCreateInboxWebhookRequest`
-  removed the schema `webhooksCreatePodWebhookRequest`
-  removed the schema `webhooksCreateWebhookEventTypes`
-  removed the schema `webhooksUpdateInboxWebhookRequest`
-  removed the schema `webhooksUpdatePodWebhookRequest`
-  removed the schema `webhooksUpdateWebhookEventTypes`

💡 Download api-changelog-diff artifact or tag @fern Writer in #github-prs for changelog.

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.

3 participants