From fce7fad70984ddbcf27b9578135e0b2939de6de7 Mon Sep 17 00:00:00 2001 From: ysyneu Date: Mon, 14 Sep 2026 02:37:21 -0700 Subject: [PATCH 1/7] feat: add Members.MemberNotify --- members.go | 14 ++++ models_gen.go | 26 +++++++ openapi/openapi.en.json | 169 ++++++++++++++++++++++++++++++++++++++++ openapi/openapi.zh.json | 169 ++++++++++++++++++++++++++++++++++++++++ roundtrip_gen_test.go | 1 + 5 files changed, 379 insertions(+) diff --git a/members.go b/members.go index 1c12133..9214b55 100644 --- a/members.go +++ b/members.go @@ -67,6 +67,20 @@ func (s *MembersService) MemberList(ctx context.Context, req *MemberListRequest) return out, resp, nil } +// Notify members. +// +// Send an email to account members on behalf of the caller, with content the caller supplies. Only callable with a credential minted for an AI SRE session; any other credential is rejected with `AccessDenied`. Delivery is asynchronous — `accepted` means the email was queued, not that it was delivered. +// +// API: POST /member/notify (memberNotify). +func (s *MembersService) MemberNotify(ctx context.Context, req *MemberNotifyRequest) (*MemberNotifyResponse, *Response, error) { + out := new(MemberNotifyResponse) + resp, err := s.client.do(ctx, "/member/notify", req, out) + if err != nil { + return nil, resp, err + } + return out, resp, nil +} + // Reset member info. // // Identify a member and reset the specified profile fields. diff --git a/models_gen.go b/models_gen.go index b6bc5fd..9d90871 100644 --- a/models_gen.go +++ b/models_gen.go @@ -5780,6 +5780,32 @@ type MemberListResponse struct { Total int64 `json:"total" toon:"total"` } +// MemberNotifyRequest is generated from the Flashduty OpenAPI schema. +type MemberNotifyRequest struct { + // Email body as an HTML fragment (no ``/``/`` wrapper needed). Required, up to 512,000 bytes of raw UTF-8 input, and must be non-empty after sanitization. Sanitized server-side: `