From 399aa1468885359b250b747eedf7fa0b520832fd Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 14 May 2026 22:42:30 +0000 Subject: [PATCH 1/7] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index e3c221d..6dcaa40 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 94 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/agentmail/agentmail-ec4e26c46715d10a0de953666e890ab67f97e61f7355971ed728942f957100f8.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/agentmail/agentmail-d2060263e70ea4eb400ae61bc348c1768aed3ce26a815d8151eb3629db5ef281.yml openapi_spec_hash: 74a582c32cd3a4f6e2afb1e84eccbb21 -config_hash: 8ab5eb1bfc282411f0283d386a319f23 +config_hash: 79c13cf7727d64173933e0d367570632 From c1a4c8cd89313015584e5546fb04c0ca72fb1d9b Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 21 May 2026 21:15:02 +0000 Subject: [PATCH 2/7] feat(api): api update --- .stats.yml | 4 ++-- inboxlist.go | 9 +++++++++ list.go | 9 +++++++++ podlist.go | 9 +++++++++ 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 6dcaa40..af032fa 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 94 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/agentmail/agentmail-d2060263e70ea4eb400ae61bc348c1768aed3ce26a815d8151eb3629db5ef281.yml -openapi_spec_hash: 74a582c32cd3a4f6e2afb1e84eccbb21 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/agentmail/agentmail-f325bb0579f69b8bb861e4d60fb032d9f57e8706c56235840231cb632d21faba.yml +openapi_spec_hash: a384bfeaecdb09716178baae7a0e3a72 config_hash: 79c13cf7727d64173933e0d367570632 diff --git a/inboxlist.go b/inboxlist.go index 1d0b6eb..d5f522c 100644 --- a/inboxlist.go +++ b/inboxlist.go @@ -138,6 +138,8 @@ type InboxListNewResponse struct { PodID string `json:"pod_id" api:"required"` // ID of inbox, if entry is inbox-scoped. InboxID string `json:"inbox_id" api:"nullable"` + // Whether the entry is read-only and cannot be deleted via the API. + ReadOnly bool `json:"read_only" api:"nullable"` // Reason for adding the entry. Reason string `json:"reason" api:"nullable"` // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. @@ -150,6 +152,7 @@ type InboxListNewResponse struct { OrganizationID respjson.Field PodID respjson.Field InboxID respjson.Field + ReadOnly respjson.Field Reason respjson.Field ExtraFields map[string]respjson.Field raw string @@ -236,6 +239,8 @@ type InboxListListResponseEntry struct { PodID string `json:"pod_id" api:"required"` // ID of inbox, if entry is inbox-scoped. InboxID string `json:"inbox_id" api:"nullable"` + // Whether the entry is read-only and cannot be deleted via the API. + ReadOnly bool `json:"read_only" api:"nullable"` // Reason for adding the entry. Reason string `json:"reason" api:"nullable"` // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. @@ -248,6 +253,7 @@ type InboxListListResponseEntry struct { OrganizationID respjson.Field PodID respjson.Field InboxID respjson.Field + ReadOnly respjson.Field Reason respjson.Field ExtraFields map[string]respjson.Field raw string @@ -283,6 +289,8 @@ type InboxListGetResponse struct { PodID string `json:"pod_id" api:"required"` // ID of inbox, if entry is inbox-scoped. InboxID string `json:"inbox_id" api:"nullable"` + // Whether the entry is read-only and cannot be deleted via the API. + ReadOnly bool `json:"read_only" api:"nullable"` // Reason for adding the entry. Reason string `json:"reason" api:"nullable"` // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. @@ -295,6 +303,7 @@ type InboxListGetResponse struct { OrganizationID respjson.Field PodID respjson.Field InboxID respjson.Field + ReadOnly respjson.Field Reason respjson.Field ExtraFields map[string]respjson.Field raw string diff --git a/list.go b/list.go index 39deeea..7e10569 100644 --- a/list.go +++ b/list.go @@ -118,6 +118,8 @@ type ListNewResponse struct { ListType ListNewResponseListType `json:"list_type" api:"required"` // ID of organization. OrganizationID string `json:"organization_id" api:"required"` + // Whether the entry is read-only and cannot be deleted via the API. + ReadOnly bool `json:"read_only" api:"nullable"` // Reason for adding the entry. Reason string `json:"reason" api:"nullable"` // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. @@ -128,6 +130,7 @@ type ListNewResponse struct { EntryType respjson.Field ListType respjson.Field OrganizationID respjson.Field + ReadOnly respjson.Field Reason respjson.Field ExtraFields map[string]respjson.Field raw string @@ -210,6 +213,8 @@ type ListListResponseEntry struct { ListType string `json:"list_type" api:"required"` // ID of organization. OrganizationID string `json:"organization_id" api:"required"` + // Whether the entry is read-only and cannot be deleted via the API. + ReadOnly bool `json:"read_only" api:"nullable"` // Reason for adding the entry. Reason string `json:"reason" api:"nullable"` // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. @@ -220,6 +225,7 @@ type ListListResponseEntry struct { EntryType respjson.Field ListType respjson.Field OrganizationID respjson.Field + ReadOnly respjson.Field Reason respjson.Field ExtraFields map[string]respjson.Field raw string @@ -251,6 +257,8 @@ type ListGetResponse struct { ListType ListGetResponseListType `json:"list_type" api:"required"` // ID of organization. OrganizationID string `json:"organization_id" api:"required"` + // Whether the entry is read-only and cannot be deleted via the API. + ReadOnly bool `json:"read_only" api:"nullable"` // Reason for adding the entry. Reason string `json:"reason" api:"nullable"` // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. @@ -261,6 +269,7 @@ type ListGetResponse struct { EntryType respjson.Field ListType respjson.Field OrganizationID respjson.Field + ReadOnly respjson.Field Reason respjson.Field ExtraFields map[string]respjson.Field raw string diff --git a/podlist.go b/podlist.go index c240af5..33dfad0 100644 --- a/podlist.go +++ b/podlist.go @@ -138,6 +138,8 @@ type PodListNewResponse struct { PodID string `json:"pod_id" api:"required"` // ID of inbox, if entry is inbox-scoped. InboxID string `json:"inbox_id" api:"nullable"` + // Whether the entry is read-only and cannot be deleted via the API. + ReadOnly bool `json:"read_only" api:"nullable"` // Reason for adding the entry. Reason string `json:"reason" api:"nullable"` // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. @@ -150,6 +152,7 @@ type PodListNewResponse struct { OrganizationID respjson.Field PodID respjson.Field InboxID respjson.Field + ReadOnly respjson.Field Reason respjson.Field ExtraFields map[string]respjson.Field raw string @@ -236,6 +239,8 @@ type PodListListResponseEntry struct { PodID string `json:"pod_id" api:"required"` // ID of inbox, if entry is inbox-scoped. InboxID string `json:"inbox_id" api:"nullable"` + // Whether the entry is read-only and cannot be deleted via the API. + ReadOnly bool `json:"read_only" api:"nullable"` // Reason for adding the entry. Reason string `json:"reason" api:"nullable"` // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. @@ -248,6 +253,7 @@ type PodListListResponseEntry struct { OrganizationID respjson.Field PodID respjson.Field InboxID respjson.Field + ReadOnly respjson.Field Reason respjson.Field ExtraFields map[string]respjson.Field raw string @@ -283,6 +289,8 @@ type PodListGetResponse struct { PodID string `json:"pod_id" api:"required"` // ID of inbox, if entry is inbox-scoped. InboxID string `json:"inbox_id" api:"nullable"` + // Whether the entry is read-only and cannot be deleted via the API. + ReadOnly bool `json:"read_only" api:"nullable"` // Reason for adding the entry. Reason string `json:"reason" api:"nullable"` // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. @@ -295,6 +303,7 @@ type PodListGetResponse struct { OrganizationID respjson.Field PodID respjson.Field InboxID respjson.Field + ReadOnly respjson.Field Reason respjson.Field ExtraFields map[string]respjson.Field raw string From d915d4bca3c61f4891b8bc4e947469c0462ad922 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 25 May 2026 22:31:48 +0000 Subject: [PATCH 3/7] feat(api): api update --- .stats.yml | 4 ++-- agent.go | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.stats.yml b/.stats.yml index af032fa..738c9e1 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 94 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/agentmail/agentmail-f325bb0579f69b8bb861e4d60fb032d9f57e8706c56235840231cb632d21faba.yml -openapi_spec_hash: a384bfeaecdb09716178baae7a0e3a72 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/agentmail/agentmail-baa5e7d5288ca8482608a30ba86aeb8016faf449f051acc497db07a77c108aa1.yml +openapi_spec_hash: 6e17b5425205a12090b5d6da2f28fd3a config_hash: 79c13cf7727d64173933e0d367570632 diff --git a/agent.go b/agent.go index a04e484..9f188e6 100644 --- a/agent.go +++ b/agent.go @@ -65,7 +65,10 @@ func (r *AgentService) SignUp(ctx context.Context, body AgentSignUpParams, opts // `agent_verified`, the send allowlist is removed, and free plan entitlements are // applied. // -// The OTP expires after 24 hours and allows a maximum of 10 attempts. +// The OTP expires after 24 hours and allows a maximum of 10 attempts. If you run +// into any difficulties receiving the OTP code, you can also create an account on +// [console.agentmail.to](https://console.agentmail.to) using the human email +// address you provided to verify your account. // // **CLI:** // From 27e93742f95d6023129b15c14d7084dae7936fbe Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 29 May 2026 04:34:06 +0000 Subject: [PATCH 4/7] feat(api): api update --- .stats.yml | 4 +-- inbox.go | 91 +++++++++++++++++++++++++++++++++++++++++++++++- inbox_test.go | 16 +++++++-- podinbox.go | 24 ++++++++++++- podinbox_test.go | 16 +++++++-- 5 files changed, 141 insertions(+), 10 deletions(-) diff --git a/.stats.yml b/.stats.yml index 738c9e1..27bf43c 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 94 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/agentmail/agentmail-baa5e7d5288ca8482608a30ba86aeb8016faf449f051acc497db07a77c108aa1.yml -openapi_spec_hash: 6e17b5425205a12090b5d6da2f28fd3a +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/agentmail/agentmail-f526c4a9421a691b58bc19a0518b433e0a9ea3e6e5ad2f555f2cc2957c7943aa.yml +openapi_spec_hash: b1d70f54a651651c1894b5987c5c2392 config_hash: 79c13cf7727d64173933e0d367570632 diff --git a/inbox.go b/inbox.go index ceb6ff5..3a4ada6 100644 --- a/inbox.go +++ b/inbox.go @@ -4,6 +4,7 @@ package agentmail import ( "context" + "encoding/json" "errors" "fmt" "net/http" @@ -153,6 +154,8 @@ type CreateInboxParam struct { Domain param.Opt[string] `json:"domain,omitzero"` // Username of address. Randomly generated if not specified. Username param.Opt[string] `json:"username,omitzero"` + // Custom metadata to attach to the inbox. + Metadata map[string]CreateInboxMetadataUnionParam `json:"metadata,omitzero"` paramObj } @@ -164,6 +167,23 @@ func (r *CreateInboxParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, r) } +// Only one field can be non-zero. +// +// Use [param.IsOmitted] to confirm if a field is set. +type CreateInboxMetadataUnionParam struct { + OfString param.Opt[string] `json:",omitzero,inline"` + OfFloat param.Opt[float64] `json:",omitzero,inline"` + OfBool param.Opt[bool] `json:",omitzero,inline"` + paramUnion +} + +func (u CreateInboxMetadataUnionParam) MarshalJSON() ([]byte, error) { + return param.MarshalUnion(u, u.OfString, u.OfFloat, u.OfBool) +} +func (u *CreateInboxMetadataUnionParam) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, u) +} + type Inbox struct { // Time at which inbox was created. CreatedAt time.Time `json:"created_at" api:"required" format:"date-time"` @@ -179,6 +199,8 @@ type Inbox struct { ClientID string `json:"client_id" api:"nullable"` // Display name: `Display Name `. DisplayName string `json:"display_name" api:"nullable"` + // Custom metadata attached to the inbox. + Metadata map[string]InboxMetadataUnion `json:"metadata" api:"nullable"` // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. JSON struct { CreatedAt respjson.Field @@ -188,6 +210,7 @@ type Inbox struct { UpdatedAt respjson.Field ClientID respjson.Field DisplayName respjson.Field + Metadata respjson.Field ExtraFields map[string]respjson.Field raw string } `json:"-"` @@ -199,6 +222,50 @@ func (r *Inbox) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, r) } +// InboxMetadataUnion contains all possible properties and values from [string], +// [float64], [bool]. +// +// Use the methods beginning with 'As' to cast the union to one of its variants. +// +// If the underlying value is not a json object, one of the following properties +// will be valid: OfString OfFloat OfBool] +type InboxMetadataUnion struct { + // This field will be present if the value is a [string] instead of an object. + OfString string `json:",inline"` + // This field will be present if the value is a [float64] instead of an object. + OfFloat float64 `json:",inline"` + // This field will be present if the value is a [bool] instead of an object. + OfBool bool `json:",inline"` + JSON struct { + OfString respjson.Field + OfFloat respjson.Field + OfBool respjson.Field + raw string + } `json:"-"` +} + +func (u InboxMetadataUnion) AsString() (v string) { + apijson.UnmarshalRoot(json.RawMessage(u.JSON.raw), &v) + return +} + +func (u InboxMetadataUnion) AsFloat() (v float64) { + apijson.UnmarshalRoot(json.RawMessage(u.JSON.raw), &v) + return +} + +func (u InboxMetadataUnion) AsBool() (v bool) { + apijson.UnmarshalRoot(json.RawMessage(u.JSON.raw), &v) + return +} + +// Returns the unmodified JSON received from the API +func (u InboxMetadataUnion) RawJSON() string { return u.JSON.raw } + +func (r *InboxMetadataUnion) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, r) +} + type ListInboxes struct { // Number of items returned. Count int64 `json:"count" api:"required"` @@ -274,7 +341,12 @@ func (r *InboxNewParams) UnmarshalJSON(data []byte) error { type InboxUpdateParams struct { // Display name: `Display Name `. - DisplayName string `json:"display_name" api:"required"` + DisplayName param.Opt[string] `json:"display_name,omitzero"` + // Metadata to merge into the inbox's existing metadata. Keys you include are added + // or overwritten; keys you omit are left unchanged. To remove a single key, send + // it with a null value. To clear all metadata, send `metadata` as null. Provide at + // least one of `display_name` or `metadata`. + Metadata map[string]InboxUpdateParamsMetadataUnion `json:"metadata,omitzero"` paramObj } @@ -286,6 +358,23 @@ func (r *InboxUpdateParams) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, r) } +// Only one field can be non-zero. +// +// Use [param.IsOmitted] to confirm if a field is set. +type InboxUpdateParamsMetadataUnion struct { + OfString param.Opt[string] `json:",omitzero,inline"` + OfFloat param.Opt[float64] `json:",omitzero,inline"` + OfBool param.Opt[bool] `json:",omitzero,inline"` + paramUnion +} + +func (u InboxUpdateParamsMetadataUnion) MarshalJSON() ([]byte, error) { + return param.MarshalUnion(u, u.OfString, u.OfFloat, u.OfBool) +} +func (u *InboxUpdateParamsMetadataUnion) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, u) +} + type InboxListParams struct { // Sort in ascending temporal order. Ascending param.Opt[bool] `query:"ascending,omitzero" json:"-"` diff --git a/inbox_test.go b/inbox_test.go index eae32c7..4bec2a9 100644 --- a/inbox_test.go +++ b/inbox_test.go @@ -32,7 +32,12 @@ func TestInboxNewWithOptionalParams(t *testing.T) { ClientID: agentmail.String("client_id"), DisplayName: agentmail.String("display_name"), Domain: agentmail.String("domain"), - Username: agentmail.String("username"), + Metadata: map[string]agentmail.CreateInboxMetadataUnionParam{ + "foo": { + OfString: agentmail.String("string"), + }, + }, + Username: agentmail.String("username"), }, }) if err != nil { @@ -44,7 +49,7 @@ func TestInboxNewWithOptionalParams(t *testing.T) { } } -func TestInboxUpdate(t *testing.T) { +func TestInboxUpdateWithOptionalParams(t *testing.T) { t.Skip("Mock server tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { @@ -61,7 +66,12 @@ func TestInboxUpdate(t *testing.T) { context.TODO(), "inbox_id", agentmail.InboxUpdateParams{ - DisplayName: "display_name", + DisplayName: agentmail.String("display_name"), + Metadata: map[string]agentmail.InboxUpdateParamsMetadataUnion{ + "foo": { + OfString: agentmail.String("string"), + }, + }, }, ) if err != nil { diff --git a/podinbox.go b/podinbox.go index 81fca6c..5555462 100644 --- a/podinbox.go +++ b/podinbox.go @@ -151,7 +151,12 @@ type PodInboxUpdateParams struct { // ID of pod. PodID string `path:"pod_id" api:"required" json:"-"` // Display name: `Display Name `. - DisplayName string `json:"display_name" api:"required"` + DisplayName param.Opt[string] `json:"display_name,omitzero"` + // Metadata to merge into the inbox's existing metadata. Keys you include are added + // or overwritten; keys you omit are left unchanged. To remove a single key, send + // it with a null value. To clear all metadata, send `metadata` as null. Provide at + // least one of `display_name` or `metadata`. + Metadata map[string]PodInboxUpdateParamsMetadataUnion `json:"metadata,omitzero"` paramObj } @@ -163,6 +168,23 @@ func (r *PodInboxUpdateParams) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, r) } +// Only one field can be non-zero. +// +// Use [param.IsOmitted] to confirm if a field is set. +type PodInboxUpdateParamsMetadataUnion struct { + OfString param.Opt[string] `json:",omitzero,inline"` + OfFloat param.Opt[float64] `json:",omitzero,inline"` + OfBool param.Opt[bool] `json:",omitzero,inline"` + paramUnion +} + +func (u PodInboxUpdateParamsMetadataUnion) MarshalJSON() ([]byte, error) { + return param.MarshalUnion(u, u.OfString, u.OfFloat, u.OfBool) +} +func (u *PodInboxUpdateParamsMetadataUnion) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, u) +} + type PodInboxListParams struct { // Sort in ascending temporal order. Ascending param.Opt[bool] `query:"ascending,omitzero" json:"-"` diff --git a/podinbox_test.go b/podinbox_test.go index 11d50cf..1e503df 100644 --- a/podinbox_test.go +++ b/podinbox_test.go @@ -34,7 +34,12 @@ func TestPodInboxNewWithOptionalParams(t *testing.T) { ClientID: agentmail.String("client_id"), DisplayName: agentmail.String("display_name"), Domain: agentmail.String("domain"), - Username: agentmail.String("username"), + Metadata: map[string]agentmail.CreateInboxMetadataUnionParam{ + "foo": { + OfString: agentmail.String("string"), + }, + }, + Username: agentmail.String("username"), }, }, ) @@ -47,7 +52,7 @@ func TestPodInboxNewWithOptionalParams(t *testing.T) { } } -func TestPodInboxUpdate(t *testing.T) { +func TestPodInboxUpdateWithOptionalParams(t *testing.T) { t.Skip("Mock server tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { @@ -65,7 +70,12 @@ func TestPodInboxUpdate(t *testing.T) { "inbox_id", agentmail.PodInboxUpdateParams{ PodID: "pod_id", - DisplayName: "display_name", + DisplayName: agentmail.String("display_name"), + Metadata: map[string]agentmail.PodInboxUpdateParamsMetadataUnion{ + "foo": { + OfString: agentmail.String("string"), + }, + }, }, ) if err != nil { From 25e6ee7de1c451a47316e426a21c135fd89e07fe Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 30 May 2026 00:59:49 +0000 Subject: [PATCH 5/7] feat(api): api update --- .stats.yml | 4 ++-- inbox.go | 3 +-- podinbox.go | 3 +-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.stats.yml b/.stats.yml index 27bf43c..a7f9317 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 94 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/agentmail/agentmail-f526c4a9421a691b58bc19a0518b433e0a9ea3e6e5ad2f555f2cc2957c7943aa.yml -openapi_spec_hash: b1d70f54a651651c1894b5987c5c2392 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/agentmail/agentmail-b80788ef1d4d64a53e37fc6692455a5a44d8f2fbc40a4e01b505a02a71791b3e.yml +openapi_spec_hash: ffe13a8a9a0af9e1c9a2acc38a86093c config_hash: 79c13cf7727d64173933e0d367570632 diff --git a/inbox.go b/inbox.go index 3a4ada6..a81c21b 100644 --- a/inbox.go +++ b/inbox.go @@ -344,8 +344,7 @@ type InboxUpdateParams struct { DisplayName param.Opt[string] `json:"display_name,omitzero"` // Metadata to merge into the inbox's existing metadata. Keys you include are added // or overwritten; keys you omit are left unchanged. To remove a single key, send - // it with a null value. To clear all metadata, send `metadata` as null. Provide at - // least one of `display_name` or `metadata`. + // it with a null value. To clear all metadata, send `metadata` as null. Metadata map[string]InboxUpdateParamsMetadataUnion `json:"metadata,omitzero"` paramObj } diff --git a/podinbox.go b/podinbox.go index 5555462..faa927d 100644 --- a/podinbox.go +++ b/podinbox.go @@ -154,8 +154,7 @@ type PodInboxUpdateParams struct { DisplayName param.Opt[string] `json:"display_name,omitzero"` // Metadata to merge into the inbox's existing metadata. Keys you include are added // or overwritten; keys you omit are left unchanged. To remove a single key, send - // it with a null value. To clear all metadata, send `metadata` as null. Provide at - // least one of `display_name` or `metadata`. + // it with a null value. To clear all metadata, send `metadata` as null. Metadata map[string]PodInboxUpdateParamsMetadataUnion `json:"metadata,omitzero"` paramObj } From c063befb1ea48ab781cf1a591bad18dc4ca32bf0 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 30 May 2026 20:58:59 +0000 Subject: [PATCH 6/7] feat(api): api update --- .stats.yml | 4 ++-- inbox.go | 4 +++- podinbox.go | 4 +++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.stats.yml b/.stats.yml index a7f9317..852f6a8 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 94 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/agentmail/agentmail-b80788ef1d4d64a53e37fc6692455a5a44d8f2fbc40a4e01b505a02a71791b3e.yml -openapi_spec_hash: ffe13a8a9a0af9e1c9a2acc38a86093c +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/agentmail/agentmail-f4753a92b17ddb79cf8082f675b8ef761b0f616d4fec4ae77e6097a72ca2b9d5.yml +openapi_spec_hash: d5a93e3167c99d7b144314e0d11835b3 config_hash: 79c13cf7727d64173933e0d367570632 diff --git a/inbox.go b/inbox.go index a81c21b..4ad5443 100644 --- a/inbox.go +++ b/inbox.go @@ -344,7 +344,9 @@ type InboxUpdateParams struct { DisplayName param.Opt[string] `json:"display_name,omitzero"` // Metadata to merge into the inbox's existing metadata. Keys you include are added // or overwritten; keys you omit are left unchanged. To remove a single key, send - // it with a null value. To clear all metadata, send `metadata` as null. + // it with a null value. To clear all metadata, send `metadata` as null. Sending an + // empty object is rejected; use null to clear. Each update must include at least + // one of `display_name` or `metadata`. Metadata map[string]InboxUpdateParamsMetadataUnion `json:"metadata,omitzero"` paramObj } diff --git a/podinbox.go b/podinbox.go index faa927d..ef7924c 100644 --- a/podinbox.go +++ b/podinbox.go @@ -154,7 +154,9 @@ type PodInboxUpdateParams struct { DisplayName param.Opt[string] `json:"display_name,omitzero"` // Metadata to merge into the inbox's existing metadata. Keys you include are added // or overwritten; keys you omit are left unchanged. To remove a single key, send - // it with a null value. To clear all metadata, send `metadata` as null. + // it with a null value. To clear all metadata, send `metadata` as null. Sending an + // empty object is rejected; use null to clear. Each update must include at least + // one of `display_name` or `metadata`. Metadata map[string]PodInboxUpdateParamsMetadataUnion `json:"metadata,omitzero"` paramObj } From 5441af31c0adaafc6cd47d73241bc4c44e9e1047 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 30 May 2026 20:59:17 +0000 Subject: [PATCH 7/7] release: 0.15.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 12 ++++++++++++ README.md | 2 +- internal/version.go | 2 +- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index a26ebfc..8f3e0a4 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.14.0" + ".": "0.15.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 93a6312..eac8361 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## 0.15.0 (2026-05-30) + +Full Changelog: [v0.14.0...v0.15.0](https://github.com/agentmail-to/agentmail-go/compare/v0.14.0...v0.15.0) + +### Features + +* **api:** api update ([c063bef](https://github.com/agentmail-to/agentmail-go/commit/c063befb1ea48ab781cf1a591bad18dc4ca32bf0)) +* **api:** api update ([25e6ee7](https://github.com/agentmail-to/agentmail-go/commit/25e6ee7de1c451a47316e426a21c135fd89e07fe)) +* **api:** api update ([27e9374](https://github.com/agentmail-to/agentmail-go/commit/27e93742f95d6023129b15c14d7084dae7936fbe)) +* **api:** api update ([d915d4b](https://github.com/agentmail-to/agentmail-go/commit/d915d4bca3c61f4891b8bc4e947469c0462ad922)) +* **api:** api update ([c1a4c8c](https://github.com/agentmail-to/agentmail-go/commit/c1a4c8cd89313015584e5546fb04c0ca72fb1d9b)) + ## 0.14.0 (2026-05-14) Full Changelog: [v0.13.0...v0.14.0](https://github.com/agentmail-to/agentmail-go/compare/v0.13.0...v0.14.0) diff --git a/README.md b/README.md index 83f9768..90f532e 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Or to pin the version: ```sh -go get -u 'github.com/agentmail-to/agentmail-go@v0.14.0' +go get -u 'github.com/agentmail-to/agentmail-go@v0.15.0' ``` diff --git a/internal/version.go b/internal/version.go index 870e575..1f338c3 100644 --- a/internal/version.go +++ b/internal/version.go @@ -2,4 +2,4 @@ package internal -const PackageVersion = "0.14.0" // x-release-please-version +const PackageVersion = "0.15.0" // x-release-please-version