Files
gw-svelte/mail-api/logs/mail-api.log
T

6874 lines
772 KiB
Plaintext
Raw Normal View History

2026-05-02 09:08:31 +12:00
2026-05-02 09:07:05 INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
2026-05-02 09:07:05 CRITICAL mail-api: Required environment variable RESEND_API_KEY is not set
2026-05-02 09:07:45 INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
2026-05-02 09:07:45 CRITICAL mail-api: Startup aborted: missing env vars: ['RESEND_API_KEY', 'OWNER_EMAIL']
2026-05-02 11:16:43 INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
2026-05-02 11:16:43 CRITICAL mail-api: Startup aborted: missing env vars: ['RESEND_API_KEY', 'OWNER_EMAIL']
11/05/2026 18:00:06 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:00:06 New Zealand Standard Time CRITICAL mail-api: Startup aborted: missing env vars: ['RESEND_API_KEY', 'OWNER_EMAIL']
11/05/2026 18:01:59 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:01:59 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:01:59 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:02:43 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:02:43 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:02:43 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:02:56 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:02:56 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:02:56 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:02:56 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:03:33 New Zealand Standard Time INFO mail-api: [8d525af8] /submit: type=booking email=mattcohen0@gmail.com ip=127.0.0.1 browser='Firefox on Windows 10/11' dog=Matt test onboardin services=['Pack Walks'] page='http://10.0.0.124:5173/'
11/05/2026 18:03:33 New Zealand Standard Time DEBUG mail-api: [8d525af8] full payload: {'fullName': 'Matt', 'email': 'mattcohen0@gmail.com', 'phone': '1212', 'website': '', 'formStartedAt': 1778479391809, 'visitStartedAt': 1778449168133, 'pageEnteredAt': 1778479391809, 'firstInteractionAt': 1778479393568, 'sendClickedAt': 1778479409699, 'referrer': '', 'page': 'http://10.0.0.124:5173/', 'enquiryType': 'booking', 'petName': 'Matt test onboardin', 'location': 'test', 'message': 'test', 'services': ['Pack Walks'], 'stepChanges': 1, 'journey': ['/', '/contact-us', '/our-pricing', '/', '/dog-walking', '/pack-walks', '/contact-us', '/']}
11/05/2026 18:03:33 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
11/05/2026 18:03:34 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "POST /emails HTTP/1.1" 401 75
11/05/2026 18:03:34 New Zealand Standard Time WARNING mail-api: [8d525af8] client_email send failed (attempt 1/3, 617ms): ResendError: API key is invalid (status=401)
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 1298, in _send_email
result = await asyncio.to_thread(resend.Emails.send, payload)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 25, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\site-packages\resend\emails\_emails.py", line 286, in send
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\site-packages\resend\exceptions.py", line 270, in raise_for_code_and_type
raise ResendError(
...<5 lines>...
)
resend.exceptions.ResendError: API key is invalid
11/05/2026 18:03:34 New Zealand Standard Time INFO mail-api: [8d525af8] client_email: non-retryable status 401, aborting retries
11/05/2026 18:03:34 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
11/05/2026 18:03:34 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "POST /emails HTTP/1.1" 401 75
11/05/2026 18:03:34 New Zealand Standard Time WARNING mail-api: [8d525af8] owner_email send failed (attempt 1/3, 490ms): ResendError: API key is invalid (status=401)
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 1298, in _send_email
result = await asyncio.to_thread(resend.Emails.send, payload)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 25, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\site-packages\resend\emails\_emails.py", line 286, in send
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\site-packages\resend\exceptions.py", line 270, in raise_for_code_and_type
raise ResendError(
...<5 lines>...
)
resend.exceptions.ResendError: API key is invalid
11/05/2026 18:03:34 New Zealand Standard Time INFO mail-api: [8d525af8] owner_email: non-retryable status 401, aborting retries
11/05/2026 18:03:34 New Zealand Standard Time ERROR mail-api: [8d525af8] both emails failed after retries: [{'label': 'client_email', 'error_type': 'ResendError', 'error': 'API key is invalid', 'status': 401}, {'label': 'owner_email', 'error_type': 'ResendError', 'error': 'API key is invalid', 'status': 401}]
11/05/2026 18:03:34 New Zealand Standard Time INFO mail-api: [8d525af8] POST /submit → 502 (1155ms)
11/05/2026 18:04:04 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:04:04 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:04:04 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:04:04 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:04:16 New Zealand Standard Time INFO mail-api: [445c9a1c] /submit: type=booking email=mattcohen0@gmail.com ip=127.0.0.1 browser='Firefox on Windows 10/11' dog=Matt test onboardin services=['Pack Walks'] page='http://10.0.0.124:5173/'
11/05/2026 18:04:16 New Zealand Standard Time DEBUG mail-api: [445c9a1c] full payload: {'fullName': 'Matt', 'email': 'mattcohen0@gmail.com', 'phone': '1212', 'website': '', 'formStartedAt': 1778479391809, 'visitStartedAt': 1778449168133, 'pageEnteredAt': 1778479391809, 'firstInteractionAt': 1778479393568, 'sendClickedAt': 1778479452270, 'referrer': '', 'page': 'http://10.0.0.124:5173/', 'enquiryType': 'booking', 'petName': 'Matt test onboardin', 'location': 'test', 'message': 'test', 'services': ['Pack Walks'], 'stepChanges': 1, 'journey': ['/', '/contact-us', '/our-pricing', '/', '/dog-walking', '/pack-walks', '/contact-us', '/']}
11/05/2026 18:04:16 New Zealand Standard Time WARNING mail-api: [DEV] skipping email send — label=client_email to=['mattcohen0@gmail.com'] subject='We received your enquiry, Matt! 🐾'
11/05/2026 18:04:16 New Zealand Standard Time WARNING mail-api: [DEV] skipping email send — label=owner_email to=['dev@localhost'] subject='New GoodWalk lead — Matt (Matt test onboardin)'
11/05/2026 18:04:16 New Zealand Standard Time INFO mail-api: [445c9a1c] POST /submit → 200 (15ms)
11/05/2026 18:04:48 New Zealand Standard Time INFO mail-api: [44114758] auth: code issued for email=mattcohen0@gmail.com
11/05/2026 18:04:48 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 756139
11/05/2026 18:04:48 New Zealand Standard Time INFO mail-api: [44114758] POST /auth/request-code → 200 (2ms)
11/05/2026 18:04:55 New Zealand Standard Time INFO mail-api: [e48ac08b] auth: session created for email=mattcohen0@gmail.com
11/05/2026 18:04:55 New Zealand Standard Time INFO mail-api: [e48ac08b] POST /auth/verify-code → 200 (1ms)
11/05/2026 18:05:42 New Zealand Standard Time INFO mail-api: [336b95ea] GET /auth/verify → 200 (1ms)
11/05/2026 18:05:44 New Zealand Standard Time INFO mail-api: [d068c1f8] GET /auth/verify → 200 (0ms)
11/05/2026 18:05:47 New Zealand Standard Time INFO mail-api: [44c5d28e] GET /auth/verify → 200 (0ms)
11/05/2026 18:05:52 New Zealand Standard Time INFO mail-api: [c4187d3a] GET /auth/verify → 200 (0ms)
11/05/2026 18:05:59 New Zealand Standard Time INFO mail-api: [1a029963] GET /auth/verify → 200 (0ms)
11/05/2026 18:06:53 New Zealand Standard Time INFO mail-api: [7da26969] GET /auth/verify → 200 (0ms)
11/05/2026 18:06:56 New Zealand Standard Time INFO mail-api: [694d3abf] POST /auth/logout → 200 (1ms)
11/05/2026 18:07:00 New Zealand Standard Time INFO mail-api: [6a7da236] auth: code issued for email=mattcohen0@gmail.com
11/05/2026 18:07:00 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 193883
11/05/2026 18:07:00 New Zealand Standard Time INFO mail-api: [6a7da236] POST /auth/request-code → 200 (1ms)
11/05/2026 18:07:08 New Zealand Standard Time INFO mail-api: [c4ec2eac] auth: session created for email=mattcohen0@gmail.com
11/05/2026 18:07:08 New Zealand Standard Time INFO mail-api: [c4ec2eac] POST /auth/verify-code → 200 (1ms)
11/05/2026 18:07:56 New Zealand Standard Time INFO mail-api: [86d8e5c9] GET /auth/verify → 200 (0ms)
11/05/2026 18:07:58 New Zealand Standard Time INFO mail-api: [d6eb0fef] GET /auth/verify → 200 (0ms)
11/05/2026 18:08:03 New Zealand Standard Time INFO mail-api: [0e022c79] GET /auth/verify → 200 (0ms)
11/05/2026 18:08:16 New Zealand Standard Time INFO mail-api: [65e5d5be] GET /auth/verify → 200 (0ms)
11/05/2026 18:08:18 New Zealand Standard Time INFO mail-api: [d70ef7e4] POST /auth/logout → 200 (0ms)
11/05/2026 18:08:22 New Zealand Standard Time INFO mail-api: [0bbd2c06] auth: code issued for email=mattcohen0@gmail.com
11/05/2026 18:08:22 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 951035
11/05/2026 18:08:22 New Zealand Standard Time INFO mail-api: [0bbd2c06] POST /auth/request-code → 200 (1ms)
11/05/2026 18:08:31 New Zealand Standard Time INFO mail-api: [61d9c06a] auth: session created for email=mattcohen0@gmail.com
11/05/2026 18:08:31 New Zealand Standard Time INFO mail-api: [61d9c06a] POST /auth/verify-code → 200 (1ms)
11/05/2026 18:09:27 New Zealand Standard Time INFO mail-api: [a30c0cef] GET /auth/verify → 200 (0ms)
11/05/2026 18:09:43 New Zealand Standard Time INFO mail-api: [05bdfd29] POST /auth/logout → 200 (0ms)
11/05/2026 18:09:48 New Zealand Standard Time INFO mail-api: [16862886] auth: code issued for email=mattcohen0@gmail.com
11/05/2026 18:09:48 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 975093
11/05/2026 18:09:48 New Zealand Standard Time INFO mail-api: [16862886] POST /auth/request-code → 200 (1ms)
11/05/2026 18:09:50 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:09:50 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:09:50 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:09:50 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:09:55 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:09:55 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:09:55 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:09:55 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:10:11 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:10:11 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:10:11 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:10:11 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:10:16 New Zealand Standard Time INFO mail-api: [56955ef5] auth: code issued for email=mattcohen0@gmail.com
11/05/2026 18:10:16 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 664020
11/05/2026 18:10:16 New Zealand Standard Time INFO mail-api: [56955ef5] POST /auth/request-code → 200 (3ms)
11/05/2026 18:10:18 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:10:18 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:10:18 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:10:18 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:10:23 New Zealand Standard Time INFO mail-api: [cac84255] POST /auth/verify-code → 400 (2ms)
11/05/2026 18:10:27 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:10:27 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:10:27 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:10:27 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:11:25 New Zealand Standard Time INFO mail-api: [6bec1b20] auth: code issued for email=mattcohen0@gmail.com
11/05/2026 18:11:25 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 442224
11/05/2026 18:11:25 New Zealand Standard Time INFO mail-api: [6bec1b20] POST /auth/request-code → 200 (2ms)
11/05/2026 18:11:38 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:11:38 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:11:38 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:11:38 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:11:44 New Zealand Standard Time INFO mail-api: [f9c95e4d] auth: code issued for email=mattcohen0@gmail.com
11/05/2026 18:11:44 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 326405
11/05/2026 18:11:44 New Zealand Standard Time INFO mail-api: [f9c95e4d] POST /auth/request-code → 200 (2ms)
11/05/2026 18:11:52 New Zealand Standard Time INFO mail-api: [a0e2cf00] auth: session created for email=mattcohen0@gmail.com
11/05/2026 18:11:52 New Zealand Standard Time INFO mail-api: [a0e2cf00] POST /auth/verify-code → 200 (1ms)
11/05/2026 18:11:52 New Zealand Standard Time INFO mail-api: [b631b0f2] GET /auth/verify → 200 (1ms)
11/05/2026 18:13:07 New Zealand Standard Time INFO mail-api: [240a8117] /submit: type=booking email=mattcohen0@gmail.com ip=127.0.0.1 browser='Firefox on Windows 10/11' dog=Doug services=['Pack Walks'] page='http://10.0.0.124:5173/'
11/05/2026 18:13:07 New Zealand Standard Time DEBUG mail-api: [240a8117] full payload: {'fullName': 'Tobias Cohen', 'email': 'mattcohen0@gmail.com', 'phone': '021548278', 'website': '', 'formStartedAt': 1778479962856, 'visitStartedAt': 1778479962856, 'pageEnteredAt': 1778479962856, 'firstInteractionAt': 1778479965665, 'sendClickedAt': 1778479983701, 'referrer': '', 'page': 'http://10.0.0.124:5173/', 'enquiryType': 'booking', 'petName': 'Doug', 'location': 'Herne bay', 'message': '', 'services': ['Pack Walks'], 'stepChanges': 1, 'journey': ['/']}
11/05/2026 18:13:07 New Zealand Standard Time WARNING mail-api: [DEV] skipping email send — label=client_email to=['mattcohen0@gmail.com'] subject='We received your enquiry, Tobias! 🐾'
11/05/2026 18:13:07 New Zealand Standard Time WARNING mail-api: [DEV] skipping email send — label=owner_email to=['dev@localhost'] subject='New GoodWalk lead — Tobias Cohen (Doug)'
11/05/2026 18:13:07 New Zealand Standard Time INFO mail-api: [240a8117] POST /submit → 200 (9ms)
11/05/2026 18:13:25 New Zealand Standard Time INFO mail-api: [d95e1762] POST /auth/logout → 200 (1ms)
11/05/2026 18:13:26 New Zealand Standard Time INFO mail-api: [38dd6d5c] auth: code issued for email=mattcohen0@gmail.com
11/05/2026 18:13:26 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 156979
11/05/2026 18:13:26 New Zealand Standard Time INFO mail-api: [38dd6d5c] POST /auth/request-code → 200 (1ms)
11/05/2026 18:13:33 New Zealand Standard Time INFO mail-api: [c6266ea4] auth: session created for email=mattcohen0@gmail.com
11/05/2026 18:13:33 New Zealand Standard Time INFO mail-api: [c6266ea4] POST /auth/verify-code → 200 (1ms)
11/05/2026 18:13:33 New Zealand Standard Time INFO mail-api: [848a669f] GET /auth/verify → 200 (0ms)
11/05/2026 18:14:50 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:14:50 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:14:50 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:14:50 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:14:59 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:14:59 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:14:59 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:14:59 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:15:05 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:15:05 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:15:05 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:15:05 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:20:01 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:20:01 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:20:01 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:20:01 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:20:07 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:20:07 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:20:07 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:20:07 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:20:16 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:20:16 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:20:16 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:20:16 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:20:27 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:20:27 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:20:27 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:20:28 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:20:36 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:20:36 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:20:36 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:20:36 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:25:51 New Zealand Standard Time INFO mail-api: [8a6a1510] GET /auth/verify → 401 (2ms)
11/05/2026 18:26:51 New Zealand Standard Time INFO mail-api: [12f8d959] /submit: type=booking email=mattcohen0@gmail.com ip=127.0.0.1 browser='Firefox on Windows 10/11' dog=Geoffrey services=['Pack Walks'] page='http://10.0.0.124:5173/'
11/05/2026 18:26:51 New Zealand Standard Time DEBUG mail-api: [12f8d959] full payload: {'fullName': 'Matt Test', 'email': 'mattcohen0@gmail.com', 'phone': '02124347477', 'website': '', 'formStartedAt': 1778480790866, 'visitStartedAt': 1778449168133, 'pageEnteredAt': 1778480790866, 'firstInteractionAt': 1778480793847, 'sendClickedAt': 1778480808084, 'referrer': '', 'page': 'http://10.0.0.124:5173/', 'enquiryType': 'booking', 'petName': 'Geoffrey', 'location': 'Matty', 'message': 'Test', 'services': ['Pack Walks'], 'stepChanges': 1, 'journey': ['/', '/contact-us', '/our-pricing', '/', '/dog-walking', '/pack-walks', '/contact-us', '/']}
11/05/2026 18:26:51 New Zealand Standard Time WARNING mail-api: [DEV] skipping email send — label=client_email to=['mattcohen0@gmail.com'] subject='We received your enquiry, Matt! 🐾'
11/05/2026 18:26:51 New Zealand Standard Time WARNING mail-api: [DEV] skipping email send — label=owner_email to=['dev@localhost'] subject='New GoodWalk lead — Matt Test (Geoffrey)'
11/05/2026 18:26:51 New Zealand Standard Time INFO mail-api: [12f8d959] POST /submit → 200 (18ms)
11/05/2026 18:27:13 New Zealand Standard Time INFO mail-api: [dba46f8b] /submit: type=booking email=mattcohen0@gmail.com ip=127.0.0.1 browser='Firefox on Windows 10/11' dog=Geoffrey services=['Pack Walks'] page='http://10.0.0.124:5173/'
11/05/2026 18:27:13 New Zealand Standard Time DEBUG mail-api: [dba46f8b] full payload: {'fullName': 'Matt Test', 'email': 'mattcohen0@gmail.com', 'phone': '02124347477', 'website': '', 'formStartedAt': 1778480790866, 'visitStartedAt': 1778449168133, 'pageEnteredAt': 1778480790866, 'firstInteractionAt': 1778480793847, 'sendClickedAt': 1778480830112, 'referrer': '', 'page': 'http://10.0.0.124:5173/', 'enquiryType': 'booking', 'petName': 'Geoffrey', 'location': 'Matty', 'message': 'Test', 'services': ['Pack Walks'], 'stepChanges': 1, 'journey': ['/', '/contact-us', '/our-pricing', '/', '/dog-walking', '/pack-walks', '/contact-us', '/']}
11/05/2026 18:27:13 New Zealand Standard Time WARNING mail-api: [DEV] skipping email send — label=client_email to=['mattcohen0@gmail.com'] subject='We received your enquiry, Matt! 🐾'
11/05/2026 18:27:13 New Zealand Standard Time WARNING mail-api: [DEV] skipping email send — label=owner_email to=['dev@localhost'] subject='New GoodWalk lead — Matt Test (Geoffrey)'
11/05/2026 18:27:13 New Zealand Standard Time INFO mail-api: [dba46f8b] POST /submit → 200 (2ms)
11/05/2026 18:28:06 New Zealand Standard Time INFO mail-api: [4edf00fe] auth: code issued for email=mattcohen0@gmail.com
11/05/2026 18:28:06 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 416532
11/05/2026 18:28:06 New Zealand Standard Time INFO mail-api: [4edf00fe] POST /auth/request-code → 200 (2ms)
11/05/2026 18:28:13 New Zealand Standard Time INFO mail-api: [ec212e61] auth: session created for email=mattcohen0@gmail.com
11/05/2026 18:28:13 New Zealand Standard Time INFO mail-api: [ec212e61] POST /auth/verify-code → 200 (2ms)
11/05/2026 18:28:13 New Zealand Standard Time INFO mail-api: [61f0f5db] GET /auth/verify → 200 (0ms)
11/05/2026 18:29:03 New Zealand Standard Time INFO mail-api: [1a4c2779] GET /auth/verify → 200 (0ms)
11/05/2026 18:29:12 New Zealand Standard Time INFO mail-api: [401a9596] GET /auth/verify → 200 (0ms)
11/05/2026 18:29:16 New Zealand Standard Time INFO mail-api: [d162211c] GET /auth/verify → 200 (0ms)
11/05/2026 18:29:33 New Zealand Standard Time INFO mail-api: [c454ccd0] GET /auth/verify → 200 (0ms)
11/05/2026 18:29:39 New Zealand Standard Time INFO mail-api: [1e7a7145] GET /auth/verify → 200 (0ms)
11/05/2026 18:29:43 New Zealand Standard Time INFO mail-api: [02fcf859] GET /auth/verify → 200 (0ms)
11/05/2026 18:30:19 New Zealand Standard Time INFO mail-api: [a66a3485] GET /auth/verify → 200 (0ms)
11/05/2026 18:30:25 New Zealand Standard Time INFO mail-api: [7ae73440] GET /auth/verify → 200 (0ms)
11/05/2026 18:30:28 New Zealand Standard Time INFO mail-api: [9e46aa4c] GET /auth/verify → 200 (0ms)
11/05/2026 18:30:47 New Zealand Standard Time INFO mail-api: [7e3b4735] GET /auth/verify → 200 (0ms)
11/05/2026 18:30:52 New Zealand Standard Time INFO mail-api: [5ff0bc97] GET /auth/verify → 200 (1ms)
11/05/2026 18:31:00 New Zealand Standard Time INFO mail-api: [aa2f5411] GET /auth/verify → 200 (0ms)
11/05/2026 18:32:34 New Zealand Standard Time INFO mail-api: [8916510c] GET /auth/verify → 200 (0ms)
11/05/2026 18:32:38 New Zealand Standard Time INFO mail-api: [86b218b7] GET /auth/verify → 200 (0ms)
11/05/2026 18:32:38 New Zealand Standard Time INFO mail-api: [ee963004] GET /auth/verify → 200 (0ms)
11/05/2026 18:32:41 New Zealand Standard Time INFO mail-api: [407e5303] GET /auth/verify → 200 (0ms)
11/05/2026 18:32:45 New Zealand Standard Time INFO mail-api: [c1dcda74] GET /auth/verify → 200 (0ms)
11/05/2026 18:32:47 New Zealand Standard Time INFO mail-api: [a6fcbd3d] GET /auth/verify → 200 (1ms)
11/05/2026 18:32:50 New Zealand Standard Time INFO mail-api: [21cce6ef] GET /auth/verify → 200 (0ms)
11/05/2026 18:32:59 New Zealand Standard Time INFO mail-api: [b7859bff] GET /auth/verify → 200 (0ms)
11/05/2026 18:34:36 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:34:36 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:34:36 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:34:36 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:34:55 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 18:34:55 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 18:34:55 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 18:34:55 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 18:34:58 New Zealand Standard Time INFO mail-api: [2d611be5] GET /auth/verify → 401 (1ms)
11/05/2026 18:35:51 New Zealand Standard Time INFO mail-api: [e7ab563c] auth: code issued for email=mattcohen0@gmail.com
11/05/2026 18:35:51 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 530175
11/05/2026 18:35:51 New Zealand Standard Time INFO mail-api: [e7ab563c] POST /auth/request-code → 200 (2ms)
11/05/2026 18:35:59 New Zealand Standard Time INFO mail-api: [28ed2c2e] auth: session created for email=mattcohen0@gmail.com
11/05/2026 18:35:59 New Zealand Standard Time INFO mail-api: [28ed2c2e] POST /auth/verify-code → 200 (1ms)
11/05/2026 18:35:59 New Zealand Standard Time INFO mail-api: [b5fe5a79] GET /auth/verify → 200 (0ms)
11/05/2026 18:36:41 New Zealand Standard Time INFO mail-api: [368ab712] GET /auth/verify → 200 (0ms)
11/05/2026 18:36:50 New Zealand Standard Time INFO mail-api: [3bb325b5] GET /auth/verify → 200 (0ms)
11/05/2026 18:36:54 New Zealand Standard Time INFO mail-api: [412c0290] GET /auth/verify → 200 (0ms)
11/05/2026 18:37:27 New Zealand Standard Time INFO mail-api: [de1e1806] GET /auth/verify → 200 (0ms)
11/05/2026 18:37:32 New Zealand Standard Time INFO mail-api: [a139f936] GET /auth/verify → 200 (0ms)
11/05/2026 18:37:40 New Zealand Standard Time INFO mail-api: [5b2635d9] GET /auth/verify → 200 (0ms)
11/05/2026 18:37:45 New Zealand Standard Time INFO mail-api: [b621f259] GET /auth/verify → 200 (0ms)
11/05/2026 18:37:58 New Zealand Standard Time INFO mail-api: [58357018] GET /auth/verify → 200 (0ms)
11/05/2026 18:38:00 New Zealand Standard Time INFO mail-api: [df724db7] GET /auth/verify → 200 (0ms)
11/05/2026 18:38:01 New Zealand Standard Time INFO mail-api: [8bad66cb] GET /auth/verify → 200 (0ms)
11/05/2026 18:38:02 New Zealand Standard Time INFO mail-api: [aac47018] GET /auth/verify → 200 (0ms)
11/05/2026 18:38:03 New Zealand Standard Time INFO mail-api: [34ebe14e] GET /auth/verify → 200 (0ms)
11/05/2026 18:38:05 New Zealand Standard Time INFO mail-api: [e9248145] GET /auth/verify → 200 (0ms)
11/05/2026 18:38:05 New Zealand Standard Time INFO mail-api: [c00e4c1f] GET /auth/verify → 200 (0ms)
11/05/2026 18:38:07 New Zealand Standard Time INFO mail-api: [bdd58356] GET /auth/verify → 200 (0ms)
11/05/2026 18:38:50 New Zealand Standard Time INFO mail-api: [16f6b8ba] GET /auth/verify → 200 (0ms)
11/05/2026 18:38:51 New Zealand Standard Time INFO mail-api: [a46f7171] POST /auth/logout → 200 (1ms)
11/05/2026 18:41:41 New Zealand Standard Time INFO mail-api: [24fca012] auth: unknown email=mattco0en@gmail.com ip=127.0.0.1
11/05/2026 18:41:41 New Zealand Standard Time WARNING mail-api: [24fca012] auth: failure ip=127.0.0.1 reason='unknown_email' total_in_window=1
11/05/2026 18:41:41 New Zealand Standard Time INFO mail-api: [24fca012] POST /auth/request-code → 403 (1ms)
11/05/2026 18:41:51 New Zealand Standard Time INFO mail-api: [4b292ea6] auth: code issued for email=mattcohen0@gmail.com
11/05/2026 18:41:51 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 759209
11/05/2026 18:41:51 New Zealand Standard Time INFO mail-api: [4b292ea6] POST /auth/request-code → 200 (1ms)
11/05/2026 18:42:03 New Zealand Standard Time INFO mail-api: [b2213391] auth: session created for email=mattcohen0@gmail.com
11/05/2026 18:42:03 New Zealand Standard Time INFO mail-api: [b2213391] POST /auth/verify-code → 200 (1ms)
11/05/2026 18:42:03 New Zealand Standard Time INFO mail-api: [5d05ac03] GET /auth/verify → 200 (0ms)
11/05/2026 19:05:06 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 19:05:06 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 19:05:06 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 19:05:06 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 19:05:12 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 19:05:12 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 19:05:12 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 19:05:12 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 19:05:18 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 19:05:18 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 19:05:18 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 19:05:18 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 19:05:22 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 19:05:22 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 19:05:22 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 19:05:22 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 19:05:34 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
11/05/2026 19:05:34 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
11/05/2026 19:05:34 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
11/05/2026 19:05:34 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
11/05/2026 19:05:47 New Zealand Standard Time INFO mail-api: [0c1cdd9c] GET /auth/verify → 401 (2ms)
2026-05-18 22:25:43 +12:00
18/05/2026 18:10:16 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 18:10:16 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 18:10:16 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
18/05/2026 18:10:17 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 18:10:23 New Zealand Standard Time INFO mail-api: [a722f69c] auth: unknown email=youremail@example.com ip=127.0.0.1
18/05/2026 18:10:23 New Zealand Standard Time WARNING mail-api: [a722f69c] auth: failure ip=127.0.0.1 reason='unknown_email' total_in_window=1
18/05/2026 18:10:23 New Zealand Standard Time INFO mail-api: [a722f69c] POST /auth/request-code → 403 (3ms)
18/05/2026 18:11:30 New Zealand Standard Time INFO mail-api: [eceec1d6] auth: unknown email=mattcohen0@gmail.com ip=127.0.0.1
18/05/2026 18:11:30 New Zealand Standard Time WARNING mail-api: [eceec1d6] auth: failure ip=127.0.0.1 reason='unknown_email' total_in_window=2
18/05/2026 18:11:30 New Zealand Standard Time INFO mail-api: [eceec1d6] POST /auth/request-code → 403 (1ms)
18/05/2026 18:11:33 New Zealand Standard Time INFO mail-api: [25a59a91] auth: unknown email=mattcohen0@gmail.com ip=127.0.0.1
18/05/2026 18:11:33 New Zealand Standard Time WARNING mail-api: [25a59a91] auth: failure ip=127.0.0.1 reason='unknown_email' total_in_window=3
18/05/2026 18:11:33 New Zealand Standard Time INFO mail-api: [25a59a91] POST /auth/request-code → 403 (1ms)
18/05/2026 18:11:46 New Zealand Standard Time INFO mail-api: [5a2fd3f5] auth: unknown email=mattcohen0@gmail.com ip=127.0.0.1
18/05/2026 18:11:46 New Zealand Standard Time WARNING mail-api: [5a2fd3f5] auth: failure ip=127.0.0.1 reason='unknown_email' total_in_window=4
18/05/2026 18:11:46 New Zealand Standard Time INFO mail-api: [5a2fd3f5] POST /auth/request-code → 403 (1ms)
18/05/2026 18:12:34 New Zealand Standard Time INFO mail-api: [9fc29467] auth: unknown email=mattcohen0@gmail.com ip=127.0.0.1
18/05/2026 18:12:34 New Zealand Standard Time WARNING mail-api: [9fc29467] auth: failure ip=127.0.0.1 reason='unknown_email' total_in_window=5
18/05/2026 18:12:34 New Zealand Standard Time INFO mail-api: [9fc29467] POST /auth/request-code → 403 (1ms)
18/05/2026 18:12:50 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 18:12:50 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 18:12:50 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
18/05/2026 18:12:50 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 18:12:55 New Zealand Standard Time INFO mail-api: [bf6a5611] auth: code issued for email=mattcohen0@gmail.com
18/05/2026 18:12:55 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 944970
18/05/2026 18:12:55 New Zealand Standard Time INFO mail-api: [bf6a5611] POST /auth/request-code → 200 (2ms)
18/05/2026 18:13:06 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 18:13:06 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 18:13:06 New Zealand Standard Time INFO mail-api: Auth: loaded 1 allowed email(s)
18/05/2026 18:13:06 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 18:13:10 New Zealand Standard Time INFO mail-api: [d5cbd77b] auth: code issued for email=mattcohen0@gmail.com
18/05/2026 18:13:10 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 522462
18/05/2026 18:13:10 New Zealand Standard Time INFO mail-api: [d5cbd77b] POST /auth/request-code → 200 (3ms)
18/05/2026 18:13:16 New Zealand Standard Time INFO mail-api: [5fb29fef] auth: session created for email=mattcohen0@gmail.com
18/05/2026 18:13:16 New Zealand Standard Time INFO mail-api: [5fb29fef] POST /auth/verify-code → 200 (1ms)
18/05/2026 18:13:16 New Zealand Standard Time INFO mail-api: [39077aca] GET /auth/verify → 200 (1ms)
18/05/2026 18:13:35 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:13:35 New Zealand Standard Time INFO mail-api: [8b22ffe6] POST /auth/save-draft → 200 (19ms)
18/05/2026 18:13:49 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:13:49 New Zealand Standard Time INFO mail-api: [5f0be82f] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:16:38 New Zealand Standard Time INFO mail-api: [09917fdc] GET /auth/verify → 200 (0ms)
18/05/2026 18:16:56 New Zealand Standard Time INFO mail-api: [063fcd25] GET /auth/verify → 200 (0ms)
18/05/2026 18:17:03 New Zealand Standard Time INFO mail-api: [4f96fba8] GET /auth/verify → 200 (0ms)
18/05/2026 18:17:27 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:17:27 New Zealand Standard Time INFO mail-api: [4eb7a80e] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:17:49 New Zealand Standard Time INFO mail-api: [6addb8a3] GET /auth/verify → 200 (0ms)
18/05/2026 18:18:17 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:18:17 New Zealand Standard Time INFO mail-api: [8462021e] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:18:24 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:18:24 New Zealand Standard Time INFO mail-api: [89186333] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:18:28 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:18:28 New Zealand Standard Time INFO mail-api: [81ca8bbb] POST /auth/save-draft → 200 (3ms)
18/05/2026 18:18:46 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:18:46 New Zealand Standard Time INFO mail-api: [90709817] POST /auth/save-draft → 200 (3ms)
18/05/2026 18:18:46 New Zealand Standard Time INFO mail-api: [3723e050] GET /auth/verify → 200 (1ms)
18/05/2026 18:18:50 New Zealand Standard Time INFO mail-api: [fc02a942] GET /auth/verify → 200 (0ms)
18/05/2026 18:18:55 New Zealand Standard Time INFO mail-api: [03f4a037] GET /auth/verify → 200 (0ms)
18/05/2026 18:18:56 New Zealand Standard Time INFO mail-api: [aa72ec66] GET /auth/verify → 200 (1ms)
18/05/2026 18:18:57 New Zealand Standard Time INFO mail-api: [4477b6e8] GET /auth/verify → 200 (0ms)
18/05/2026 18:18:58 New Zealand Standard Time INFO mail-api: [be26a002] GET /auth/verify → 200 (0ms)
18/05/2026 18:19:08 New Zealand Standard Time INFO mail-api: [86edee75] GET /auth/verify → 200 (0ms)
18/05/2026 18:19:16 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:19:16 New Zealand Standard Time INFO mail-api: [e171eb1f] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:19:23 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:19:23 New Zealand Standard Time INFO mail-api: [6d4b7d1e] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:19:25 New Zealand Standard Time INFO mail-api: [c5f9a0f0] GET /auth/verify → 200 (0ms)
18/05/2026 18:19:33 New Zealand Standard Time INFO mail-api: [b7110aeb] GET /auth/verify → 200 (1ms)
18/05/2026 18:19:39 New Zealand Standard Time INFO mail-api: [5fb6906b] GET /auth/verify → 200 (0ms)
18/05/2026 18:19:56 New Zealand Standard Time INFO mail-api: [27455aa6] GET /auth/verify → 200 (0ms)
18/05/2026 18:20:08 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:20:08 New Zealand Standard Time INFO mail-api: [391e8933] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:20:24 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:20:24 New Zealand Standard Time INFO mail-api: [873f3490] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:20:28 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:20:28 New Zealand Standard Time INFO mail-api: [e531455f] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:21:08 New Zealand Standard Time INFO mail-api: [b65d6485] GET /auth/verify → 200 (0ms)
18/05/2026 18:21:30 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:21:30 New Zealand Standard Time INFO mail-api: [bcaffc5c] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:21:33 New Zealand Standard Time INFO mail-api: [97367cc8] GET /auth/verify → 200 (0ms)
18/05/2026 18:21:50 New Zealand Standard Time INFO mail-api: [d6c5b625] GET /auth/verify → 200 (0ms)
18/05/2026 18:22:03 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:22:03 New Zealand Standard Time INFO mail-api: [a19b7bb8] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:23:05 New Zealand Standard Time INFO mail-api: [7a0dfd17] GET /auth/verify → 200 (1ms)
18/05/2026 18:23:21 New Zealand Standard Time INFO mail-api: [801d82eb] GET /auth/verify → 200 (0ms)
18/05/2026 18:24:41 New Zealand Standard Time INFO mail-api: [fdd7805a] GET /auth/verify → 200 (0ms)
18/05/2026 18:25:05 New Zealand Standard Time INFO mail-api: [8133f0cc] GET /auth/verify → 200 (1ms)
18/05/2026 18:25:53 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:25:53 New Zealand Standard Time INFO mail-api: [5dc41bc6] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:26:21 New Zealand Standard Time INFO mail-api: [7e812209] GET /auth/verify → 200 (0ms)
18/05/2026 18:26:34 New Zealand Standard Time INFO mail-api: [507a506d] GET /auth/verify → 200 (0ms)
18/05/2026 18:27:28 New Zealand Standard Time INFO mail-api: [a9ba6af5] GET /auth/verify → 200 (0ms)
18/05/2026 18:27:38 New Zealand Standard Time INFO mail-api: [b1be3fc7] GET /auth/verify → 200 (0ms)
18/05/2026 18:28:16 New Zealand Standard Time INFO mail-api: [e71fb20b] GET /auth/verify → 200 (0ms)
18/05/2026 18:28:30 New Zealand Standard Time INFO mail-api: [a3313030] GET /auth/verify → 200 (0ms)
18/05/2026 18:28:40 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:28:40 New Zealand Standard Time INFO mail-api: [30040ce7] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:29:23 New Zealand Standard Time INFO mail-api: [b60a4a96] GET /auth/verify → 200 (1ms)
18/05/2026 18:29:36 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:29:36 New Zealand Standard Time INFO mail-api: [ef2e3ce3] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:30:43 New Zealand Standard Time INFO mail-api: [3a1ed9dd] auth: code issued for email=mattcohen0@gmail.com
18/05/2026 18:30:43 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 212717
18/05/2026 18:30:43 New Zealand Standard Time INFO mail-api: [3a1ed9dd] POST /auth/request-code → 200 (2ms)
18/05/2026 18:30:51 New Zealand Standard Time INFO mail-api: [6b9feb38] auth: session created for email=mattcohen0@gmail.com
18/05/2026 18:30:51 New Zealand Standard Time INFO mail-api: [6b9feb38] POST /auth/verify-code → 200 (1ms)
18/05/2026 18:30:51 New Zealand Standard Time INFO mail-api: [39e14ba5] GET /auth/verify → 200 (0ms)
18/05/2026 18:31:57 New Zealand Standard Time INFO mail-api: [8e0dcbe9] GET /auth/verify → 200 (0ms)
18/05/2026 18:32:16 New Zealand Standard Time INFO mail-api: [ce74cce7] GET /auth/verify → 200 (0ms)
18/05/2026 18:32:17 New Zealand Standard Time INFO mail-api: [9b77954b] GET /auth/verify → 200 (0ms)
18/05/2026 18:32:18 New Zealand Standard Time INFO mail-api: [b793d5c2] GET /auth/verify → 200 (0ms)
18/05/2026 18:32:25 New Zealand Standard Time INFO mail-api: [4c97ca8a] GET /auth/verify → 200 (0ms)
18/05/2026 18:32:38 New Zealand Standard Time INFO mail-api: [dd70ec86] GET /auth/verify → 200 (0ms)
18/05/2026 18:32:38 New Zealand Standard Time INFO mail-api: [77e9205f] GET /auth/verify → 200 (0ms)
18/05/2026 18:32:40 New Zealand Standard Time INFO mail-api: [aff59453] GET /auth/verify → 200 (0ms)
18/05/2026 18:32:50 New Zealand Standard Time INFO mail-api: [63fccd68] GET /auth/verify → 200 (0ms)
18/05/2026 18:33:21 New Zealand Standard Time INFO mail-api: [63849a78] GET /auth/verify → 200 (0ms)
18/05/2026 18:34:33 New Zealand Standard Time INFO mail-api: [a1a198fe] GET /auth/verify → 200 (0ms)
18/05/2026 18:34:33 New Zealand Standard Time INFO mail-api: [e61da2ba] GET /auth/verify → 200 (1ms)
18/05/2026 18:35:02 New Zealand Standard Time INFO mail-api: [bd60fe64] GET /auth/verify → 200 (0ms)
18/05/2026 18:35:07 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:35:07 New Zealand Standard Time INFO mail-api: [216bbe4e] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:35:13 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:35:13 New Zealand Standard Time INFO mail-api: [0443ee14] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:36:01 New Zealand Standard Time INFO mail-api: [130f43cd] GET /auth/verify → 200 (0ms)
18/05/2026 18:36:02 New Zealand Standard Time INFO mail-api: [8c9abc2d] GET /auth/verify → 200 (0ms)
18/05/2026 18:36:08 New Zealand Standard Time INFO mail-api: [afcc7067] GET /auth/verify → 200 (0ms)
18/05/2026 18:36:21 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:36:21 New Zealand Standard Time INFO mail-api: [bf68961c] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:36:28 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:36:28 New Zealand Standard Time INFO mail-api: [b8d26deb] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:36:43 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:36:43 New Zealand Standard Time INFO mail-api: [d26bd5cc] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:37:36 New Zealand Standard Time INFO mail-api: [11527b70] GET /auth/verify → 200 (0ms)
18/05/2026 18:37:43 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:37:43 New Zealand Standard Time INFO mail-api: [4da1bba6] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:37:50 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:37:50 New Zealand Standard Time INFO mail-api: [30180895] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:37:56 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:37:56 New Zealand Standard Time INFO mail-api: [59c4d115] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:38:50 New Zealand Standard Time INFO mail-api: [94545ad6] GET /auth/verify → 200 (0ms)
18/05/2026 18:39:03 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:39:03 New Zealand Standard Time INFO mail-api: [32ab66e0] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:39:10 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:39:10 New Zealand Standard Time INFO mail-api: [9f31e354] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:39:17 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:39:17 New Zealand Standard Time INFO mail-api: [d2bc68c5] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:39:38 New Zealand Standard Time INFO mail-api: [76f45fa2] GET /auth/verify → 200 (0ms)
18/05/2026 18:39:49 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:39:49 New Zealand Standard Time INFO mail-api: [e2711cb2] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:39:55 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:39:55 New Zealand Standard Time INFO mail-api: [52329194] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:40:02 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:40:02 New Zealand Standard Time INFO mail-api: [eade2878] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:41:08 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:41:08 New Zealand Standard Time INFO mail-api: [5924d01f] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:41:44 New Zealand Standard Time INFO mail-api: [630dd2a2] GET /auth/verify → 200 (0ms)
18/05/2026 18:41:47 New Zealand Standard Time INFO mail-api: [9753a6f9] GET /auth/verify → 200 (0ms)
18/05/2026 18:41:48 New Zealand Standard Time INFO mail-api: [5354e738] GET /auth/verify → 200 (0ms)
18/05/2026 18:41:59 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:41:59 New Zealand Standard Time INFO mail-api: [13edbe5c] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:42:05 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:42:05 New Zealand Standard Time INFO mail-api: [0d74ed96] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:42:12 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:42:12 New Zealand Standard Time INFO mail-api: [a9f9e4ed] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:42:22 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:42:22 New Zealand Standard Time INFO mail-api: [f6be84cc] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:42:33 New Zealand Standard Time INFO mail-api: [4c3abc08] POST /onboarding-submit → 400 (10ms)
18/05/2026 18:42:38 New Zealand Standard Time INFO mail-api: [f14da50b] POST /onboarding-submit → 400 (1ms)
18/05/2026 18:42:45 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:42:45 New Zealand Standard Time INFO mail-api: [6f7c73d7] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:42:48 New Zealand Standard Time INFO mail-api: [80f37f96] POST /onboarding-submit → 400 (1ms)
18/05/2026 18:43:06 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:43:06 New Zealand Standard Time INFO mail-api: [0eb5152a] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:43:08 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:43:08 New Zealand Standard Time INFO mail-api: [e6519efa] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:43:10 New Zealand Standard Time INFO mail-api: [b9989ba8] /onboarding-submit: email=test@test.com ip=127.0.0.1 browser='Firefox on Windows 10/11' dog=test services=['Tiny Gang Pack Walks'] page='http://10.0.0.124:5173/?preview=onboarding'
18/05/2026 18:43:10 New Zealand Standard Time DEBUG mail-api: [b9989ba8] onboarding payload: {'fullName': 'test test', 'email': 'test@test.com', 'phone': 'test', 'website': '', 'formStartedAt': 1779086505228, 'visitStartedAt': 1779084471544, 'pageEnteredAt': 1779086505228, 'firstInteractionAt': 1779086512339, 'sendClickedAt': 1779086588246, 'referrer': '', 'page': 'http://10.0.0.124:5173/?preview=onboarding', 'address': 'test', 'dogName': 'test', 'dogBreed': 'est', 'dogAge': '2026-06-03', 'servicesNeeded': ['Tiny Gang Pack Walks'], 'temperament': 'test', 'medicalNotes': 'test\ntest', 'accessInstructions': 'ts', 'vetName': 'test', 'vetPhone': 'test', 'emergencyContactName': 't', 'emergencyContactPhone': 'st', 'councilRegistrationConfirmed': True, 'vaccinationsConfirmed': True, 'emergencyVetConsent': True, 'termsAccepted': True, 'signatureDataUrl': 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABCwAAADhCAYAAAADKyTpAAAgAElEQVR4Xu3dDZTdZX0n8P//zoQkvAhYEI1J5t4UeWmSmYEoCFrL9k2otj2LiOtS1HbpYXvoiqDVU7Gu51Cwu0WoVLd2S9e2uKuLSO3RI2zf1G3lRQQyk0RA2cydSRoLRl6EEMLM3P/+JmbGO0MCd8jMvc+995NzciAz//s8v+fzPEecb57n+eeZXwQIECBAgAABAgQIECBAgACBxATyxOpRDgECBAgQIECAAAECBAgQIEAgE1hYBAQIECBAgAABAgQIECBAgEByAgKL5KZEQQQIECBAgAABAgQIECBAgIDAwhogQIAAAQIECBAgQIAAAQIEkhMQWCQ3JQoiQIAAAQIECBAgQIAAAQIEBBbWAAECBAgQIECAAAECBAgQIJCcgMAiuSlREAECBAgQIECAAAECBAgQICCwsAYIECBAgAABAgQIECBAgACB5AQEFslNiYIIECBAgAABAgQIECBAgAABgYU1QIAAAQIECBAgQIAAAQIECCQnILBIbkoURIAAAQIECBAgQIAAAQIECAgsrAECBAgQIECAAAECBAgQIEAgOQGBRXJToiACBAgQIECAAAECBAgQIEBAYGENECBAgAABAgQIECBAgAABAskJCCySmxIFESBAgAABAgQIECBAgAABAgILa4AAAQIECBAgQIAAAQIECBBITkBgkdyUKIgAAQIECBAgQIAAAQIECBAQWFgDBAgQIECAAAECBAgQIECAQHICAovkpkRBBAgQIECAAAECBAgQIECAgMDCGiBAgAABAgQIECBAgAABAgSSExBYJDclCiJAgAABAgQIECBAgAABAgQEFtYAAQIECBAgQIAAAQIECBAgkJyAwCK5KVEQAQIECBAgQIAAAQIECBAgILCwBggQIECAAAECBAgQIECAAIHkBAQWyU2JgggQIECAAAECBAgQIECAAAGBhTVAgAABAgQIECBAgAABAgQIJCcgsEhuShREgAABAgQIECBAgAABAgQICCysAQIECBAgQIAAAQIECBAgQCA5AYFFclOiIAIECBAgQIAAAQIECBAgQEBgYQ0QIECAAAECBAgQIECAAAECyQkILJKbEgURIECAAAECBAgQIECAAAECAgtrgAABAgQIECBAgAABAgQIEEhOQGCR3JQoiAABAgQIECBAgAABAgQIEBBYWAMECBAgQIAAAQIECBAgQIBAcgICi+SmREEECBAgQIAAAQIECBAgQICAwMIaIECAAAECBAgQIECAAAECBJITEFgkNyUKIkCAAAECBAgQIECAAAECBAQW1gABAgQIECBAgAABAgQIECCQnIDAIrkpURABAgQIECBAgAABAgQIECAgsLAGCBAgQIAAAQIECBAgQIAAgeQEBBbJTYmCCBAgQIAAAQIECBAgQIAAAYGFNUCAAAECBAgQIECAAAECBAgkJyCwSG5KFESAAAECBAgQIECAAAECBAgILKwBAgQIECBAgAABAgQIECBAIDkBgUVyU6IgAgQIECBAgAABAgQIECBAQGBhDRAgQIAAAQIECBAgQIAAAQLJCQgskpsSBREgQIAAAQIECBAgQIAAAQICC2uAAAECBAgQIECAAAECBAgQSE5AYJHclCiIAAECBAgQIECAAAECBAgQEFhYAwQIECBAgAABAgQIECBAgEByAgKL5KZEQQQIECBAgAABAgQIECBAgIDAwhogQIAAAQIECBAgQIAAAQIEkhMQWCQ3JQoiQIAAAQIECBAgQIAAAQIEBBbWAAECBAgQIECAAAECBAgQIJCcgMAiuSlREAECBAgQIECAAAECBAgQICCwsAYIECBAgAABAgQIECBAgACB5AQEFslNiYIIECBAgAABAgQIECBAgAABgYU1QIAAAQIECBAgQIAAAQIECCQnILBIbkoURIAAAQIECBAgQIAAAQIECAgsrAECBAgQIECAAAECBAgQIEAgOQGBRXJToiACBAgQIECAAAECBAgQIEBAYGENECBAgAABAgQIECBAgAABAskJCCySmxIFESBAgAABAgQIECBAgAABAgILa4AAAQIECBAgQIAAAQIECBBITkBgkdyUKIgAAQIECBAgQIAAAQIECBAQWFgDBAgQIECAAAECBAgQIECAQHICAovkpkRBBAgQIECAAAECBAgQIECAgMDCGiBAgAABAgQIECBAgAABAgSSExBYJDclCiJAgAABAgQIECBAgAABAgQEFtYAAQIECBAgQIAAAQIECBAgkJyAwCK5KVEQAQIECBAgQIAAAQIECBAgILCwBggQIECAAAECBAgQIECAAIHkBAQWyU2JgggQIECAAAECBAgQIECAAAGBhTVAgAABAgQIECBAgAABAgQIJCcgsEhuShREgAABAgQIECBAgAABAgQICCysAQIECBAgQIAAAQIECBAgQCA5AYFFclOiIAIECBAgQIAAAQIECBAgQEBgYQ0QIECAAAECBAgQIECAAAECyQkILJKbEgURIECAAAECBAgQIECAAAECAgtrgAABAgQIECBAgAABAgQIEEhOQGCR3JQoiAABAgQIECBAgAABAgQIEBBYWAMECBAgQIAAAQIECBAgQIBAcgICi+SmREEECBAgQIAAAQIECBAgQICAwMIaIECAAAECBAgQIECAAAECBJITEFgkNyUKIkCAAAECBAgQIECAAAECBAQW1gABAgQIECBAgAABAgQIECCQnIDAIrkpURABAgQIECBAgAABAgQIECAgsLAGCBAgQIAAAQIECBAgQIAAgeQEBBbJTYmCCBAgQIAAAQIECBAgQIAAAYGFNUCAAAECBAgQIECAAAECBAgkJyCwSG5KFESAAAECBAgQIECAAAECBAgILKwBAgQIECBAgAABAgQIECBAIDkBgUVyU6IgAgQIECBAgAABAgQIECBAQGBhDRAgQIAAAQIECBAgQIAAAQLJCQgskpsSBREgQIAAAQIECBAgQIAAAQICC2uAAAECBAgQIECAAAECBAgQSE5AYJHclCiIAAECBAgQIECAAAECBAgQEFhYAwQIECBAgAABAgQIECBAgEByAgKL5KZEQQQIECBAgAABAgQIECBAgIDAwhogQIAAAQIECBAgQIAAAQIEkhMQWCQ3JQoiQIAAAQIECBAgQIAAAQIEBBbWAAECBAgQIECAAAECBAgQIJCcgM
18/05/2026 18:43:10 New Zealand Standard Time WARNING mail-api: [DEV] skipping email send — label=owner_onboarding_email to=['dev@localhost'] subject='New GoodWalk onboarding — test test (test)'
18/05/2026 18:43:10 New Zealand Standard Time INFO mail-api: Auth: registered new allowed email: test@test.com
18/05/2026 18:43:10 New Zealand Standard Time INFO mail-api: [b9989ba8] POST /onboarding-submit → 200 (13ms)
18/05/2026 18:43:26 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 18:43:26 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 18:43:26 New Zealand Standard Time INFO mail-api: Auth: loaded 2 allowed email(s)
18/05/2026 18:43:26 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 18:43:30 New Zealand Standard Time INFO mail-api: [765c8d4d] GET /auth/verify → 401 (2ms)
18/05/2026 18:45:26 New Zealand Standard Time INFO mail-api: [2013b8b5] POST /auth/logout → 200 (1ms)
18/05/2026 18:48:07 New Zealand Standard Time INFO mail-api: [07a0c504] auth: code issued for email=mattcohen0@gmail.com
18/05/2026 18:48:07 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 910056
18/05/2026 18:48:07 New Zealand Standard Time INFO mail-api: [07a0c504] POST /auth/request-code → 200 (2ms)
18/05/2026 18:48:14 New Zealand Standard Time INFO mail-api: [3fbebbbc] auth: session created for email=mattcohen0@gmail.com
18/05/2026 18:48:14 New Zealand Standard Time INFO mail-api: [3fbebbbc] POST /auth/verify-code → 200 (1ms)
18/05/2026 18:48:14 New Zealand Standard Time INFO mail-api: [4d0d9631] GET /auth/verify → 200 (0ms)
18/05/2026 18:49:38 New Zealand Standard Time INFO mail-api: [f0dc5e00] GET /auth/verify → 200 (0ms)
18/05/2026 18:50:07 New Zealand Standard Time INFO mail-api: [6b628d2a] GET /auth/verify → 200 (0ms)
18/05/2026 18:50:08 New Zealand Standard Time INFO mail-api: [74427c1d] GET /auth/verify → 200 (0ms)
18/05/2026 18:50:09 New Zealand Standard Time INFO mail-api: [eed93abd] GET /auth/verify → 200 (0ms)
18/05/2026 18:50:10 New Zealand Standard Time INFO mail-api: [3f3ecbb7] GET /auth/verify → 200 (0ms)
18/05/2026 18:50:10 New Zealand Standard Time INFO mail-api: [36cf9cdb] GET /auth/verify → 200 (0ms)
18/05/2026 18:50:14 New Zealand Standard Time INFO mail-api: [e9f9f525] GET /auth/verify → 200 (0ms)
18/05/2026 18:50:15 New Zealand Standard Time INFO mail-api: [976be70c] GET /auth/verify → 200 (0ms)
18/05/2026 18:50:20 New Zealand Standard Time INFO mail-api: [d796f744] GET /auth/verify → 200 (0ms)
18/05/2026 18:50:46 New Zealand Standard Time INFO mail-api: [2615245b] GET /auth/verify → 200 (0ms)
18/05/2026 18:50:51 New Zealand Standard Time INFO mail-api: [17f958c0] GET /auth/verify → 200 (0ms)
18/05/2026 18:51:19 New Zealand Standard Time INFO mail-api: [d49cbb2f] GET /auth/verify → 200 (0ms)
18/05/2026 18:51:24 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:51:24 New Zealand Standard Time INFO mail-api: [b8ebd395] POST /auth/save-draft → 200 (15ms)
18/05/2026 18:52:06 New Zealand Standard Time INFO mail-api: [ddbcbbb4] GET /auth/verify → 200 (0ms)
18/05/2026 18:52:16 New Zealand Standard Time INFO mail-api: [381996f7] GET /auth/verify → 200 (1ms)
18/05/2026 18:52:54 New Zealand Standard Time INFO mail-api: [90ca02be] GET /auth/verify → 200 (0ms)
18/05/2026 18:53:16 New Zealand Standard Time INFO mail-api: [68b0bba9] GET /auth/verify → 200 (0ms)
18/05/2026 18:53:19 New Zealand Standard Time INFO mail-api: [fa59ecc1] GET /auth/verify → 200 (0ms)
18/05/2026 18:53:20 New Zealand Standard Time INFO mail-api: [53e2da48] GET /auth/verify → 200 (0ms)
18/05/2026 18:53:25 New Zealand Standard Time INFO mail-api: [7fc3d2e2] GET /auth/verify → 200 (0ms)
18/05/2026 18:53:26 New Zealand Standard Time INFO mail-api: [b7203739] GET /auth/verify → 200 (0ms)
18/05/2026 18:53:59 New Zealand Standard Time INFO mail-api: [0d559001] GET /auth/verify → 200 (1ms)
18/05/2026 18:54:04 New Zealand Standard Time INFO mail-api: [d26d2d47] GET /auth/verify → 200 (0ms)
18/05/2026 18:54:05 New Zealand Standard Time INFO mail-api: [2155fcd9] GET /auth/verify → 200 (0ms)
18/05/2026 18:54:14 New Zealand Standard Time INFO mail-api: [e8503c51] GET /auth/verify → 200 (0ms)
18/05/2026 18:54:35 New Zealand Standard Time INFO mail-api: [6a60a513] GET /auth/verify → 200 (0ms)
18/05/2026 18:54:43 New Zealand Standard Time INFO mail-api: [7159838c] GET /auth/verify → 200 (0ms)
18/05/2026 18:54:46 New Zealand Standard Time INFO mail-api: [e6f0f0e3] GET /auth/verify → 200 (0ms)
18/05/2026 18:54:49 New Zealand Standard Time INFO mail-api: [ff9a000a] GET /auth/verify → 200 (0ms)
18/05/2026 18:54:50 New Zealand Standard Time INFO mail-api: [ff2ad028] GET /auth/verify → 200 (1ms)
18/05/2026 18:54:52 New Zealand Standard Time INFO mail-api: [fe518a74] GET /auth/verify → 200 (0ms)
18/05/2026 18:54:59 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 18:54:59 New Zealand Standard Time INFO mail-api: [bad7ac23] POST /auth/save-draft → 200 (2ms)
18/05/2026 18:59:13 New Zealand Standard Time INFO mail-api: [28d0f628] auth: code issued for email=mattcohen0@gmail.com
18/05/2026 18:59:13 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 102671
18/05/2026 18:59:13 New Zealand Standard Time INFO mail-api: [28d0f628] POST /auth/request-code → 200 (1ms)
18/05/2026 18:59:36 New Zealand Standard Time INFO mail-api: [7bc72e6a] auth: session created for email=mattcohen0@gmail.com
18/05/2026 18:59:36 New Zealand Standard Time INFO mail-api: [7bc72e6a] POST /auth/verify-code → 200 (1ms)
18/05/2026 18:59:36 New Zealand Standard Time INFO mail-api: [1e0e1a53] GET /auth/verify → 200 (0ms)
18/05/2026 19:00:22 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 19:00:22 New Zealand Standard Time INFO mail-api: [896553c7] POST /auth/save-draft → 200 (2ms)
18/05/2026 19:01:15 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 19:01:15 New Zealand Standard Time INFO mail-api: [01719ac6] POST /auth/save-draft → 200 (2ms)
18/05/2026 19:01:48 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 19:01:48 New Zealand Standard Time INFO mail-api: [3bfff9d6] POST /auth/save-draft → 200 (2ms)
18/05/2026 19:02:21 New Zealand Standard Time INFO mail-api: [86b80feb] /onboarding-submit: email=test@test.com ip=127.0.0.1 browser='Safari on macOS' dog=X services=['Unsure yet'] page='http://10.0.0.124:5173/?preview=onboarding'
18/05/2026 19:02:21 New Zealand Standard Time DEBUG mail-api: [86b80feb] onboarding payload: {'fullName': 'test test', 'email': 'test@test.com', 'phone': 'test@test.com', 'website': '', 'formStartedAt': 1779087576243, 'visitStartedAt': 1779087576243, 'pageEnteredAt': 1779087576243, 'firstInteractionAt': 1779087589781, 'sendClickedAt': 1779087741631, 'referrer': '', 'page': 'http://10.0.0.124:5173/?preview=onboarding', 'address': 'test@test.com', 'dogName': 'X', 'dogBreed': 'H', 'dogAge': '2026-05-18', 'servicesNeeded': ['Unsure yet'], 'temperament': 'Y', 'medicalNotes': 'Y\nFood allergies: U\nEnvironmental allergies: Y\nSpecial diet: Y\nMedication: Y', 'accessInstructions': 'U', 'vetName': 'H', 'vetPhone': '3', 'emergencyContactName': 'O', 'emergencyContactPhone': '5', 'councilRegistrationConfirmed': True, 'vaccinationsConfirmed': True, 'emergencyVetConsent': True, 'termsAccepted': True, 'signatureDataUrl': 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAzAAAAHgCAYAAAB6qYgdAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAADMKADAAQAAAABAAAB4AAAAABzGB2SAABAAElEQVR4AezdCXxcZ33v/+eckWzHWZ2kJHEca2YkklInlmQBgZLQQC8pLUtpS26hC23ZW7I0uaX/Sy/chlu6Q2gC3F7KkvKi9BUKLYW0QGhLTRZC0tqS7DglRpoZObKTkNhx4sSxLc05/+8ZW7FiS/M8M5rlLB/dq2rmnN95zvO8HxHPT89yPMMXAggggAACXRDID+ev9kLvRsdb/6BarV68Y+uOxx3juxqWX5+/2PO979kqEZpwuDJWGbPFcR4BBBBA4KiAf/QlrxBAAAEEEOiMQH4of1kDyYsJvfAdSUleaoI581MOkiWSFwclQhBAAIFjBEhgjgHhLQIIIIBAewXWrFtzuu7waee7eObqymjlO87xMQhUcvZqWzU0+nKbLYbzCCCAAALHC5DAHG/CEQQQQACBNgr0LOv5lGe8fsdbfLo8Wv6YY2wswvIvyp+tirzUVhnP875pi+E8AggggMDxAiQwx5twBAEEEECgTQKaOvb7Gp34ecfi/6M8Vn6HY2x8wmaMdfRFla3m9uUYgYlPr1ETBBBIkAAJTII6i6oigAACSRboG+z7OY28XO/YhoPGN293jI1VmB/6LutfvjkxMXEwVhWnMggggEBCBEhgEtJRVBMBBBBIssB5F57X7/v+p5zbEJq3lzeXtzjHxyhQGw7YE5jQMPoSoz6jKgggkCwBEphk9Re1RQABBBIp0NvT+ykTmjMcK//h8nj5bxxjYxWmUaZXqEKrbJVi/YtNiPMIIIDA4gIkMIvbcAYBBBBAoAUCxaHiX2jHreiDvcvXt7Tu5b0ugXGMyfk5++iLMfeVxko/iGP9qRMCCCCQBIGeJFSSOiKAAAIIJFOgOFh8q5KXa5xqH5qH/aqfyHUvc+0Lw9BlAT+7j82B8RMBBBBoQoARmCbQuAQBBBBAwC7Qv6F/ROtBnNe9aFrV2yfvm3zQXnI8I6J1PqrZoK12aifrX2xInEcAAQTqCJDA1MHhFAIIIIBAcwIjIyO9QRBED6t0/Xfmf2la1T83d7d4XKV1Pi7Tx54sjZb+NR41phYIIIBAMgVc/2FJZuuoNQIIIIBAVwT2VPdEycuQ080980Wte/kjp9gYB2mqnEsCw+hLjPuQqiGAQDIESGCS0U/UEgEEEEiMQHG4eJ0q+xbHCv/XykMrE73uJWrnZZddFq0pta5/Yfcxx98KwhBAAIE6AiQwdXA4hQACCCDQmICSl/+mhewfcb3KN/47tm3b9pRrfFzjduzdEY2+LLPVryfoYQTGhsR5BBBAwCJAAmMB4jQCCCCAgJtA//r+5yl5iaaOOX1pNOK3Jscm73IKjnmQNiuwjr6oCfdsH9++M+ZNoXoIIIBA7AXYRjn2XUQFEUAAgWQIBH4Q7TjW51JbL/T+nxbt/6VLbCJiQmNd/6I2M/qSiM6kkgggEHcBRmDi3kPUDwEEEEiAQGG48Aeq5usdq3p3abz0m46xsQ8rXlS8SJV8vq2iVa9KAmND4jwCCCDgIMAIjAMSIQgggAACiwsUhgpXmNC8f/GI55x5Wh/kE79of36LwpzD7mN6SOfU+NR351/HawQQQACB5gQYgWnOjasQQAABBCRQWF+4QD+c171orcjbd4zuuD9VeKF99zHjGUZfUtXpNAYBBLopQALTTX3ujQACCCRdIGeidS+nuDRDz0n548po5RaX2KTEDFw8cIqSk5+01VeJ2zdtMZxHAAEEEHATIIFxcyIKAQQQQOAYAU0d+7imjl16zOEF3yp5+XplrPJ7C55M8MHqgarL7mMmmA0YgUlwP1N1BBCIlwAJTLz6g9oggAACiRBQ8vJOVfQ9jpWd1jqRVK17mWt36NvXv3jG+/cdW3c8PncNPxFAAAEEliZAArM0P65GAAEEMieQX5+/WI3+pGvD9WyYt09tmnrINT5JcX7oW7dPDkJGX5LUp9QVAQTiL0ACE/8+ooYIIIBAbATWvHTNCZ7vuS/aN+H/VxmvpHL6VJTIaWrcubbOkRfrX2xInEcAAQQaECCBaQCLUAQQQCDrAj3P9ETJy4WODl/Qupc/c4xNXljO/vBKNapUHi2PJ69x1BgBBBCIrwDPgYlv31AzBBBAIFYC+aH872o9xy85VcozW8NT07nuZa79Xui5LOBn9GUOjJ8IIIBAiwQYgWkRJMUggAACaRbIb8i/WsnLn7q2MayG76hsrBxwjU9aXP5F+bNV55da683zX6xEBCCAAAKNCjAC06gY8QgggEDGBM4bPm+1CdwfVimed1a2VO5JNdOM/eGVSvhm/X1+Ktf/pLpvaRwCCMRegBGY2HcRFUQAAQS6K5ALc5/Wh3HrYvVaLT3z8fJYOXq4Zaq/XHYf0wL/2yYmJg6mGoLGIYAAAl0QIIHpAjq3RAABBJIiUBws/rGSl592rO/tWrB+lWNsosNCL7SvfwkNoy+J7mUqjwACcRUggYlrz1AvBBBAoMsCxeHim/VB/X86VuMJLWp/h2NsosP6BvteoQacZmuE57F9ss2I8wgggEAzAiQwzahxDQIIIJBygYHBgXV6AKXz816MZ95eGi9tTzlLrXk5L2cffTHmvtJY6QdZ8KCNCCCAQKcFSGA6Lc79EEAAgQQIzHqzf6VqrnSqqmf+QFPHvuwUm4IgrW35KYdmsH2yAxIhCCCAQDMCJDDNqHENAgggkGKB/GA+Wvfy445N/JqSl//tGJv4sPNGzutXIwZtDdH0Mda/2JA4jwACCDQpQALTJByXIYAAAmkUKA4Vf0Yfvl3XvVQ0nertaXRYrE291V6X0ZcnS6Olf12sDI4jgAACCCxNgARmaX5cjQACCKRG4IILLjhZ06M+5togJTpvnxideNQ1Pg1xjtPHGH1JQ2fTBgQQiK0ACUxsu4aKIYAAAp0VOHTCoSh5KbrcVTuO/Q+NMvybS2xaYi677LLo4c/WBfzsPpaWHqcdCCAQVwESmLj2DPVCAAEEOihQGC68Tbf7NZdbamvlb2vH
18/05/2026 19:02:21 New Zealand Standard Time WARNING mail-api: [DEV] skipping email send — label=owner_onboarding_email to=['dev@localhost'] subject='New GoodWalk onboarding — test test (X)'
18/05/2026 19:02:21 New Zealand Standard Time INFO mail-api: [86b80feb] POST /onboarding-submit → 200 (13ms)
18/05/2026 19:04:29 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 19:04:29 New Zealand Standard Time INFO mail-api: [4d664935] POST /auth/save-draft → 200 (2ms)
18/05/2026 19:05:16 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:05:16 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:05:16 New Zealand Standard Time INFO mail-api: Auth: loaded 2 allowed email(s)
18/05/2026 19:05:16 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:05:21 New Zealand Standard Time INFO mail-api: [3e940608] POST /auth/save-draft → 401 (2ms)
18/05/2026 19:05:30 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:05:30 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:05:30 New Zealand Standard Time INFO mail-api: Auth: loaded 2 allowed email(s)
18/05/2026 19:05:30 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:05:36 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:05:36 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:05:36 New Zealand Standard Time INFO mail-api: Auth: loaded 2 allowed email(s)
18/05/2026 19:05:36 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:05:40 New Zealand Standard Time INFO mail-api: [577d9cc3] POST /auth/save-draft → 401 (2ms)
18/05/2026 19:06:31 New Zealand Standard Time INFO mail-api: [f92ab807] GET /auth/verify → 401 (1ms)
18/05/2026 19:14:56 New Zealand Standard Time INFO mail-api: [a88505e9] auth: code issued for email=mattcohen0@gmail.com
18/05/2026 19:14:56 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 808813
18/05/2026 19:14:56 New Zealand Standard Time INFO mail-api: [a88505e9] POST /auth/request-code → 200 (2ms)
18/05/2026 19:15:06 New Zealand Standard Time INFO mail-api: [e6fe039e] auth: session created for email=mattcohen0@gmail.com
18/05/2026 19:15:06 New Zealand Standard Time INFO mail-api: [e6fe039e] POST /auth/verify-code → 200 (1ms)
18/05/2026 19:15:06 New Zealand Standard Time INFO mail-api: [c84465df] GET /auth/verify → 200 (0ms)
18/05/2026 19:15:53 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 19:15:53 New Zealand Standard Time INFO mail-api: [01674156] POST /auth/save-draft → 200 (3ms)
18/05/2026 19:17:30 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 19:17:30 New Zealand Standard Time INFO mail-api: [e9a0a0ce] POST /auth/save-draft → 200 (2ms)
18/05/2026 19:17:45 New Zealand Standard Time INFO mail-api: Draft saved: email=mattcohen0@gmail.com form=onboarding
18/05/2026 19:17:45 New Zealand Standard Time INFO mail-api: [151d037e] POST /auth/save-draft → 200 (2ms)
18/05/2026 19:18:41 New Zealand Standard Time INFO mail-api: [4befc845] GET /auth/verify → 200 (0ms)
18/05/2026 19:19:24 New Zealand Standard Time INFO mail-api: [097dddb7] GET /auth/verify → 200 (0ms)
18/05/2026 19:22:57 New Zealand Standard Time INFO mail-api: [986524c9] GET /auth/verify → 200 (1ms)
18/05/2026 19:22:59 New Zealand Standard Time INFO mail-api: [ab0e5771] POST /auth/logout → 200 (0ms)
18/05/2026 19:23:19 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:23:19 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:23:19 New Zealand Standard Time INFO mail-api: Auth: loaded 2 allowed email(s)
18/05/2026 19:23:19 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:23:30 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:23:30 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:23:30 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 19:23:30 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:23:40 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:23:40 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:23:40 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 19:23:41 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:24:06 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:24:06 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:24:06 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 19:24:06 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:24:12 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:24:12 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:24:12 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 19:24:12 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:24:33 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:24:33 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:24:33 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 19:24:33 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:24:43 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:24:43 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:24:43 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 19:24:43 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:24:49 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:24:49 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:24:49 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 19:24:49 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:24:56 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:24:56 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:24:56 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 19:24:57 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:32:24 New Zealand Standard Time INFO mail-api: [d2802773] auth: unknown email=info@goodwalk.co.nz ip=127.0.0.1
18/05/2026 19:32:24 New Zealand Standard Time WARNING mail-api: [d2802773] auth: failure ip=127.0.0.1 reason='unknown_email' total_in_window=1
18/05/2026 19:32:24 New Zealand Standard Time INFO mail-api: [d2802773] POST /auth/request-code → 403 (3ms)
18/05/2026 19:32:45 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:32:45 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='dev@localhost' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:32:45 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 19:32:45 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:32:49 New Zealand Standard Time INFO mail-api: [752497fb] auth: unknown email=info@goodwalk.co.nz ip=127.0.0.1
18/05/2026 19:32:49 New Zealand Standard Time WARNING mail-api: [752497fb] auth: failure ip=127.0.0.1 reason='unknown_email' total_in_window=1
18/05/2026 19:32:49 New Zealand Standard Time INFO mail-api: [752497fb] POST /auth/request-code → 403 (3ms)
18/05/2026 19:37:07 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:37:07 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:37:07 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 19:37:07 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:37:09 New Zealand Standard Time INFO mail-api: [49cfee69] GET /auth/verify → 401 (1ms)
18/05/2026 19:37:12 New Zealand Standard Time INFO mail-api: [2baec3fb] auth: code issued for email=info@goodwalk.co.nz
18/05/2026 19:37:12 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 645023
18/05/2026 19:37:12 New Zealand Standard Time INFO mail-api: [2baec3fb] POST /auth/request-code → 200 (2ms)
18/05/2026 19:37:20 New Zealand Standard Time INFO mail-api: [1dddf255] auth: session created for email=info@goodwalk.co.nz
18/05/2026 19:37:20 New Zealand Standard Time INFO mail-api: [1dddf255] POST /auth/verify-code → 200 (1ms)
18/05/2026 19:37:20 New Zealand Standard Time INFO mail-api: [5cd55ec8] GET /auth/verify → 200 (0ms)
18/05/2026 19:37:20 New Zealand Standard Time INFO mail-api: [97b632c4] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 19:39:44 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:39:44 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:39:44 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 19:39:44 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:39:51 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:39:51 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:39:51 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 19:39:51 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 19:42:55 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 19:42:55 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 19:42:55 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 19:42:55 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 20:36:40 New Zealand Standard Time INFO mail-api: [3f283086] GET /auth/verify → 401 (1ms)
18/05/2026 20:36:51 New Zealand Standard Time INFO mail-api: [b368db7e] auth: code issued for email=info@goodwalk.co.nz
18/05/2026 20:36:51 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 273804
18/05/2026 20:36:51 New Zealand Standard Time INFO mail-api: [b368db7e] POST /auth/request-code → 200 (2ms)
18/05/2026 20:37:00 New Zealand Standard Time INFO mail-api: [e417a82c] auth: session created for email=info@goodwalk.co.nz
18/05/2026 20:37:00 New Zealand Standard Time INFO mail-api: [e417a82c] POST /auth/verify-code → 200 (1ms)
18/05/2026 20:37:00 New Zealand Standard Time INFO mail-api: [315e6b4d] GET /auth/verify → 200 (0ms)
18/05/2026 20:37:00 New Zealand Standard Time INFO mail-api: [46c191a6] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 20:37:05 New Zealand Standard Time INFO mail-api: [bb17551c] GET /auth/verify → 200 (0ms)
18/05/2026 20:37:05 New Zealand Standard Time INFO mail-api: [99047ed5] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 20:37:14 New Zealand Standard Time WARNING mail-api: [DEV] skipping email send — label=welcome_pack_email to=['mattcohen0@gmail.com'] subject='Welcome to the pack | Goodwalk'
18/05/2026 20:37:14 New Zealand Standard Time INFO mail-api: [b0c8ebe5] welcome pack sent: email=mattcohen0@gmail.com service=test start=2026-05-18
18/05/2026 20:37:14 New Zealand Standard Time INFO mail-api: [b0c8ebe5] POST /owner/send-welcome-pack → 200 (8ms)
18/05/2026 20:37:17 New Zealand Standard Time INFO mail-api: [a8a4b2db] GET /auth/verify → 200 (0ms)
18/05/2026 20:37:17 New Zealand Standard Time INFO mail-api: [07b80337] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 20:48:42 New Zealand Standard Time INFO mail-api: [41b27cbd] GET /auth/verify → 200 (0ms)
18/05/2026 20:48:42 New Zealand Standard Time INFO mail-api: [ecf68f55] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 20:49:00 New Zealand Standard Time INFO mail-api: [758c7342] GET /auth/verify → 200 (0ms)
18/05/2026 20:49:00 New Zealand Standard Time INFO mail-api: [226ad835] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 20:49:05 New Zealand Standard Time INFO mail-api: [d023e315] GET /auth/verify → 200 (0ms)
18/05/2026 20:49:05 New Zealand Standard Time INFO mail-api: [363b904a] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 20:49:23 New Zealand Standard Time INFO mail-api: [898ef469] GET /auth/verify → 200 (0ms)
18/05/2026 20:49:23 New Zealand Standard Time INFO mail-api: [add0beab] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 20:49:32 New Zealand Standard Time INFO mail-api: [ad1b7e9b] GET /auth/verify → 200 (0ms)
18/05/2026 20:49:32 New Zealand Standard Time INFO mail-api: [f960f6be] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 20:49:38 New Zealand Standard Time INFO mail-api: [1c44dc2e] GET /auth/verify → 200 (0ms)
18/05/2026 20:49:38 New Zealand Standard Time INFO mail-api: [21a76e10] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 20:49:49 New Zealand Standard Time INFO mail-api: [fda41ecc] GET /auth/verify → 200 (0ms)
18/05/2026 20:49:49 New Zealand Standard Time INFO mail-api: [6bafc11b] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 20:49:53 New Zealand Standard Time INFO mail-api: [01671e54] GET /auth/verify → 200 (0ms)
18/05/2026 20:49:53 New Zealand Standard Time INFO mail-api: [b167f067] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 20:49:57 New Zealand Standard Time INFO mail-api: [6ec1a097] GET /auth/verify → 200 (0ms)
18/05/2026 20:49:57 New Zealand Standard Time INFO mail-api: [365e530d] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 20:50:00 New Zealand Standard Time INFO mail-api: [7145f664] GET /auth/verify → 200 (1ms)
18/05/2026 20:50:00 New Zealand Standard Time INFO mail-api: [4c7f6ea7] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 20:50:06 New Zealand Standard Time INFO mail-api: [569d97d3] GET /auth/verify → 200 (0ms)
18/05/2026 20:50:06 New Zealand Standard Time INFO mail-api: [c2d63f91] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 20:50:06 New Zealand Standard Time INFO mail-api: [806fccdb] GET /owner/completed-onboarding → 200 (1ms)
18/05/2026 20:50:09 New Zealand Standard Time INFO mail-api: [d96da4e6] GET /auth/verify → 200 (0ms)
18/05/2026 20:50:09 New Zealand Standard Time INFO mail-api: [f9225ccd] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 20:50:09 New Zealand Standard Time INFO mail-api: [b8d22fc7] GET /owner/completed-onboarding → 200 (1ms)
18/05/2026 20:50:32 New Zealand Standard Time INFO mail-api: [431a0057] GET /auth/verify → 200 (0ms)
18/05/2026 20:50:32 New Zealand Standard Time INFO mail-api: [6f72eb73] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 20:50:32 New Zealand Standard Time INFO mail-api: [f156121e] GET /owner/completed-onboarding → 200 (1ms)
18/05/2026 20:51:02 New Zealand Standard Time INFO mail-api: [41b25f40] GET /auth/verify → 200 (0ms)
18/05/2026 20:51:02 New Zealand Standard Time INFO mail-api: [074c5790] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 20:51:02 New Zealand Standard Time INFO mail-api: [42413508] GET /owner/completed-onboarding → 200 (1ms)
18/05/2026 20:51:10 New Zealand Standard Time INFO mail-api: [ff4b04ba] GET /auth/verify → 200 (0ms)
18/05/2026 20:51:10 New Zealand Standard Time INFO mail-api: [52528c10] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 20:51:10 New Zealand Standard Time INFO mail-api: [48137c12] GET /owner/completed-onboarding → 200 (1ms)
18/05/2026 20:52:30 New Zealand Standard Time INFO mail-api: [2abac2d8] GET /auth/verify → 200 (0ms)
18/05/2026 20:52:30 New Zealand Standard Time INFO mail-api: [ba9be7f6] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 20:52:30 New Zealand Standard Time INFO mail-api: [c02fd6c0] GET /owner/completed-onboarding → 200 (1ms)
18/05/2026 20:52:44 New Zealand Standard Time INFO mail-api: [1ed6452c] GET /auth/verify → 200 (0ms)
18/05/2026 20:52:44 New Zealand Standard Time INFO mail-api: [0b16c2db] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 20:52:44 New Zealand Standard Time INFO mail-api: [39be3b9d] GET /owner/completed-onboarding → 200 (1ms)
18/05/2026 20:52:46 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 20:52:46 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 20:52:46 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 20:52:46 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 20:52:51 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 20:52:51 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 20:52:51 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 20:52:51 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 20:52:53 New Zealand Standard Time INFO mail-api: [415dcfda] GET /auth/verify → 401 (1ms)
18/05/2026 20:52:57 New Zealand Standard Time INFO mail-api: [7d59882a] auth: code issued for email=info@goodwalk.co.nz
18/05/2026 20:52:57 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 587178
18/05/2026 20:52:57 New Zealand Standard Time INFO mail-api: [7d59882a] POST /auth/request-code → 200 (2ms)
18/05/2026 20:53:06 New Zealand Standard Time INFO mail-api: [ba148f10] auth: session created for email=info@goodwalk.co.nz
18/05/2026 20:53:06 New Zealand Standard Time INFO mail-api: [ba148f10] POST /auth/verify-code → 200 (2ms)
18/05/2026 20:53:06 New Zealand Standard Time INFO mail-api: [4d2e0d81] GET /auth/verify → 200 (0ms)
18/05/2026 20:53:06 New Zealand Standard Time INFO mail-api: [e3e880d5] GET /owner/completed-onboarding → 200 (2ms)
18/05/2026 20:53:06 New Zealand Standard Time INFO mail-api: [66c77107] GET /owner/pending-onboarding → 200 (2ms)
18/05/2026 20:53:19 New Zealand Standard Time INFO mail-api: [29e3f7d7] GET /auth/verify → 200 (0ms)
18/05/2026 20:53:19 New Zealand Standard Time INFO mail-api: [1554fc60] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 20:53:19 New Zealand Standard Time INFO mail-api: [caa57c2b] GET /owner/completed-onboarding → 200 (1ms)
18/05/2026 20:53:22 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 20:53:22 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 20:53:22 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 20:53:22 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 20:53:26 New Zealand Standard Time INFO mail-api: [e03104a8] GET /auth/verify → 401 (1ms)
18/05/2026 20:53:30 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 20:53:30 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 20:53:30 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 20:53:30 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 20:53:50 New Zealand Standard Time INFO mail-api: [329720e2] auth: code issued for email=info@goodwalk.co.nz
18/05/2026 20:53:50 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 292473
18/05/2026 20:53:50 New Zealand Standard Time INFO mail-api: [329720e2] POST /auth/request-code → 200 (3ms)
18/05/2026 20:53:54 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 20:53:54 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 20:53:54 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 20:53:54 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 20:54:01 New Zealand Standard Time INFO mail-api: [8402d588] auth: code issued for email=info@goodwalk.co.nz
18/05/2026 20:54:01 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 926028
18/05/2026 20:54:01 New Zealand Standard Time INFO mail-api: [8402d588] POST /auth/request-code → 200 (3ms)
18/05/2026 20:54:08 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 20:54:08 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 20:54:08 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 20:54:08 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 20:54:08 New Zealand Standard Time WARNING mail-api: [158bfcb9] auth: failure ip=127.0.0.1 reason='no_pending_code' total_in_window=1
18/05/2026 20:54:08 New Zealand Standard Time INFO mail-api: [158bfcb9] POST /auth/verify-code → 400 (3ms)
18/05/2026 20:54:17 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 20:54:17 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 20:54:17 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 20:54:17 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 20:54:21 New Zealand Standard Time INFO mail-api: [b96e1a15] auth: code issued for email=info@goodwalk.co.nz
18/05/2026 20:54:21 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 171778
18/05/2026 20:54:21 New Zealand Standard Time INFO mail-api: [b96e1a15] POST /auth/request-code → 200 (3ms)
18/05/2026 20:54:28 New Zealand Standard Time INFO mail-api: [5d344a66] auth: session created for email=info@goodwalk.co.nz
18/05/2026 20:54:28 New Zealand Standard Time INFO mail-api: [5d344a66] POST /auth/verify-code → 200 (2ms)
18/05/2026 20:54:29 New Zealand Standard Time INFO mail-api: [a42dcc2e] GET /auth/verify → 200 (0ms)
18/05/2026 20:54:29 New Zealand Standard Time INFO mail-api: [d7b1503e] GET /owner/pending-onboarding → 200 (2ms)
18/05/2026 20:54:29 New Zealand Standard Time INFO mail-api: [333f54a9] GET /owner/completed-onboarding → 200 (2ms)
18/05/2026 20:55:18 New Zealand Standard Time INFO mail-api: [146fad21] GET /auth/verify → 200 (0ms)
18/05/2026 20:55:18 New Zealand Standard Time INFO mail-api: [3b0c10cf] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 20:55:18 New Zealand Standard Time INFO mail-api: [dd191338] GET /owner/completed-onboarding → 200 (1ms)
18/05/2026 20:55:23 New Zealand Standard Time INFO mail-api: [bab51812] GET /auth/verify → 200 (0ms)
18/05/2026 20:55:24 New Zealand Standard Time INFO mail-api: [ad8c1219] GET /auth/verify → 200 (0ms)
18/05/2026 20:55:29 New Zealand Standard Time INFO mail-api: [9b536203] GET /auth/verify → 200 (0ms)
18/05/2026 20:55:35 New Zealand Standard Time INFO mail-api: [b5154137] GET /auth/verify → 200 (0ms)
18/05/2026 20:55:40 New Zealand Standard Time INFO mail-api: [f4bc3375] GET /auth/verify → 200 (1ms)
18/05/2026 20:55:43 New Zealand Standard Time INFO mail-api: [0b7c0994] GET /auth/verify → 200 (0ms)
18/05/2026 20:57:09 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 20:57:09 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 20:57:09 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 20:57:09 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 20:57:57 New Zealand Standard Time INFO mail-api: [e4d0f1eb] GET /auth/verify → 401 (1ms)
18/05/2026 20:58:09 New Zealand Standard Time INFO mail-api: [82661eb4] auth: code issued for email=info@goodwalk.co.nz
18/05/2026 20:58:09 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 611853
18/05/2026 20:58:09 New Zealand Standard Time INFO mail-api: [82661eb4] POST /auth/request-code → 200 (2ms)
18/05/2026 20:58:16 New Zealand Standard Time INFO mail-api: [c8a64ef0] auth: session created for email=info@goodwalk.co.nz
18/05/2026 20:58:16 New Zealand Standard Time INFO mail-api: [c8a64ef0] POST /auth/verify-code → 200 (1ms)
18/05/2026 20:58:16 New Zealand Standard Time INFO mail-api: [b8d16127] GET /auth/verify → 200 (1ms)
18/05/2026 20:58:16 New Zealand Standard Time INFO mail-api: [966d900e] GET /owner/pending-onboarding → 200 (2ms)
18/05/2026 20:58:16 New Zealand Standard Time INFO mail-api: [09cbe17c] GET /owner/completed-onboarding → 200 (2ms)
18/05/2026 20:58:26 New Zealand Standard Time INFO mail-api: [6d43f130] GET /owner/birthday-ics → 200 (47ms)
18/05/2026 21:01:40 New Zealand Standard Time INFO mail-api: [10fe76cb] GET /auth/verify → 200 (0ms)
18/05/2026 21:01:40 New Zealand Standard Time INFO mail-api: [0974c005] GET /owner/all-clients → 200 (2ms)
18/05/2026 21:01:40 New Zealand Standard Time INFO mail-api: [24266b49] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:01:40 New Zealand Standard Time INFO mail-api: [aec89563] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:01:54 New Zealand Standard Time INFO mail-api: [ac91ab1a] GET /auth/verify → 200 (0ms)
18/05/2026 21:01:54 New Zealand Standard Time INFO mail-api: [392012b2] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:01:54 New Zealand Standard Time INFO mail-api: [19bb9b32] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:01:54 New Zealand Standard Time INFO mail-api: [f49619c8] GET /owner/birthdays → 200 (0ms)
18/05/2026 21:02:00 New Zealand Standard Time INFO mail-api: [919dc475] GET /auth/verify → 200 (0ms)
18/05/2026 21:02:00 New Zealand Standard Time INFO mail-api: [69fff7db] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 21:02:00 New Zealand Standard Time INFO mail-api: [c83661f8] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:02:00 New Zealand Standard Time INFO mail-api: [6f5fac0c] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:03:08 New Zealand Standard Time INFO mail-api: [154efc4c] GET /auth/verify → 200 (0ms)
18/05/2026 21:03:08 New Zealand Standard Time INFO mail-api: [61b8e36d] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 21:03:08 New Zealand Standard Time INFO mail-api: [746f579f] GET /owner/all-clients → 200 (0ms)
18/05/2026 21:03:08 New Zealand Standard Time INFO mail-api: [4c03794b] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:04:37 New Zealand Standard Time INFO mail-api: [66334fa7] GET /auth/verify → 200 (0ms)
18/05/2026 21:04:37 New Zealand Standard Time INFO mail-api: [7ae679b9] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:04:37 New Zealand Standard Time INFO mail-api: [e9bb44e0] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:04:37 New Zealand Standard Time INFO mail-api: [dd496d79] GET /owner/birthdays → 200 (0ms)
18/05/2026 21:04:48 New Zealand Standard Time INFO mail-api: [3391cb3e] GET /auth/verify → 200 (0ms)
18/05/2026 21:04:48 New Zealand Standard Time INFO mail-api: [3e4f5d46] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 21:04:48 New Zealand Standard Time INFO mail-api: [943c3c32] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:04:48 New Zealand Standard Time INFO mail-api: [0fe2a305] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:04:56 New Zealand Standard Time INFO mail-api: [630e810d] POST /owner/birthday-auto-send → 200 (11ms)
18/05/2026 21:04:57 New Zealand Standard Time INFO mail-api: [257fd79f] POST /owner/birthday-auto-send → 200 (2ms)
18/05/2026 21:05:46 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:05:46 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:05:46 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:05:46 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:05:54 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:05:54 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:05:54 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:05:54 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:06:14 New Zealand Standard Time INFO mail-api: [1d4ec9f0] GET /auth/verify → 401 (1ms)
18/05/2026 21:06:22 New Zealand Standard Time INFO mail-api: [cd75de27] auth: code issued for email=info@goodwalk.co.nz
18/05/2026 21:06:22 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 352716
18/05/2026 21:06:22 New Zealand Standard Time INFO mail-api: [cd75de27] POST /auth/request-code → 200 (2ms)
18/05/2026 21:06:33 New Zealand Standard Time INFO mail-api: [39fcb039] auth: code issued for email=info@goodwalk.co.nz
18/05/2026 21:06:33 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 673532
18/05/2026 21:06:33 New Zealand Standard Time INFO mail-api: [39fcb039] POST /auth/request-code → 200 (1ms)
18/05/2026 21:06:41 New Zealand Standard Time INFO mail-api: [b569b0a7] auth: code issued for email=info@goodwalk.co.nz
18/05/2026 21:06:41 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 422102
18/05/2026 21:06:41 New Zealand Standard Time INFO mail-api: [b569b0a7] POST /auth/request-code → 200 (1ms)
18/05/2026 21:06:47 New Zealand Standard Time INFO mail-api: [f7d31b25] auth: session created for email=info@goodwalk.co.nz
18/05/2026 21:06:47 New Zealand Standard Time INFO mail-api: [f7d31b25] POST /auth/verify-code → 200 (1ms)
18/05/2026 21:06:47 New Zealand Standard Time INFO mail-api: [3bfb4696] GET /auth/verify → 200 (0ms)
18/05/2026 21:06:47 New Zealand Standard Time INFO mail-api: [ad0e89cf] GET /owner/pending-onboarding → 200 (2ms)
18/05/2026 21:06:47 New Zealand Standard Time INFO mail-api: [4e0de9fd] GET /owner/all-clients → 200 (5ms)
18/05/2026 21:06:47 New Zealand Standard Time INFO mail-api: [60fd31ea] GET /owner/birthdays → 200 (6ms)
18/05/2026 21:06:47 New Zealand Standard Time INFO mail-api: [d16754bc] GET /auth/verify → 200 (0ms)
18/05/2026 21:06:47 New Zealand Standard Time INFO mail-api: [4af5c695] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:06:47 New Zealand Standard Time INFO mail-api: [5f073850] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:06:47 New Zealand Standard Time INFO mail-api: [74c6b7ba] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:06:50 New Zealand Standard Time INFO mail-api: [5f5e5ce9] GET /owner/client-enquiry → 200 (8ms)
18/05/2026 21:06:51 New Zealand Standard Time INFO mail-api: [e1417817] GET /owner/client-enquiry → 200 (0ms)
18/05/2026 21:06:52 New Zealand Standard Time INFO mail-api: [df34527b] GET /owner/client-enquiry → 200 (0ms)
18/05/2026 21:06:55 New Zealand Standard Time INFO mail-api: [937f331a] GET /owner/client-enquiry → 200 (0ms)
18/05/2026 21:06:56 New Zealand Standard Time INFO mail-api: [d2da1b46] GET /auth/verify → 200 (0ms)
18/05/2026 21:06:56 New Zealand Standard Time INFO mail-api: [71230eee] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:06:56 New Zealand Standard Time INFO mail-api: [6f92ccfc] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:06:56 New Zealand Standard Time INFO mail-api: [be70a30e] GET /owner/birthdays → 200 (38ms)
18/05/2026 21:06:56 New Zealand Standard Time INFO mail-api: [dd3c2966] GET /owner/client-enquiry → 200 (0ms)
18/05/2026 21:06:57 New Zealand Standard Time INFO mail-api: [9d07d186] GET /owner/client-enquiry → 200 (0ms)
18/05/2026 21:07:06 New Zealand Standard Time INFO mail-api: [30adb043] GET /auth/verify → 200 (0ms)
18/05/2026 21:07:06 New Zealand Standard Time INFO mail-api: [e4210b7e] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:07:06 New Zealand Standard Time INFO mail-api: [aae658b3] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:07:06 New Zealand Standard Time INFO mail-api: [93cf8b33] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:07:16 New Zealand Standard Time INFO mail-api: [48eaf99a] GET /owner/client-enquiry → 200 (0ms)
18/05/2026 21:07:21 New Zealand Standard Time INFO mail-api: [40707298] GET /owner/client-enquiry → 200 (0ms)
18/05/2026 21:07:26 New Zealand Standard Time INFO mail-api: [4dc85cd2] GET /auth/verify → 200 (0ms)
18/05/2026 21:07:26 New Zealand Standard Time INFO mail-api: [15e9f336] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:07:26 New Zealand Standard Time INFO mail-api: [02bdfb2f] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:07:26 New Zealand Standard Time INFO mail-api: [33d645fd] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:07:27 New Zealand Standard Time INFO mail-api: [f5d3c66c] GET /owner/client-enquiry → 200 (0ms)
18/05/2026 21:07:29 New Zealand Standard Time INFO mail-api: [808493ea] GET /owner/client-enquiry → 200 (0ms)
18/05/2026 21:07:31 New Zealand Standard Time INFO mail-api: [5abd3b07] GET /owner/client-enquiry → 200 (0ms)
18/05/2026 21:08:54 New Zealand Standard Time INFO mail-api: [df00ae10] GET /owner/client-enquiry → 200 (0ms)
18/05/2026 21:09:13 New Zealand Standard Time INFO mail-api: [577cac77] GET /auth/verify → 200 (0ms)
18/05/2026 21:09:13 New Zealand Standard Time INFO mail-api: [4a8b9e56] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:09:13 New Zealand Standard Time INFO mail-api: [eddfea37] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:09:13 New Zealand Standard Time INFO mail-api: [3dacc7b7] GET /owner/all-clients → 200 (2ms)
18/05/2026 21:09:24 New Zealand Standard Time INFO mail-api: [49418f49] GET /auth/verify → 200 (0ms)
18/05/2026 21:09:24 New Zealand Standard Time INFO mail-api: [95000436] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 21:09:24 New Zealand Standard Time INFO mail-api: [366ef2d7] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:09:24 New Zealand Standard Time INFO mail-api: [98e6711c] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:09:30 New Zealand Standard Time INFO mail-api: [f29e3ea1] GET /auth/verify → 200 (0ms)
18/05/2026 21:09:30 New Zealand Standard Time INFO mail-api: [ce9b4e92] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:09:30 New Zealand Standard Time INFO mail-api: [94eb3c49] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:09:30 New Zealand Standard Time INFO mail-api: [7cfaa0e0] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:09:51 New Zealand Standard Time INFO mail-api: [1540a1fe] GET /auth/verify → 200 (0ms)
18/05/2026 21:09:51 New Zealand Standard Time INFO mail-api: [cef54851] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 21:09:51 New Zealand Standard Time INFO mail-api: [d8b05598] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:09:51 New Zealand Standard Time INFO mail-api: [5582ac68] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:09:55 New Zealand Standard Time INFO mail-api: [3bc7eac9] GET /auth/verify → 200 (0ms)
18/05/2026 21:09:55 New Zealand Standard Time INFO mail-api: [dbd5ad2f] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:09:55 New Zealand Standard Time INFO mail-api: [ce08939a] GET /owner/all-clients → 200 (0ms)
18/05/2026 21:09:55 New Zealand Standard Time INFO mail-api: [a0c6e352] GET /owner/birthdays → 200 (0ms)
18/05/2026 21:09:56 New Zealand Standard Time INFO mail-api: [628a7bb1] GET /auth/verify → 200 (0ms)
18/05/2026 21:09:56 New Zealand Standard Time INFO mail-api: [3f0c4dde] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:09:56 New Zealand Standard Time INFO mail-api: [edcf1014] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:09:56 New Zealand Standard Time INFO mail-api: [cdd1d4e6] GET /owner/birthdays → 200 (2ms)
18/05/2026 21:10:01 New Zealand Standard Time INFO mail-api: [cd064044] GET /auth/verify → 200 (0ms)
18/05/2026 21:10:01 New Zealand Standard Time INFO mail-api: [2fcfe82b] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:10:01 New Zealand Standard Time INFO mail-api: [f0a36d94] GET /owner/all-clients → 200 (2ms)
18/05/2026 21:10:01 New Zealand Standard Time INFO mail-api: [e82203da] GET /owner/birthdays → 200 (2ms)
18/05/2026 21:10:14 New Zealand Standard Time INFO mail-api: [9fa6aea1] GET /auth/verify → 200 (0ms)
18/05/2026 21:10:14 New Zealand Standard Time INFO mail-api: [1daa6f9d] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:10:14 New Zealand Standard Time INFO mail-api: [5e1ce2b0] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:10:14 New Zealand Standard Time INFO mail-api: [e24c3f93] GET /owner/birthdays → 200 (0ms)
18/05/2026 21:10:25 New Zealand Standard Time INFO mail-api: [c8045ecf] GET /owner/client-enquiry → 200 (0ms)
18/05/2026 21:10:40 New Zealand Standard Time INFO mail-api: [66544d87] GET /owner/client-enquiry → 200 (0ms)
18/05/2026 21:10:42 New Zealand Standard Time INFO mail-api: [e1d560f3] GET /owner/client-enquiry → 200 (0ms)
18/05/2026 21:10:52 New Zealand Standard Time INFO mail-api: [5154665b] GET /auth/verify → 200 (0ms)
18/05/2026 21:10:52 New Zealand Standard Time INFO mail-api: [e8c6529f] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:10:52 New Zealand Standard Time INFO mail-api: [bff9782c] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:10:52 New Zealand Standard Time INFO mail-api: [3bfe2f94] GET /owner/birthdays → 200 (2ms)
18/05/2026 21:10:57 New Zealand Standard Time INFO mail-api: [1fab6d86] GET /auth/verify → 200 (0ms)
18/05/2026 21:10:57 New Zealand Standard Time INFO mail-api: [5c77b1a5] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:10:57 New Zealand Standard Time INFO mail-api: [999f1cbd] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:10:57 New Zealand Standard Time INFO mail-api: [196d7f81] GET /owner/birthdays → 200 (2ms)
18/05/2026 21:11:30 New Zealand Standard Time INFO mail-api: [d4867904] GET /auth/verify → 200 (0ms)
18/05/2026 21:11:30 New Zealand Standard Time INFO mail-api: [1ae08f2c] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:11:30 New Zealand Standard Time INFO mail-api: [17a10187] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:11:30 New Zealand Standard Time INFO mail-api: [7cc1014d] GET /owner/birthdays → 200 (2ms)
18/05/2026 21:12:30 New Zealand Standard Time INFO mail-api: [c0ad4e73] GET /auth/verify → 200 (0ms)
18/05/2026 21:12:30 New Zealand Standard Time INFO mail-api: [c696f323] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:12:30 New Zealand Standard Time INFO mail-api: [fd2b382b] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:12:30 New Zealand Standard Time INFO mail-api: [bfbf712c] GET /owner/all-clients → 200 (2ms)
18/05/2026 21:12:33 New Zealand Standard Time INFO mail-api: [d9181470] GET /auth/verify → 200 (0ms)
18/05/2026 21:12:33 New Zealand Standard Time INFO mail-api: [432506c5] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:12:33 New Zealand Standard Time INFO mail-api: [36f2eb7d] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:12:33 New Zealand Standard Time INFO mail-api: [4572655e] GET /owner/birthdays → 200 (0ms)
18/05/2026 21:13:20 New Zealand Standard Time INFO mail-api: [1d738698] GET /auth/verify → 200 (0ms)
18/05/2026 21:13:20 New Zealand Standard Time INFO mail-api: [9a6b2a2a] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:13:20 New Zealand Standard Time INFO mail-api: [d33bc3cf] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:13:20 New Zealand Standard Time INFO mail-api: [82cd8646] GET /owner/all-clients → 200 (2ms)
18/05/2026 21:13:25 New Zealand Standard Time INFO mail-api: [cd64ed80] GET /auth/verify → 200 (0ms)
18/05/2026 21:13:25 New Zealand Standard Time INFO mail-api: [fd6aab4e] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:13:25 New Zealand Standard Time INFO mail-api: [1620a2b7] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:13:25 New Zealand Standard Time INFO mail-api: [4fbfa033] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:14:34 New Zealand Standard Time INFO mail-api: [47c17e37] GET /auth/verify → 200 (0ms)
18/05/2026 21:14:34 New Zealand Standard Time INFO mail-api: [c9a6b0e8] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 21:14:34 New Zealand Standard Time INFO mail-api: [04a15a35] GET /owner/all-clients → 200 (0ms)
18/05/2026 21:14:34 New Zealand Standard Time INFO mail-api: [df331a1d] GET /owner/birthdays → 200 (0ms)
18/05/2026 21:16:26 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:16:26 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:16:26 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:16:26 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:16:41 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:16:41 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:16:41 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:16:42 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:16:53 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:16:53 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:16:53 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:16:53 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:16:58 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:16:58 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:16:58 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:16:58 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:17:03 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:17:03 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:17:03 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:17:03 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:17:09 New Zealand Standard Time INFO mail-api: [4adefcdc] GET /auth/verify → 401 (2ms)
18/05/2026 21:18:51 New Zealand Standard Time INFO mail-api: [daa42fc9] auth: code issued for email=info@goodwalk.co.nz
18/05/2026 21:18:51 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 196387
18/05/2026 21:18:51 New Zealand Standard Time INFO mail-api: [daa42fc9] POST /auth/request-code → 200 (2ms)
18/05/2026 21:19:02 New Zealand Standard Time INFO mail-api: [813144ca] auth: session created for email=info@goodwalk.co.nz
18/05/2026 21:19:02 New Zealand Standard Time INFO mail-api: [813144ca] POST /auth/verify-code → 200 (2ms)
18/05/2026 21:19:02 New Zealand Standard Time INFO mail-api: [4a640f08] GET /auth/verify → 200 (0ms)
18/05/2026 21:19:02 New Zealand Standard Time INFO mail-api: [4c90dbf6] GET /owner/pending-onboarding → 200 (2ms)
18/05/2026 21:19:02 New Zealand Standard Time INFO mail-api: [1f509c67] GET /owner/all-clients → 200 (2ms)
18/05/2026 21:19:02 New Zealand Standard Time INFO mail-api: [51382343] GET /owner/birthdays → 200 (7ms)
18/05/2026 21:19:10 New Zealand Standard Time INFO mail-api: [2e82354f] GET /owner/client-enquiry → 200 (1ms)
18/05/2026 21:20:40 New Zealand Standard Time INFO mail-api: [37a981ff] GET /auth/verify → 200 (0ms)
18/05/2026 21:20:40 New Zealand Standard Time INFO mail-api: [dfc92fce] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 21:20:40 New Zealand Standard Time INFO mail-api: [0feb7af7] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:20:40 New Zealand Standard Time INFO mail-api: [685a1be4] GET /owner/all-clients → 200 (2ms)
18/05/2026 21:20:47 New Zealand Standard Time INFO mail-api: [f52d193a] GET /auth/verify → 200 (0ms)
18/05/2026 21:20:47 New Zealand Standard Time INFO mail-api: [5da059ab] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 21:20:47 New Zealand Standard Time INFO mail-api: [a08a20a1] GET /owner/all-clients → 200 (0ms)
18/05/2026 21:20:47 New Zealand Standard Time INFO mail-api: [caf78fb9] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:20:52 New Zealand Standard Time INFO mail-api: [b980a727] GET /auth/verify → 200 (0ms)
18/05/2026 21:20:52 New Zealand Standard Time INFO mail-api: [6261daf9] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:20:52 New Zealand Standard Time INFO mail-api: [28597ae7] GET /owner/all-clients → 200 (7ms)
18/05/2026 21:20:52 New Zealand Standard Time INFO mail-api: [a4b8ff1a] GET /owner/birthdays → 200 (7ms)
18/05/2026 21:21:13 New Zealand Standard Time INFO mail-api: [3ce67fce] GET /auth/verify → 200 (0ms)
18/05/2026 21:21:13 New Zealand Standard Time INFO mail-api: [5638cdf4] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 21:21:13 New Zealand Standard Time INFO mail-api: [2b317150] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:21:13 New Zealand Standard Time INFO mail-api: [d901f1e9] GET /owner/birthdays → 200 (0ms)
18/05/2026 21:21:18 New Zealand Standard Time INFO mail-api: [2b80392f] GET /auth/verify → 200 (0ms)
18/05/2026 21:21:18 New Zealand Standard Time INFO mail-api: [80a30bb3] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:21:18 New Zealand Standard Time INFO mail-api: [25400300] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:21:18 New Zealand Standard Time INFO mail-api: [d2439dff] GET /owner/birthdays → 200 (2ms)
18/05/2026 21:21:19 New Zealand Standard Time INFO mail-api: [fa179f96] GET /auth/verify → 200 (0ms)
18/05/2026 21:21:19 New Zealand Standard Time INFO mail-api: [28702419] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 21:21:19 New Zealand Standard Time INFO mail-api: [457a87dd] GET /owner/all-clients → 200 (0ms)
18/05/2026 21:21:19 New Zealand Standard Time INFO mail-api: [736e3b1d] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:21:29 New Zealand Standard Time INFO mail-api: [2e256a2d] GET /auth/verify → 200 (0ms)
18/05/2026 21:21:29 New Zealand Standard Time INFO mail-api: [e6c66558] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:21:29 New Zealand Standard Time INFO mail-api: [9585bade] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:21:29 New Zealand Standard Time INFO mail-api: [88fbfe22] GET /owner/birthdays → 200 (0ms)
18/05/2026 21:21:35 New Zealand Standard Time INFO mail-api: [6ce9acb5] GET /auth/verify → 200 (0ms)
18/05/2026 21:21:35 New Zealand Standard Time INFO mail-api: [95b1ef6f] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 21:21:35 New Zealand Standard Time INFO mail-api: [cf8aa164] GET /owner/all-clients → 200 (1ms)
18/05/2026 21:21:35 New Zealand Standard Time INFO mail-api: [6fb3e3b2] GET /owner/birthdays → 200 (1ms)
18/05/2026 21:21:40 New Zealand Standard Time INFO mail-api: [0d99af34] GET /auth/verify → 200 (0ms)
18/05/2026 21:21:40 New Zealand Standard Time INFO mail-api: [6b65cc45] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 21:21:40 New Zealand Standard Time INFO mail-api: [e2bd16c3] GET /owner/all-clients → 200 (0ms)
18/05/2026 21:21:40 New Zealand Standard Time INFO mail-api: [91bd32df] GET /owner/birthdays → 200 (0ms)
18/05/2026 21:24:56 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:24:56 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:24:56 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:24:57 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:25:23 New Zealand Standard Time INFO mail-api: [0f034546] GET /auth/verify → 401 (2ms)
18/05/2026 21:40:40 New Zealand Standard Time INFO mail-api: [b7bb39f7] auth: code issued for email=info@goodwalk.co.nz
18/05/2026 21:40:40 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 385438
18/05/2026 21:40:40 New Zealand Standard Time INFO mail-api: [b7bb39f7] POST /auth/request-code → 200 (2ms)
18/05/2026 21:40:49 New Zealand Standard Time INFO mail-api: [fe40986f] auth: session created for email=info@goodwalk.co.nz
18/05/2026 21:40:49 New Zealand Standard Time INFO mail-api: [fe40986f] POST /auth/verify-code → 200 (2ms)
18/05/2026 21:40:49 New Zealand Standard Time INFO mail-api: [c205fac4] GET /auth/verify → 200 (0ms)
18/05/2026 21:40:49 New Zealand Standard Time INFO mail-api: [b86a53a9] GET /owner/pending-onboarding → 200 (7ms)
18/05/2026 21:40:49 New Zealand Standard Time INFO mail-api: [08603fea] GET /owner/all-clients → 200 (41ms)
18/05/2026 21:40:49 New Zealand Standard Time INFO mail-api: [4326158b] GET /owner/birthdays → 200 (42ms)
18/05/2026 21:40:51 New Zealand Standard Time INFO mail-api: [af8cfae2] GET /owner/message-templates → 200 (1ms)
18/05/2026 21:40:51 New Zealand Standard Time INFO mail-api: [5bf21ce9] POST /owner/render-message → 200 (2ms)
18/05/2026 21:41:01 New Zealand Standard Time INFO mail-api: [19e5ccc9] POST /owner/render-message → 200 (1ms)
18/05/2026 21:41:04 New Zealand Standard Time INFO mail-api: [d3a678ba] POST /owner/render-message → 200 (1ms)
18/05/2026 21:41:07 New Zealand Standard Time INFO mail-api: [50836f50] POST /owner/render-message → 200 (1ms)
18/05/2026 21:41:19 New Zealand Standard Time INFO mail-api: [c74652ab] POST /owner/render-message → 200 (1ms)
18/05/2026 21:42:22 New Zealand Standard Time INFO mail-api: [7ba09ffe] POST /owner/render-message → 200 (1ms)
18/05/2026 21:42:42 New Zealand Standard Time INFO mail-api: [c9990429] POST /owner/render-message → 200 (1ms)
18/05/2026 21:42:45 New Zealand Standard Time INFO mail-api: [4f6da927] POST /owner/render-message → 200 (1ms)
18/05/2026 21:42:50 New Zealand Standard Time INFO mail-api: [f9326ca8] POST /owner/render-message → 200 (1ms)
18/05/2026 21:42:51 New Zealand Standard Time INFO mail-api: [f4511515] POST /owner/render-message → 200 (1ms)
18/05/2026 21:42:54 New Zealand Standard Time INFO mail-api: [0babd26a] POST /owner/render-message → 200 (1ms)
18/05/2026 21:42:55 New Zealand Standard Time INFO mail-api: [a5a6bf91] POST /owner/render-message → 200 (1ms)
18/05/2026 21:42:57 New Zealand Standard Time INFO mail-api: [cf902b5b] POST /owner/render-message → 200 (1ms)
18/05/2026 21:43:00 New Zealand Standard Time INFO mail-api: [504539ca] POST /owner/render-message → 200 (1ms)
18/05/2026 21:43:01 New Zealand Standard Time INFO mail-api: [5b0ab892] POST /owner/render-message → 200 (1ms)
18/05/2026 21:43:02 New Zealand Standard Time INFO mail-api: [4bee8880] POST /owner/render-message → 200 (1ms)
18/05/2026 21:43:03 New Zealand Standard Time INFO mail-api: [5dc98dff] POST /owner/render-message → 200 (1ms)
18/05/2026 21:43:03 New Zealand Standard Time INFO mail-api: [d7eacbb9] POST /owner/render-message → 200 (1ms)
18/05/2026 21:43:04 New Zealand Standard Time INFO mail-api: [00536acf] POST /owner/render-message → 200 (1ms)
18/05/2026 21:43:05 New Zealand Standard Time INFO mail-api: [9e6b3996] POST /owner/render-message → 200 (1ms)
18/05/2026 21:45:01 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:45:01 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:45:01 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:45:01 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:45:10 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:45:10 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:45:10 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:45:10 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:45:16 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:45:16 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:45:16 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:45:17 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:45:22 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:45:22 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:45:22 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:45:22 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:45:28 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:45:28 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:45:28 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:45:28 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:45:44 New Zealand Standard Time INFO mail-api: [243808e5] GET /auth/verify → 401 (2ms)
18/05/2026 21:49:29 New Zealand Standard Time INFO mail-api: [f56403cb] auth: code issued for email=info@goodwalk.co.nz
18/05/2026 21:49:29 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 883753
18/05/2026 21:49:29 New Zealand Standard Time INFO mail-api: [f56403cb] POST /auth/request-code → 200 (2ms)
18/05/2026 21:49:39 New Zealand Standard Time INFO mail-api: [ce0f4af4] auth: session created for email=info@goodwalk.co.nz
18/05/2026 21:49:39 New Zealand Standard Time INFO mail-api: [ce0f4af4] POST /auth/verify-code → 200 (1ms)
18/05/2026 21:49:39 New Zealand Standard Time INFO mail-api: [dad1ace5] GET /auth/verify → 200 (0ms)
18/05/2026 21:49:39 New Zealand Standard Time INFO mail-api: [042f262b] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 21:49:39 New Zealand Standard Time INFO mail-api: [baa63647] GET /owner/birthdays → 200 (4ms)
18/05/2026 21:49:39 New Zealand Standard Time INFO mail-api: [0900a839] GET /owner/all-clients → 200 (4ms)
18/05/2026 21:49:41 New Zealand Standard Time INFO mail-api: [34995134] GET /owner/message-templates → 200 (1ms)
18/05/2026 21:49:41 New Zealand Standard Time INFO mail-api: [e7ef632c] POST /owner/render-message → 200 (1ms)
18/05/2026 21:49:55 New Zealand Standard Time INFO mail-api: [5d8bea9e] POST /owner/render-message → 200 (1ms)
18/05/2026 21:49:58 New Zealand Standard Time INFO mail-api: [ccb95237] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:02 New Zealand Standard Time INFO mail-api: [c8bc8cbb] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:04 New Zealand Standard Time INFO mail-api: [2b846861] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:05 New Zealand Standard Time INFO mail-api: [ff28918c] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:06 New Zealand Standard Time INFO mail-api: [68a9d932] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:07 New Zealand Standard Time INFO mail-api: [490db64c] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:07 New Zealand Standard Time INFO mail-api: [260394e8] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:08 New Zealand Standard Time INFO mail-api: [d5bc9166] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:09 New Zealand Standard Time INFO mail-api: [1617ac95] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:10 New Zealand Standard Time INFO mail-api: [c109644f] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:10 New Zealand Standard Time INFO mail-api: [bcaaa153] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:11 New Zealand Standard Time INFO mail-api: [f09575d9] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:11 New Zealand Standard Time INFO mail-api: [3f98696c] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:12 New Zealand Standard Time INFO mail-api: [3f22efd6] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:12 New Zealand Standard Time INFO mail-api: [15105bdd] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:13 New Zealand Standard Time INFO mail-api: [791269c7] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:15 New Zealand Standard Time INFO mail-api: [6e559c4f] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:16 New Zealand Standard Time INFO mail-api: [4ae095e2] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:16 New Zealand Standard Time INFO mail-api: [ed175075] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:21 New Zealand Standard Time INFO mail-api: [bc939b9b] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:26 New Zealand Standard Time INFO mail-api: [e57853ee] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:28 New Zealand Standard Time INFO mail-api: [73ae8c36] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:29 New Zealand Standard Time INFO mail-api: [6fb85ae6] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:30 New Zealand Standard Time INFO mail-api: [772b2fc0] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:31 New Zealand Standard Time INFO mail-api: [d1400560] POST /owner/render-message → 200 (1ms)
18/05/2026 21:50:31 New Zealand Standard Time INFO mail-api: [2e3e329f] POST /owner/render-message → 200 (1ms)
18/05/2026 21:51:08 New Zealand Standard Time INFO mail-api: [22e673fa] POST /owner/render-message → 200 (1ms)
18/05/2026 21:53:17 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:53:17 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:53:17 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:53:17 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:53:23 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:53:23 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:53:23 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:53:23 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:53:29 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:53:29 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:53:29 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:53:29 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:53:40 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:53:40 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:53:40 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:53:40 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:53:45 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:53:45 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:53:45 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:53:45 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:53:53 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:53:53 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:53:53 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:53:53 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:54:05 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:54:05 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:54:05 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:54:05 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:54:08 New Zealand Standard Time INFO mail-api: [f2801825] POST /owner/render-message → 401 (2ms)
18/05/2026 21:54:09 New Zealand Standard Time INFO mail-api: [716fc567] POST /owner/render-message → 401 (1ms)
18/05/2026 21:54:11 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:54:11 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:54:11 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:54:11 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:54:19 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:54:19 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:54:19 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:54:19 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:54:24 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:54:24 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:54:24 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:54:24 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:54:31 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:54:31 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:54:31 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:54:31 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:54:50 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:54:50 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:54:50 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:54:50 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:54:55 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:54:55 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:54:55 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:54:55 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:55:05 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:55:05 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:55:05 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:55:05 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:55:11 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:55:11 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:55:11 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:55:11 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:55:17 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:55:17 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:55:17 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:55:17 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:55:22 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:55:22 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:55:22 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:55:22 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 21:55:37 New Zealand Standard Time INFO mail-api: [fd23f58f] GET /auth/verify → 401 (2ms)
18/05/2026 21:57:57 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 21:57:57 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 21:57:57 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 21:57:57 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:02:17 New Zealand Standard Time INFO mail-api: [d3987921] auth: code issued for email=info@goodwalk.co.nz
18/05/2026 22:02:17 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 446406
18/05/2026 22:02:17 New Zealand Standard Time INFO mail-api: [d3987921] POST /auth/request-code → 200 (3ms)
18/05/2026 22:02:26 New Zealand Standard Time INFO mail-api: [42ed4fcc] auth: session created for email=info@goodwalk.co.nz
18/05/2026 22:02:26 New Zealand Standard Time INFO mail-api: [42ed4fcc] POST /auth/verify-code → 200 (1ms)
18/05/2026 22:02:26 New Zealand Standard Time INFO mail-api: [3a64dfe9] GET /auth/verify → 200 (1ms)
18/05/2026 22:02:26 New Zealand Standard Time INFO mail-api: [9619f6a5] GET /owner/pending-onboarding → 200 (2ms)
18/05/2026 22:02:26 New Zealand Standard Time INFO mail-api: [f0a7d3ea] GET /owner/all-clients → 200 (2ms)
18/05/2026 22:02:26 New Zealand Standard Time INFO mail-api: [c60b4978] GET /owner/birthdays → 200 (3ms)
18/05/2026 22:02:27 New Zealand Standard Time INFO mail-api: [e84fe138] GET /owner/message-templates → 200 (1ms)
18/05/2026 22:02:28 New Zealand Standard Time INFO mail-api: [3e1936de] POST /owner/render-message → 200 (1ms)
18/05/2026 22:02:32 New Zealand Standard Time INFO mail-api: [ffc1231f] POST /owner/render-message → 200 (1ms)
18/05/2026 22:02:35 New Zealand Standard Time INFO mail-api: [bfd4c262] POST /owner/render-message → 200 (1ms)
18/05/2026 22:02:36 New Zealand Standard Time INFO mail-api: [51893bc5] POST /owner/render-message → 200 (1ms)
18/05/2026 22:02:37 New Zealand Standard Time INFO mail-api: [422a720d] POST /owner/render-message → 200 (1ms)
18/05/2026 22:02:39 New Zealand Standard Time INFO mail-api: [4b4c9a56] POST /owner/render-message → 200 (1ms)
18/05/2026 22:02:40 New Zealand Standard Time INFO mail-api: [09b93c27] POST /owner/render-message → 200 (1ms)
18/05/2026 22:02:41 New Zealand Standard Time INFO mail-api: [631145b2] POST /owner/render-message → 200 (1ms)
18/05/2026 22:02:42 New Zealand Standard Time INFO mail-api: [092cee24] POST /owner/render-message → 200 (1ms)
18/05/2026 22:02:43 New Zealand Standard Time INFO mail-api: [e7849f4a] POST /owner/render-message → 200 (1ms)
18/05/2026 22:02:44 New Zealand Standard Time INFO mail-api: [abc31513] POST /owner/render-message → 200 (1ms)
18/05/2026 22:03:45 New Zealand Standard Time INFO mail-api: [2501eac6] GET /auth/verify → 200 (0ms)
18/05/2026 22:03:45 New Zealand Standard Time INFO mail-api: [9cc74cb0] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 22:03:45 New Zealand Standard Time INFO mail-api: [dc9f5af3] GET /owner/all-clients → 200 (2ms)
18/05/2026 22:03:45 New Zealand Standard Time INFO mail-api: [eb897c58] GET /owner/birthdays → 200 (2ms)
18/05/2026 22:03:47 New Zealand Standard Time INFO mail-api: [c32725ec] GET /owner/message-templates → 200 (0ms)
18/05/2026 22:03:47 New Zealand Standard Time INFO mail-api: [5d73c228] POST /owner/render-message → 200 (1ms)
18/05/2026 22:03:51 New Zealand Standard Time INFO mail-api: [4510ab41] POST /owner/render-message → 200 (1ms)
18/05/2026 22:03:52 New Zealand Standard Time INFO mail-api: [2674cfba] GET /auth/verify → 200 (0ms)
18/05/2026 22:03:52 New Zealand Standard Time INFO mail-api: [7eccf12f] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 22:03:52 New Zealand Standard Time INFO mail-api: [03d61041] GET /owner/all-clients → 200 (2ms)
18/05/2026 22:03:52 New Zealand Standard Time INFO mail-api: [02e60b2b] GET /owner/birthdays → 200 (2ms)
18/05/2026 22:03:52 New Zealand Standard Time INFO mail-api: [b4d043a7] POST /owner/render-message → 200 (1ms)
18/05/2026 22:03:53 New Zealand Standard Time INFO mail-api: [53d554e5] GET /owner/message-templates → 200 (0ms)
18/05/2026 22:03:53 New Zealand Standard Time INFO mail-api: [3e72ae62] POST /owner/render-message → 200 (1ms)
18/05/2026 22:03:54 New Zealand Standard Time INFO mail-api: [174c3dc6] POST /owner/render-message → 200 (1ms)
18/05/2026 22:03:55 New Zealand Standard Time INFO mail-api: [64e3da9a] POST /owner/render-message → 200 (1ms)
18/05/2026 22:03:56 New Zealand Standard Time INFO mail-api: [caef5141] POST /owner/render-message → 200 (1ms)
18/05/2026 22:03:56 New Zealand Standard Time INFO mail-api: [feadca97] POST /owner/render-message → 200 (1ms)
18/05/2026 22:03:57 New Zealand Standard Time INFO mail-api: [e40cdd03] POST /owner/render-message → 200 (1ms)
18/05/2026 22:03:58 New Zealand Standard Time INFO mail-api: [96dc0e55] POST /owner/render-message → 200 (1ms)
18/05/2026 22:04:00 New Zealand Standard Time INFO mail-api: [adaa22dc] POST /owner/render-message → 200 (1ms)
18/05/2026 22:04:05 New Zealand Standard Time INFO mail-api: [19c8aa44] GET /auth/verify → 200 (0ms)
18/05/2026 22:04:05 New Zealand Standard Time INFO mail-api: [cc42c1c3] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 22:04:05 New Zealand Standard Time INFO mail-api: [c48db649] GET /owner/birthdays → 200 (1ms)
18/05/2026 22:04:05 New Zealand Standard Time INFO mail-api: [e7bccf6d] GET /owner/all-clients → 200 (2ms)
18/05/2026 22:04:06 New Zealand Standard Time INFO mail-api: [c2fd602d] GET /owner/message-templates → 200 (1ms)
18/05/2026 22:04:06 New Zealand Standard Time INFO mail-api: [cc8d6010] POST /owner/render-message → 200 (1ms)
18/05/2026 22:04:13 New Zealand Standard Time INFO mail-api: [f02417df] GET /auth/verify → 200 (0ms)
18/05/2026 22:04:13 New Zealand Standard Time INFO mail-api: [ed577242] GET /owner/all-clients → 200 (1ms)
18/05/2026 22:04:13 New Zealand Standard Time INFO mail-api: [460c1b7e] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 22:04:13 New Zealand Standard Time INFO mail-api: [84ab3426] GET /owner/birthdays → 200 (2ms)
18/05/2026 22:04:14 New Zealand Standard Time INFO mail-api: [4dd7449e] GET /owner/message-templates → 200 (0ms)
18/05/2026 22:04:14 New Zealand Standard Time INFO mail-api: [4dd726f6] POST /owner/render-message → 200 (1ms)
18/05/2026 22:04:20 New Zealand Standard Time INFO mail-api: [21ad2f87] GET /auth/verify → 200 (0ms)
18/05/2026 22:04:20 New Zealand Standard Time INFO mail-api: [09556113] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 22:04:20 New Zealand Standard Time INFO mail-api: [242520ca] GET /owner/all-clients → 200 (2ms)
18/05/2026 22:04:20 New Zealand Standard Time INFO mail-api: [59a09481] GET /owner/birthdays → 200 (2ms)
18/05/2026 22:04:22 New Zealand Standard Time INFO mail-api: [232a5c2f] GET /owner/message-templates → 200 (1ms)
18/05/2026 22:04:22 New Zealand Standard Time INFO mail-api: [d779f7eb] POST /owner/render-message → 200 (1ms)
18/05/2026 22:04:26 New Zealand Standard Time INFO mail-api: [425b6f33] POST /owner/render-message → 200 (1ms)
18/05/2026 22:04:27 New Zealand Standard Time INFO mail-api: [c96fd9c0] GET /auth/verify → 200 (0ms)
18/05/2026 22:04:27 New Zealand Standard Time INFO mail-api: [c464d744] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 22:04:27 New Zealand Standard Time INFO mail-api: [3415a88d] GET /owner/all-clients → 200 (1ms)
18/05/2026 22:04:27 New Zealand Standard Time INFO mail-api: [ae48672f] GET /owner/birthdays → 200 (1ms)
18/05/2026 22:04:28 New Zealand Standard Time INFO mail-api: [2f489281] GET /owner/message-templates → 200 (0ms)
18/05/2026 22:04:28 New Zealand Standard Time INFO mail-api: [7ac11738] POST /owner/render-message → 200 (1ms)
18/05/2026 22:04:32 New Zealand Standard Time INFO mail-api: [b8595e12] POST /owner/render-message → 200 (1ms)
18/05/2026 22:04:36 New Zealand Standard Time INFO mail-api: [043fe31d] POST /owner/render-message → 200 (1ms)
18/05/2026 22:04:42 New Zealand Standard Time INFO mail-api: [6224e819] POST /owner/render-message → 200 (1ms)
18/05/2026 22:05:19 New Zealand Standard Time INFO mail-api: [165e8ff0] GET /auth/verify → 200 (0ms)
18/05/2026 22:05:19 New Zealand Standard Time INFO mail-api: [32f4302b] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 22:05:19 New Zealand Standard Time INFO mail-api: [7c3c5093] GET /owner/birthdays → 200 (1ms)
18/05/2026 22:05:19 New Zealand Standard Time INFO mail-api: [bfcb3aea] GET /owner/all-clients → 200 (1ms)
18/05/2026 22:05:27 New Zealand Standard Time INFO mail-api: [151a6837] GET /owner/message-templates → 200 (1ms)
18/05/2026 22:05:27 New Zealand Standard Time INFO mail-api: [5b4d9be1] POST /owner/render-message → 200 (1ms)
18/05/2026 22:05:29 New Zealand Standard Time INFO mail-api: [3bd9870a] POST /owner/render-message → 200 (1ms)
18/05/2026 22:05:42 New Zealand Standard Time INFO mail-api: [c4334bc7] POST /owner/render-message → 200 (1ms)
18/05/2026 22:06:01 New Zealand Standard Time INFO mail-api: [7d518671] POST /owner/render-message → 200 (1ms)
18/05/2026 22:06:23 New Zealand Standard Time INFO mail-api: [c54e8db7] GET /auth/verify → 200 (0ms)
18/05/2026 22:06:23 New Zealand Standard Time INFO mail-api: [8d7ff877] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 22:06:23 New Zealand Standard Time INFO mail-api: [a82a763b] GET /owner/all-clients → 200 (0ms)
18/05/2026 22:06:23 New Zealand Standard Time INFO mail-api: [cdb173ef] GET /owner/birthdays → 200 (1ms)
18/05/2026 22:06:39 New Zealand Standard Time INFO mail-api: [3ba9048f] GET /owner/message-templates → 200 (1ms)
18/05/2026 22:06:39 New Zealand Standard Time INFO mail-api: [899d7c2b] POST /owner/render-message → 200 (1ms)
18/05/2026 22:06:49 New Zealand Standard Time INFO mail-api: [e62f4b3d] GET /auth/verify → 200 (0ms)
18/05/2026 22:06:49 New Zealand Standard Time INFO mail-api: [490d999e] GET /owner/pending-onboarding → 200 (1ms)
18/05/2026 22:06:49 New Zealand Standard Time INFO mail-api: [16e7b9e7] GET /owner/all-clients → 200 (1ms)
18/05/2026 22:06:49 New Zealand Standard Time INFO mail-api: [f694cf58] GET /owner/birthdays → 200 (0ms)
18/05/2026 22:06:50 New Zealand Standard Time INFO mail-api: [c25e9d75] GET /owner/message-templates → 200 (0ms)
18/05/2026 22:06:50 New Zealand Standard Time INFO mail-api: [4e044a63] POST /owner/render-message → 200 (1ms)
18/05/2026 22:06:57 New Zealand Standard Time INFO mail-api: [fea631bf] POST /owner/render-message → 200 (1ms)
18/05/2026 22:06:58 New Zealand Standard Time INFO mail-api: [8d4ef1de] POST /owner/render-message → 200 (1ms)
18/05/2026 22:06:59 New Zealand Standard Time INFO mail-api: [beb0b74b] POST /owner/render-message → 200 (1ms)
18/05/2026 22:07:03 New Zealand Standard Time INFO mail-api: [1b6f4150] POST /owner/render-message → 200 (1ms)
18/05/2026 22:07:04 New Zealand Standard Time INFO mail-api: [39e306bb] POST /owner/render-message → 200 (1ms)
18/05/2026 22:07:04 New Zealand Standard Time INFO mail-api: [22dbb3e5] POST /owner/render-message → 200 (1ms)
18/05/2026 22:07:06 New Zealand Standard Time INFO mail-api: [53b57eef] POST /owner/render-message → 200 (1ms)
18/05/2026 22:07:42 New Zealand Standard Time INFO mail-api: [0c6ef29d] POST /owner/render-message → 200 (1ms)
18/05/2026 22:07:49 New Zealand Standard Time INFO mail-api: [8ac289bc] POST /owner/render-message → 200 (1ms)
18/05/2026 22:07:50 New Zealand Standard Time INFO mail-api: [f0d698bf] POST /owner/render-message → 200 (1ms)
18/05/2026 22:07:52 New Zealand Standard Time INFO mail-api: [7f9dfb4c] POST /owner/render-message → 200 (1ms)
18/05/2026 22:07:53 New Zealand Standard Time INFO mail-api: [697dc993] POST /owner/render-message → 200 (1ms)
18/05/2026 22:07:55 New Zealand Standard Time INFO mail-api: [bad945ae] POST /owner/render-message → 200 (1ms)
18/05/2026 22:07:56 New Zealand Standard Time INFO mail-api: [ede60297] POST /owner/render-message → 200 (1ms)
18/05/2026 22:08:04 New Zealand Standard Time INFO mail-api: [c8fa28e1] GET /auth/verify → 200 (0ms)
18/05/2026 22:08:04 New Zealand Standard Time INFO mail-api: [5fa0555e] GET /owner/pending-onboarding → 200 (0ms)
18/05/2026 22:08:04 New Zealand Standard Time INFO mail-api: [8ca5f4e3] GET /owner/all-clients → 200 (0ms)
18/05/2026 22:08:04 New Zealand Standard Time INFO mail-api: [c7e01ddb] GET /owner/birthdays → 200 (1ms)
18/05/2026 22:08:05 New Zealand Standard Time INFO mail-api: [f2d91d1a] GET /owner/message-templates → 200 (0ms)
18/05/2026 22:08:05 New Zealand Standard Time INFO mail-api: [e058c20c] POST /owner/render-message → 200 (1ms)
18/05/2026 22:08:46 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:08:46 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:08:46 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:08:46 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:08:51 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:08:51 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:08:51 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:08:51 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:09:08 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:09:08 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:09:08 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:09:08 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:09:12 New Zealand Standard Time INFO mail-api: [451d7d58] POST /owner/render-message → 401 (2ms)
18/05/2026 22:09:15 New Zealand Standard Time INFO mail-api: [44385eaa] POST /owner/render-message → 401 (1ms)
18/05/2026 22:09:15 New Zealand Standard Time INFO mail-api: [42185223] POST /owner/render-message → 401 (1ms)
18/05/2026 22:09:16 New Zealand Standard Time INFO mail-api: [5e5d1aeb] POST /owner/render-message → 401 (1ms)
18/05/2026 22:09:17 New Zealand Standard Time INFO mail-api: [2d033632] POST /owner/render-message → 401 (1ms)
18/05/2026 22:09:18 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:09:18 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:09:18 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:09:18 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:09:18 New Zealand Standard Time INFO mail-api: [1bcf5c1c] POST /owner/render-message → 401 (3ms)
18/05/2026 22:09:18 New Zealand Standard Time INFO mail-api: [0767d344] POST /owner/render-message → 401 (4ms)
18/05/2026 22:09:23 New Zealand Standard Time INFO mail-api: [46cff29d] GET /auth/verify → 401 (0ms)
18/05/2026 22:09:26 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:09:26 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:09:26 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:09:26 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:09:31 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:09:31 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:09:31 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:09:31 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:09:36 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:09:36 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:09:36 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:09:36 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:09:43 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:09:43 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:09:43 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:09:43 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:09:48 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:09:48 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:09:48 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:09:48 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:09:57 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:09:57 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:09:57 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:09:57 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:10:03 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:10:03 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:10:03 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:10:03 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:10:08 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:10:08 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:10:08 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:10:08 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:10:48 New Zealand Standard Time INFO mail-api: [5a9f3438] auth: code issued for email=info@goodwalk.co.nz
18/05/2026 22:10:48 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 790020
18/05/2026 22:10:48 New Zealand Standard Time INFO mail-api: [5a9f3438] POST /auth/request-code → 200 (3ms)
18/05/2026 22:19:50 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:19:50 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:19:50 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:19:50 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:20:01 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:20:01 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:20:01 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:20:02 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:20:31 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:20:31 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:20:40 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:20:40 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:20:40 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:20:40 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:20:48 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:20:48 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:20:48 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:20:48 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:21:03 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:21:03 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:21:03 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:21:03 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:21:07 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:21:07 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:21:07 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:21:07 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
18/05/2026 22:21:28 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:21:28 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:21:28 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:21:28 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
2026-05-18 22:25:48 +12:00
18/05/2026 22:22:05 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
18/05/2026 22:22:05 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <bookings@goodwalk.co.nz>' reply_to='aless@goodwalk.co.nz' owner='info@goodwalk.co.nz' owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s
18/05/2026 22:22:05 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
18/05/2026 22:22:05 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
2026-05-19 23:36:58 +12:00
19/05/2026 22:50:41 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
19/05/2026 22:50:41 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
19/05/2026 22:50:41 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
19/05/2026 22:50:41 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
19/05/2026 22:50:51 New Zealand Standard Time INFO mail-api: [26b6b10d] POST /auth/request-code → 400 (0ms)
19/05/2026 22:50:52 New Zealand Standard Time INFO mail-api: [e939d522] POST /auth/request-code → 400 (0ms)
19/05/2026 22:50:56 New Zealand Standard Time INFO mail-api: [6fe39f49] POST /auth/request-code → 400 (0ms)
19/05/2026 22:57:36 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
19/05/2026 22:57:36 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
19/05/2026 22:57:36 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
19/05/2026 22:57:36 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
19/05/2026 22:57:42 New Zealand Standard Time INFO mail-api: [0677fc9e] auth: code issued for email=info@goodwalk.co.nz
19/05/2026 22:57:42 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 237030
19/05/2026 22:57:42 New Zealand Standard Time INFO mail-api: [0677fc9e] POST /auth/request-code → 200 (3ms)
19/05/2026 22:57:51 New Zealand Standard Time INFO mail-api: [19adbd31] auth: session created for email=info@goodwalk.co.nz
19/05/2026 22:57:51 New Zealand Standard Time INFO mail-api: [19adbd31] POST /auth/verify-code → 200 (2ms)
19/05/2026 22:57:51 New Zealand Standard Time INFO mail-api: [40f46274] GET /auth/verify → 200 (1ms)
19/05/2026 22:57:51 New Zealand Standard Time INFO mail-api: [83064e1b] GET /owner/pending-onboarding → 200 (1ms)
19/05/2026 22:57:51 New Zealand Standard Time INFO mail-api: [b24a0321] GET /owner/all-clients → 200 (5ms)
19/05/2026 22:57:51 New Zealand Standard Time INFO mail-api: [ad234ec3] GET /owner/birthdays → 200 (5ms)
19/05/2026 22:57:56 New Zealand Standard Time INFO mail-api: [8bbcb582] GET /owner/activity → 200 (1ms)
19/05/2026 22:57:57 New Zealand Standard Time INFO mail-api: [11032d19] GET /auth/verify → 200 (0ms)
19/05/2026 22:57:57 New Zealand Standard Time INFO mail-api: [6e3af292] GET /owner/pending-onboarding → 200 (1ms)
19/05/2026 22:57:57 New Zealand Standard Time INFO mail-api: [ffa04e1b] GET /owner/birthdays → 200 (1ms)
19/05/2026 22:57:57 New Zealand Standard Time INFO mail-api: [fc51922d] GET /owner/all-clients → 200 (1ms)
19/05/2026 22:57:58 New Zealand Standard Time INFO mail-api: [1219dba0] GET /owner/activity → 200 (0ms)
19/05/2026 22:57:59 New Zealand Standard Time INFO mail-api: [755e00f2] GET /owner/activity → 200 (0ms)
19/05/2026 22:57:59 New Zealand Standard Time INFO mail-api: [230cd479] GET /owner/activity → 200 (0ms)
19/05/2026 22:58:01 New Zealand Standard Time INFO mail-api: [b0c81ebf] GET /owner/message-templates → 200 (1ms)
19/05/2026 22:58:01 New Zealand Standard Time INFO mail-api: [da344121] POST /owner/render-message → 200 (1ms)
19/05/2026 22:58:04 New Zealand Standard Time INFO mail-api: [4ecf56ff] GET /owner/activity → 200 (0ms)
19/05/2026 22:58:30 New Zealand Standard Time INFO mail-api: [ed0b1740] GET /owner/client-enquiry → 200 (1ms)
19/05/2026 22:58:33 New Zealand Standard Time INFO mail-api: [d06c7a3b] GET /owner/client-enquiry → 200 (0ms)
19/05/2026 22:58:54 New Zealand Standard Time WARNING mail-api: [DEV] skipping email send — label=bulk_message to=['info@goodwalk.co.nz'] subject='A note from Goodwalk'
19/05/2026 22:58:54 New Zealand Standard Time INFO mail-api: [272f52a5] bulk message sent: template=general recipients=1
19/05/2026 22:58:54 New Zealand Standard Time INFO mail-api: [272f52a5] POST /owner/send-message → 200 (18ms)
19/05/2026 22:59:33 New Zealand Standard Time INFO mail-api: [f52b4acc] GET /owner/activity → 200 (0ms)
19/05/2026 22:59:53 New Zealand Standard Time WARNING mail-api: [DEV] skipping email send — label=welcome_pack_email to=['mattcohen0@gmail.com'] subject='Welcome to the pack | Goodwalk'
19/05/2026 22:59:53 New Zealand Standard Time INFO mail-api: [a82128ad] welcome pack sent: email=mattcohen0@gmail.com service=test start=2026-05-18
19/05/2026 22:59:53 New Zealand Standard Time INFO mail-api: [a82128ad] POST /owner/send-welcome-pack → 200 (13ms)
19/05/2026 22:59:53 New Zealand Standard Time INFO mail-api: [9e00fe59] GET /owner/all-clients → 200 (0ms)
19/05/2026 23:32:02 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
19/05/2026 23:32:02 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
19/05/2026 23:32:02 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
19/05/2026 23:32:02 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
19/05/2026 23:32:02 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
19/05/2026 23:32:02 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
19/05/2026 23:32:33 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
19/05/2026 23:32:33 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
19/05/2026 23:32:33 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
19/05/2026 23:32:33 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
19/05/2026 23:32:33 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
19/05/2026 23:32:33 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
19/05/2026 23:32:40 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
19/05/2026 23:32:40 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
19/05/2026 23:32:40 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
19/05/2026 23:32:40 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
19/05/2026 23:32:40 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
19/05/2026 23:32:40 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
2026-05-26 08:30:08 +12:00
19/05/2026 23:37:58 New Zealand Standard Time INFO mail-api: [e8c74fa0] GET /auth/verify → 401 (2ms)
2026-06-17 21:51:29 +12:00
15/06/2026 20:01:52 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 20:01:52 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 20:01:52 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 20:01:53 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 20:01:53 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 20:01:53 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 20:05:19 New Zealand Standard Time INFO mail-api: [ae1b0f7e] POST /auth/request-code → 400 (0ms)
15/06/2026 20:06:13 New Zealand Standard Time INFO mail-api: [faf603f0] POST /auth/request-code → 400 (0ms)
15/06/2026 20:06:14 New Zealand Standard Time INFO mail-api: [dd8ad9b9] POST /auth/request-code → 400 (0ms)
15/06/2026 20:06:14 New Zealand Standard Time INFO mail-api: [3fb682e8] POST /auth/request-code → 400 (0ms)
15/06/2026 20:06:14 New Zealand Standard Time INFO mail-api: [734a08d2] POST /auth/request-code → 400 (0ms)
15/06/2026 20:06:14 New Zealand Standard Time INFO mail-api: [658d0d93] POST /auth/request-code → 400 (0ms)
15/06/2026 20:06:15 New Zealand Standard Time INFO mail-api: [a66b3c9f] POST /auth/request-code → 400 (0ms)
15/06/2026 20:06:15 New Zealand Standard Time INFO mail-api: [28307070] POST /auth/request-code → 400 (0ms)
15/06/2026 20:06:29 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 20:06:29 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 20:06:29 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 20:06:29 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 20:06:29 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 20:06:29 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 20:06:36 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 20:06:37 New Zealand Standard Time CRITICAL mail-api: Startup aborted: missing env vars: ['RESEND_API_KEY', 'OWNER_EMAIL']
15/06/2026 20:06:55 New Zealand Standard Time INFO mail-api: [78c69f47] POST /auth/request-code → 400 (0ms)
15/06/2026 20:07:00 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 20:07:00 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 20:07:00 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 20:07:00 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 20:07:00 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 20:07:00 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 20:07:02 New Zealand Standard Time INFO mail-api: [ccfc7849] POST /auth/request-code → 400 (0ms)
15/06/2026 20:08:31 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 20:08:31 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 20:08:31 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 20:08:31 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 20:08:31 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 20:08:31 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 20:08:36 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 20:08:36 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 20:08:36 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 20:08:36 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 20:08:36 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 20:08:36 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 20:08:40 New Zealand Standard Time INFO mail-api: [b2f2b0fc] POST /auth/request-code → 400 (0ms)
15/06/2026 20:09:25 New Zealand Standard Time ERROR mail-api: [0f10f6ec] POST /auth/request-code crashed after 3ms
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 579, in _request_logging_middleware
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 88, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\trustedhost.py", line 51, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 546, in __call__
await self.app(scope, _wrapped_receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 660, in __call__
await self.middleware_stack(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 680, in app
await route.handle(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 276, in handle
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 134, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 120, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 674, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<3 lines>...
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 328, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 2474, in auth_request_code
body = await request.json()
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\requests.py", line 264, in json
self._json = json.loads(body)
~~~~~~~~~~^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\json\__init__.py", line 352, in loads
return _default_decoder.decode(s)
~~~~~~~~~~~~~~~~~~~~~~~^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\json\decoder.py", line 345, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\json\decoder.py", line 361, in raw_decode
obj, end = self.scan_once(s, idx)
~~~~~~~~~~~~~~^^^^^^^^
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
15/06/2026 20:09:38 New Zealand Standard Time ERROR mail-api: [251e2d22] POST /auth/request-code crashed after 1ms
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 579, in _request_logging_middleware
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 88, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\trustedhost.py", line 51, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 546, in __call__
await self.app(scope, _wrapped_receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 660, in __call__
await self.middleware_stack(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 680, in app
await route.handle(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 276, in handle
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 134, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 120, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 674, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<3 lines>...
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 328, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 2474, in auth_request_code
body = await request.json()
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\requests.py", line 264, in json
self._json = json.loads(body)
~~~~~~~~~~^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\json\__init__.py", line 352, in loads
return _default_decoder.decode(s)
~~~~~~~~~~~~~~~~~~~~~~~^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\json\decoder.py", line 345, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\json\decoder.py", line 361, in raw_decode
obj, end = self.scan_once(s, idx)
~~~~~~~~~~~~~~^^^^^^^^
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
15/06/2026 20:09:53 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 20:09:53 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 20:09:53 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 20:09:53 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 20:09:53 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 20:09:53 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 20:10:15 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 20:10:15 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 20:10:15 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 20:10:15 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 20:10:15 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 20:10:15 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 20:10:20 New Zealand Standard Time INFO mail-api: [72b111d2] POST /auth/request-code → 400 (0ms)
15/06/2026 20:11:27 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 20:11:27 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 20:11:27 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 20:11:27 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 20:11:27 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 20:11:27 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 20:11:38 New Zealand Standard Time INFO mail-api: [6c351fe3] POST /auth/request-code → 400 (0ms)
15/06/2026 20:11:45 New Zealand Standard Time INFO mail-api: [912374c3] POST /auth/request-code → 400 (0ms)
15/06/2026 20:11:50 New Zealand Standard Time INFO mail-api: [ca16d00f] POST /auth/request-code → 400 (0ms)
15/06/2026 20:15:10 New Zealand Standard Time INFO mail-api: [90835023] auth: code issued for email=info@goodwalk.co.nz
15/06/2026 20:15:10 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 956187
15/06/2026 20:15:10 New Zealand Standard Time INFO mail-api: [90835023] POST /auth/request-code → 200 (11ms)
15/06/2026 20:15:18 New Zealand Standard Time INFO mail-api: [b5f581f9] auth: session created for email=info@goodwalk.co.nz
15/06/2026 20:15:18 New Zealand Standard Time INFO mail-api: [b5f581f9] POST /auth/verify-code → 200 (2ms)
15/06/2026 20:15:18 New Zealand Standard Time INFO mail-api: [9d58963f] GET /auth/verify → 200 (1ms)
15/06/2026 20:15:18 New Zealand Standard Time INFO mail-api: [6efc3cae] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:15:18 New Zealand Standard Time INFO mail-api: [f8fd2577] GET /owner/all-clients → 200 (2ms)
15/06/2026 20:15:18 New Zealand Standard Time INFO mail-api: [bd38d327] GET /owner/birthdays → 200 (11ms)
15/06/2026 20:15:20 New Zealand Standard Time INFO mail-api: [59319824] GET /auth/verify → 200 (0ms)
15/06/2026 20:15:20 New Zealand Standard Time INFO mail-api: [bb2fa1e3] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:15:20 New Zealand Standard Time INFO mail-api: [a7d68e07] GET /owner/all-clients → 200 (2ms)
15/06/2026 20:15:20 New Zealand Standard Time INFO mail-api: [3f420d48] GET /owner/birthdays → 200 (2ms)
15/06/2026 20:15:24 New Zealand Standard Time INFO mail-api: [9dee7759] GET /auth/verify → 200 (0ms)
15/06/2026 20:15:24 New Zealand Standard Time INFO mail-api: [bff1d27d] GET /owner/pending-onboarding → 200 (0ms)
15/06/2026 20:15:24 New Zealand Standard Time INFO mail-api: [573299f0] GET /owner/birthdays → 200 (1ms)
15/06/2026 20:15:24 New Zealand Standard Time INFO mail-api: [c1b2cbca] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:15:31 New Zealand Standard Time INFO mail-api: [8ca00ff2] GET /owner/message-templates → 200 (1ms)
15/06/2026 20:15:32 New Zealand Standard Time INFO mail-api: [5d67ac5b] POST /owner/render-message → 200 (3ms)
15/06/2026 20:16:25 New Zealand Standard Time INFO mail-api: [a3d3d2d9] GET /owner/activity → 200 (1ms)
15/06/2026 20:17:24 New Zealand Standard Time INFO mail-api: [62384e2c] GET /owner/activity → 200 (0ms)
15/06/2026 20:17:46 New Zealand Standard Time INFO mail-api: [be53083f] GET /owner/activity → 200 (0ms)
15/06/2026 20:18:38 New Zealand Standard Time INFO mail-api: [5f777ef7] GET /owner/activity → 200 (0ms)
15/06/2026 20:19:19 New Zealand Standard Time INFO mail-api: [739f25e5] GET /owner/client-enquiry → 200 (8ms)
15/06/2026 20:19:28 New Zealand Standard Time INFO mail-api: [e70d718b] GET /owner/activity → 200 (1ms)
15/06/2026 20:20:46 New Zealand Standard Time INFO mail-api: [4b64a4ec] GET /owner/activity → 200 (0ms)
15/06/2026 20:21:06 New Zealand Standard Time INFO mail-api: [5206327c] GET /auth/verify → 200 (0ms)
15/06/2026 20:21:06 New Zealand Standard Time INFO mail-api: [0520fe2c] GET /owner/pending-onboarding → 200 (0ms)
15/06/2026 20:21:06 New Zealand Standard Time INFO mail-api: [659bc15b] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:21:06 New Zealand Standard Time INFO mail-api: [b367235f] GET /owner/birthdays → 200 (1ms)
15/06/2026 20:27:58 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 20:27:58 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 20:27:58 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 20:27:58 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 20:27:58 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 20:27:58 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 20:28:06 New Zealand Standard Time INFO mail-api: [bc4610f2] GET /owner/message-templates → 401 (2ms)
15/06/2026 20:28:07 New Zealand Standard Time INFO mail-api: [0169b9e6] GET /owner/activity → 401 (1ms)
15/06/2026 20:30:00 New Zealand Standard Time INFO mail-api: [87be64e8] GET /owner/message-templates → 401 (0ms)
15/06/2026 20:30:01 New Zealand Standard Time INFO mail-api: [2822c7c6] GET /owner/activity → 401 (0ms)
15/06/2026 20:30:09 New Zealand Standard Time INFO mail-api: [f61a5c74] GET /auth/verify → 401 (1ms)
15/06/2026 20:31:51 New Zealand Standard Time INFO mail-api: [ee1b53c2] auth: code issued for email=info@goodwalk.co.nz
15/06/2026 20:31:51 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 546348
15/06/2026 20:31:51 New Zealand Standard Time INFO mail-api: [ee1b53c2] POST /auth/request-code → 200 (2ms)
15/06/2026 20:32:01 New Zealand Standard Time INFO mail-api: [ac46d159] auth: session created for email=info@goodwalk.co.nz
15/06/2026 20:32:01 New Zealand Standard Time INFO mail-api: [ac46d159] POST /auth/verify-code → 200 (1ms)
15/06/2026 20:32:01 New Zealand Standard Time INFO mail-api: [60c7fd10] GET /auth/verify → 200 (0ms)
15/06/2026 20:32:01 New Zealand Standard Time INFO mail-api: [abfa833f] GET /owner/all-clients → 200 (2ms)
15/06/2026 20:32:01 New Zealand Standard Time INFO mail-api: [71044bf5] GET /owner/pending-onboarding → 200 (3ms)
15/06/2026 20:32:01 New Zealand Standard Time INFO mail-api: [2ec29972] GET /owner/birthdays → 200 (6ms)
15/06/2026 20:32:03 New Zealand Standard Time INFO mail-api: [6c0a3799] GET /owner/client-onboarding-view → 200 (1ms)
15/06/2026 20:32:10 New Zealand Standard Time INFO mail-api: [64cdfdf6] GET /auth/verify → 200 (0ms)
15/06/2026 20:32:10 New Zealand Standard Time INFO mail-api: [b8478985] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:32:10 New Zealand Standard Time INFO mail-api: [d5ec31df] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:32:10 New Zealand Standard Time INFO mail-api: [0ebeb971] GET /owner/birthdays → 200 (1ms)
15/06/2026 20:32:11 New Zealand Standard Time INFO mail-api: [3b2f4ee0] GET /owner/client-onboarding-view → 200 (0ms)
15/06/2026 20:32:28 New Zealand Standard Time INFO mail-api: [fdc6a9fa] GET /owner/client-onboarding-view → 200 (0ms)
15/06/2026 20:32:53 New Zealand Standard Time INFO mail-api: [07b910be] GET /auth/verify → 200 (0ms)
15/06/2026 20:32:53 New Zealand Standard Time INFO mail-api: [eb7646b6] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:32:53 New Zealand Standard Time INFO mail-api: [e8b1a226] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:32:53 New Zealand Standard Time INFO mail-api: [882b2a08] GET /owner/birthdays → 200 (0ms)
15/06/2026 20:33:23 New Zealand Standard Time INFO mail-api: [783d78c3] GET /auth/verify → 200 (0ms)
15/06/2026 20:33:23 New Zealand Standard Time INFO mail-api: [e8b66a3c] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:33:23 New Zealand Standard Time INFO mail-api: [020c91d9] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:33:23 New Zealand Standard Time INFO mail-api: [91679cb8] GET /owner/birthdays → 200 (1ms)
15/06/2026 20:33:28 New Zealand Standard Time INFO mail-api: [e764f088] GET /owner/client-enquiry → 200 (1ms)
15/06/2026 20:33:29 New Zealand Standard Time INFO mail-api: [5089b29e] GET /owner/client-onboarding-view → 200 (0ms)
15/06/2026 20:33:34 New Zealand Standard Time INFO mail-api: [2c30ae12] GET /owner/message-templates → 200 (1ms)
15/06/2026 20:33:34 New Zealand Standard Time INFO mail-api: [2f086a39] POST /owner/render-message → 200 (2ms)
15/06/2026 20:33:36 New Zealand Standard Time INFO mail-api: [c383d4c2] GET /owner/activity → 200 (0ms)
15/06/2026 20:33:46 New Zealand Standard Time INFO mail-api: [8ce6215d] GET /auth/verify → 200 (0ms)
15/06/2026 20:33:46 New Zealand Standard Time INFO mail-api: [77dd8afc] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:33:46 New Zealand Standard Time INFO mail-api: [5be1fa50] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:33:46 New Zealand Standard Time INFO mail-api: [69163ab8] GET /owner/birthdays → 200 (1ms)
15/06/2026 20:34:03 New Zealand Standard Time INFO mail-api: [ef3c519f] GET /owner/client-enquiry → 200 (0ms)
15/06/2026 20:34:05 New Zealand Standard Time INFO mail-api: [d547ff1d] GET /owner/client-onboarding-view → 200 (0ms)
15/06/2026 20:36:48 New Zealand Standard Time INFO mail-api: [0d37e5dc] GET /owner/client-enquiry → 200 (0ms)
15/06/2026 20:36:50 New Zealand Standard Time INFO mail-api: [24d3194d] GET /owner/client-onboarding-view → 200 (0ms)
15/06/2026 20:37:56 New Zealand Standard Time INFO mail-api: [1145dc87] GET /owner/message-templates → 200 (1ms)
15/06/2026 20:37:56 New Zealand Standard Time INFO mail-api: [681ad27d] POST /owner/render-message → 200 (1ms)
15/06/2026 20:37:57 New Zealand Standard Time INFO mail-api: [99d12925] GET /owner/activity → 200 (0ms)
15/06/2026 20:38:16 New Zealand Standard Time INFO mail-api: [823c2f81] GET /owner/client-onboarding-view → 200 (0ms)
15/06/2026 20:38:22 New Zealand Standard Time INFO mail-api: [1ee7e7fc] GET /owner/client-onboarding-view → 200 (1ms)
15/06/2026 20:38:37 New Zealand Standard Time INFO mail-api: [f3eed04b] GET /auth/verify → 200 (0ms)
15/06/2026 20:38:37 New Zealand Standard Time INFO mail-api: [2fcb1297] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:38:37 New Zealand Standard Time INFO mail-api: [f8c4996f] GET /owner/birthdays → 200 (2ms)
15/06/2026 20:38:37 New Zealand Standard Time INFO mail-api: [99f8e950] GET /owner/all-clients → 200 (2ms)
15/06/2026 20:38:41 New Zealand Standard Time INFO mail-api: [9da1e72a] GET /auth/verify → 200 (0ms)
15/06/2026 20:38:41 New Zealand Standard Time INFO mail-api: [697cad6a] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:38:41 New Zealand Standard Time INFO mail-api: [b5c6c30b] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:38:41 New Zealand Standard Time INFO mail-api: [1c67730b] GET /owner/birthdays → 200 (0ms)
15/06/2026 20:38:50 New Zealand Standard Time INFO mail-api: [4b3db25d] GET /auth/verify → 200 (0ms)
15/06/2026 20:38:50 New Zealand Standard Time INFO mail-api: [b3feec86] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:38:50 New Zealand Standard Time INFO mail-api: [f47f7889] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:38:50 New Zealand Standard Time INFO mail-api: [f15da397] GET /owner/birthdays → 200 (1ms)
15/06/2026 20:38:55 New Zealand Standard Time INFO mail-api: [65cae4c6] GET /auth/verify → 200 (1ms)
15/06/2026 20:38:55 New Zealand Standard Time INFO mail-api: [21ab02ac] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:38:55 New Zealand Standard Time INFO mail-api: [5a7c1435] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:38:55 New Zealand Standard Time INFO mail-api: [e64d71b6] GET /owner/birthdays → 200 (2ms)
15/06/2026 20:39:01 New Zealand Standard Time INFO mail-api: [251265ca] GET /auth/verify → 200 (0ms)
15/06/2026 20:39:01 New Zealand Standard Time INFO mail-api: [40b2e542] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:39:01 New Zealand Standard Time INFO mail-api: [c9af86f0] GET /owner/birthdays → 200 (1ms)
15/06/2026 20:39:01 New Zealand Standard Time INFO mail-api: [e9c26722] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:39:13 New Zealand Standard Time INFO mail-api: [a2afb433] GET /auth/verify → 200 (0ms)
15/06/2026 20:39:13 New Zealand Standard Time INFO mail-api: [195ded67] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:39:13 New Zealand Standard Time INFO mail-api: [212985b9] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:39:13 New Zealand Standard Time INFO mail-api: [9cdd4476] GET /owner/birthdays → 200 (1ms)
15/06/2026 20:39:23 New Zealand Standard Time INFO mail-api: [0ba57c08] GET /auth/verify → 200 (0ms)
15/06/2026 20:39:23 New Zealand Standard Time INFO mail-api: [6eec0e7f] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:39:23 New Zealand Standard Time INFO mail-api: [f12a42d6] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:39:23 New Zealand Standard Time INFO mail-api: [99a199e6] GET /owner/birthdays → 200 (0ms)
15/06/2026 20:39:39 New Zealand Standard Time INFO mail-api: [0a1bd987] GET /auth/verify → 200 (0ms)
15/06/2026 20:39:39 New Zealand Standard Time INFO mail-api: [261ccb15] GET /owner/pending-onboarding → 200 (0ms)
15/06/2026 20:39:39 New Zealand Standard Time INFO mail-api: [ef0c4698] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:39:39 New Zealand Standard Time INFO mail-api: [819915a2] GET /owner/birthdays → 200 (1ms)
15/06/2026 20:39:57 New Zealand Standard Time INFO mail-api: [7f594e14] GET /owner/message-templates → 200 (1ms)
15/06/2026 20:39:57 New Zealand Standard Time INFO mail-api: [99e918ff] POST /owner/render-message → 200 (1ms)
15/06/2026 20:39:57 New Zealand Standard Time INFO mail-api: [c387447a] GET /owner/activity → 200 (0ms)
15/06/2026 20:40:03 New Zealand Standard Time INFO mail-api: [e225bdd8] GET /owner/activity → 200 (0ms)
15/06/2026 20:41:27 New Zealand Standard Time INFO mail-api: [fea1334d] GET /owner/activity → 200 (0ms)
15/06/2026 20:41:35 New Zealand Standard Time INFO mail-api: [0476565e] GET /auth/verify → 200 (0ms)
15/06/2026 20:41:35 New Zealand Standard Time INFO mail-api: [637f7274] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:41:35 New Zealand Standard Time INFO mail-api: [e2f2deb3] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:41:35 New Zealand Standard Time INFO mail-api: [ada6cda9] GET /owner/birthdays → 200 (1ms)
15/06/2026 20:41:40 New Zealand Standard Time INFO mail-api: [8ed96de9] GET /owner/message-templates → 200 (1ms)
15/06/2026 20:41:40 New Zealand Standard Time INFO mail-api: [99ebfb37] POST /owner/render-message → 200 (1ms)
15/06/2026 20:41:43 New Zealand Standard Time INFO mail-api: [054a22e5] GET /owner/client-onboarding-view → 200 (1ms)
15/06/2026 20:41:50 New Zealand Standard Time INFO mail-api: [0331ffb5] GET /auth/verify → 200 (0ms)
15/06/2026 20:41:50 New Zealand Standard Time INFO mail-api: [0bfa7c1d] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:41:50 New Zealand Standard Time INFO mail-api: [7bff5a04] GET /owner/birthdays → 200 (1ms)
15/06/2026 20:41:50 New Zealand Standard Time INFO mail-api: [b3b90343] GET /owner/all-clients → 200 (2ms)
15/06/2026 20:41:55 New Zealand Standard Time INFO mail-api: [e7e42f0d] GET /owner/client-onboarding-view → 200 (0ms)
15/06/2026 20:42:09 New Zealand Standard Time INFO mail-api: [06c17820] GET /owner/client-onboarding-view → 200 (0ms)
15/06/2026 20:42:27 New Zealand Standard Time INFO mail-api: [fb40d429] GET /auth/verify → 200 (1ms)
15/06/2026 20:42:27 New Zealand Standard Time INFO mail-api: [93be80d1] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:42:27 New Zealand Standard Time INFO mail-api: [aacd6e15] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:42:27 New Zealand Standard Time INFO mail-api: [1f59b652] GET /owner/birthdays → 200 (2ms)
15/06/2026 20:42:35 New Zealand Standard Time INFO mail-api: [f63506a6] GET /owner/message-templates → 200 (1ms)
15/06/2026 20:42:35 New Zealand Standard Time INFO mail-api: [388261bd] POST /owner/render-message → 200 (1ms)
15/06/2026 20:42:36 New Zealand Standard Time INFO mail-api: [b360a242] GET /owner/activity → 200 (1ms)
15/06/2026 20:42:41 New Zealand Standard Time INFO mail-api: [158bdb8d] GET /owner/client-enquiry → 200 (0ms)
15/06/2026 20:48:29 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 20:48:29 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 20:48:29 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 20:48:30 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 20:48:30 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 20:48:30 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 20:49:48 New Zealand Standard Time INFO mail-api: [545f781f] GET /auth/verify → 401 (2ms)
15/06/2026 20:52:31 New Zealand Standard Time INFO mail-api: [7ac75d9d] auth: code issued for email=info@goodwalk.co.nz
15/06/2026 20:52:31 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 718390
15/06/2026 20:52:31 New Zealand Standard Time INFO mail-api: [7ac75d9d] POST /auth/request-code → 200 (2ms)
15/06/2026 20:52:38 New Zealand Standard Time INFO mail-api: [48f12e62] auth: session created for email=info@goodwalk.co.nz
15/06/2026 20:52:38 New Zealand Standard Time INFO mail-api: [48f12e62] POST /auth/verify-code → 200 (2ms)
15/06/2026 20:52:38 New Zealand Standard Time INFO mail-api: [6057c23b] GET /auth/verify → 200 (0ms)
15/06/2026 20:52:38 New Zealand Standard Time INFO mail-api: [96abc272] GET /owner/pending-onboarding → 200 (2ms)
15/06/2026 20:52:38 New Zealand Standard Time INFO mail-api: [92cdf868] GET /owner/all-clients → 200 (2ms)
15/06/2026 20:52:38 New Zealand Standard Time INFO mail-api: [5fb5fdce] GET /owner/birthdays → 200 (12ms)
15/06/2026 20:52:50 New Zealand Standard Time INFO mail-api: [12d01bfe] GET /auth/verify → 200 (1ms)
15/06/2026 20:52:50 New Zealand Standard Time INFO mail-api: [3841ff56] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:52:50 New Zealand Standard Time INFO mail-api: [f920aade] GET /owner/all-clients → 200 (1ms)
15/06/2026 20:52:50 New Zealand Standard Time INFO mail-api: [7852a9d2] GET /owner/birthdays → 200 (1ms)
15/06/2026 20:53:03 New Zealand Standard Time INFO mail-api: [230b4b2b] GET /auth/verify → 200 (0ms)
15/06/2026 20:53:03 New Zealand Standard Time INFO mail-api: [4ba82776] GET /owner/pending-onboarding → 200 (1ms)
15/06/2026 20:53:03 New Zealand Standard Time INFO mail-api: [6fefad3f] GET /owner/all-clients → 200 (2ms)
15/06/2026 20:53:03 New Zealand Standard Time INFO mail-api: [acb28200] GET /owner/birthdays → 200 (2ms)
15/06/2026 20:53:22 New Zealand Standard Time INFO mail-api: [9839fe15] GET /owner/message-templates → 200 (1ms)
15/06/2026 20:53:22 New Zealand Standard Time INFO mail-api: [26e12e0e] POST /owner/render-message → 200 (1ms)
15/06/2026 20:53:23 New Zealand Standard Time INFO mail-api: [a4614459] GET /owner/activity → 200 (1ms)
15/06/2026 21:06:24 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 21:06:24 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 21:06:24 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 21:06:24 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 21:06:24 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 21:06:24 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 21:44:37 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 21:44:37 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 21:44:37 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 21:44:37 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 21:44:37 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 21:44:37 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 21:44:45 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 21:44:45 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 21:44:45 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 21:44:45 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 21:44:45 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 21:44:45 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 21:44:56 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 21:44:56 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 21:44:56 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 21:44:56 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 21:44:56 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 21:44:56 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 21:47:36 New Zealand Standard Time INFO mail-api: [68b31f4e] GET /auth/verify → 401 (2ms)
15/06/2026 21:47:40 New Zealand Standard Time INFO mail-api: [b6c5eb6f] auth: code issued for email=info@goodwalk.co.nz
15/06/2026 21:47:40 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 719493
15/06/2026 21:47:40 New Zealand Standard Time INFO mail-api: [b6c5eb6f] POST /auth/request-code → 200 (2ms)
15/06/2026 21:47:53 New Zealand Standard Time INFO mail-api: [d53657f2] auth: session created for email=info@goodwalk.co.nz
15/06/2026 21:47:53 New Zealand Standard Time INFO mail-api: [d53657f2] POST /auth/verify-code → 200 (1ms)
15/06/2026 21:47:53 New Zealand Standard Time INFO mail-api: [f183b75a] GET /auth/verify → 200 (0ms)
15/06/2026 21:47:53 New Zealand Standard Time INFO mail-api: [cb914009] GET /owner/all-clients → 200 (2ms)
15/06/2026 21:47:53 New Zealand Standard Time INFO mail-api: [e4eeae45] GET /owner/pending-onboarding → 200 (2ms)
15/06/2026 21:47:53 New Zealand Standard Time INFO mail-api: [05e1416f] GET /owner/birthdays → 200 (9ms)
15/06/2026 21:47:58 New Zealand Standard Time INFO mail-api: [bc6b815a] GET /owner/client-onboarding-view → 200 (8ms)
15/06/2026 21:49:47 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 21:49:47 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 21:49:47 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 21:49:47 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 21:49:47 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 21:49:47 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 21:50:00 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
15/06/2026 21:50:00 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
15/06/2026 21:50:00 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
15/06/2026 21:50:00 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
15/06/2026 21:50:00 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
15/06/2026 21:50:00 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
15/06/2026 21:52:22 New Zealand Standard Time INFO mail-api: [d28300fe] GET /owner/message-templates → 401 (3ms)
15/06/2026 21:52:23 New Zealand Standard Time INFO mail-api: [0ea10897] GET /owner/activity → 401 (1ms)
15/06/2026 21:52:24 New Zealand Standard Time INFO mail-api: [82beeffb] GET /owner/message-templates → 401 (0ms)
15/06/2026 21:52:28 New Zealand Standard Time INFO mail-api: [d4e90d6f] GET /auth/verify → 401 (1ms)
16/06/2026 06:29:29 New Zealand Standard Time INFO mail-api: Logging initialised → console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 06:29:29 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 06:29:29 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 06:29:29 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 06:29:29 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 06:29:29 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 06:30:42 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 06:30:42 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 06:30:42 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 06:30:42 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 06:30:42 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 06:30:42 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 06:31:28 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 06:31:28 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 06:31:28 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 06:31:28 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 06:31:28 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 06:31:28 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 06:38:14 New Zealand Standard Time INFO mail-api: [48563882] auth: code issued for email=info@goodwalk.co.nz
16/06/2026 06:38:14 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 926365
16/06/2026 06:38:14 New Zealand Standard Time INFO mail-api: [48563882] POST /auth/request-code → 200 (3ms)
16/06/2026 06:38:25 New Zealand Standard Time INFO mail-api: [5664ed1d] auth: session created for email=info@goodwalk.co.nz
16/06/2026 06:38:25 New Zealand Standard Time INFO mail-api: [5664ed1d] POST /auth/verify-code → 200 (3ms)
16/06/2026 06:38:25 New Zealand Standard Time INFO mail-api: [0bb03468] GET /auth/verify → 200 (1ms)
16/06/2026 06:38:25 New Zealand Standard Time INFO mail-api: [6f38622c] GET /owner/pending-onboarding → 200 (2ms)
16/06/2026 06:38:25 New Zealand Standard Time INFO mail-api: [3d0c8bcf] GET /owner/all-clients → 200 (10ms)
16/06/2026 06:38:25 New Zealand Standard Time INFO mail-api: [0b3eb923] GET /owner/birthdays → 200 (11ms)
16/06/2026 06:38:49 New Zealand Standard Time INFO mail-api: [1ea3d806] GET /owner/message-templates → 200 (1ms)
16/06/2026 06:38:49 New Zealand Standard Time INFO mail-api: [88793213] POST /owner/render-message → 200 (4ms)
16/06/2026 06:38:51 New Zealand Standard Time INFO mail-api: [fb1a9f6e] GET /owner/activity → 200 (1ms)
16/06/2026 06:40:29 New Zealand Standard Time INFO mail-api: [31e4240c] GET /owner/client-enquiry → 200 (2ms)
16/06/2026 06:41:47 New Zealand Standard Time INFO mail-api: [121f9f98] GET /owner/activity → 200 (0ms)
16/06/2026 06:44:02 New Zealand Standard Time INFO mail-api: [5a77951c] GET /auth/verify → 200 (0ms)
16/06/2026 06:44:02 New Zealand Standard Time INFO mail-api: [737112c8] GET /owner/pending-onboarding → 200 (1ms)
16/06/2026 06:44:02 New Zealand Standard Time INFO mail-api: [d9a6813f] GET /owner/all-clients → 200 (1ms)
16/06/2026 06:44:02 New Zealand Standard Time INFO mail-api: [46903a39] GET /owner/birthdays → 200 (2ms)
16/06/2026 06:45:04 New Zealand Standard Time INFO mail-api: [a241498f] GET /auth/verify → 200 (0ms)
16/06/2026 06:45:04 New Zealand Standard Time INFO mail-api: [a306e4a4] GET /owner/pending-onboarding → 200 (1ms)
16/06/2026 06:45:04 New Zealand Standard Time INFO mail-api: [6e060204] GET /owner/all-clients → 200 (1ms)
16/06/2026 06:45:04 New Zealand Standard Time INFO mail-api: [58ffe4c7] GET /owner/birthdays → 200 (3ms)
16/06/2026 06:45:17 New Zealand Standard Time INFO mail-api: [56c5f41a] GET /auth/verify → 200 (0ms)
16/06/2026 06:45:17 New Zealand Standard Time INFO mail-api: [f49f41b6] GET /owner/pending-onboarding → 200 (1ms)
16/06/2026 06:45:17 New Zealand Standard Time INFO mail-api: [bd4fd420] GET /owner/all-clients → 200 (1ms)
16/06/2026 06:45:17 New Zealand Standard Time INFO mail-api: [d4b0ada0] GET /owner/birthdays → 200 (2ms)
16/06/2026 06:50:33 New Zealand Standard Time INFO mail-api: [e2163ae1] GET /owner/client-enquiry → 200 (0ms)
16/06/2026 06:51:46 New Zealand Standard Time INFO mail-api: [16d4acbc] GET /owner/message-templates → 200 (1ms)
16/06/2026 06:51:46 New Zealand Standard Time INFO mail-api: [049712df] POST /owner/render-message → 200 (1ms)
16/06/2026 06:51:47 New Zealand Standard Time INFO mail-api: [ff1f1f13] GET /owner/activity → 200 (0ms)
16/06/2026 06:52:05 New Zealand Standard Time INFO mail-api: [e3758e0f] GET /owner/all-clients → 200 (1ms)
16/06/2026 06:52:51 New Zealand Standard Time INFO mail-api: [80d0c427] GET /owner/activity → 200 (0ms)
16/06/2026 06:54:39 New Zealand Standard Time INFO mail-api: [ae3c4fd3] GET /owner/activity → 200 (1ms)
16/06/2026 06:55:26 New Zealand Standard Time INFO mail-api: [d6b285f1] GET /owner/all-clients → 200 (1ms)
16/06/2026 06:55:30 New Zealand Standard Time INFO mail-api: [24446f12] GET /owner/client-enquiry → 200 (0ms)
16/06/2026 06:55:43 New Zealand Standard Time INFO mail-api: [f47fdfc6] GET /owner/activity → 200 (0ms)
16/06/2026 06:56:04 New Zealand Standard Time INFO mail-api: [ef4b6c2a] GET /owner/client-enquiry → 200 (0ms)
16/06/2026 06:56:21 New Zealand Standard Time INFO mail-api: [59ef0c42] GET /owner/activity → 200 (1ms)
16/06/2026 06:57:43 New Zealand Standard Time INFO mail-api: [ce3133ef] GET /auth/verify → 200 (0ms)
16/06/2026 06:57:43 New Zealand Standard Time INFO mail-api: [c6a5dfeb] GET /owner/all-clients → 200 (1ms)
16/06/2026 06:57:43 New Zealand Standard Time INFO mail-api: [de7d24a0] GET /owner/pending-onboarding → 200 (1ms)
16/06/2026 06:57:43 New Zealand Standard Time INFO mail-api: [bf7f5696] GET /owner/birthdays → 200 (0ms)
16/06/2026 06:57:46 New Zealand Standard Time INFO mail-api: [08a9d0a6] GET /owner/message-templates → 200 (1ms)
16/06/2026 06:57:46 New Zealand Standard Time INFO mail-api: [9388927c] POST /owner/render-message → 200 (1ms)
16/06/2026 07:00:13 New Zealand Standard Time INFO mail-api: [39b85a36] GET /owner/activity → 200 (0ms)
16/06/2026 07:02:06 New Zealand Standard Time INFO mail-api: [2fbeef76] GET /owner/all-clients → 200 (1ms)
16/06/2026 07:06:11 New Zealand Standard Time INFO mail-api: [1c8a494a] GET /owner/activity → 200 (1ms)
16/06/2026 07:06:42 New Zealand Standard Time INFO mail-api: [41ddcc81] GET /owner/activity → 200 (0ms)
16/06/2026 07:13:10 New Zealand Standard Time INFO mail-api: [93328ec4] GET /owner/all-clients → 200 (1ms)
16/06/2026 07:14:02 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:14:02 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:14:02 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:14:02 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:14:02 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:14:02 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:14:08 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:14:08 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:14:08 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:14:08 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:14:08 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:14:08 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:14:25 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:14:25 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:14:31 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:14:31 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:14:31 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:14:31 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:14:31 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:14:31 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:14:46 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:14:46 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:14:46 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:14:46 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:14:46 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:14:46 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:14:59 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:14:59 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:14:59 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:14:59 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:14:59 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:14:59 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:15:06 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:15:06 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:15:06 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:15:06 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:15:06 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:15:06 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:15:24 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:15:24 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:15:24 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:15:24 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:15:24 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:15:24 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:15:50 New Zealand Standard Time INFO mail-api: [825c3ae9] GET /auth/verify → 401 (2ms)
16/06/2026 07:15:54 New Zealand Standard Time INFO mail-api: [d2197895] auth: code issued for email=info@goodwalk.co.nz
16/06/2026 07:15:54 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 269988
16/06/2026 07:15:54 New Zealand Standard Time INFO mail-api: [d2197895] POST /auth/request-code → 200 (2ms)
16/06/2026 07:16:05 New Zealand Standard Time INFO mail-api: [f3567591] auth: session created for email=info@goodwalk.co.nz
16/06/2026 07:16:05 New Zealand Standard Time INFO mail-api: [f3567591] POST /auth/verify-code → 200 (2ms)
16/06/2026 07:16:05 New Zealand Standard Time INFO mail-api: [f568d6aa] GET /auth/verify → 200 (0ms)
16/06/2026 07:16:05 New Zealand Standard Time INFO mail-api: [15422225] GET /owner/pending-onboarding → 200 (2ms)
16/06/2026 07:16:05 New Zealand Standard Time INFO mail-api: [560b7831] GET /owner/all-clients → 200 (5ms)
16/06/2026 07:16:05 New Zealand Standard Time INFO mail-api: [b7db7b94] GET /owner/birthdays → 200 (5ms)
16/06/2026 07:16:20 New Zealand Standard Time INFO mail-api: [b1f1abfd] GET /owner/all-clients → 200 (1ms)
16/06/2026 07:16:46 New Zealand Standard Time INFO mail-api: [c80114ed] GET /owner/all-clients → 200 (1ms)
16/06/2026 07:16:57 New Zealand Standard Time INFO mail-api: [f47002dd] GET /owner/message-templates → 200 (1ms)
16/06/2026 07:16:57 New Zealand Standard Time INFO mail-api: [949a4211] POST /owner/render-message → 200 (2ms)
16/06/2026 07:17:07 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:17:07 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:17:07 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:17:07 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:17:07 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:17:07 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:17:13 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:17:13 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:17:13 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:17:13 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:17:13 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:17:13 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:17:20 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:17:20 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:17:20 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:17:20 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:17:20 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:17:20 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:17:27 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:17:27 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:17:27 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:17:27 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:17:27 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:17:27 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:18:01 New Zealand Standard Time INFO mail-api: [8cdf225d] GET /auth/verify → 401 (2ms)
16/06/2026 07:18:05 New Zealand Standard Time INFO mail-api: [cbe1d0d9] auth: unknown email=info@goodwalk.co.z ip=127.0.0.1
16/06/2026 07:18:05 New Zealand Standard Time WARNING mail-api: [cbe1d0d9] auth: failure ip=127.0.0.1 reason='unknown_email' total_in_window=1
16/06/2026 07:18:05 New Zealand Standard Time INFO mail-api: [cbe1d0d9] POST /auth/request-code → 403 (2ms)
16/06/2026 07:18:08 New Zealand Standard Time INFO mail-api: [008f2e1a] auth: code issued for email=info@goodwalk.co.nz
16/06/2026 07:18:08 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 952701
16/06/2026 07:18:08 New Zealand Standard Time INFO mail-api: [008f2e1a] POST /auth/request-code → 200 (1ms)
16/06/2026 07:18:14 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:18:14 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:18:14 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:18:14 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:18:14 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:18:14 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:18:20 New Zealand Standard Time INFO mail-api: [369f9969] auth: code issued for email=info@goodwalk.co.nz
16/06/2026 07:18:20 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 943074
16/06/2026 07:18:20 New Zealand Standard Time INFO mail-api: [369f9969] POST /auth/request-code → 200 (3ms)
16/06/2026 07:18:31 New Zealand Standard Time INFO mail-api: [ceb1fc90] auth: code issued for email=info@goodwalk.co.nz
16/06/2026 07:18:31 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 261983
16/06/2026 07:18:31 New Zealand Standard Time INFO mail-api: [ceb1fc90] POST /auth/request-code → 200 (1ms)
16/06/2026 07:25:18 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:25:18 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:25:18 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:25:18 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:25:18 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:25:18 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:25:20 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:25:20 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:25:20 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:25:20 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:25:20 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:25:20 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:25:28 New Zealand Standard Time INFO mail-api: [098d12dc] auth: code issued for email=info@goodwalk.co.nz
16/06/2026 07:25:28 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 496267
16/06/2026 07:25:28 New Zealand Standard Time INFO mail-api: [098d12dc] POST /auth/request-code → 200 (4ms)
16/06/2026 07:25:35 New Zealand Standard Time INFO mail-api: [8eb8c518] auth: session created for email=info@goodwalk.co.nz
16/06/2026 07:25:35 New Zealand Standard Time INFO mail-api: [8eb8c518] POST /auth/verify-code → 200 (2ms)
16/06/2026 07:25:35 New Zealand Standard Time INFO mail-api: [b4bcbfbd] GET /auth/verify → 200 (1ms)
16/06/2026 07:25:35 New Zealand Standard Time INFO mail-api: [37f1c7a9] GET /owner/pending-onboarding → 200 (2ms)
16/06/2026 07:25:35 New Zealand Standard Time INFO mail-api: [0daa6a9c] GET /owner/all-clients → 200 (7ms)
16/06/2026 07:25:35 New Zealand Standard Time INFO mail-api: [40680736] GET /owner/birthdays → 200 (7ms)
16/06/2026 07:25:37 New Zealand Standard Time INFO mail-api: [e9db9842] POST /owner/render-welcome-pack → 200 (14ms)
16/06/2026 07:25:44 New Zealand Standard Time INFO mail-api: [13fbb03a] POST /owner/render-welcome-pack → 200 (1ms)
16/06/2026 07:25:49 New Zealand Standard Time INFO mail-api: [fb8e73e3] POST /owner/render-welcome-pack → 200 (1ms)
16/06/2026 07:25:51 New Zealand Standard Time INFO mail-api: [22db529c] POST /owner/render-welcome-pack → 200 (1ms)
16/06/2026 07:26:13 New Zealand Standard Time INFO mail-api: [806f9017] GET /owner/scheduled-emails → 200 (2ms)
16/06/2026 07:26:15 New Zealand Standard Time INFO mail-api: [2864b4ca] GET /owner/message-templates → 200 (1ms)
16/06/2026 07:26:15 New Zealand Standard Time INFO mail-api: [f133698c] POST /owner/render-message → 200 (3ms)
16/06/2026 07:47:45 New Zealand Standard Time INFO mail-api: [11b1a1dd] POST /owner/render-welcome-pack → 200 (1ms)
16/06/2026 07:48:20 New Zealand Standard Time INFO mail-api: [03817871] GET /auth/verify → 200 (0ms)
16/06/2026 07:48:20 New Zealand Standard Time INFO mail-api: [1b5b54f8] GET /owner/pending-onboarding → 200 (1ms)
16/06/2026 07:48:20 New Zealand Standard Time INFO mail-api: [d0736f04] GET /owner/all-clients → 200 (1ms)
16/06/2026 07:48:20 New Zealand Standard Time INFO mail-api: [4919bec5] GET /owner/birthdays → 200 (1ms)
16/06/2026 07:48:38 New Zealand Standard Time INFO mail-api: [3c6b1f63] GET /auth/verify → 200 (0ms)
16/06/2026 07:48:38 New Zealand Standard Time INFO mail-api: [c1ea7cf1] GET /owner/pending-onboarding → 200 (1ms)
16/06/2026 07:48:38 New Zealand Standard Time INFO mail-api: [a3a06d7a] GET /owner/all-clients → 200 (1ms)
16/06/2026 07:48:38 New Zealand Standard Time INFO mail-api: [c9a5683b] GET /owner/birthdays → 200 (2ms)
16/06/2026 07:51:48 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:51:48 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:51:48 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:51:48 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:51:48 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:51:48 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:51:52 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:51:52 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:51:53 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:51:53 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:51:53 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:51:53 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:51:56 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:51:56 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:51:56 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:51:56 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:51:56 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:51:56 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:52:00 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
16/06/2026 07:52:00 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
16/06/2026 07:52:00 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
16/06/2026 07:52:00 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (No module named 'weasyprint')
16/06/2026 07:52:00 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
16/06/2026 07:52:00 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
16/06/2026 07:52:54 New Zealand Standard Time INFO mail-api: [01084365] GET /owner/client-onboarding-view → 401 (3ms)
16/06/2026 07:52:55 New Zealand Standard Time INFO mail-api: [117b9eb3] GET /auth/verify → 401 (1ms)
16/06/2026 07:52:59 New Zealand Standard Time INFO mail-api: [bee5ac03] auth: code issued for email=info@goodwalk.co.nz
16/06/2026 07:52:59 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 948798
16/06/2026 07:52:59 New Zealand Standard Time INFO mail-api: [bee5ac03] POST /auth/request-code → 200 (2ms)
16/06/2026 07:53:09 New Zealand Standard Time INFO mail-api: [d782d75d] auth: session created for email=info@goodwalk.co.nz
16/06/2026 07:53:09 New Zealand Standard Time INFO mail-api: [d782d75d] POST /auth/verify-code → 200 (3ms)
16/06/2026 07:53:09 New Zealand Standard Time INFO mail-api: [a8c2db4a] GET /auth/verify → 200 (0ms)
16/06/2026 07:53:09 New Zealand Standard Time INFO mail-api: [a2bc9b29] GET /owner/pending-onboarding → 200 (9ms)
16/06/2026 07:53:09 New Zealand Standard Time INFO mail-api: [110111bd] GET /owner/birthdays → 200 (9ms)
16/06/2026 07:53:09 New Zealand Standard Time INFO mail-api: [2fe1e0d1] GET /owner/all-clients → 200 (10ms)
16/06/2026 07:53:12 New Zealand Standard Time INFO mail-api: [3f755a79] GET /owner/client-onboarding-view → 200 (0ms)
17/06/2026 07:22:07 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
17/06/2026 07:22:07 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='dev@localhost' cp_admins=['dev@localhost'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
17/06/2026 07:22:07 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
2026-07-04 10:00:16 +12:00
23/06/2026 12:30:07 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 12:30:07 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 12:30:07 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 12:30:07 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 12:30:07 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 12:30:07 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 12:30:07 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 12:30:18 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 12:30:18 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 12:30:18 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 12:30:18 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 12:30:18 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 12:30:18 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 12:30:18 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 12:31:33 New Zealand Standard Time INFO mail-api: [1036c630] auth: code issued for email=mattcohen0@gmail.com
23/06/2026 12:31:33 New Zealand Standard Time WARNING mail-api: [DEV] auth code for mattcohen0@gmail.com: 367002
23/06/2026 12:31:33 New Zealand Standard Time INFO mail-api: [1036c630] POST /auth/request-code → 200 (3ms)
23/06/2026 12:31:44 New Zealand Standard Time INFO mail-api: [2b200e71] auth: session created for email=mattcohen0@gmail.com
23/06/2026 12:31:44 New Zealand Standard Time INFO mail-api: [2b200e71] POST /auth/verify-code → 200 (2ms)
23/06/2026 12:31:44 New Zealand Standard Time INFO mail-api: [26374246] GET /auth/verify → 200 (1ms)
23/06/2026 12:31:52 New Zealand Standard Time INFO mail-api: [919b11b4] GET /auth/verify → 200 (0ms)
23/06/2026 12:31:53 New Zealand Standard Time INFO mail-api: [001bcef6] POST /auth/logout → 200 (1ms)
23/06/2026 12:31:56 New Zealand Standard Time INFO mail-api: [654a1b9d] auth: code issued for email=info@goodwalk.co.nz
23/06/2026 12:31:56 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 589786
23/06/2026 12:31:56 New Zealand Standard Time INFO mail-api: [654a1b9d] POST /auth/request-code → 200 (1ms)
23/06/2026 12:32:03 New Zealand Standard Time INFO mail-api: [86377a91] auth: session created for email=info@goodwalk.co.nz
23/06/2026 12:32:03 New Zealand Standard Time INFO mail-api: [86377a91] POST /auth/verify-code → 200 (2ms)
23/06/2026 12:32:03 New Zealand Standard Time INFO mail-api: [e94e511a] GET /auth/verify → 200 (0ms)
23/06/2026 12:32:03 New Zealand Standard Time INFO mail-api: [cd867b28] GET /owner/pending-onboarding → 200 (2ms)
23/06/2026 12:32:03 New Zealand Standard Time INFO mail-api: [e4b06b76] GET /owner/all-clients → 200 (1ms)
23/06/2026 12:32:03 New Zealand Standard Time INFO mail-api: [dfb0a540] GET /owner/birthdays → 200 (10ms)
23/06/2026 12:32:06 New Zealand Standard Time INFO mail-api: [1a9df960] GET /owner/message-templates → 200 (1ms)
23/06/2026 12:32:06 New Zealand Standard Time INFO mail-api: [7d058f42] POST /owner/render-message → 200 (9ms)
23/06/2026 12:32:06 New Zealand Standard Time INFO mail-api: [4fd7492f] GET /owner/scheduled-emails → 200 (1ms)
23/06/2026 12:32:06 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:32:07 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:32:07 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:32:07 New Zealand Standard Time INFO mail-api: [3e5ec811] GET /owner/resend-overview → 502 (321ms)
23/06/2026 12:32:07 New Zealand Standard Time INFO mail-api: [b4d2ce3e] GET /owner/activity → 200 (1ms)
23/06/2026 12:32:19 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:32:19 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:32:19 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:32:19 New Zealand Standard Time INFO mail-api: [4494563a] GET /owner/resend-overview → 502 (235ms)
23/06/2026 12:32:24 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:32:24 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:32:24 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:32:24 New Zealand Standard Time INFO mail-api: [0768382c] GET /owner/resend-overview → 502 (238ms)
23/06/2026 12:32:26 New Zealand Standard Time INFO mail-api: [842d53c1] GET /owner/activity → 200 (0ms)
23/06/2026 12:32:27 New Zealand Standard Time INFO mail-api: [78cec21f] GET /owner/scheduled-emails → 200 (0ms)
23/06/2026 12:32:53 New Zealand Standard Time INFO mail-api: [be9426bf] GET /owner/scheduled-emails → 200 (0ms)
23/06/2026 12:32:54 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:32:54 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:32:54 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:32:54 New Zealand Standard Time INFO mail-api: [6aef3466] GET /owner/resend-overview → 502 (246ms)
23/06/2026 12:32:54 New Zealand Standard Time INFO mail-api: [ccc50e5f] GET /owner/activity → 200 (0ms)
23/06/2026 12:32:55 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:32:56 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:32:56 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:32:56 New Zealand Standard Time INFO mail-api: [a2a3a128] GET /owner/resend-overview → 502 (273ms)
23/06/2026 12:33:12 New Zealand Standard Time INFO mail-api: [d96f4a2a] GET /owner/scheduled-emails → 200 (1ms)
23/06/2026 12:33:12 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:33:13 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:33:13 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:33:13 New Zealand Standard Time INFO mail-api: [af76e179] GET /owner/resend-overview → 502 (304ms)
23/06/2026 12:33:13 New Zealand Standard Time INFO mail-api: [64db2e5e] GET /owner/activity → 200 (0ms)
23/06/2026 12:33:33 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:33:33 New Zealand Standard Time INFO mail-api: [93bfb724] GET /owner/activity → 200 (0ms)
23/06/2026 12:33:33 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:33:33 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:33:33 New Zealand Standard Time INFO mail-api: [7155afce] GET /owner/resend-overview → 502 (791ms)
23/06/2026 12:34:54 New Zealand Standard Time INFO mail-api: [cfaa60cf] GET /auth/verify → 200 (0ms)
23/06/2026 12:34:54 New Zealand Standard Time INFO mail-api: [b907f6fa] GET /owner/pending-onboarding → 200 (1ms)
23/06/2026 12:34:54 New Zealand Standard Time INFO mail-api: [68aa9567] GET /owner/all-clients → 200 (2ms)
23/06/2026 12:34:54 New Zealand Standard Time INFO mail-api: [15253c5d] GET /owner/birthdays → 200 (2ms)
23/06/2026 12:34:57 New Zealand Standard Time INFO mail-api: [ab114cb5] GET /auth/verify → 200 (0ms)
23/06/2026 12:34:57 New Zealand Standard Time INFO mail-api: [9272f870] GET /owner/pending-onboarding → 200 (1ms)
23/06/2026 12:34:57 New Zealand Standard Time INFO mail-api: [0f65a12f] GET /owner/all-clients → 200 (1ms)
23/06/2026 12:34:57 New Zealand Standard Time INFO mail-api: [6a924f1f] GET /owner/birthdays → 200 (1ms)
23/06/2026 12:34:58 New Zealand Standard Time INFO mail-api: [529c2380] GET /auth/verify → 200 (0ms)
23/06/2026 12:34:58 New Zealand Standard Time INFO mail-api: [43d7ab5e] GET /owner/pending-onboarding → 200 (0ms)
23/06/2026 12:34:58 New Zealand Standard Time INFO mail-api: [e7537540] GET /owner/all-clients → 200 (1ms)
23/06/2026 12:34:58 New Zealand Standard Time INFO mail-api: [ef3a2843] GET /owner/birthdays → 200 (0ms)
23/06/2026 12:35:05 New Zealand Standard Time INFO mail-api: [4fdc86fd] GET /owner/message-templates → 200 (1ms)
23/06/2026 12:35:05 New Zealand Standard Time INFO mail-api: [24de080f] POST /owner/render-message → 200 (1ms)
23/06/2026 12:35:06 New Zealand Standard Time INFO mail-api: [f5b03780] GET /owner/scheduled-emails → 200 (0ms)
23/06/2026 12:35:06 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:35:07 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:35:07 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:35:07 New Zealand Standard Time INFO mail-api: [8b2b1d16] GET /owner/resend-overview → 502 (267ms)
23/06/2026 12:35:08 New Zealand Standard Time INFO mail-api: [f258b994] GET /owner/activity → 200 (0ms)
23/06/2026 12:35:21 New Zealand Standard Time INFO mail-api: [e4c166ec] GET /owner/scheduled-emails → 200 (0ms)
23/06/2026 12:35:21 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:35:21 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:35:21 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:35:21 New Zealand Standard Time INFO mail-api: [8ae77d30] GET /owner/resend-overview → 502 (235ms)
23/06/2026 12:35:22 New Zealand Standard Time INFO mail-api: [359a5fb7] GET /owner/activity → 200 (0ms)
23/06/2026 12:35:36 New Zealand Standard Time INFO mail-api: [bd4361b9] GET /owner/scheduled-emails → 200 (0ms)
23/06/2026 12:35:37 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:35:37 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:35:37 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:35:37 New Zealand Standard Time INFO mail-api: [b9ba1d6b] GET /owner/resend-overview → 502 (274ms)
23/06/2026 12:35:37 New Zealand Standard Time INFO mail-api: [e272d446] GET /owner/activity → 200 (0ms)
23/06/2026 12:36:17 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:36:17 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:36:17 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:36:17 New Zealand Standard Time INFO mail-api: [162976fc] GET /owner/resend-overview → 502 (278ms)
23/06/2026 12:36:19 New Zealand Standard Time INFO mail-api: [eaf27f21] GET /owner/activity → 200 (0ms)
23/06/2026 12:36:22 New Zealand Standard Time INFO mail-api: [387ad4c5] GET /owner/scheduled-emails → 200 (0ms)
23/06/2026 12:38:07 New Zealand Standard Time INFO mail-api: [4aa71835] GET /owner/scheduled-emails → 200 (0ms)
23/06/2026 12:38:08 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:38:08 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:38:08 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:38:08 New Zealand Standard Time INFO mail-api: [534eee70] GET /owner/resend-overview → 502 (267ms)
23/06/2026 12:38:09 New Zealand Standard Time INFO mail-api: [4efedd5c] GET /owner/activity → 200 (0ms)
23/06/2026 12:38:09 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:38:10 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:38:10 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:38:10 New Zealand Standard Time INFO mail-api: [79089fc2] GET /owner/resend-overview → 502 (783ms)
23/06/2026 12:38:14 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:38:14 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:38:14 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:38:14 New Zealand Standard Time INFO mail-api: [86efa0e3] GET /owner/resend-overview → 502 (230ms)
23/06/2026 12:39:43 New Zealand Standard Time INFO mail-api: [59a20dab] GET /auth/verify → 200 (0ms)
23/06/2026 12:39:43 New Zealand Standard Time INFO mail-api: [e836e2fd] GET /owner/pending-onboarding → 200 (1ms)
23/06/2026 12:39:43 New Zealand Standard Time INFO mail-api: [a967a2cc] GET /owner/all-clients → 200 (1ms)
23/06/2026 12:39:43 New Zealand Standard Time INFO mail-api: [ef58dcb5] GET /owner/birthdays → 200 (2ms)
23/06/2026 12:39:43 New Zealand Standard Time INFO mail-api: [1e9605ce] GET /owner/message-templates → 200 (1ms)
23/06/2026 12:39:43 New Zealand Standard Time INFO mail-api: [a9690750] POST /owner/render-message → 200 (1ms)
23/06/2026 12:39:49 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:39:49 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:39:49 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:39:49 New Zealand Standard Time INFO mail-api: [cd05c012] GET /owner/resend-overview → 502 (257ms)
23/06/2026 12:39:49 New Zealand Standard Time INFO mail-api: [846ed640] GET /owner/activity → 200 (0ms)
23/06/2026 12:39:50 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:39:50 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:39:50 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:39:50 New Zealand Standard Time INFO mail-api: [1bd8b263] GET /owner/resend-overview → 502 (257ms)
23/06/2026 12:39:57 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:39:57 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:39:57 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:39:57 New Zealand Standard Time INFO mail-api: [141952cf] GET /owner/resend-overview → 502 (242ms)
23/06/2026 12:40:12 New Zealand Standard Time INFO mail-api: [64945306] GET /owner/scheduled-emails → 200 (0ms)
23/06/2026 12:40:14 New Zealand Standard Time INFO mail-api: [3e7bee54] GET /owner/scheduled-emails → 200 (1ms)
23/06/2026 12:40:17 New Zealand Standard Time INFO mail-api: [e4ba03c4] GET /owner/scheduled-emails → 200 (0ms)
23/06/2026 12:40:25 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:40:25 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:40:25 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:40:25 New Zealand Standard Time INFO mail-api: [beb65b39] GET /owner/resend-overview → 502 (232ms)
23/06/2026 12:40:25 New Zealand Standard Time INFO mail-api: [254b4958] GET /owner/activity → 200 (0ms)
23/06/2026 12:40:26 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:40:26 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:40:26 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:40:26 New Zealand Standard Time INFO mail-api: [80ad356b] GET /owner/resend-overview → 502 (230ms)
23/06/2026 12:40:46 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:40:46 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:40:46 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:40:46 New Zealand Standard Time INFO mail-api: [c28be829] GET /owner/resend-overview → 502 (238ms)
23/06/2026 12:40:47 New Zealand Standard Time INFO mail-api: [60f68dd7] GET /owner/activity → 200 (0ms)
23/06/2026 12:41:12 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:41:13 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:41:13 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:41:13 New Zealand Standard Time INFO mail-api: [2349e6f5] GET /owner/resend-overview → 502 (852ms)
23/06/2026 12:41:13 New Zealand Standard Time INFO mail-api: [84c6ff26] GET /owner/activity → 200 (1ms)
23/06/2026 12:41:18 New Zealand Standard Time INFO mail-api: [ce6dcb4b] GET /owner/scheduled-emails → 200 (0ms)
23/06/2026 12:41:31 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:41:31 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:41:31 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:41:31 New Zealand Standard Time INFO mail-api: [2f29fb37] GET /owner/resend-overview → 502 (250ms)
23/06/2026 12:41:31 New Zealand Standard Time INFO mail-api: [e712bedc] GET /owner/activity → 200 (0ms)
23/06/2026 12:42:36 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:42:37 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:42:37 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:42:37 New Zealand Standard Time INFO mail-api: [db56a7de] GET /owner/resend-overview → 502 (314ms)
23/06/2026 12:42:38 New Zealand Standard Time INFO mail-api: [17e1fc83] GET /owner/activity → 200 (0ms)
23/06/2026 12:43:00 New Zealand Standard Time INFO mail-api: [a8cb2202] GET /owner/scheduled-emails → 200 (0ms)
23/06/2026 12:43:03 New Zealand Standard Time INFO mail-api: [e19f88f0] GET /auth/verify → 200 (0ms)
23/06/2026 12:43:03 New Zealand Standard Time INFO mail-api: [c2f0c4b2] GET /owner/pending-onboarding → 200 (0ms)
23/06/2026 12:43:03 New Zealand Standard Time INFO mail-api: [870e8b2f] GET /owner/all-clients → 200 (1ms)
23/06/2026 12:43:03 New Zealand Standard Time INFO mail-api: [89b8be3a] GET /owner/birthdays → 200 (1ms)
23/06/2026 12:43:10 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:43:10 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:43:10 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:43:10 New Zealand Standard Time INFO mail-api: [c1b2a301] GET /owner/resend-overview → 502 (221ms)
23/06/2026 12:43:11 New Zealand Standard Time INFO mail-api: [fe0f3961] GET /owner/message-templates → 200 (1ms)
23/06/2026 12:43:11 New Zealand Standard Time INFO mail-api: [df47ee55] POST /owner/render-message → 200 (1ms)
23/06/2026 12:43:12 New Zealand Standard Time INFO mail-api: [5bde6bb2] GET /owner/scheduled-emails → 200 (0ms)
23/06/2026 12:43:28 New Zealand Standard Time INFO mail-api: [7d9285a3] GET /auth/verify → 200 (0ms)
23/06/2026 12:43:28 New Zealand Standard Time INFO mail-api: [ba1554c0] GET /owner/pending-onboarding → 200 (1ms)
23/06/2026 12:43:28 New Zealand Standard Time INFO mail-api: [bf8beab3] GET /owner/all-clients → 200 (1ms)
23/06/2026 12:43:28 New Zealand Standard Time INFO mail-api: [8718a0e0] GET /owner/birthdays → 200 (0ms)
23/06/2026 12:43:33 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:43:34 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:43:34 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:43:34 New Zealand Standard Time INFO mail-api: [d2d74e53] GET /owner/resend-overview → 502 (766ms)
23/06/2026 12:43:35 New Zealand Standard Time INFO mail-api: [7aaf9ff3] GET /owner/message-templates → 200 (1ms)
23/06/2026 12:43:35 New Zealand Standard Time INFO mail-api: [d5926b92] POST /owner/render-message → 200 (1ms)
23/06/2026 12:43:36 New Zealand Standard Time INFO mail-api: [b8a3db1f] GET /owner/scheduled-emails → 200 (0ms)
23/06/2026 12:45:04 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:45:04 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:45:04 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:45:04 New Zealand Standard Time INFO mail-api: [2d7aacf5] GET /owner/resend-overview → 502 (326ms)
23/06/2026 12:46:40 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 12:46:40 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 12:46:40 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 12:46:40 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 12:46:40 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 12:46:40 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 12:46:40 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 12:46:58 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 12:46:58 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 12:46:58 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 12:46:58 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 12:46:58 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 12:46:58 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 12:46:58 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 12:47:08 New Zealand Standard Time INFO mail-api: [8112d279] GET /auth/verify → 401 (2ms)
23/06/2026 12:48:24 New Zealand Standard Time INFO mail-api: [1ce63f66] auth: code issued for email=info@goodwalk.co.nz
23/06/2026 12:48:24 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 176367
23/06/2026 12:48:24 New Zealand Standard Time INFO mail-api: [1ce63f66] POST /auth/request-code → 200 (2ms)
23/06/2026 12:48:30 New Zealand Standard Time INFO mail-api: [2bedc2c7] auth: session created for email=info@goodwalk.co.nz
23/06/2026 12:48:30 New Zealand Standard Time INFO mail-api: [2bedc2c7] POST /auth/verify-code → 200 (2ms)
23/06/2026 12:48:30 New Zealand Standard Time INFO mail-api: [c3e23c74] GET /auth/verify → 200 (0ms)
23/06/2026 12:48:30 New Zealand Standard Time INFO mail-api: [ac55f8ea] GET /owner/pending-onboarding → 200 (3ms)
23/06/2026 12:48:30 New Zealand Standard Time INFO mail-api: [9dcdee2f] GET /owner/all-clients → 200 (5ms)
23/06/2026 12:48:30 New Zealand Standard Time INFO mail-api: [5998f8d6] GET /owner/birthdays → 200 (4ms)
23/06/2026 12:48:48 New Zealand Standard Time INFO mail-api: [ecfdea7e] GET /owner/scheduled-emails → 200 (1ms)
23/06/2026 12:48:49 New Zealand Standard Time INFO mail-api: [3b62969b] GET /owner/message-templates → 200 (1ms)
23/06/2026 12:48:49 New Zealand Standard Time INFO mail-api: [84f6733d] POST /owner/render-message → 200 (1ms)
23/06/2026 12:49:13 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:49:13 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:49:13 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:49:13 New Zealand Standard Time INFO mail-api: [b6550cd5] GET /owner/resend-overview → 502 (301ms)
23/06/2026 12:49:14 New Zealand Standard Time INFO mail-api: [5fce7d42] GET /owner/activity → 200 (1ms)
23/06/2026 12:49:17 New Zealand Standard Time INFO mail-api: [83acde55] GET /owner/scheduled-emails → 200 (0ms)
23/06/2026 12:49:42 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:49:42 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:49:42 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:49:42 New Zealand Standard Time INFO mail-api: [f99cb7f2] GET /owner/resend-overview → 502 (222ms)
23/06/2026 12:49:42 New Zealand Standard Time INFO mail-api: [9849005f] GET /owner/activity → 200 (0ms)
23/06/2026 12:49:45 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
23/06/2026 12:49:45 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
23/06/2026 12:49:45 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3557, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
23/06/2026 12:49:45 New Zealand Standard Time INFO mail-api: [94df9251] GET /owner/resend-overview → 502 (236ms)
23/06/2026 12:49:47 New Zealand Standard Time INFO mail-api: [22018016] GET /owner/scheduled-emails → 200 (0ms)
23/06/2026 12:51:15 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 12:51:15 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 12:51:15 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 12:51:15 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 12:51:15 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 12:51:15 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 12:51:15 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 12:51:16 New Zealand Standard Time INFO mail-api: [83f9c7d5] GET /owner/resend-overview → 401 (2ms)
23/06/2026 12:51:16 New Zealand Standard Time INFO mail-api: [eb0f65bc] GET /owner/activity → 401 (1ms)
23/06/2026 12:51:18 New Zealand Standard Time INFO mail-api: [a35974be] GET /owner/resend-overview → 401 (0ms)
23/06/2026 12:51:21 New Zealand Standard Time INFO mail-api: [67998c0d] GET /owner/activity → 401 (0ms)
23/06/2026 12:51:31 New Zealand Standard Time INFO mail-api: [74217eeb] GET /owner/scheduled-emails → 401 (1ms)
23/06/2026 12:51:56 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 12:51:56 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 12:51:56 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 12:51:56 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 12:51:56 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 12:51:56 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 12:51:56 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 12:52:07 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 12:52:07 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 12:52:07 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 12:52:07 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 12:52:07 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 12:52:07 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 12:52:07 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 12:52:16 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 12:52:16 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 12:52:16 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 12:52:16 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 12:52:16 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 12:52:16 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 12:52:16 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 12:52:31 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 12:52:31 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 12:52:31 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 12:52:31 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 12:52:31 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 12:52:31 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 12:52:31 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 12:52:52 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 12:52:52 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 12:52:52 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 12:52:52 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 12:52:52 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 12:52:52 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 12:52:52 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 12:53:15 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 12:53:15 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 12:53:15 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 12:53:15 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 12:53:15 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 12:53:15 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 12:53:15 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 12:56:54 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 12:56:54 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 12:56:54 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 12:56:54 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 12:56:54 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 12:56:54 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 12:56:54 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 13:02:29 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 13:02:29 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 13:02:29 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 13:02:30 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 13:02:30 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 13:02:30 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 13:02:30 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 13:04:23 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 13:04:23 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 13:04:23 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 13:04:23 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 13:04:23 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 13:04:23 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 13:04:23 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 13:07:19 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 13:07:19 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 13:07:19 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 13:07:19 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 13:07:19 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 13:07:19 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 13:07:19 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 15:08:45 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 15:08:45 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 15:08:45 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 15:08:45 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 15:08:46 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 15:08:46 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 15:08:46 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
23/06/2026 15:12:56 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
23/06/2026 15:12:56 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
23/06/2026 15:12:56 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
23/06/2026 15:12:57 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
23/06/2026 15:12:57 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
23/06/2026 15:12:57 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
23/06/2026 15:12:57 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 15:15:33 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 15:15:33 New Zealand Standard Time CRITICAL mail-api: Startup aborted: missing env vars: ['RESEND_API_KEY', 'OWNER_EMAIL']
29/06/2026 15:15:47 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 15:15:47 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='owner@example.com' cp_admins=['owner@example.com'] owner_bcc='example@example.com' client_bcc='' general_enquiries=False max_attempts=3 form_min=4s form_max=7200s rate_window=900s per_ip=5 per_email=3 min_interval=20s send_timeout=20s
29/06/2026 15:15:47 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 15:15:47 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 15:17:42 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 15:17:42 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='owner@example.com' cp_admins=['owner@example.com'] owner_bcc='example@example.com' client_bcc='' general_enquiries=False max_attempts=3 form_min=4s form_max=7200s rate_window=900s per_ip=5 per_email=3 min_interval=20s send_timeout=20s
29/06/2026 15:17:42 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 15:17:42 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 15:41:55 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 15:41:55 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 15:41:55 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 15:41:55 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 15:41:56 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 15:41:56 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 15:41:56 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 15:42:10 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 15:42:10 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 15:42:10 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 15:42:10 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 15:42:10 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 15:42:10 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 15:42:10 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 15:44:37 New Zealand Standard Time INFO mail-api: [b93840a7] GET /auth/verify → 401 (3ms)
29/06/2026 15:44:42 New Zealand Standard Time INFO mail-api: [08d5073b] auth: code issued for email=info@goodwalk.co.nz
29/06/2026 15:44:42 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 596254
29/06/2026 15:44:42 New Zealand Standard Time INFO mail-api: [08d5073b] POST /auth/request-code → 200 (3ms)
29/06/2026 15:44:54 New Zealand Standard Time INFO mail-api: [5edb48bd] auth: session created for email=info@goodwalk.co.nz
29/06/2026 15:44:54 New Zealand Standard Time INFO mail-api: [5edb48bd] POST /auth/verify-code → 200 (2ms)
29/06/2026 15:44:54 New Zealand Standard Time INFO mail-api: [359b71ea] GET /auth/verify → 200 (0ms)
29/06/2026 15:44:54 New Zealand Standard Time INFO mail-api: [a360bf23] GET /owner/pending-onboarding → 200 (20ms)
29/06/2026 15:44:54 New Zealand Standard Time INFO mail-api: [4b7f610e] GET /owner/all-clients → 200 (19ms)
29/06/2026 15:44:54 New Zealand Standard Time INFO mail-api: [c7639ba1] GET /owner/birthdays → 200 (19ms)
29/06/2026 15:45:05 New Zealand Standard Time INFO mail-api: [19638b2e] POST /owner/render-welcome-pack → 200 (17ms)
29/06/2026 15:45:14 New Zealand Standard Time INFO mail-api: [48c835e2] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 15:45:15 New Zealand Standard Time INFO mail-api: [73076a53] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 15:45:16 New Zealand Standard Time INFO mail-api: [1150c5e5] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 15:47:45 New Zealand Standard Time INFO mail-api: [cd2090fb] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 15:48:01 New Zealand Standard Time INFO mail-api: [9885ffa0] GET /owner/message-templates → 200 (2ms)
29/06/2026 15:48:01 New Zealand Standard Time INFO mail-api: [8145f8c3] POST /owner/render-message → 200 (2ms)
29/06/2026 15:48:02 New Zealand Standard Time INFO mail-api: [2b897bf7] GET /owner/scheduled-emails → 200 (1ms)
29/06/2026 15:48:03 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 15:48:04 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 15:48:04 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3790, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 15:48:04 New Zealand Standard Time INFO mail-api: [df7776d9] GET /owner/resend-overview → 502 (746ms)
29/06/2026 15:48:05 New Zealand Standard Time INFO mail-api: [077356d8] GET /owner/activity → 200 (1ms)
29/06/2026 15:48:33 New Zealand Standard Time INFO mail-api: [4fdbd1ff] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 15:48:44 New Zealand Standard Time INFO mail-api: [a80497fa] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 15:48:50 New Zealand Standard Time INFO mail-api: [c7b759c1] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 15:48:51 New Zealand Standard Time INFO mail-api: [4188a9b5] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 15:48:52 New Zealand Standard Time INFO mail-api: [b9c223cc] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 15:48:53 New Zealand Standard Time INFO mail-api: [a3d9f4e2] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 15:48:54 New Zealand Standard Time INFO mail-api: [e70a7511] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 15:48:55 New Zealand Standard Time INFO mail-api: [eb156975] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 15:49:28 New Zealand Standard Time INFO mail-api: [8fef11d9] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 15:49:34 New Zealand Standard Time INFO mail-api: [eefc386e] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 15:49:43 New Zealand Standard Time INFO mail-api: [5ab3123f] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 15:52:05 New Zealand Standard Time INFO mail-api: [50abb45a] GET /auth/verify → 200 (0ms)
29/06/2026 15:52:05 New Zealand Standard Time INFO mail-api: [88910f3e] GET /owner/all-clients → 200 (1ms)
29/06/2026 15:52:05 New Zealand Standard Time INFO mail-api: [6c516b25] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 15:52:05 New Zealand Standard Time INFO mail-api: [eaceceaf] GET /owner/birthdays → 200 (2ms)
29/06/2026 15:54:02 New Zealand Standard Time INFO mail-api: [751e2e04] GET /auth/verify → 200 (0ms)
29/06/2026 15:54:02 New Zealand Standard Time INFO mail-api: [03a0b5dd] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 15:54:02 New Zealand Standard Time INFO mail-api: [2f352b40] GET /owner/all-clients → 200 (1ms)
29/06/2026 15:54:02 New Zealand Standard Time INFO mail-api: [63c5726e] GET /owner/birthdays → 200 (1ms)
29/06/2026 15:54:22 New Zealand Standard Time INFO mail-api: [d65dd5a7] GET /auth/verify → 200 (0ms)
29/06/2026 15:54:22 New Zealand Standard Time INFO mail-api: [988ce9ad] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 15:54:22 New Zealand Standard Time INFO mail-api: [c6c06735] GET /owner/all-clients → 200 (2ms)
29/06/2026 15:54:22 New Zealand Standard Time INFO mail-api: [e295958b] GET /owner/birthdays → 200 (2ms)
29/06/2026 15:54:37 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 15:54:37 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 15:54:37 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 15:54:37 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 15:54:37 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 15:54:37 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 15:54:37 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 15:54:45 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 15:54:45 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 15:54:45 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 15:54:45 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 15:54:45 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 15:54:45 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 15:54:45 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 15:55:16 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 15:55:16 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 15:55:16 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 15:55:16 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 15:55:17 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 15:55:17 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 15:55:17 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 15:55:47 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 15:55:47 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 15:55:47 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 15:55:47 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 15:55:47 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 15:55:47 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 15:55:47 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 15:56:10 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 15:56:10 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 15:56:10 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 15:56:10 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 15:56:10 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 15:56:10 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 15:56:10 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 15:56:15 New Zealand Standard Time INFO mail-api: [943826f4] POST /owner/render-welcome-pack → 401 (12ms)
29/06/2026 15:56:19 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 15:56:19 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 15:56:19 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 15:56:19 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 15:56:19 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 15:56:19 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 15:56:19 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 15:56:24 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 15:56:24 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 15:56:24 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 15:56:24 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 15:56:25 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 15:56:25 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 15:56:25 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 15:56:33 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 15:56:33 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 15:56:33 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 15:56:33 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 15:56:34 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 15:56:34 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 15:56:34 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 15:56:46 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 15:56:46 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 15:56:46 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 15:56:46 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 15:56:46 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 15:56:46 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 15:56:46 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 15:56:56 New Zealand Standard Time INFO mail-api: [8ccc73ba] POST /owner/render-welcome-pack → 401 (6ms)
29/06/2026 15:56:59 New Zealand Standard Time INFO mail-api: [9227f4e1] POST /owner/render-welcome-pack → 401 (1ms)
29/06/2026 15:57:00 New Zealand Standard Time INFO mail-api: [e1dd8f21] POST /owner/render-welcome-pack → 401 (1ms)
29/06/2026 15:57:04 New Zealand Standard Time INFO mail-api: [a2fe76da] POST /owner/render-welcome-pack → 401 (1ms)
29/06/2026 15:57:14 New Zealand Standard Time INFO mail-api: [977e7b27] POST /owner/render-welcome-pack → 401 (1ms)
29/06/2026 15:57:16 New Zealand Standard Time INFO mail-api: [b7433d43] POST /owner/render-welcome-pack → 401 (1ms)
29/06/2026 15:57:16 New Zealand Standard Time INFO mail-api: [0e69d414] POST /owner/render-welcome-pack → 401 (1ms)
29/06/2026 15:57:18 New Zealand Standard Time INFO mail-api: [dbab926f] POST /owner/render-welcome-pack → 401 (1ms)
29/06/2026 15:58:56 New Zealand Standard Time INFO mail-api: [8d245d1f] GET /auth/verify → 401 (1ms)
29/06/2026 15:59:50 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 15:59:50 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 15:59:50 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 15:59:50 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 16:00:20 New Zealand Standard Time INFO mail-api: [03f22d93] auth: code issued for email=info@goodwalk.co.nz
29/06/2026 16:00:20 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 617967
29/06/2026 16:00:20 New Zealand Standard Time INFO mail-api: [03f22d93] POST /auth/request-code → 200 (2ms)
29/06/2026 16:00:29 New Zealand Standard Time INFO mail-api: [589f9129] auth: session created for email=info@goodwalk.co.nz
29/06/2026 16:00:29 New Zealand Standard Time INFO mail-api: [589f9129] POST /auth/verify-code → 200 (1ms)
29/06/2026 16:00:29 New Zealand Standard Time INFO mail-api: [4fd3bc4d] GET /auth/verify → 200 (0ms)
29/06/2026 16:00:29 New Zealand Standard Time INFO mail-api: [9dd5684d] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 16:00:29 New Zealand Standard Time INFO mail-api: [6a45c197] GET /owner/birthdays → 200 (11ms)
29/06/2026 16:00:29 New Zealand Standard Time INFO mail-api: [8ec0a638] GET /owner/all-clients → 200 (11ms)
29/06/2026 16:00:31 New Zealand Standard Time INFO mail-api: [6d52d8a7] POST /owner/render-welcome-pack → 200 (8ms)
29/06/2026 16:01:24 New Zealand Standard Time INFO mail-api: [7255bd6c] GET /auth/verify → 200 (0ms)
29/06/2026 16:01:24 New Zealand Standard Time INFO mail-api: [4f8c80d3] GET /owner/all-clients → 200 (1ms)
29/06/2026 16:01:24 New Zealand Standard Time INFO mail-api: [568423dd] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 16:01:24 New Zealand Standard Time INFO mail-api: [98396a86] GET /owner/birthdays → 200 (0ms)
29/06/2026 16:01:48 New Zealand Standard Time INFO mail-api: [e812b2cd] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:01:51 New Zealand Standard Time INFO mail-api: [c5bad9ad] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:02:37 New Zealand Standard Time INFO mail-api: [e294ba7f] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:02:44 New Zealand Standard Time INFO mail-api: [2c33e98c] GET /auth/verify → 200 (0ms)
29/06/2026 16:02:44 New Zealand Standard Time INFO mail-api: [ac102e5a] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 16:02:44 New Zealand Standard Time INFO mail-api: [c0b50fe5] GET /owner/birthdays → 200 (1ms)
29/06/2026 16:02:44 New Zealand Standard Time INFO mail-api: [af9f3812] GET /owner/all-clients → 200 (2ms)
29/06/2026 16:02:44 New Zealand Standard Time INFO mail-api: [772ebf66] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:02:48 New Zealand Standard Time INFO mail-api: [db67ebcf] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:02:58 New Zealand Standard Time INFO mail-api: [be66d714] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:03:08 New Zealand Standard Time INFO mail-api: [52262667] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:03:11 New Zealand Standard Time INFO mail-api: [faf29bae] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:04:18 New Zealand Standard Time INFO mail-api: [435bff48] GET /auth/verify → 200 (0ms)
29/06/2026 16:04:18 New Zealand Standard Time INFO mail-api: [ef12965d] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 16:04:18 New Zealand Standard Time INFO mail-api: [4c37cc0a] GET /owner/all-clients → 200 (2ms)
29/06/2026 16:04:18 New Zealand Standard Time INFO mail-api: [d61d2cbe] GET /owner/birthdays → 200 (1ms)
29/06/2026 16:06:56 New Zealand Standard Time INFO mail-api: [b61b4620] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:07:01 New Zealand Standard Time INFO mail-api: [8008f3bb] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:07:05 New Zealand Standard Time INFO mail-api: [8f1585fe] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:27:21 New Zealand Standard Time INFO mail-api: [b6a4b393] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:28:29 New Zealand Standard Time INFO mail-api: [02a0137d] GET /auth/verify → 200 (1ms)
29/06/2026 16:28:29 New Zealand Standard Time INFO mail-api: [a8f3b469] GET /owner/pending-onboarding → 200 (3ms)
29/06/2026 16:28:29 New Zealand Standard Time INFO mail-api: [582639d5] GET /owner/all-clients → 200 (3ms)
29/06/2026 16:28:29 New Zealand Standard Time INFO mail-api: [18aebd3f] GET /owner/birthdays → 200 (2ms)
29/06/2026 16:28:40 New Zealand Standard Time INFO mail-api: [29c3c019] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:32:07 New Zealand Standard Time INFO mail-api: [7e484804] GET /auth/verify → 200 (0ms)
29/06/2026 16:32:07 New Zealand Standard Time INFO mail-api: [4e21835e] GET /owner/pending-onboarding → 200 (19ms)
29/06/2026 16:32:07 New Zealand Standard Time INFO mail-api: [4593141e] GET /owner/all-clients → 200 (11ms)
29/06/2026 16:32:07 New Zealand Standard Time INFO mail-api: [49469865] GET /owner/birthdays → 200 (1ms)
29/06/2026 16:32:59 New Zealand Standard Time INFO mail-api: [6b7040e5] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:33:13 New Zealand Standard Time INFO mail-api: [711dd972] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:34:33 New Zealand Standard Time INFO mail-api: [cf65c0bc] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:34:50 New Zealand Standard Time INFO mail-api: [96e318e6] POST /owner/render-welcome-pack → 200 (32ms)
29/06/2026 16:34:51 New Zealand Standard Time INFO mail-api: [c096c865] POST /owner/render-welcome-pack → 200 (28ms)
29/06/2026 16:34:52 New Zealand Standard Time INFO mail-api: [f60af9b6] POST /owner/render-welcome-pack → 200 (49ms)
29/06/2026 16:34:54 New Zealand Standard Time INFO mail-api: [94b263be] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:35:03 New Zealand Standard Time INFO mail-api: [35762f68] GET /owner/message-templates → 200 (12ms)
29/06/2026 16:35:03 New Zealand Standard Time INFO mail-api: [2ab5a171] POST /owner/render-message → 200 (69ms)
29/06/2026 16:35:03 New Zealand Standard Time INFO mail-api: [63584f59] GET /owner/scheduled-emails → 200 (7ms)
29/06/2026 16:36:26 New Zealand Standard Time INFO mail-api: [fff9a05f] POST /owner/render-welcome-pack → 200 (17ms)
29/06/2026 16:37:33 New Zealand Standard Time INFO mail-api: [212ab436] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:37:48 New Zealand Standard Time INFO mail-api: [564eb6c8] POST /owner/render-welcome-pack → 200 (2ms)
29/06/2026 16:37:49 New Zealand Standard Time INFO mail-api: [6b4e560a] POST /owner/render-welcome-pack → 200 (13ms)
29/06/2026 16:37:50 New Zealand Standard Time INFO mail-api: [c5b6a1c5] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:37:51 New Zealand Standard Time INFO mail-api: [23315ce5] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:37:52 New Zealand Standard Time INFO mail-api: [ad49f6f5] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:37:54 New Zealand Standard Time INFO mail-api: [976782dc] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:38:31 New Zealand Standard Time INFO mail-api: [d39f1a86] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:42:12 New Zealand Standard Time INFO mail-api: [8e947125] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 16:53:35 New Zealand Standard Time INFO mail-api: [f8fe632f] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 17:01:27 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 17:01:27 New Zealand Standard Time INFO mail-api: [0b3dd8ad] GET /owner/activity → 200 (8ms)
29/06/2026 17:01:27 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 17:01:27 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3943, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 17:01:27 New Zealand Standard Time INFO mail-api: [63fe0874] GET /owner/resend-overview → 502 (1442ms)
29/06/2026 17:01:30 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 17:01:31 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 17:01:31 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3943, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 17:01:31 New Zealand Standard Time INFO mail-api: [e671a9f8] GET /owner/resend-overview → 502 (847ms)
29/06/2026 17:02:14 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 17:02:14 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 17:02:14 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 17:02:14 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 17:02:15 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 17:02:15 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 17:02:15 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 17:02:16 New Zealand Standard Time INFO mail-api: [19564536] GET /owner/resend-overview → 401 (2ms)
29/06/2026 17:02:28 New Zealand Standard Time INFO mail-api: [ad48d3e9] GET /auth/verify → 401 (1ms)
29/06/2026 17:02:30 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 17:02:30 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 17:02:30 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 17:02:30 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 17:02:31 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 17:02:31 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 17:02:31 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 17:02:38 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 17:02:38 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 17:02:38 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 17:02:38 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 17:02:38 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 17:02:38 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 17:02:38 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 17:02:51 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 17:02:51 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 17:02:51 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 17:02:51 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 17:02:52 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 17:02:52 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 17:02:52 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 17:03:00 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 17:03:00 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 17:03:00 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 17:03:00 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 17:03:11 New Zealand Standard Time INFO mail-api: [d40fb411] auth: code issued for email=info@goodwalk.co.nz
29/06/2026 17:03:11 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 726928
29/06/2026 17:03:11 New Zealand Standard Time INFO mail-api: [d40fb411] POST /auth/request-code → 200 (3ms)
29/06/2026 17:03:15 New Zealand Standard Time INFO mail-api: [daeb4ce5] auth: session created for email=info@goodwalk.co.nz
29/06/2026 17:03:15 New Zealand Standard Time INFO mail-api: [daeb4ce5] POST /auth/verify-code → 200 (2ms)
29/06/2026 17:03:15 New Zealand Standard Time INFO mail-api: [dc52f3c6] GET /auth/verify → 200 (1ms)
29/06/2026 17:03:15 New Zealand Standard Time INFO mail-api: [dac48669] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:03:15 New Zealand Standard Time INFO mail-api: [547e57cf] GET /owner/birthdays → 200 (6ms)
29/06/2026 17:03:15 New Zealand Standard Time INFO mail-api: [2fb67010] GET /owner/all-clients → 200 (7ms)
29/06/2026 17:03:19 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 17:03:20 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 17:03:20 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 17:03:20 New Zealand Standard Time INFO mail-api: [5fd28cb1] GET /owner/resend-overview → 502 (868ms)
29/06/2026 17:03:48 New Zealand Standard Time INFO mail-api: [06670171] GET /auth/verify → 200 (0ms)
29/06/2026 17:03:48 New Zealand Standard Time INFO mail-api: [6addfb33] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:03:48 New Zealand Standard Time INFO mail-api: [69fa28be] GET /owner/all-clients → 200 (2ms)
29/06/2026 17:03:48 New Zealand Standard Time INFO mail-api: [e0acc325] GET /owner/birthdays → 200 (1ms)
29/06/2026 17:04:09 New Zealand Standard Time INFO mail-api: [6ec37070] GET /auth/verify → 200 (0ms)
29/06/2026 17:04:09 New Zealand Standard Time INFO mail-api: [4c7cfcda] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:04:09 New Zealand Standard Time INFO mail-api: [83d49226] GET /owner/all-clients → 200 (2ms)
29/06/2026 17:04:09 New Zealand Standard Time INFO mail-api: [0b970f60] GET /owner/birthdays → 200 (2ms)
29/06/2026 17:04:32 New Zealand Standard Time INFO mail-api: [c38d4ead] GET /auth/verify → 200 (0ms)
29/06/2026 17:04:32 New Zealand Standard Time INFO mail-api: [8b6d3dc7] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:04:32 New Zealand Standard Time INFO mail-api: [798b936c] GET /owner/birthdays → 200 (2ms)
29/06/2026 17:04:32 New Zealand Standard Time INFO mail-api: [c66de9c1] GET /owner/all-clients → 200 (2ms)
29/06/2026 17:05:09 New Zealand Standard Time INFO mail-api: [d1d77c78] GET /auth/verify → 200 (0ms)
29/06/2026 17:05:09 New Zealand Standard Time INFO mail-api: [497cbd05] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:05:09 New Zealand Standard Time INFO mail-api: [7f0ca7f6] GET /owner/birthdays → 200 (1ms)
29/06/2026 17:05:09 New Zealand Standard Time INFO mail-api: [8e3f381f] GET /owner/all-clients → 200 (1ms)
29/06/2026 17:12:05 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 17:12:05 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 17:12:05 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 17:12:05 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 17:12:05 New Zealand Standard Time DEBUG asyncio: Using proactor: IocpProactor
29/06/2026 17:12:05 New Zealand Standard Time DEBUG asyncio: Using proactor: IocpProactor
29/06/2026 17:12:05 New Zealand Standard Time DEBUG asyncio: Using proactor: IocpProactor
29/06/2026 17:13:34 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 17:13:34 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 17:13:34 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 17:13:34 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 17:15:10 New Zealand Standard Time INFO mail-api: [c81951c8] GET /auth/verify → 200 (2ms)
29/06/2026 17:15:10 New Zealand Standard Time INFO mail-api: [32ee64e3] GET /owner/pending-onboarding → 200 (27ms)
29/06/2026 17:15:10 New Zealand Standard Time INFO mail-api: [0363cf49] GET /owner/all-clients → 200 (2ms)
29/06/2026 17:15:10 New Zealand Standard Time INFO mail-api: [50bb39c8] GET /owner/birthdays → 200 (18ms)
29/06/2026 17:15:26 New Zealand Standard Time INFO mail-api: [43e52b6b] POST /owner/render-welcome-pack → 200 (623ms)
29/06/2026 17:16:41 New Zealand Standard Time INFO mail-api: [e65877bf] GET /owner/message-templates → 200 (16ms)
29/06/2026 17:16:41 New Zealand Standard Time INFO mail-api: [79e0caeb] POST /owner/render-message → 200 (25ms)
29/06/2026 17:16:42 New Zealand Standard Time INFO mail-api: [3b1b6238] GET /owner/scheduled-emails → 200 (1ms)
29/06/2026 17:17:48 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 17:17:48 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 17:17:48 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 17:17:48 New Zealand Standard Time INFO mail-api: [cdb3e120] GET /owner/resend-overview → 502 (819ms)
29/06/2026 17:17:49 New Zealand Standard Time INFO mail-api: [9e7ff7c0] GET /owner/activity → 200 (16ms)
29/06/2026 17:17:55 New Zealand Standard Time INFO mail-api: [04d43c8a] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 17:18:08 New Zealand Standard Time INFO mail-api: [c8688e5b] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 17:18:08 New Zealand Standard Time INFO mail-api: [ef60d292] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 17:19:17 New Zealand Standard Time INFO mail-api: [af190ac3] GET /auth/verify → 200 (0ms)
29/06/2026 17:19:17 New Zealand Standard Time INFO mail-api: [304e5661] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:19:17 New Zealand Standard Time INFO mail-api: [1d0bb478] GET /owner/all-clients → 200 (1ms)
29/06/2026 17:19:17 New Zealand Standard Time INFO mail-api: [0d8edd12] GET /owner/birthdays → 200 (1ms)
29/06/2026 17:20:13 New Zealand Standard Time INFO mail-api: [86c8d98a] GET /auth/verify → 200 (0ms)
29/06/2026 17:20:13 New Zealand Standard Time INFO mail-api: [448c5cda] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:20:13 New Zealand Standard Time INFO mail-api: [d807c42a] GET /owner/all-clients → 200 (1ms)
29/06/2026 17:20:13 New Zealand Standard Time INFO mail-api: [6b9216cd] GET /owner/birthdays → 200 (1ms)
29/06/2026 17:20:31 New Zealand Standard Time INFO mail-api: [1e74bd63] GET /auth/verify → 200 (0ms)
29/06/2026 17:20:32 New Zealand Standard Time INFO mail-api: [d84453ab] GET /owner/pending-onboarding → 200 (12ms)
29/06/2026 17:20:32 New Zealand Standard Time INFO mail-api: [f98b16a5] GET /owner/all-clients → 200 (13ms)
29/06/2026 17:20:32 New Zealand Standard Time INFO mail-api: [be1d80b2] GET /owner/birthdays → 200 (1ms)
29/06/2026 17:20:43 New Zealand Standard Time INFO mail-api: [2b4380ef] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 17:21:29 New Zealand Standard Time INFO mail-api: [77942bbe] GET /owner/activity → 200 (0ms)
29/06/2026 17:21:29 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 17:21:30 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 17:21:30 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 17:21:30 New Zealand Standard Time INFO mail-api: [1aabe05e] GET /owner/resend-overview → 502 (449ms)
29/06/2026 17:32:52 New Zealand Standard Time INFO mail-api: [198e5426] GET /auth/verify → 200 (0ms)
29/06/2026 17:32:52 New Zealand Standard Time INFO mail-api: [38f1d823] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:32:52 New Zealand Standard Time INFO mail-api: [c02d40f0] GET /owner/all-clients → 200 (2ms)
29/06/2026 17:32:52 New Zealand Standard Time INFO mail-api: [0fe92d8e] GET /owner/birthdays → 200 (2ms)
29/06/2026 17:32:57 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 17:32:58 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 17:32:58 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 17:32:58 New Zealand Standard Time INFO mail-api: [41995b72] GET /owner/resend-overview → 502 (922ms)
29/06/2026 17:32:59 New Zealand Standard Time INFO mail-api: [fe64a33d] GET /owner/activity → 200 (0ms)
29/06/2026 17:33:01 New Zealand Standard Time INFO mail-api: [36c6afd1] GET /owner/message-templates → 200 (1ms)
29/06/2026 17:33:01 New Zealand Standard Time INFO mail-api: [a73a0ca9] POST /owner/render-message → 200 (1ms)
29/06/2026 17:33:01 New Zealand Standard Time INFO mail-api: [f7f1cd16] GET /owner/scheduled-emails → 200 (1ms)
29/06/2026 17:34:04 New Zealand Standard Time INFO mail-api: [32a8a637] GET /owner/activity → 200 (0ms)
29/06/2026 17:34:06 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 17:34:06 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 17:34:06 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 17:34:06 New Zealand Standard Time INFO mail-api: [72539670] GET /owner/resend-overview → 502 (294ms)
29/06/2026 17:34:11 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 17:34:11 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 17:34:11 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 17:34:11 New Zealand Standard Time INFO mail-api: [d087da7d] GET /owner/resend-overview → 502 (267ms)
29/06/2026 17:34:11 New Zealand Standard Time INFO mail-api: [b712abfb] GET /owner/activity → 200 (0ms)
29/06/2026 17:37:32 New Zealand Standard Time INFO mail-api: [f8e1e982] GET /auth/verify → 200 (0ms)
29/06/2026 17:37:32 New Zealand Standard Time INFO mail-api: [01ea3169] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:37:32 New Zealand Standard Time INFO mail-api: [9c459ba3] GET /owner/birthdays → 200 (73ms)
29/06/2026 17:37:32 New Zealand Standard Time INFO mail-api: [c0942162] GET /owner/all-clients → 200 (73ms)
29/06/2026 17:37:36 New Zealand Standard Time INFO mail-api: [6135567a] GET /auth/verify → 200 (7ms)
29/06/2026 17:37:36 New Zealand Standard Time INFO mail-api: [a9297602] GET /owner/pending-onboarding → 200 (47ms)
29/06/2026 17:37:36 New Zealand Standard Time INFO mail-api: [44dc88d2] GET /owner/all-clients → 200 (32ms)
29/06/2026 17:37:36 New Zealand Standard Time INFO mail-api: [07a69ac5] GET /owner/birthdays → 200 (32ms)
29/06/2026 17:37:46 New Zealand Standard Time INFO mail-api: [51b53f56] GET /auth/verify → 200 (0ms)
29/06/2026 17:37:46 New Zealand Standard Time INFO mail-api: [2da25f9e] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:37:46 New Zealand Standard Time INFO mail-api: [cc2c3e5e] GET /owner/all-clients → 200 (1ms)
29/06/2026 17:37:46 New Zealand Standard Time INFO mail-api: [e30967d2] GET /owner/birthdays → 200 (2ms)
29/06/2026 17:37:53 New Zealand Standard Time INFO mail-api: [bb3d070a] GET /owner/message-templates → 200 (1ms)
29/06/2026 17:37:53 New Zealand Standard Time INFO mail-api: [071ec4b5] GET /owner/scheduled-emails → 200 (0ms)
29/06/2026 17:37:53 New Zealand Standard Time INFO mail-api: [ddd107c8] POST /owner/render-message → 200 (2ms)
29/06/2026 17:37:53 New Zealand Standard Time INFO mail-api: [da5740c1] GET /auth/verify → 200 (0ms)
29/06/2026 17:37:53 New Zealand Standard Time INFO mail-api: [36849085] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:37:53 New Zealand Standard Time INFO mail-api: [c22201c4] GET /owner/all-clients → 200 (1ms)
29/06/2026 17:37:53 New Zealand Standard Time INFO mail-api: [e2047371] GET /owner/birthdays → 200 (1ms)
29/06/2026 17:37:53 New Zealand Standard Time INFO mail-api: [6702639b] GET /owner/scheduled-emails → 200 (0ms)
29/06/2026 17:37:54 New Zealand Standard Time INFO mail-api: [425e2790] GET /owner/message-templates → 200 (1ms)
29/06/2026 17:37:54 New Zealand Standard Time INFO mail-api: [b2ffec56] POST /owner/render-message → 200 (1ms)
29/06/2026 17:38:14 New Zealand Standard Time INFO mail-api: [74d24b37] GET /auth/verify → 200 (0ms)
29/06/2026 17:38:14 New Zealand Standard Time INFO mail-api: [1190ae4a] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:38:14 New Zealand Standard Time INFO mail-api: [3bfe8ca6] GET /owner/all-clients → 200 (2ms)
29/06/2026 17:38:14 New Zealand Standard Time INFO mail-api: [ef93f736] GET /owner/birthdays → 200 (2ms)
29/06/2026 17:48:40 New Zealand Standard Time INFO mail-api: [6f5f3cf8] GET /auth/verify → 200 (0ms)
29/06/2026 17:48:40 New Zealand Standard Time INFO mail-api: [d3cfb075] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:48:40 New Zealand Standard Time INFO mail-api: [1ebc0a04] GET /owner/all-clients → 200 (1ms)
29/06/2026 17:48:40 New Zealand Standard Time INFO mail-api: [f4111a12] GET /owner/birthdays → 200 (1ms)
29/06/2026 17:48:48 New Zealand Standard Time INFO mail-api: [fb9af9ab] GET /owner/message-templates → 200 (1ms)
29/06/2026 17:48:48 New Zealand Standard Time INFO mail-api: [801a001d] POST /owner/render-message → 200 (19ms)
29/06/2026 17:48:49 New Zealand Standard Time INFO mail-api: [70bef245] GET /owner/scheduled-emails → 200 (0ms)
29/06/2026 17:48:52 New Zealand Standard Time INFO mail-api: [43fa4edd] POST /owner/render-welcome-pack → 200 (10ms)
29/06/2026 17:49:33 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 17:49:33 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 17:49:33 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 17:49:33 New Zealand Standard Time INFO mail-api: [c0578a06] GET /owner/resend-overview → 502 (342ms)
29/06/2026 17:49:33 New Zealand Standard Time INFO mail-api: [d1624d55] GET /owner/activity → 200 (0ms)
29/06/2026 17:49:34 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 17:49:35 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 17:49:35 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 17:49:35 New Zealand Standard Time INFO mail-api: [b8f84ea5] GET /owner/resend-overview → 502 (793ms)
29/06/2026 17:51:11 New Zealand Standard Time INFO mail-api: [16b3e058] GET /auth/verify → 200 (1ms)
29/06/2026 17:51:11 New Zealand Standard Time INFO mail-api: [5c625513] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:51:11 New Zealand Standard Time INFO mail-api: [7c0d014e] GET /owner/all-clients → 200 (2ms)
29/06/2026 17:51:11 New Zealand Standard Time INFO mail-api: [6852d29e] GET /owner/birthdays → 200 (2ms)
29/06/2026 17:51:15 New Zealand Standard Time INFO mail-api: [fd6c2011] GET /auth/verify → 200 (0ms)
29/06/2026 17:51:15 New Zealand Standard Time INFO mail-api: [d85def65] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:51:15 New Zealand Standard Time INFO mail-api: [ba3e1070] GET /owner/all-clients → 200 (2ms)
29/06/2026 17:51:15 New Zealand Standard Time INFO mail-api: [697d4f9e] GET /owner/birthdays → 200 (2ms)
29/06/2026 17:51:24 New Zealand Standard Time INFO mail-api: [5ae5f16f] GET /owner/message-templates → 200 (17ms)
29/06/2026 17:51:24 New Zealand Standard Time INFO mail-api: [4d3882f5] POST /owner/render-message → 200 (1ms)
29/06/2026 17:51:25 New Zealand Standard Time INFO mail-api: [a91acb7c] GET /owner/scheduled-emails → 200 (1ms)
29/06/2026 17:51:33 New Zealand Standard Time INFO mail-api: [491ea76d] POST /owner/render-welcome-pack → 200 (2ms)
29/06/2026 17:52:17 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 17:52:18 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 17:52:18 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 17:52:18 New Zealand Standard Time INFO mail-api: [d1b6781c] GET /owner/resend-overview → 502 (341ms)
29/06/2026 17:52:20 New Zealand Standard Time INFO mail-api: [9aebc21d] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 17:52:33 New Zealand Standard Time INFO mail-api: [edf1d83a] GET /auth/verify → 200 (0ms)
29/06/2026 17:52:33 New Zealand Standard Time INFO mail-api: [118f3e5d] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:52:33 New Zealand Standard Time INFO mail-api: [14fae607] GET /owner/all-clients → 200 (1ms)
29/06/2026 17:52:33 New Zealand Standard Time INFO mail-api: [cc8d8f5f] GET /owner/birthdays → 200 (1ms)
29/06/2026 17:52:37 New Zealand Standard Time INFO mail-api: [98003bfa] GET /owner/client-enquiry → 200 (385ms)
29/06/2026 17:52:39 New Zealand Standard Time INFO mail-api: [4297e385] GET /owner/client-enquiry → 200 (1ms)
29/06/2026 17:52:49 New Zealand Standard Time INFO mail-api: [7260df3e] GET /auth/verify → 200 (0ms)
29/06/2026 17:52:50 New Zealand Standard Time INFO mail-api: [32b6f3c1] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:52:50 New Zealand Standard Time INFO mail-api: [2298e394] GET /owner/all-clients → 200 (2ms)
29/06/2026 17:52:50 New Zealand Standard Time INFO mail-api: [05589ba8] GET /owner/birthdays → 200 (1ms)
29/06/2026 17:54:55 New Zealand Standard Time INFO mail-api: [d4324092] GET /auth/verify → 200 (1ms)
29/06/2026 17:54:55 New Zealand Standard Time INFO mail-api: [44557d55] GET /owner/all-clients → 200 (2ms)
29/06/2026 17:54:55 New Zealand Standard Time INFO mail-api: [e1646b89] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 17:54:55 New Zealand Standard Time INFO mail-api: [0be97c59] GET /owner/birthdays → 200 (3ms)
29/06/2026 17:54:56 New Zealand Standard Time INFO mail-api: [3dcc6974] GET /auth/verify → 200 (0ms)
29/06/2026 17:54:56 New Zealand Standard Time INFO mail-api: [66d51ee2] GET /owner/pending-onboarding → 200 (12ms)
29/06/2026 17:54:56 New Zealand Standard Time INFO mail-api: [b79e3827] GET /owner/all-clients → 200 (2ms)
29/06/2026 17:54:56 New Zealand Standard Time INFO mail-api: [da53677c] GET /owner/birthdays → 200 (2ms)
29/06/2026 17:55:02 New Zealand Standard Time INFO mail-api: [f2f36547] GET /auth/verify → 200 (1ms)
29/06/2026 17:55:02 New Zealand Standard Time INFO mail-api: [4fafbc4d] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 17:55:02 New Zealand Standard Time INFO mail-api: [5c286616] GET /owner/all-clients → 200 (1ms)
29/06/2026 17:55:02 New Zealand Standard Time INFO mail-api: [675bb04c] GET /owner/birthdays → 200 (1ms)
29/06/2026 20:28:21 New Zealand Standard Time INFO mail-api: [04faf42f] GET /auth/verify → 200 (26ms)
29/06/2026 20:28:22 New Zealand Standard Time INFO mail-api: [59a68bb6] GET /owner/all-clients → 200 (104ms)
29/06/2026 20:28:22 New Zealand Standard Time INFO mail-api: [52949618] GET /owner/birthdays → 200 (67ms)
29/06/2026 20:28:22 New Zealand Standard Time INFO mail-api: [b864ce75] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 20:30:25 New Zealand Standard Time INFO mail-api: [f636d801] GET /owner/message-templates → 200 (157ms)
29/06/2026 20:30:25 New Zealand Standard Time INFO mail-api: [f0b18ba3] POST /owner/render-message → 200 (83ms)
29/06/2026 20:30:48 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 20:30:48 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 20:30:48 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 20:30:48 New Zealand Standard Time INFO mail-api: [c2976b05] GET /owner/resend-overview → 502 (795ms)
29/06/2026 20:30:48 New Zealand Standard Time INFO mail-api: [0dbc939c] GET /owner/activity → 200 (0ms)
29/06/2026 20:31:05 New Zealand Standard Time INFO mail-api: [80a66ca1] GET /auth/verify → 200 (0ms)
29/06/2026 20:31:05 New Zealand Standard Time INFO mail-api: [73d51d3c] GET /owner/pending-onboarding → 200 (27ms)
29/06/2026 20:31:05 New Zealand Standard Time INFO mail-api: [39ee3acc] GET /owner/all-clients → 200 (2ms)
29/06/2026 20:31:05 New Zealand Standard Time INFO mail-api: [db816a7d] GET /owner/birthdays → 200 (1ms)
29/06/2026 20:31:12 New Zealand Standard Time INFO mail-api: [404f96fd] GET /owner/message-templates → 200 (62ms)
29/06/2026 20:31:12 New Zealand Standard Time INFO mail-api: [2a5e953a] POST /owner/render-message → 200 (1ms)
29/06/2026 20:31:12 New Zealand Standard Time INFO mail-api: [88b5bd5e] GET /owner/scheduled-emails → 200 (1ms)
29/06/2026 20:31:17 New Zealand Standard Time INFO mail-api: [d797f62d] GET /auth/verify → 200 (0ms)
29/06/2026 20:31:17 New Zealand Standard Time INFO mail-api: [b2e6c62a] GET /owner/pending-onboarding → 200 (13ms)
29/06/2026 20:31:17 New Zealand Standard Time INFO mail-api: [36f8be5b] GET /owner/all-clients → 200 (12ms)
29/06/2026 20:31:17 New Zealand Standard Time INFO mail-api: [007a72e6] GET /owner/birthdays → 200 (13ms)
29/06/2026 20:31:21 New Zealand Standard Time INFO mail-api: [b9ca48db] GET /auth/verify → 200 (0ms)
29/06/2026 20:31:21 New Zealand Standard Time INFO mail-api: [7adab817] GET /owner/pending-onboarding → 200 (81ms)
29/06/2026 20:31:21 New Zealand Standard Time INFO mail-api: [62e1d5f6] GET /owner/all-clients → 200 (60ms)
29/06/2026 20:31:21 New Zealand Standard Time INFO mail-api: [a4b44b9e] GET /owner/birthdays → 200 (41ms)
29/06/2026 20:31:48 New Zealand Standard Time INFO mail-api: [2fc6f236] GET /owner/scheduled-emails → 200 (1ms)
29/06/2026 20:31:50 New Zealand Standard Time INFO mail-api: [852d48d2] GET /owner/message-templates → 200 (29ms)
29/06/2026 20:31:50 New Zealand Standard Time INFO mail-api: [401cfc4d] POST /owner/render-message → 200 (21ms)
29/06/2026 20:35:50 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 20:35:50 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 20:35:50 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 20:35:50 New Zealand Standard Time INFO mail-api: [2ae04330] GET /owner/resend-overview → 502 (524ms)
29/06/2026 20:35:57 New Zealand Standard Time INFO mail-api: [6d4cf9d1] GET /owner/client-enquiry → 200 (20ms)
29/06/2026 20:36:03 New Zealand Standard Time INFO mail-api: [4cc40aea] GET /owner/client-enquiry → 200 (0ms)
29/06/2026 20:36:12 New Zealand Standard Time INFO mail-api: [abf0a55e] GET /auth/verify → 200 (0ms)
29/06/2026 20:36:12 New Zealand Standard Time INFO mail-api: [28a608ff] GET /owner/pending-onboarding → 200 (13ms)
29/06/2026 20:36:12 New Zealand Standard Time INFO mail-api: [cc7ff82b] GET /owner/birthdays → 200 (20ms)
29/06/2026 20:36:12 New Zealand Standard Time INFO mail-api: [18bf1eaf] GET /owner/all-clients → 200 (13ms)
29/06/2026 20:36:28 New Zealand Standard Time INFO mail-api: [11efbcc0] GET /auth/verify → 200 (0ms)
29/06/2026 20:36:30 New Zealand Standard Time INFO mail-api: [e0989913] GET /owner/pending-onboarding → 200 (1697ms)
29/06/2026 20:36:30 New Zealand Standard Time INFO mail-api: [2e559ae5] GET /owner/birthdays → 200 (1694ms)
29/06/2026 20:36:30 New Zealand Standard Time INFO mail-api: [fe71fb0e] GET /owner/all-clients → 200 (1ms)
29/06/2026 20:36:44 New Zealand Standard Time INFO mail-api: [5969db61] POST /owner/render-welcome-pack → 200 (32ms)
29/06/2026 20:37:16 New Zealand Standard Time INFO mail-api: [63cac6ce] GET /auth/verify → 200 (1ms)
29/06/2026 20:37:16 New Zealand Standard Time INFO mail-api: [8bd72fa6] GET /owner/pending-onboarding → 200 (0ms)
29/06/2026 20:37:16 New Zealand Standard Time INFO mail-api: [44796929] GET /owner/all-clients → 200 (1ms)
29/06/2026 20:37:16 New Zealand Standard Time INFO mail-api: [8b31befd] GET /owner/birthdays → 200 (1ms)
29/06/2026 20:37:32 New Zealand Standard Time INFO mail-api: [8caa9aa9] GET /auth/verify → 200 (0ms)
29/06/2026 20:37:32 New Zealand Standard Time INFO mail-api: [977dd411] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 20:37:32 New Zealand Standard Time INFO mail-api: [66568075] GET /owner/all-clients → 200 (1ms)
29/06/2026 20:37:32 New Zealand Standard Time INFO mail-api: [f92a7c63] GET /owner/birthdays → 200 (2ms)
29/06/2026 20:38:10 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 20:38:10 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 20:38:10 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 20:38:10 New Zealand Standard Time INFO mail-api: [f40a31a6] GET /owner/resend-overview → 502 (326ms)
29/06/2026 20:38:40 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 20:38:40 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 20:38:40 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 20:38:40 New Zealand Standard Time INFO mail-api: [a1614a70] GET /owner/resend-overview → 502 (242ms)
29/06/2026 20:38:41 New Zealand Standard Time INFO mail-api: [3420fb90] GET /owner/activity → 200 (0ms)
29/06/2026 20:38:57 New Zealand Standard Time INFO mail-api: [335f9361] GET /auth/verify → 200 (0ms)
29/06/2026 20:38:57 New Zealand Standard Time INFO mail-api: [1ab738bd] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 20:38:57 New Zealand Standard Time INFO mail-api: [3860a570] GET /owner/all-clients → 200 (1ms)
29/06/2026 20:38:57 New Zealand Standard Time INFO mail-api: [eb774665] GET /owner/birthdays → 200 (1ms)
29/06/2026 20:39:18 New Zealand Standard Time INFO mail-api: [0b8b02e7] GET /auth/verify → 200 (0ms)
29/06/2026 20:39:18 New Zealand Standard Time INFO mail-api: [1b5526a4] GET /owner/all-clients → 200 (1ms)
29/06/2026 20:39:18 New Zealand Standard Time INFO mail-api: [485d431c] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 20:39:18 New Zealand Standard Time INFO mail-api: [66d538b0] GET /owner/birthdays → 200 (2ms)
29/06/2026 20:40:00 New Zealand Standard Time INFO mail-api: [9483d442] owner: info@goodwalk.co.nz set mattcohen0@gmail.com -> active
29/06/2026 20:40:00 New Zealand Standard Time INFO mail-api: [9483d442] POST /owner/client-status → 200 (743ms)
29/06/2026 20:40:00 New Zealand Standard Time INFO mail-api: [186d037f] GET /owner/pending-onboarding → 200 (14ms)
29/06/2026 20:41:04 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 20:41:04 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 20:41:04 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 20:41:04 New Zealand Standard Time INFO mail-api: [d6c7c4b6] GET /owner/resend-overview → 502 (407ms)
29/06/2026 20:41:39 New Zealand Standard Time INFO mail-api: [48bdbdaa] GET /auth/verify → 200 (0ms)
29/06/2026 20:41:39 New Zealand Standard Time INFO mail-api: [ee83683d] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 20:41:39 New Zealand Standard Time INFO mail-api: [7f1ca037] GET /owner/all-clients → 200 (1ms)
29/06/2026 20:41:39 New Zealand Standard Time INFO mail-api: [979defe2] GET /owner/birthdays → 200 (1ms)
29/06/2026 20:41:56 New Zealand Standard Time INFO mail-api: [8357bb15] GET /auth/verify → 200 (0ms)
29/06/2026 20:41:56 New Zealand Standard Time INFO mail-api: [53f9d891] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 20:41:56 New Zealand Standard Time INFO mail-api: [be281b90] GET /owner/all-clients → 200 (2ms)
29/06/2026 20:41:56 New Zealand Standard Time INFO mail-api: [c1eee492] GET /owner/birthdays → 200 (1ms)
29/06/2026 20:42:09 New Zealand Standard Time INFO mail-api: [e238d1e3] GET /auth/verify → 200 (0ms)
29/06/2026 20:42:09 New Zealand Standard Time INFO mail-api: [6878e52d] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 20:42:09 New Zealand Standard Time INFO mail-api: [fc1fb81f] GET /owner/all-clients → 200 (1ms)
29/06/2026 20:42:09 New Zealand Standard Time INFO mail-api: [a2e25f4c] GET /owner/birthdays → 200 (1ms)
29/06/2026 20:42:41 New Zealand Standard Time INFO mail-api: [2a2a9d88] GET /owner/message-templates → 200 (11ms)
29/06/2026 20:42:42 New Zealand Standard Time INFO mail-api: [1fc74a71] POST /owner/render-message → 200 (2ms)
29/06/2026 20:43:09 New Zealand Standard Time INFO mail-api: [7820aff3] GET /auth/verify → 200 (0ms)
29/06/2026 20:43:09 New Zealand Standard Time INFO mail-api: [2678a282] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 20:43:09 New Zealand Standard Time INFO mail-api: [8d754814] GET /owner/all-clients → 200 (2ms)
29/06/2026 20:43:09 New Zealand Standard Time INFO mail-api: [a391eb48] GET /owner/birthdays → 200 (1ms)
29/06/2026 20:44:32 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 20:44:33 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 20:44:33 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 20:44:33 New Zealand Standard Time INFO mail-api: [10f80e7b] GET /owner/resend-overview → 502 (325ms)
29/06/2026 20:44:57 New Zealand Standard Time INFO mail-api: [ecd7e80c] GET /owner/message-templates → 200 (1ms)
29/06/2026 20:44:57 New Zealand Standard Time INFO mail-api: [33ddd2dd] POST /owner/render-message → 200 (14ms)
29/06/2026 20:45:12 New Zealand Standard Time INFO mail-api: [2ab98142] GET /auth/verify → 200 (0ms)
29/06/2026 20:45:12 New Zealand Standard Time INFO mail-api: [104f577a] GET /owner/pending-onboarding → 200 (0ms)
29/06/2026 20:45:12 New Zealand Standard Time INFO mail-api: [4a5c56a3] GET /owner/all-clients → 200 (1ms)
29/06/2026 20:45:12 New Zealand Standard Time INFO mail-api: [069bc7cf] GET /owner/birthdays → 200 (1ms)
29/06/2026 20:47:13 New Zealand Standard Time INFO mail-api: [20a3e11d] GET /owner/scheduled-emails → 200 (0ms)
29/06/2026 20:47:13 New Zealand Standard Time INFO mail-api: [98f797c0] GET /owner/message-templates → 200 (19ms)
29/06/2026 20:47:13 New Zealand Standard Time INFO mail-api: [161ae175] POST /owner/render-message → 200 (1ms)
29/06/2026 20:47:29 New Zealand Standard Time INFO mail-api: [ad1ec72a] GET /auth/verify → 200 (0ms)
29/06/2026 20:47:30 New Zealand Standard Time INFO mail-api: [0298cef5] GET /owner/pending-onboarding → 200 (0ms)
29/06/2026 20:47:30 New Zealand Standard Time INFO mail-api: [6188b1c4] GET /owner/all-clients → 200 (1ms)
29/06/2026 20:47:30 New Zealand Standard Time INFO mail-api: [b0dbea45] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:05:23 New Zealand Standard Time INFO mail-api: [d56073e5] GET /auth/verify → 200 (0ms)
29/06/2026 21:05:23 New Zealand Standard Time INFO mail-api: [de22474c] GET /owner/pending-onboarding → 200 (24ms)
29/06/2026 21:05:23 New Zealand Standard Time INFO mail-api: [d40351fd] GET /owner/all-clients → 200 (3ms)
29/06/2026 21:05:23 New Zealand Standard Time INFO mail-api: [6c24bad9] GET /owner/birthdays → 200 (0ms)
29/06/2026 21:06:26 New Zealand Standard Time INFO mail-api: [4a4d0b8a] GET /owner/message-templates → 200 (1ms)
29/06/2026 21:06:26 New Zealand Standard Time INFO mail-api: [5f3b4a20] POST /owner/render-message → 200 (1ms)
29/06/2026 21:06:47 New Zealand Standard Time INFO mail-api: [4f12285e] GET /auth/verify → 200 (0ms)
29/06/2026 21:06:47 New Zealand Standard Time INFO mail-api: [cb59e13b] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:06:47 New Zealand Standard Time INFO mail-api: [baa677b5] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:06:47 New Zealand Standard Time INFO mail-api: [7c602317] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:07:12 New Zealand Standard Time INFO mail-api: [39d07d48] GET /auth/verify → 200 (0ms)
29/06/2026 21:07:12 New Zealand Standard Time INFO mail-api: [845960c6] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:07:12 New Zealand Standard Time INFO mail-api: [976a064e] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:07:12 New Zealand Standard Time INFO mail-api: [14df2dcc] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:07:21 New Zealand Standard Time INFO mail-api: [08b4769e] GET /auth/verify → 200 (0ms)
29/06/2026 21:07:21 New Zealand Standard Time INFO mail-api: [69f1e69e] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:07:21 New Zealand Standard Time INFO mail-api: [775e3b66] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:07:21 New Zealand Standard Time INFO mail-api: [756d9465] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:07:46 New Zealand Standard Time INFO mail-api: [19630848] GET /auth/verify → 200 (0ms)
29/06/2026 21:07:46 New Zealand Standard Time INFO mail-api: [f5103433] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:07:46 New Zealand Standard Time INFO mail-api: [1d463045] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:07:46 New Zealand Standard Time INFO mail-api: [5bd4c599] GET /owner/birthdays → 200 (2ms)
29/06/2026 21:08:03 New Zealand Standard Time INFO mail-api: [d713ec5d] GET /auth/verify → 200 (0ms)
29/06/2026 21:08:03 New Zealand Standard Time INFO mail-api: [0925a9da] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:08:03 New Zealand Standard Time INFO mail-api: [3c89a6f0] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:08:03 New Zealand Standard Time INFO mail-api: [b527531d] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:09:02 New Zealand Standard Time INFO mail-api: [52884634] GET /owner/message-templates → 200 (1ms)
29/06/2026 21:09:02 New Zealand Standard Time INFO mail-api: [ff773a4a] POST /owner/render-message → 200 (4ms)
29/06/2026 21:09:03 New Zealand Standard Time INFO mail-api: [8b0d02d6] GET /owner/scheduled-emails → 200 (0ms)
29/06/2026 21:09:52 New Zealand Standard Time INFO mail-api: [4dd653ae] GET /auth/verify → 200 (0ms)
29/06/2026 21:09:52 New Zealand Standard Time INFO mail-api: [041d91ae] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:09:52 New Zealand Standard Time INFO mail-api: [f004649d] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:09:52 New Zealand Standard Time INFO mail-api: [ee5c3ad9] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:10:08 New Zealand Standard Time INFO mail-api: [1a86be20] GET /owner/client-enquiry → 200 (27ms)
29/06/2026 21:10:36 New Zealand Standard Time INFO mail-api: [6d466b45] POST /owner/render-welcome-pack → 200 (50ms)
29/06/2026 21:11:10 New Zealand Standard Time INFO mail-api: [08197b53] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:11:20 New Zealand Standard Time INFO mail-api: [211547f9] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:11:31 New Zealand Standard Time INFO mail-api: [7f26f9ac] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:11:38 New Zealand Standard Time INFO mail-api: [a82eba0a] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:12:22 New Zealand Standard Time INFO mail-api: [fa3d0d2a] POST /owner/render-welcome-pack → 200 (10ms)
29/06/2026 21:14:18 New Zealand Standard Time INFO mail-api: [112e6a1f] GET /auth/verify → 200 (0ms)
29/06/2026 21:14:19 New Zealand Standard Time INFO mail-api: [7c76c42a] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:14:19 New Zealand Standard Time INFO mail-api: [2c1c5dc1] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:14:19 New Zealand Standard Time INFO mail-api: [8b6b63c6] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:14:25 New Zealand Standard Time INFO mail-api: [e94fe819] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:14:26 New Zealand Standard Time INFO mail-api: [b69d5e22] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:14:28 New Zealand Standard Time INFO mail-api: [7abc6993] POST /owner/render-welcome-pack → 200 (113ms)
29/06/2026 21:14:28 New Zealand Standard Time INFO mail-api: [36640abd] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:14:29 New Zealand Standard Time INFO mail-api: [4834464d] POST /owner/render-welcome-pack → 200 (23ms)
29/06/2026 21:14:33 New Zealand Standard Time INFO mail-api: [77353436] POST /owner/render-welcome-pack → 200 (2ms)
29/06/2026 21:14:35 New Zealand Standard Time INFO mail-api: [99d5db67] GET /auth/verify → 200 (0ms)
29/06/2026 21:14:35 New Zealand Standard Time INFO mail-api: [11f3eeb3] GET /owner/pending-onboarding → 200 (21ms)
29/06/2026 21:14:35 New Zealand Standard Time INFO mail-api: [6dc0e076] GET /owner/all-clients → 200 (4ms)
29/06/2026 21:14:35 New Zealand Standard Time INFO mail-api: [f0e33547] GET /owner/birthdays → 200 (4ms)
29/06/2026 21:14:36 New Zealand Standard Time INFO mail-api: [ff3e8f76] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:14:39 New Zealand Standard Time INFO mail-api: [4b68e6ea] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:14:48 New Zealand Standard Time INFO mail-api: [67f5f9ab] GET /auth/verify → 200 (0ms)
29/06/2026 21:14:48 New Zealand Standard Time INFO mail-api: [2bc0e986] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:14:48 New Zealand Standard Time INFO mail-api: [24148dce] GET /owner/birthdays → 200 (12ms)
29/06/2026 21:14:48 New Zealand Standard Time INFO mail-api: [9659c26e] GET /owner/all-clients → 200 (12ms)
29/06/2026 21:15:00 New Zealand Standard Time INFO mail-api: [af3e6039] POST /owner/render-welcome-pack → 200 (306ms)
29/06/2026 21:15:15 New Zealand Standard Time INFO mail-api: [e993c54a] POST /owner/render-welcome-pack → 200 (27ms)
29/06/2026 21:15:18 New Zealand Standard Time INFO mail-api: [7c6d97ab] GET /owner/message-templates → 200 (223ms)
29/06/2026 21:15:18 New Zealand Standard Time INFO mail-api: [ff7ce3ea] POST /owner/render-message → 200 (25ms)
29/06/2026 21:15:18 New Zealand Standard Time INFO mail-api: [184bb91a] GET /owner/scheduled-emails → 200 (75ms)
29/06/2026 21:15:20 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 21:15:21 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 21:15:21 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 21:15:21 New Zealand Standard Time INFO mail-api: [a4cff016] GET /owner/resend-overview → 502 (2445ms)
29/06/2026 21:15:23 New Zealand Standard Time INFO mail-api: [6369b7e5] POST /owner/render-welcome-pack → 200 (140ms)
29/06/2026 21:15:40 New Zealand Standard Time INFO mail-api: [3ffcbbb7] GET /auth/verify → 200 (0ms)
29/06/2026 21:15:40 New Zealand Standard Time INFO mail-api: [e56d61a6] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:15:40 New Zealand Standard Time INFO mail-api: [759a60dc] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:15:40 New Zealand Standard Time INFO mail-api: [c6749532] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:15:42 New Zealand Standard Time INFO mail-api: [6125f708] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:15:47 New Zealand Standard Time INFO mail-api: [08c91136] POST /owner/render-welcome-pack → 200 (84ms)
29/06/2026 21:15:49 New Zealand Standard Time INFO mail-api: [ef0ad794] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:15:50 New Zealand Standard Time INFO mail-api: [40f0b5ad] POST /owner/render-welcome-pack → 200 (238ms)
29/06/2026 21:15:53 New Zealand Standard Time INFO mail-api: [8a354894] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:16:17 New Zealand Standard Time INFO mail-api: [5ade0b2e] POST /owner/render-welcome-pack → 200 (73ms)
29/06/2026 21:16:20 New Zealand Standard Time INFO mail-api: [2dacc485] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:16:21 New Zealand Standard Time INFO mail-api: [68e00fe8] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:16:24 New Zealand Standard Time INFO mail-api: [472f0d5a] POST /owner/render-welcome-pack → 200 (41ms)
29/06/2026 21:16:32 New Zealand Standard Time INFO mail-api: [2b1c0f53] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:16:38 New Zealand Standard Time INFO mail-api: [2f919287] POST /owner/render-welcome-pack → 200 (32ms)
29/06/2026 21:16:39 New Zealand Standard Time INFO mail-api: [c3911d86] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:17:05 New Zealand Standard Time INFO mail-api: [382e5c24] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:18:30 New Zealand Standard Time INFO mail-api: [8c854fa9] GET /auth/verify → 200 (0ms)
29/06/2026 21:18:30 New Zealand Standard Time INFO mail-api: [38896e3a] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 21:18:30 New Zealand Standard Time INFO mail-api: [0ebf0334] GET /owner/all-clients → 200 (2ms)
29/06/2026 21:18:30 New Zealand Standard Time INFO mail-api: [7c0b7db5] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:20:38 New Zealand Standard Time INFO mail-api: [19614048] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:20:43 New Zealand Standard Time INFO mail-api: [26543923] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:20:45 New Zealand Standard Time INFO mail-api: [110e92e8] POST /owner/render-welcome-pack → 200 (4ms)
29/06/2026 21:20:47 New Zealand Standard Time INFO mail-api: [95a8f69a] POST /owner/render-welcome-pack → 200 (15ms)
29/06/2026 21:20:48 New Zealand Standard Time INFO mail-api: [c09d175d] POST /owner/render-welcome-pack → 200 (10ms)
29/06/2026 21:20:50 New Zealand Standard Time INFO mail-api: [dff3c5d9] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:22:04 New Zealand Standard Time INFO mail-api: [356fa68d] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:22:05 New Zealand Standard Time INFO mail-api: [53a2821a] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:22:10 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 21:22:10 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 21:22:10 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 21:22:10 New Zealand Standard Time INFO mail-api: [6267fb6d] GET /owner/resend-overview → 502 (410ms)
29/06/2026 21:22:36 New Zealand Standard Time INFO mail-api: [de0f5da8] GET /owner/activity → 200 (7ms)
29/06/2026 21:22:37 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 21:22:37 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 21:22:37 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3991, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 21:22:37 New Zealand Standard Time INFO mail-api: [0edabeaa] GET /owner/resend-overview → 502 (253ms)
29/06/2026 21:23:07 New Zealand Standard Time INFO mail-api: [cec29ef3] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:23:42 New Zealand Standard Time INFO mail-api: [acf70a29] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:23:57 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 21:23:57 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 21:23:57 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 21:23:57 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 21:23:58 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 21:23:58 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 21:23:58 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 21:23:58 New Zealand Standard Time INFO mail-api: [0efe5fc4] POST /owner/render-welcome-pack → 401 (9ms)
29/06/2026 21:24:20 New Zealand Standard Time INFO mail-api: [8b5fd3af] POST /owner/render-welcome-pack → 401 (1ms)
29/06/2026 21:24:23 New Zealand Standard Time INFO mail-api: [34952453] POST /owner/render-welcome-pack → 401 (1ms)
29/06/2026 21:24:31 New Zealand Standard Time INFO mail-api: [a277c3bc] POST /owner/render-welcome-pack → 401 (1ms)
29/06/2026 21:24:39 New Zealand Standard Time INFO mail-api: [bb7e4f5a] GET /auth/verify → 401 (1ms)
29/06/2026 21:24:45 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 21:24:45 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 21:24:45 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 21:24:45 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 21:24:45 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 21:24:45 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 21:24:45 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 21:24:45 New Zealand Standard Time INFO mail-api: [a91d3283] auth: code issued for email=info@goodwalk.co.nz
29/06/2026 21:24:45 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 556785
29/06/2026 21:24:45 New Zealand Standard Time INFO mail-api: [a91d3283] POST /auth/request-code → 200 (3ms)
29/06/2026 21:24:51 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 21:24:51 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 21:24:51 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 21:24:51 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 21:24:51 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 21:24:51 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 21:24:51 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 21:24:57 New Zealand Standard Time INFO mail-api: [ee464c74] auth: code issued for email=info@goodwalk.co.nz
29/06/2026 21:24:57 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 712773
29/06/2026 21:24:57 New Zealand Standard Time INFO mail-api: [ee464c74] POST /auth/request-code → 200 (5ms)
29/06/2026 21:25:02 New Zealand Standard Time INFO mail-api: [8889ed87] auth: session created for email=info@goodwalk.co.nz
29/06/2026 21:25:02 New Zealand Standard Time INFO mail-api: [8889ed87] POST /auth/verify-code → 200 (2ms)
29/06/2026 21:25:02 New Zealand Standard Time INFO mail-api: [a03310a3] GET /auth/verify → 200 (1ms)
29/06/2026 21:25:02 New Zealand Standard Time INFO mail-api: [0d3ae163] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 21:25:02 New Zealand Standard Time INFO mail-api: [5169220d] GET /owner/birthdays → 200 (9ms)
29/06/2026 21:25:02 New Zealand Standard Time INFO mail-api: [b217ed15] GET /owner/all-clients → 200 (19ms)
29/06/2026 21:25:03 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 21:25:03 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 21:25:03 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 21:25:04 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 21:25:04 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 21:25:04 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 21:25:04 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 21:25:04 New Zealand Standard Time INFO mail-api: [0c747f19] POST /owner/render-welcome-pack → 401 (8ms)
29/06/2026 21:25:18 New Zealand Standard Time INFO mail-api: [5d680848] GET /owner/message-templates → 401 (1ms)
29/06/2026 21:25:19 New Zealand Standard Time INFO mail-api: [30e43f34] GET /owner/scheduled-emails → 401 (1ms)
29/06/2026 21:25:21 New Zealand Standard Time INFO mail-api: [7d9103b6] GET /owner/message-templates → 401 (0ms)
29/06/2026 21:26:00 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 21:26:00 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 21:26:00 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 21:26:00 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 21:26:01 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 21:26:01 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 21:26:01 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 21:26:13 New Zealand Standard Time INFO mail-api: [ba381253] GET /auth/verify → 401 (2ms)
29/06/2026 21:29:06 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 21:29:06 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 21:29:06 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 21:29:06 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 21:29:06 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 21:29:06 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 21:29:06 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 21:30:25 New Zealand Standard Time INFO mail-api: [5ef36282] auth: code issued for email=info@goodwalk.co.nz
29/06/2026 21:30:25 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 287213
29/06/2026 21:30:25 New Zealand Standard Time INFO mail-api: [5ef36282] POST /auth/request-code → 200 (3ms)
29/06/2026 21:30:33 New Zealand Standard Time INFO mail-api: [92106ba9] auth: session created for email=info@goodwalk.co.nz
29/06/2026 21:30:33 New Zealand Standard Time INFO mail-api: [92106ba9] POST /auth/verify-code → 200 (2ms)
29/06/2026 21:30:33 New Zealand Standard Time INFO mail-api: [37ed6ff3] GET /auth/verify → 200 (1ms)
29/06/2026 21:30:33 New Zealand Standard Time INFO mail-api: [42f1e8f4] GET /owner/all-clients → 200 (6ms)
29/06/2026 21:30:33 New Zealand Standard Time INFO mail-api: [b786c4f9] GET /owner/pending-onboarding → 200 (6ms)
29/06/2026 21:30:33 New Zealand Standard Time INFO mail-api: [12e856a9] GET /owner/birthdays → 200 (3ms)
29/06/2026 21:30:35 New Zealand Standard Time ERROR mail-api: [e7cfc057] POST /owner/render-welcome-pack crashed after 4ms
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 844, in _request_logging_middleware
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 96, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 154, in simple_response
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\trustedhost.py", line 51, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 811, in __call__
await self.app(scope, _wrapped_receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 660, in __call__
await self.middleware_stack(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 680, in app
await route.handle(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 276, in handle
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 134, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 120, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 674, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<3 lines>...
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 328, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3730, in owner_render_welcome_pack
html = _welcome_pack_email_html(
owner_name,
...<12 lines>...
include_button=bool(custom["includeButton"]),
)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 2631, in _welcome_pack_email_html
safe_tag = html.escape(_apply_welcome_tokens(tag_text, first_name, dog_name))
^^^^
NameError: name 'html' is not defined. Did you forget to import 'html'?
29/06/2026 21:30:43 New Zealand Standard Time ERROR mail-api: [895f3e40] POST /owner/render-welcome-pack crashed after 1ms
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 844, in _request_logging_middleware
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 96, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 154, in simple_response
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\trustedhost.py", line 51, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 811, in __call__
await self.app(scope, _wrapped_receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 660, in __call__
await self.middleware_stack(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 680, in app
await route.handle(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 276, in handle
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 134, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 120, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 674, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<3 lines>...
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 328, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3730, in owner_render_welcome_pack
html = _welcome_pack_email_html(
owner_name,
...<12 lines>...
include_button=bool(custom["includeButton"]),
)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 2631, in _welcome_pack_email_html
safe_tag = html.escape(_apply_welcome_tokens(tag_text, first_name, dog_name))
^^^^
NameError: name 'html' is not defined. Did you forget to import 'html'?
29/06/2026 21:30:51 New Zealand Standard Time ERROR mail-api: [f7689db4] POST /owner/render-welcome-pack crashed after 1ms
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 844, in _request_logging_middleware
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 96, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 154, in simple_response
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\trustedhost.py", line 51, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 811, in __call__
await self.app(scope, _wrapped_receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 660, in __call__
await self.middleware_stack(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 680, in app
await route.handle(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 276, in handle
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 134, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 120, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 674, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<3 lines>...
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 328, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3730, in owner_render_welcome_pack
html = _welcome_pack_email_html(
owner_name,
...<12 lines>...
include_button=bool(custom["includeButton"]),
)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 2631, in _welcome_pack_email_html
safe_tag = html.escape(_apply_welcome_tokens(tag_text, first_name, dog_name))
^^^^
NameError: name 'html' is not defined. Did you forget to import 'html'?
29/06/2026 21:30:53 New Zealand Standard Time ERROR mail-api: [6f56d114] POST /owner/render-welcome-pack crashed after 1ms
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 844, in _request_logging_middleware
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 96, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 154, in simple_response
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\trustedhost.py", line 51, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 811, in __call__
await self.app(scope, _wrapped_receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 660, in __call__
await self.middleware_stack(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 680, in app
await route.handle(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 276, in handle
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 134, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 120, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 674, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<3 lines>...
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 328, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3730, in owner_render_welcome_pack
html = _welcome_pack_email_html(
owner_name,
...<12 lines>...
include_button=bool(custom["includeButton"]),
)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 2631, in _welcome_pack_email_html
safe_tag = html.escape(_apply_welcome_tokens(tag_text, first_name, dog_name))
^^^^
NameError: name 'html' is not defined. Did you forget to import 'html'?
29/06/2026 21:31:04 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 21:31:04 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 21:31:04 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 21:31:04 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 21:31:04 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 21:31:04 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 21:31:04 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 21:31:06 New Zealand Standard Time INFO mail-api: [dc8c0b3f] POST /owner/render-welcome-pack → 401 (5ms)
29/06/2026 21:31:11 New Zealand Standard Time INFO mail-api: [77ddea53] GET /auth/verify → 401 (1ms)
29/06/2026 21:31:17 New Zealand Standard Time INFO mail-api: [effd132d] auth: code issued for email=info@goodwalk.co.nz
29/06/2026 21:31:17 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 478197
29/06/2026 21:31:17 New Zealand Standard Time INFO mail-api: [effd132d] POST /auth/request-code → 200 (2ms)
29/06/2026 21:31:22 New Zealand Standard Time INFO mail-api: [2ad4c1a7] auth: session created for email=info@goodwalk.co.nz
29/06/2026 21:31:22 New Zealand Standard Time INFO mail-api: [2ad4c1a7] POST /auth/verify-code → 200 (1ms)
29/06/2026 21:31:22 New Zealand Standard Time INFO mail-api: [873cce32] GET /auth/verify → 200 (0ms)
29/06/2026 21:31:22 New Zealand Standard Time INFO mail-api: [e45ad280] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 21:31:22 New Zealand Standard Time INFO mail-api: [7e763915] GET /owner/all-clients → 200 (3ms)
29/06/2026 21:31:22 New Zealand Standard Time INFO mail-api: [1a6e1c82] GET /owner/birthdays → 200 (5ms)
29/06/2026 21:31:24 New Zealand Standard Time ERROR mail-api: [f1bafba2] POST /owner/render-welcome-pack crashed after 1ms
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 844, in _request_logging_middleware
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 96, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 154, in simple_response
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\trustedhost.py", line 51, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 811, in __call__
await self.app(scope, _wrapped_receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 660, in __call__
await self.middleware_stack(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 680, in app
await route.handle(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 276, in handle
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 134, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 120, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 674, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<3 lines>...
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 328, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3730, in owner_render_welcome_pack
html = _welcome_pack_email_html(
owner_name,
...<12 lines>...
include_button=bool(custom["includeButton"]),
)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 2631, in _welcome_pack_email_html
safe_tag = html.escape(_apply_welcome_tokens(tag_text, first_name, dog_name))
^^^^
NameError: name 'html' is not defined. Did you forget to import 'html'?
29/06/2026 21:31:27 New Zealand Standard Time ERROR mail-api: [33c2a6fd] POST /owner/render-welcome-pack crashed after 1ms
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 844, in _request_logging_middleware
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 96, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 154, in simple_response
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\trustedhost.py", line 51, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 811, in __call__
await self.app(scope, _wrapped_receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 660, in __call__
await self.middleware_stack(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 680, in app
await route.handle(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 276, in handle
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 134, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 120, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 674, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<3 lines>...
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 328, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3730, in owner_render_welcome_pack
html = _welcome_pack_email_html(
owner_name,
...<12 lines>...
include_button=bool(custom["includeButton"]),
)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 2631, in _welcome_pack_email_html
safe_tag = html.escape(_apply_welcome_tokens(tag_text, first_name, dog_name))
^^^^
NameError: name 'html' is not defined. Did you forget to import 'html'?
29/06/2026 21:31:30 New Zealand Standard Time ERROR mail-api: [58ba800d] POST /owner/render-welcome-pack crashed after 1ms
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 844, in _request_logging_middleware
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 96, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 154, in simple_response
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\trustedhost.py", line 51, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 811, in __call__
await self.app(scope, _wrapped_receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 660, in __call__
await self.middleware_stack(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 680, in app
await route.handle(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 276, in handle
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 134, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 120, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 674, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<3 lines>...
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 328, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3730, in owner_render_welcome_pack
html = _welcome_pack_email_html(
owner_name,
...<12 lines>...
include_button=bool(custom["includeButton"]),
)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 2631, in _welcome_pack_email_html
safe_tag = html.escape(_apply_welcome_tokens(tag_text, first_name, dog_name))
^^^^
NameError: name 'html' is not defined. Did you forget to import 'html'?
29/06/2026 21:31:57 New Zealand Standard Time ERROR mail-api: [30c35381] POST /owner/render-welcome-pack crashed after 1ms
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 844, in _request_logging_middleware
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 96, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\cors.py", line 154, in simple_response
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\trustedhost.py", line 51, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 811, in __call__
await self.app(scope, _wrapped_receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 660, in __call__
await self.middleware_stack(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 680, in app
await route.handle(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\routing.py", line 276, in handle
await self.app(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 134, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 120, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 674, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<3 lines>...
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\fastapi\routing.py", line 328, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 3730, in owner_render_welcome_pack
html = _welcome_pack_email_html(
owner_name,
...<12 lines>...
include_button=bool(custom["includeButton"]),
)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 2631, in _welcome_pack_email_html
safe_tag = html.escape(_apply_welcome_tokens(tag_text, first_name, dog_name))
^^^^
NameError: name 'html' is not defined. Did you forget to import 'html'?
29/06/2026 21:32:21 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 21:32:21 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 21:32:21 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 21:32:21 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 21:32:21 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 21:32:21 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 21:32:21 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 21:32:35 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 21:32:35 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 21:32:35 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 21:32:35 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 21:32:35 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 21:32:35 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 21:32:35 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 21:32:36 New Zealand Standard Time INFO mail-api: [7072bdaa] POST /owner/render-welcome-pack → 401 (6ms)
29/06/2026 21:32:50 New Zealand Standard Time INFO mail-api: [47306d8f] POST /owner/render-welcome-pack → 401 (1ms)
29/06/2026 21:32:57 New Zealand Standard Time INFO mail-api: [a7046c1a] GET /auth/verify → 401 (1ms)
29/06/2026 21:33:01 New Zealand Standard Time INFO mail-api: [6d693df0] auth: code issued for email=info@goodwalk.co.nz
29/06/2026 21:33:01 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 465456
29/06/2026 21:33:01 New Zealand Standard Time INFO mail-api: [6d693df0] POST /auth/request-code → 200 (2ms)
29/06/2026 21:33:06 New Zealand Standard Time INFO mail-api: [c03cc8ce] auth: session created for email=info@goodwalk.co.nz
29/06/2026 21:33:06 New Zealand Standard Time INFO mail-api: [c03cc8ce] POST /auth/verify-code → 200 (2ms)
29/06/2026 21:33:06 New Zealand Standard Time INFO mail-api: [145704aa] GET /auth/verify → 200 (0ms)
29/06/2026 21:33:06 New Zealand Standard Time INFO mail-api: [9eeb787e] GET /owner/birthdays → 200 (3ms)
29/06/2026 21:33:06 New Zealand Standard Time INFO mail-api: [7556243a] GET /owner/pending-onboarding → 200 (3ms)
29/06/2026 21:33:06 New Zealand Standard Time INFO mail-api: [be199e29] GET /owner/all-clients → 200 (3ms)
29/06/2026 21:33:08 New Zealand Standard Time INFO mail-api: [30e1bca1] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:33:15 New Zealand Standard Time INFO mail-api: [8f9bdc12] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:34:09 New Zealand Standard Time INFO mail-api: [bc6b4320] GET /auth/verify → 200 (0ms)
29/06/2026 21:34:09 New Zealand Standard Time INFO mail-api: [76d75628] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:34:09 New Zealand Standard Time INFO mail-api: [d2a97154] GET /owner/all-clients → 200 (2ms)
29/06/2026 21:34:09 New Zealand Standard Time INFO mail-api: [df598069] GET /owner/birthdays → 200 (2ms)
29/06/2026 21:34:12 New Zealand Standard Time INFO mail-api: [b9f51abb] GET /owner/client-enquiry → 200 (1ms)
29/06/2026 21:35:02 New Zealand Standard Time INFO mail-api: [b95487cd] GET /auth/verify → 200 (0ms)
29/06/2026 21:35:02 New Zealand Standard Time INFO mail-api: [633f937c] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:35:02 New Zealand Standard Time INFO mail-api: [992d64fb] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:35:02 New Zealand Standard Time INFO mail-api: [ad1a87b6] GET /owner/birthdays → 200 (2ms)
29/06/2026 21:35:04 New Zealand Standard Time INFO mail-api: [ca9f7e2b] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:35:10 New Zealand Standard Time INFO mail-api: [61d87a44] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:35:41 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 21:35:41 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 21:35:41 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 21:35:41 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 21:35:41 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 21:35:41 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 21:35:41 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 21:36:10 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 21:36:10 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 21:36:10 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 21:36:10 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 21:36:11 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 21:36:11 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 21:36:11 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 21:36:11 New Zealand Standard Time INFO mail-api: [3d6bb0f4] POST /owner/render-welcome-pack → 401 (6ms)
29/06/2026 21:36:17 New Zealand Standard Time INFO mail-api: [a4fa9a96] GET /auth/verify → 401 (1ms)
29/06/2026 21:36:25 New Zealand Standard Time INFO mail-api: [fecf7854] auth: code issued for email=info@goodwalk.co.nz
29/06/2026 21:36:25 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 478249
29/06/2026 21:36:25 New Zealand Standard Time INFO mail-api: [fecf7854] POST /auth/request-code → 200 (2ms)
29/06/2026 21:36:29 New Zealand Standard Time INFO mail-api: [7508be1c] auth: session created for email=info@goodwalk.co.nz
29/06/2026 21:36:29 New Zealand Standard Time INFO mail-api: [7508be1c] POST /auth/verify-code → 200 (2ms)
29/06/2026 21:36:29 New Zealand Standard Time INFO mail-api: [b67017ac] GET /auth/verify → 200 (0ms)
29/06/2026 21:36:29 New Zealand Standard Time INFO mail-api: [f07a4c0d] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 21:36:29 New Zealand Standard Time INFO mail-api: [7fc10800] GET /owner/all-clients → 200 (2ms)
29/06/2026 21:36:29 New Zealand Standard Time INFO mail-api: [3e2048c5] GET /owner/birthdays → 200 (3ms)
29/06/2026 21:36:31 New Zealand Standard Time INFO mail-api: [4958bf49] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:42:20 New Zealand Standard Time INFO mail-api: [c4c63671] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:44:48 New Zealand Standard Time INFO mail-api: [57f6bdb6] GET /owner/message-templates → 200 (1ms)
29/06/2026 21:44:48 New Zealand Standard Time INFO mail-api: [206b8cf8] POST /owner/render-message → 200 (1ms)
29/06/2026 21:44:49 New Zealand Standard Time INFO mail-api: [a1e0ec36] GET /owner/scheduled-emails → 200 (7ms)
29/06/2026 21:44:50 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 21:44:50 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 21:44:50 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4018, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 21:44:50 New Zealand Standard Time INFO mail-api: [8664e09e] GET /owner/resend-overview → 502 (404ms)
29/06/2026 21:44:50 New Zealand Standard Time INFO mail-api: [16d695aa] GET /owner/activity → 200 (1ms)
29/06/2026 21:44:51 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 21:44:51 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 21:44:51 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4018, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 21:44:51 New Zealand Standard Time INFO mail-api: [fb6453b3] GET /owner/resend-overview → 502 (245ms)
29/06/2026 21:44:52 New Zealand Standard Time INFO mail-api: [2d33c710] GET /owner/activity → 200 (0ms)
29/06/2026 21:46:05 New Zealand Standard Time INFO mail-api: [9d62cbd8] GET /auth/verify → 200 (1ms)
29/06/2026 21:46:05 New Zealand Standard Time INFO mail-api: [ac696043] GET /owner/pending-onboarding → 200 (0ms)
29/06/2026 21:46:05 New Zealand Standard Time INFO mail-api: [171ac10f] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:46:05 New Zealand Standard Time INFO mail-api: [102cd7c3] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:46:26 New Zealand Standard Time INFO mail-api: [eb81c7e8] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:46:35 New Zealand Standard Time INFO mail-api: [47a41e6c] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:46:37 New Zealand Standard Time INFO mail-api: [b3bf3e08] POST /owner/render-welcome-pack → 200 (2ms)
29/06/2026 21:46:44 New Zealand Standard Time INFO mail-api: [7b98aea7] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:46:56 New Zealand Standard Time INFO mail-api: [ea73bde1] GET /auth/verify → 200 (0ms)
29/06/2026 21:46:56 New Zealand Standard Time INFO mail-api: [9d0e2577] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 21:46:56 New Zealand Standard Time INFO mail-api: [a470501e] GET /owner/all-clients → 200 (3ms)
29/06/2026 21:46:56 New Zealand Standard Time INFO mail-api: [e5a2372b] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:46:58 New Zealand Standard Time INFO mail-api: [70463927] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:48:46 New Zealand Standard Time INFO mail-api: [4676b342] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:48:49 New Zealand Standard Time INFO mail-api: [ab3cba2f] GET /owner/message-templates → 200 (1ms)
29/06/2026 21:48:49 New Zealand Standard Time INFO mail-api: [97f74654] POST /owner/render-message → 200 (1ms)
29/06/2026 21:48:50 New Zealand Standard Time INFO mail-api: [ea9212f0] GET /owner/scheduled-emails → 200 (0ms)
29/06/2026 21:48:56 New Zealand Standard Time INFO mail-api: [c23f88da] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:49:10 New Zealand Standard Time INFO mail-api: [4a875984] POST /owner/render-welcome-pack → 200 (14ms)
29/06/2026 21:49:10 New Zealand Standard Time INFO mail-api: [c69a36fb] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:49:13 New Zealand Standard Time INFO mail-api: [eed50253] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:49:13 New Zealand Standard Time INFO mail-api: [f19a641c] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:49:14 New Zealand Standard Time INFO mail-api: [10499aa1] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:49:16 New Zealand Standard Time INFO mail-api: [3599399d] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:49:19 New Zealand Standard Time INFO mail-api: [ac978081] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:49:50 New Zealand Standard Time INFO mail-api: [d48ab706] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:50:27 New Zealand Standard Time INFO mail-api: [9da7dd9f] GET /auth/verify → 200 (0ms)
29/06/2026 21:50:27 New Zealand Standard Time INFO mail-api: [35665a9f] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:50:27 New Zealand Standard Time INFO mail-api: [75ff1795] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:50:27 New Zealand Standard Time INFO mail-api: [d29b1377] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:50:30 New Zealand Standard Time INFO mail-api: [5dcb3bcc] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:50:35 New Zealand Standard Time INFO mail-api: [9d64656f] GET /auth/verify → 200 (0ms)
29/06/2026 21:50:35 New Zealand Standard Time INFO mail-api: [3260fa62] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:50:35 New Zealand Standard Time INFO mail-api: [603456f6] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:50:35 New Zealand Standard Time INFO mail-api: [77b06008] GET /owner/birthdays → 200 (2ms)
29/06/2026 21:50:36 New Zealand Standard Time INFO mail-api: [d0ce7321] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:50:41 New Zealand Standard Time INFO mail-api: [afa36f5d] GET /auth/verify → 200 (0ms)
29/06/2026 21:50:41 New Zealand Standard Time INFO mail-api: [4f318aaf] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 21:50:41 New Zealand Standard Time INFO mail-api: [d8ac8733] GET /owner/all-clients → 200 (3ms)
29/06/2026 21:50:41 New Zealand Standard Time INFO mail-api: [5d6d1f36] GET /owner/birthdays → 200 (4ms)
29/06/2026 21:50:44 New Zealand Standard Time INFO mail-api: [10e851ca] POST /owner/render-welcome-pack → 200 (2ms)
29/06/2026 21:50:44 New Zealand Standard Time INFO mail-api: [2f00fc0b] GET /auth/verify → 200 (1ms)
29/06/2026 21:50:44 New Zealand Standard Time INFO mail-api: [aab73a3b] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:50:44 New Zealand Standard Time INFO mail-api: [36067a66] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:50:44 New Zealand Standard Time INFO mail-api: [47105711] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:50:45 New Zealand Standard Time INFO mail-api: [2ad82316] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:51:01 New Zealand Standard Time INFO mail-api: [b3675ad1] GET /auth/verify → 200 (7ms)
29/06/2026 21:51:01 New Zealand Standard Time INFO mail-api: [934865a6] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 21:51:01 New Zealand Standard Time INFO mail-api: [6d0fa4e0] GET /owner/all-clients → 200 (2ms)
29/06/2026 21:51:01 New Zealand Standard Time INFO mail-api: [e77eb720] GET /owner/birthdays → 200 (2ms)
29/06/2026 21:51:02 New Zealand Standard Time INFO mail-api: [66b5aa07] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:51:09 New Zealand Standard Time INFO mail-api: [dfe55f6a] POST /owner/render-welcome-pack → 200 (28ms)
29/06/2026 21:51:09 New Zealand Standard Time INFO mail-api: [31b20a6b] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:51:10 New Zealand Standard Time INFO mail-api: [d3f17f19] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:51:10 New Zealand Standard Time INFO mail-api: [e7a25543] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:51:39 New Zealand Standard Time INFO mail-api: [1fbe79dc] GET /auth/verify → 200 (0ms)
29/06/2026 21:51:39 New Zealand Standard Time INFO mail-api: [969eb347] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:51:39 New Zealand Standard Time INFO mail-api: [0efb5d6d] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:51:39 New Zealand Standard Time INFO mail-api: [6dc7c635] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:51:41 New Zealand Standard Time INFO mail-api: [f0fb6481] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:51:52 New Zealand Standard Time INFO mail-api: [f5db50e0] GET /auth/verify → 200 (0ms)
29/06/2026 21:51:52 New Zealand Standard Time INFO mail-api: [6c1610e2] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:51:52 New Zealand Standard Time INFO mail-api: [189967ec] GET /owner/all-clients → 200 (2ms)
29/06/2026 21:51:52 New Zealand Standard Time INFO mail-api: [b091b79a] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:51:54 New Zealand Standard Time INFO mail-api: [07751ade] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:52:04 New Zealand Standard Time INFO mail-api: [2303f5f0] GET /auth/verify → 200 (0ms)
29/06/2026 21:52:04 New Zealand Standard Time INFO mail-api: [f45d42d9] GET /owner/pending-onboarding → 200 (0ms)
29/06/2026 21:52:04 New Zealand Standard Time INFO mail-api: [babf1d84] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:52:04 New Zealand Standard Time INFO mail-api: [20dafa78] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:52:06 New Zealand Standard Time INFO mail-api: [0e0d0194] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:52:17 New Zealand Standard Time INFO mail-api: [d6eb6243] GET /auth/verify → 200 (0ms)
29/06/2026 21:52:17 New Zealand Standard Time INFO mail-api: [4fb396f5] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:52:17 New Zealand Standard Time INFO mail-api: [3f08b642] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:52:17 New Zealand Standard Time INFO mail-api: [31901ea1] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:52:18 New Zealand Standard Time INFO mail-api: [9335b260] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:52:44 New Zealand Standard Time INFO mail-api: [e613e88e] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:53:27 New Zealand Standard Time INFO mail-api: [f8c2f9a7] GET /auth/verify → 200 (0ms)
29/06/2026 21:53:27 New Zealand Standard Time INFO mail-api: [496ed8d5] GET /owner/pending-onboarding → 200 (0ms)
29/06/2026 21:53:27 New Zealand Standard Time INFO mail-api: [019dc03e] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:53:27 New Zealand Standard Time INFO mail-api: [0adedde1] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:53:58 New Zealand Standard Time INFO mail-api: [18af8f40] GET /auth/verify → 200 (0ms)
29/06/2026 21:53:58 New Zealand Standard Time INFO mail-api: [5a40c0c5] GET /owner/pending-onboarding → 200 (8ms)
29/06/2026 21:53:58 New Zealand Standard Time INFO mail-api: [eb32fba0] GET /owner/all-clients → 200 (8ms)
29/06/2026 21:53:58 New Zealand Standard Time INFO mail-api: [ae98d756] GET /owner/birthdays → 200 (1ms)
29/06/2026 21:54:47 New Zealand Standard Time INFO mail-api: [596f8e23] GET /auth/verify → 200 (0ms)
29/06/2026 21:54:47 New Zealand Standard Time INFO mail-api: [a58b9055] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:54:47 New Zealand Standard Time INFO mail-api: [5cfec8f9] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 21:54:47 New Zealand Standard Time INFO mail-api: [dccf04c0] GET /owner/birthdays → 200 (2ms)
29/06/2026 21:54:50 New Zealand Standard Time INFO mail-api: [930e04d1] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:55:06 New Zealand Standard Time INFO mail-api: [6c73652c] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:56:11 New Zealand Standard Time INFO mail-api: [3bef1fd4] GET /auth/verify → 200 (0ms)
29/06/2026 21:56:11 New Zealand Standard Time INFO mail-api: [29de0cd5] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 21:56:11 New Zealand Standard Time INFO mail-api: [2b0228c7] GET /owner/all-clients → 200 (10ms)
29/06/2026 21:56:11 New Zealand Standard Time INFO mail-api: [eb96486c] GET /owner/birthdays → 200 (10ms)
29/06/2026 21:56:14 New Zealand Standard Time INFO mail-api: [ae7cbe13] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:57:00 New Zealand Standard Time INFO mail-api: [763c14bb] GET /auth/verify → 200 (0ms)
29/06/2026 21:57:00 New Zealand Standard Time INFO mail-api: [f07ca021] GET /owner/all-clients → 200 (1ms)
29/06/2026 21:57:00 New Zealand Standard Time INFO mail-api: [6e5304a4] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 21:57:00 New Zealand Standard Time INFO mail-api: [6ae158eb] GET /owner/birthdays → 200 (2ms)
29/06/2026 21:57:02 New Zealand Standard Time INFO mail-api: [e3fe97db] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:57:09 New Zealand Standard Time INFO mail-api: [5a9e071a] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:57:33 New Zealand Standard Time INFO mail-api: [b87f9c84] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 21:59:01 New Zealand Standard Time INFO mail-api: [e5ace886] GET /owner/message-templates → 200 (15ms)
29/06/2026 21:59:01 New Zealand Standard Time INFO mail-api: [a24a5731] POST /owner/render-message → 200 (1ms)
29/06/2026 21:59:01 New Zealand Standard Time INFO mail-api: [da03ddd0] GET /owner/scheduled-emails → 200 (0ms)
29/06/2026 21:59:03 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 21:59:04 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 21:59:04 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4018, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 21:59:04 New Zealand Standard Time INFO mail-api: [9a50d42c] GET /owner/resend-overview → 502 (334ms)
29/06/2026 21:59:04 New Zealand Standard Time INFO mail-api: [d32834e2] GET /owner/activity → 200 (10ms)
29/06/2026 21:59:30 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 21:59:30 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 21:59:30 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 21:59:30 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 21:59:30 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 21:59:30 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 21:59:30 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 21:59:30 New Zealand Standard Time INFO mail-api: [82464125] GET /owner/resend-overview → 401 (3ms)
29/06/2026 21:59:35 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 21:59:35 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 21:59:35 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 21:59:35 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 21:59:35 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 21:59:35 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 21:59:35 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 21:59:38 New Zealand Standard Time INFO mail-api: [c8ebd4c1] POST /owner/render-welcome-pack → 401 (14ms)
29/06/2026 21:59:40 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 21:59:40 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 21:59:40 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 21:59:41 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 21:59:41 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 21:59:41 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 21:59:41 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 22:00:07 New Zealand Standard Time INFO mail-api: [329e4af3] POST /owner/render-welcome-pack → 401 (5ms)
29/06/2026 22:00:08 New Zealand Standard Time INFO mail-api: [fc0b5ffc] POST /owner/render-welcome-pack → 401 (1ms)
29/06/2026 22:00:09 New Zealand Standard Time INFO mail-api: [edc20a64] POST /owner/render-welcome-pack → 401 (1ms)
29/06/2026 22:00:09 New Zealand Standard Time INFO mail-api: [8052e196] POST /owner/render-welcome-pack → 401 (1ms)
29/06/2026 22:00:11 New Zealand Standard Time INFO mail-api: [b2b0a31a] POST /owner/render-welcome-pack → 401 (1ms)
29/06/2026 22:00:15 New Zealand Standard Time INFO mail-api: [355d2ccb] GET /auth/verify → 401 (1ms)
29/06/2026 22:00:18 New Zealand Standard Time INFO mail-api: [8edc46d1] auth: code issued for email=info@goodwalk.co.nz
29/06/2026 22:00:18 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 445141
29/06/2026 22:00:18 New Zealand Standard Time INFO mail-api: [8edc46d1] POST /auth/request-code → 200 (2ms)
29/06/2026 22:00:26 New Zealand Standard Time INFO mail-api: [6656d48e] auth: session created for email=info@goodwalk.co.nz
29/06/2026 22:00:26 New Zealand Standard Time INFO mail-api: [6656d48e] POST /auth/verify-code → 200 (1ms)
29/06/2026 22:00:26 New Zealand Standard Time INFO mail-api: [607001f9] GET /auth/verify → 200 (0ms)
29/06/2026 22:00:26 New Zealand Standard Time INFO mail-api: [5c4c3007] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 22:00:26 New Zealand Standard Time INFO mail-api: [cf9ea12b] GET /owner/all-clients → 200 (2ms)
29/06/2026 22:00:26 New Zealand Standard Time INFO mail-api: [f8223c6c] GET /owner/birthdays → 200 (5ms)
29/06/2026 22:00:29 New Zealand Standard Time INFO mail-api: [8417215c] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:00:39 New Zealand Standard Time INFO mail-api: [48cf2129] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:00:40 New Zealand Standard Time INFO mail-api: [6c0231fb] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:00:41 New Zealand Standard Time INFO mail-api: [82fcc456] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:01:24 New Zealand Standard Time INFO mail-api: [441a1291] GET /auth/verify → 200 (0ms)
29/06/2026 22:01:24 New Zealand Standard Time INFO mail-api: [6a9008a3] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 22:01:24 New Zealand Standard Time INFO mail-api: [7adfd694] GET /owner/all-clients → 200 (2ms)
29/06/2026 22:01:24 New Zealand Standard Time INFO mail-api: [dad80446] GET /owner/birthdays → 200 (2ms)
29/06/2026 22:01:29 New Zealand Standard Time INFO mail-api: [53a19a92] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:01:29 New Zealand Standard Time INFO mail-api: [b9f3f5b4] GET /auth/verify → 200 (0ms)
29/06/2026 22:01:29 New Zealand Standard Time INFO mail-api: [0633d81a] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:01:29 New Zealand Standard Time INFO mail-api: [f7506d09] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:01:29 New Zealand Standard Time INFO mail-api: [5dc40775] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:01:30 New Zealand Standard Time INFO mail-api: [c6797e4a] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:01:34 New Zealand Standard Time INFO mail-api: [1ab27719] GET /auth/verify → 200 (0ms)
29/06/2026 22:01:34 New Zealand Standard Time INFO mail-api: [ea34ed73] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:01:34 New Zealand Standard Time INFO mail-api: [5fe2b01e] GET /owner/all-clients → 200 (2ms)
29/06/2026 22:01:34 New Zealand Standard Time INFO mail-api: [ac449977] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:01:41 New Zealand Standard Time INFO mail-api: [a89d3d3b] GET /auth/verify → 200 (0ms)
29/06/2026 22:01:41 New Zealand Standard Time INFO mail-api: [83a976c9] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:01:41 New Zealand Standard Time INFO mail-api: [b1ecf380] GET /owner/all-clients → 200 (2ms)
29/06/2026 22:01:41 New Zealand Standard Time INFO mail-api: [11a8c337] GET /owner/birthdays → 200 (2ms)
29/06/2026 22:01:45 New Zealand Standard Time INFO mail-api: [f0ecb754] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:01:47 New Zealand Standard Time INFO mail-api: [9dc78621] GET /auth/verify → 200 (0ms)
29/06/2026 22:01:47 New Zealand Standard Time INFO mail-api: [f49b21e8] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:01:47 New Zealand Standard Time INFO mail-api: [08bbd20f] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:01:47 New Zealand Standard Time INFO mail-api: [d21cb3c4] GET /owner/birthdays → 200 (2ms)
29/06/2026 22:01:48 New Zealand Standard Time INFO mail-api: [8f6702c0] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:01:53 New Zealand Standard Time INFO mail-api: [f539e25e] GET /auth/verify → 200 (0ms)
29/06/2026 22:01:53 New Zealand Standard Time INFO mail-api: [740d13ea] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:01:53 New Zealand Standard Time INFO mail-api: [8f1e884c] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:01:53 New Zealand Standard Time INFO mail-api: [c7d88de6] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:01:58 New Zealand Standard Time INFO mail-api: [aad05654] GET /auth/verify → 200 (0ms)
29/06/2026 22:01:58 New Zealand Standard Time INFO mail-api: [0605ba06] GET /owner/all-clients → 200 (2ms)
29/06/2026 22:01:58 New Zealand Standard Time INFO mail-api: [9b0e5098] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 22:01:58 New Zealand Standard Time INFO mail-api: [d786c16b] GET /owner/birthdays → 200 (2ms)
29/06/2026 22:02:08 New Zealand Standard Time INFO mail-api: [a1a8cf0f] GET /auth/verify → 200 (0ms)
29/06/2026 22:02:08 New Zealand Standard Time INFO mail-api: [4107aad1] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:02:08 New Zealand Standard Time INFO mail-api: [b562cc17] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:02:08 New Zealand Standard Time INFO mail-api: [42d5868c] GET /owner/birthdays → 200 (0ms)
29/06/2026 22:02:14 New Zealand Standard Time INFO mail-api: [034d52ba] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:02:17 New Zealand Standard Time INFO mail-api: [5dc7398d] GET /auth/verify → 200 (0ms)
29/06/2026 22:02:17 New Zealand Standard Time INFO mail-api: [adb334c2] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:02:17 New Zealand Standard Time INFO mail-api: [c0a8c1cd] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:02:17 New Zealand Standard Time INFO mail-api: [52052583] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:02:18 New Zealand Standard Time INFO mail-api: [2d9433a7] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:02:59 New Zealand Standard Time INFO mail-api: [bd779a68] GET /auth/verify → 200 (0ms)
29/06/2026 22:02:59 New Zealand Standard Time INFO mail-api: [8186a643] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:02:59 New Zealand Standard Time INFO mail-api: [57740c59] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:02:59 New Zealand Standard Time INFO mail-api: [63d07920] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:03:31 New Zealand Standard Time INFO mail-api: [ae3e8383] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:04:57 New Zealand Standard Time INFO mail-api: [0f0b1e3f] GET /auth/verify → 200 (0ms)
29/06/2026 22:04:57 New Zealand Standard Time INFO mail-api: [f070d9d4] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:04:57 New Zealand Standard Time INFO mail-api: [afc4c1a6] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 22:04:57 New Zealand Standard Time INFO mail-api: [84284757] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:05:15 New Zealand Standard Time INFO mail-api: [b99beb6d] GET /auth/verify → 200 (0ms)
29/06/2026 22:05:15 New Zealand Standard Time INFO mail-api: [0729a8f3] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:05:15 New Zealand Standard Time INFO mail-api: [334542be] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:05:15 New Zealand Standard Time INFO mail-api: [1ef0d1ab] GET /owner/all-clients → 200 (2ms)
29/06/2026 22:05:21 New Zealand Standard Time INFO mail-api: [0cd53ed2] GET /auth/verify → 200 (0ms)
29/06/2026 22:05:21 New Zealand Standard Time INFO mail-api: [bf41430f] GET /owner/pending-onboarding → 200 (3ms)
29/06/2026 22:05:21 New Zealand Standard Time INFO mail-api: [b09b44d2] GET /owner/birthdays → 200 (3ms)
29/06/2026 22:05:21 New Zealand Standard Time INFO mail-api: [d4ea9663] GET /owner/all-clients → 200 (3ms)
29/06/2026 22:05:29 New Zealand Standard Time INFO mail-api: [6b3ca1f3] GET /auth/verify → 200 (0ms)
29/06/2026 22:05:29 New Zealand Standard Time INFO mail-api: [8eeeec1c] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:05:29 New Zealand Standard Time INFO mail-api: [e3b611cc] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:05:29 New Zealand Standard Time INFO mail-api: [e42d0d94] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 22:05:37 New Zealand Standard Time INFO mail-api: [d64a0670] GET /auth/verify → 200 (0ms)
29/06/2026 22:05:37 New Zealand Standard Time INFO mail-api: [3cc83f05] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 22:05:37 New Zealand Standard Time INFO mail-api: [41b6cb1e] GET /owner/all-clients → 200 (2ms)
29/06/2026 22:05:37 New Zealand Standard Time INFO mail-api: [a40c93f0] GET /owner/birthdays → 200 (2ms)
29/06/2026 22:05:44 New Zealand Standard Time INFO mail-api: [bcbc54fd] GET /auth/verify → 200 (0ms)
29/06/2026 22:05:44 New Zealand Standard Time INFO mail-api: [67d97d4a] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:05:44 New Zealand Standard Time INFO mail-api: [e7e0cdbe] GET /owner/all-clients → 200 (2ms)
29/06/2026 22:05:44 New Zealand Standard Time INFO mail-api: [b932aa15] GET /owner/birthdays → 200 (2ms)
29/06/2026 22:05:54 New Zealand Standard Time INFO mail-api: [301b45d8] GET /auth/verify → 200 (0ms)
29/06/2026 22:05:54 New Zealand Standard Time INFO mail-api: [0eedcc30] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:05:54 New Zealand Standard Time INFO mail-api: [bbb376c2] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:05:54 New Zealand Standard Time INFO mail-api: [27c82a40] GET /owner/birthdays → 200 (0ms)
29/06/2026 22:05:56 New Zealand Standard Time INFO mail-api: [57d5baef] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:06:01 New Zealand Standard Time INFO mail-api: [1bebf188] GET /auth/verify → 200 (0ms)
29/06/2026 22:06:01 New Zealand Standard Time INFO mail-api: [ff093291] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:06:01 New Zealand Standard Time INFO mail-api: [f79c36c9] GET /owner/all-clients → 200 (2ms)
29/06/2026 22:06:01 New Zealand Standard Time INFO mail-api: [15f4a594] GET /owner/birthdays → 200 (2ms)
29/06/2026 22:06:04 New Zealand Standard Time INFO mail-api: [94531242] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:06:10 New Zealand Standard Time INFO mail-api: [57a7f7ea] GET /auth/verify → 200 (0ms)
29/06/2026 22:06:10 New Zealand Standard Time INFO mail-api: [e328d82b] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:06:10 New Zealand Standard Time INFO mail-api: [9156f02d] GET /owner/all-clients → 200 (2ms)
29/06/2026 22:06:10 New Zealand Standard Time INFO mail-api: [97793b5e] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:06:16 New Zealand Standard Time INFO mail-api: [b32cb33c] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:06:17 New Zealand Standard Time INFO mail-api: [f9200e1d] GET /auth/verify → 200 (0ms)
29/06/2026 22:06:17 New Zealand Standard Time INFO mail-api: [eb62c2ca] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:06:17 New Zealand Standard Time INFO mail-api: [d8ed3087] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:06:17 New Zealand Standard Time INFO mail-api: [020e6653] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:06:17 New Zealand Standard Time INFO mail-api: [0ad9d082] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:07:09 New Zealand Standard Time INFO mail-api: [d6453b23] GET /auth/verify → 200 (0ms)
29/06/2026 22:07:09 New Zealand Standard Time INFO mail-api: [878bc773] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:07:09 New Zealand Standard Time INFO mail-api: [21acd96b] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:07:09 New Zealand Standard Time INFO mail-api: [f25c5de8] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:10:38 New Zealand Standard Time INFO mail-api: [e5463afb] GET /auth/verify → 200 (0ms)
29/06/2026 22:10:38 New Zealand Standard Time INFO mail-api: [12f5eb54] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:10:38 New Zealand Standard Time INFO mail-api: [69236773] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:10:38 New Zealand Standard Time INFO mail-api: [7d6947bc] GET /owner/birthdays → 200 (2ms)
29/06/2026 22:10:40 New Zealand Standard Time INFO mail-api: [58cd6f22] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:11:21 New Zealand Standard Time INFO mail-api: [a814f6e2] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:11:40 New Zealand Standard Time INFO mail-api: [a4b3f1f6] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:11:55 New Zealand Standard Time INFO mail-api: [f248b346] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:11:57 New Zealand Standard Time INFO mail-api: [69cec76c] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:12:26 New Zealand Standard Time INFO mail-api: [1a92b35f] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:12:27 New Zealand Standard Time INFO mail-api: [b4d24d81] GET /owner/scheduled-emails → 200 (1ms)
29/06/2026 22:12:28 New Zealand Standard Time INFO mail-api: [ab762498] GET /owner/message-templates → 200 (1ms)
29/06/2026 22:12:28 New Zealand Standard Time INFO mail-api: [67e858f2] POST /owner/render-message → 200 (2ms)
29/06/2026 22:12:30 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
29/06/2026 22:12:30 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
29/06/2026 22:12:30 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4013, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
29/06/2026 22:12:30 New Zealand Standard Time INFO mail-api: [4acc8bd9] GET /owner/resend-overview → 502 (310ms)
29/06/2026 22:12:30 New Zealand Standard Time INFO mail-api: [d93d3f34] GET /owner/activity → 200 (1ms)
29/06/2026 22:13:13 New Zealand Standard Time INFO mail-api: [bbd3967f] GET /auth/verify → 200 (0ms)
29/06/2026 22:13:13 New Zealand Standard Time INFO mail-api: [32671cc6] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:13:13 New Zealand Standard Time INFO mail-api: [4e9a26b2] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:13:13 New Zealand Standard Time INFO mail-api: [9e6e2fde] GET /owner/birthdays → 200 (2ms)
29/06/2026 22:13:29 New Zealand Standard Time INFO mail-api: [105eb3cc] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:13:35 New Zealand Standard Time INFO mail-api: [8b249eca] GET /auth/verify → 200 (0ms)
29/06/2026 22:13:35 New Zealand Standard Time INFO mail-api: [d3a01995] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:13:35 New Zealand Standard Time INFO mail-api: [1542c3e9] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:13:35 New Zealand Standard Time INFO mail-api: [ac87f597] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:13:37 New Zealand Standard Time INFO mail-api: [f25f8e1d] GET /owner/message-templates → 200 (1ms)
29/06/2026 22:13:37 New Zealand Standard Time INFO mail-api: [83242075] POST /owner/render-message → 200 (1ms)
29/06/2026 22:13:44 New Zealand Standard Time INFO mail-api: [10e1b72d] GET /auth/verify → 200 (0ms)
29/06/2026 22:13:44 New Zealand Standard Time INFO mail-api: [6a54452d] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:13:44 New Zealand Standard Time INFO mail-api: [da772f66] GET /owner/all-clients → 200 (2ms)
29/06/2026 22:13:44 New Zealand Standard Time INFO mail-api: [dbb9969c] GET /owner/birthdays → 200 (2ms)
29/06/2026 22:24:27 New Zealand Standard Time INFO mail-api: [bd7f71cd] GET /auth/verify → 200 (0ms)
29/06/2026 22:24:27 New Zealand Standard Time INFO mail-api: [23c351fb] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:24:27 New Zealand Standard Time INFO mail-api: [f8b8b579] GET /owner/all-clients → 200 (2ms)
29/06/2026 22:24:27 New Zealand Standard Time INFO mail-api: [006e9746] GET /owner/birthdays → 200 (2ms)
29/06/2026 22:24:37 New Zealand Standard Time INFO mail-api: [fd65226a] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:26:23 New Zealand Standard Time INFO mail-api: [8f36f09a] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:15 New Zealand Standard Time INFO mail-api: [b6471e08] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:20 New Zealand Standard Time INFO mail-api: [2534d3f3] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:21 New Zealand Standard Time INFO mail-api: [79b02305] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:23 New Zealand Standard Time INFO mail-api: [1bb2bdf5] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:26 New Zealand Standard Time INFO mail-api: [42a55db4] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:27 New Zealand Standard Time INFO mail-api: [ef9fe62d] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:31 New Zealand Standard Time INFO mail-api: [23594ff2] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:33 New Zealand Standard Time INFO mail-api: [2d024a3d] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:36 New Zealand Standard Time INFO mail-api: [f5740eeb] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:37 New Zealand Standard Time INFO mail-api: [ba93d9a8] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:45 New Zealand Standard Time INFO mail-api: [6f1b1581] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:47 New Zealand Standard Time INFO mail-api: [2c532d21] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:47 New Zealand Standard Time INFO mail-api: [1bbe428e] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:51 New Zealand Standard Time INFO mail-api: [9126b119] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:54 New Zealand Standard Time INFO mail-api: [fd7582c2] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:56 New Zealand Standard Time INFO mail-api: [253efd5f] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:57 New Zealand Standard Time INFO mail-api: [f8caa83c] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:58 New Zealand Standard Time INFO mail-api: [25e30cc9] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:58 New Zealand Standard Time INFO mail-api: [f1c52fca] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:27:59 New Zealand Standard Time INFO mail-api: [b2f7f0c5] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:28:01 New Zealand Standard Time INFO mail-api: [d9c9d86a] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:28:08 New Zealand Standard Time INFO mail-api: [8163f7a7] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:28:26 New Zealand Standard Time INFO mail-api: [fe64a518] GET /auth/verify → 200 (0ms)
29/06/2026 22:28:26 New Zealand Standard Time INFO mail-api: [106e36bd] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:28:26 New Zealand Standard Time INFO mail-api: [f95931a6] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:28:26 New Zealand Standard Time INFO mail-api: [39ca3dc6] GET /owner/birthdays → 200 (0ms)
29/06/2026 22:29:34 New Zealand Standard Time INFO mail-api: [656a9e97] GET /auth/verify → 200 (0ms)
29/06/2026 22:29:34 New Zealand Standard Time INFO mail-api: [618c8532] GET /owner/all-clients → 200 (32ms)
29/06/2026 22:29:34 New Zealand Standard Time INFO mail-api: [297798b4] GET /owner/pending-onboarding → 200 (40ms)
29/06/2026 22:29:34 New Zealand Standard Time INFO mail-api: [5ce6256f] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:29:37 New Zealand Standard Time INFO mail-api: [ff7c402c] POST /owner/render-welcome-pack → 200 (6ms)
29/06/2026 22:29:41 New Zealand Standard Time INFO mail-api: [84a992af] POST /owner/render-welcome-pack → 200 (11ms)
29/06/2026 22:29:43 New Zealand Standard Time INFO mail-api: [c45048eb] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:29:46 New Zealand Standard Time INFO mail-api: [47abf5db] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:29:48 New Zealand Standard Time INFO mail-api: [a68b1161] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:29:49 New Zealand Standard Time INFO mail-api: [1cb63834] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:29:50 New Zealand Standard Time INFO mail-api: [3b72a76c] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:30:01 New Zealand Standard Time INFO mail-api: [2255388c] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:30:33 New Zealand Standard Time INFO mail-api: [ea06f482] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:30:52 New Zealand Standard Time INFO mail-api: [2b389eff] GET /owner/message-templates → 200 (12ms)
29/06/2026 22:30:52 New Zealand Standard Time INFO mail-api: [45a35a2d] POST /owner/render-message → 200 (1ms)
29/06/2026 22:31:03 New Zealand Standard Time INFO mail-api: [bd09e945] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:31:11 New Zealand Standard Time INFO mail-api: [d4030fad] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:31:28 New Zealand Standard Time INFO mail-api: [183d4de7] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:31:33 New Zealand Standard Time INFO mail-api: [60e24821] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:31:54 New Zealand Standard Time INFO mail-api: [54d2e3ff] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:32:16 New Zealand Standard Time INFO mail-api: [5e4b8da4] GET /auth/verify → 200 (0ms)
29/06/2026 22:32:16 New Zealand Standard Time INFO mail-api: [d7b30a1f] GET /owner/pending-onboarding → 200 (2ms)
29/06/2026 22:32:16 New Zealand Standard Time INFO mail-api: [9c4b74da] GET /owner/all-clients → 200 (13ms)
29/06/2026 22:32:16 New Zealand Standard Time INFO mail-api: [6d7ca41a] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:32:18 New Zealand Standard Time INFO mail-api: [f817e6c8] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:32:26 New Zealand Standard Time INFO mail-api: [34fa2375] GET /auth/verify → 200 (0ms)
29/06/2026 22:32:26 New Zealand Standard Time INFO mail-api: [646a168b] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:32:26 New Zealand Standard Time INFO mail-api: [8d18fac3] GET /owner/all-clients → 200 (2ms)
29/06/2026 22:32:26 New Zealand Standard Time INFO mail-api: [770c0524] GET /owner/birthdays → 200 (2ms)
29/06/2026 22:32:34 New Zealand Standard Time INFO mail-api: [bbd6f092] GET /auth/verify → 200 (0ms)
29/06/2026 22:32:34 New Zealand Standard Time INFO mail-api: [5e482137] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:32:34 New Zealand Standard Time INFO mail-api: [47bdf3af] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:32:34 New Zealand Standard Time INFO mail-api: [c98004e7] GET /owner/birthdays → 200 (2ms)
29/06/2026 22:32:35 New Zealand Standard Time INFO mail-api: [1cb8c647] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:32:39 New Zealand Standard Time INFO mail-api: [4cd192b6] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:32:42 New Zealand Standard Time INFO mail-api: [9a2ca1dc] POST /owner/render-welcome-pack → 200 (2ms)
29/06/2026 22:32:42 New Zealand Standard Time INFO mail-api: [2791d915] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:32:42 New Zealand Standard Time INFO mail-api: [fac92698] GET /auth/verify → 200 (0ms)
29/06/2026 22:32:42 New Zealand Standard Time INFO mail-api: [161ae07a] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:32:42 New Zealand Standard Time INFO mail-api: [1ab03a55] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:32:42 New Zealand Standard Time INFO mail-api: [4d07db77] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:32:43 New Zealand Standard Time INFO mail-api: [bb46932a] POST /owner/render-welcome-pack → 200 (6ms)
29/06/2026 22:32:45 New Zealand Standard Time INFO mail-api: [be62905c] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:32:54 New Zealand Standard Time INFO mail-api: [12f91432] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:32:55 New Zealand Standard Time INFO mail-api: [1df351a5] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:32:56 New Zealand Standard Time INFO mail-api: [905f87c6] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:32:56 New Zealand Standard Time INFO mail-api: [1a079630] GET /auth/verify → 200 (0ms)
29/06/2026 22:32:56 New Zealand Standard Time INFO mail-api: [45d0f2ea] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:32:56 New Zealand Standard Time INFO mail-api: [446dff46] GET /owner/all-clients → 200 (1ms)
29/06/2026 22:32:56 New Zealand Standard Time INFO mail-api: [e5fa6f70] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:32:57 New Zealand Standard Time INFO mail-api: [62d1754e] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:33:06 New Zealand Standard Time INFO mail-api: [9ba7de0c] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:33:16 New Zealand Standard Time INFO mail-api: [9a717cca] GET /auth/verify → 200 (0ms)
29/06/2026 22:33:16 New Zealand Standard Time INFO mail-api: [106d5bbf] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:33:16 New Zealand Standard Time INFO mail-api: [278625f6] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:33:16 New Zealand Standard Time INFO mail-api: [94afbd5e] GET /owner/all-clients → 200 (2ms)
29/06/2026 22:33:27 New Zealand Standard Time INFO mail-api: [75ed1edb] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:33:30 New Zealand Standard Time INFO mail-api: [354445a7] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:33:31 New Zealand Standard Time INFO mail-api: [1ee4eabb] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:33:46 New Zealand Standard Time INFO mail-api: [b9a48a5a] GET /auth/verify → 200 (1ms)
29/06/2026 22:33:46 New Zealand Standard Time INFO mail-api: [f5278ea2] GET /owner/pending-onboarding → 200 (39ms)
29/06/2026 22:33:46 New Zealand Standard Time INFO mail-api: [b3e6585c] GET /owner/birthdays → 200 (23ms)
29/06/2026 22:33:46 New Zealand Standard Time INFO mail-api: [d20bc381] GET /owner/all-clients → 200 (24ms)
29/06/2026 22:33:59 New Zealand Standard Time INFO mail-api: [79a1a7b5] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:34:02 New Zealand Standard Time INFO mail-api: [13e2ef07] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:34:06 New Zealand Standard Time INFO mail-api: [89343e99] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:34:11 New Zealand Standard Time INFO mail-api: [1e204118] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:38:54 New Zealand Standard Time INFO mail-api: [399c4072] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:39:56 New Zealand Standard Time INFO mail-api: [42413eae] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:40:00 New Zealand Standard Time INFO mail-api: [f0c8a8f1] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:40:05 New Zealand Standard Time INFO mail-api: [5be35c80] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:40:07 New Zealand Standard Time INFO mail-api: [e6c88717] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:40:12 New Zealand Standard Time INFO mail-api: [834f12b7] GET /auth/verify → 200 (0ms)
29/06/2026 22:40:12 New Zealand Standard Time INFO mail-api: [077c52c1] GET /owner/pending-onboarding → 200 (3ms)
29/06/2026 22:40:12 New Zealand Standard Time INFO mail-api: [332f38c4] GET /owner/all-clients → 200 (3ms)
29/06/2026 22:40:12 New Zealand Standard Time INFO mail-api: [fb8dcb9c] GET /owner/birthdays → 200 (3ms)
29/06/2026 22:40:37 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 22:40:37 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 22:40:37 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 22:40:37 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 22:40:37 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 22:40:37 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 22:40:37 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 22:41:03 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 22:41:03 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 22:41:03 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 22:41:03 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 22:41:03 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 22:41:03 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 22:41:03 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 22:41:30 New Zealand Standard Time INFO mail-api: [815e8c21] GET /auth/verify → 401 (2ms)
29/06/2026 22:41:34 New Zealand Standard Time INFO mail-api: [a914901d] auth: code issued for email=info@goodwalk.co.nz
29/06/2026 22:41:34 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 642967
29/06/2026 22:41:34 New Zealand Standard Time INFO mail-api: [a914901d] POST /auth/request-code → 200 (2ms)
29/06/2026 22:41:44 New Zealand Standard Time WARNING mail-api: [367eb86c] auth: failure ip=127.0.0.1 reason='wrong_code' total_in_window=1
29/06/2026 22:41:44 New Zealand Standard Time INFO mail-api: [367eb86c] POST /auth/verify-code → 400 (1ms)
29/06/2026 22:41:50 New Zealand Standard Time INFO mail-api: [b6fb068e] auth: session created for email=info@goodwalk.co.nz
29/06/2026 22:41:50 New Zealand Standard Time INFO mail-api: [b6fb068e] POST /auth/verify-code → 200 (1ms)
29/06/2026 22:41:50 New Zealand Standard Time INFO mail-api: [4138a0e5] GET /auth/verify → 200 (0ms)
29/06/2026 22:41:50 New Zealand Standard Time INFO mail-api: [5c183b7e] GET /owner/pending-onboarding → 200 (4ms)
29/06/2026 22:41:50 New Zealand Standard Time INFO mail-api: [bc0a71be] GET /owner/all-clients → 200 (15ms)
29/06/2026 22:41:50 New Zealand Standard Time INFO mail-api: [6915f2c6] GET /owner/birthdays → 200 (14ms)
29/06/2026 22:41:52 New Zealand Standard Time INFO mail-api: [8a1d2060] POST /owner/render-welcome-pack → 200 (12ms)
29/06/2026 22:41:56 New Zealand Standard Time INFO mail-api: [92e9bf74] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:42:00 New Zealand Standard Time INFO mail-api: [e5af370d] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:42:42 New Zealand Standard Time INFO mail-api: [2e6aa673] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:42:44 New Zealand Standard Time INFO mail-api: [3850d61b] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:42:44 New Zealand Standard Time INFO mail-api: [a23a6fe7] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:44:22 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 22:44:22 New Zealand Standard Time CRITICAL mail-api: Startup aborted: missing env vars: ['RESEND_API_KEY', 'OWNER_EMAIL']
29/06/2026 22:44:33 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 22:44:33 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='test@test.com' cp_admins=['test@test.com'] owner_bcc='example@example.com' client_bcc='' general_enquiries=False max_attempts=3 form_min=4s form_max=7200s rate_window=900s per_ip=5 per_email=3 min_interval=20s send_timeout=20s
29/06/2026 22:44:33 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 22:44:33 New Zealand Standard Time INFO mail-api: Auth: loaded 2 allowed email(s)
29/06/2026 22:46:09 New Zealand Standard Time INFO mail-api: [33e3838b] GET /auth/verify → 200 (1ms)
29/06/2026 22:46:09 New Zealand Standard Time INFO mail-api: [fb222e29] GET /owner/pending-onboarding → 200 (1ms)
29/06/2026 22:46:09 New Zealand Standard Time INFO mail-api: [3d82c783] GET /owner/birthdays → 200 (1ms)
29/06/2026 22:46:09 New Zealand Standard Time INFO mail-api: [829fb7b4] GET /owner/all-clients → 200 (2ms)
29/06/2026 22:46:13 New Zealand Standard Time INFO mail-api: [76b989b0] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:46:15 New Zealand Standard Time INFO mail-api: [6ffebdb9] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:46:17 New Zealand Standard Time INFO mail-api: [bfd0bc7e] POST /owner/render-welcome-pack → 200 (1ms)
29/06/2026 22:47:00 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 22:47:00 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 22:47:00 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 22:47:00 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 22:47:00 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 22:47:00 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 22:47:00 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 22:47:06 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 22:47:06 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 22:47:06 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 22:47:06 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 22:47:06 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 22:47:06 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 22:47:06 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 22:47:06 New Zealand Standard Time INFO mail-api: [ee2a634f] POST /owner/render-welcome-pack → 401 (7ms)
29/06/2026 22:47:20 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 22:47:20 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 22:47:20 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 22:47:20 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 22:47:20 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 22:47:20 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 22:47:20 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 22:47:26 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 22:47:26 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 22:47:26 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 22:47:26 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 22:47:27 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 22:47:27 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 22:47:27 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 22:47:32 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 22:47:32 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
29/06/2026 22:47:32 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 22:47:32 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
29/06/2026 22:47:32 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
29/06/2026 22:47:32 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
29/06/2026 22:47:32 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
29/06/2026 22:47:33 New Zealand Standard Time INFO mail-api: [ad034e38] POST /owner/render-welcome-pack → 401 (6ms)
29/06/2026 22:47:55 New Zealand Standard Time INFO mail-api: [4450d048] GET /owner/activity → 401 (1ms)
29/06/2026 22:47:56 New Zealand Standard Time INFO mail-api: [d021453f] GET /owner/resend-overview → 401 (1ms)
29/06/2026 22:48:03 New Zealand Standard Time INFO mail-api: [740e541d] POST /owner/client-profile → 401 (2ms)
29/06/2026 22:48:06 New Zealand Standard Time INFO mail-api: [08bd0945] POST /owner/client-profile → 401 (1ms)
29/06/2026 22:48:11 New Zealand Standard Time INFO mail-api: [088ad81f] GET /auth/verify → 401 (1ms)
29/06/2026 22:50:02 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
29/06/2026 22:50:02 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='test@test.com' cp_admins=['test@test.com'] owner_bcc='example@example.com' client_bcc='' general_enquiries=False max_attempts=3 form_min=4s form_max=7200s rate_window=900s per_ip=5 per_email=3 min_interval=20s send_timeout=20s
29/06/2026 22:50:02 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
29/06/2026 22:50:02 New Zealand Standard Time INFO mail-api: Auth: loaded 2 allowed email(s)
30/06/2026 06:45:34 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 06:45:34 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 06:45:34 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 06:45:34 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 06:45:35 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 06:45:35 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 06:45:35 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 06:46:21 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 06:46:21 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 06:46:21 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 06:46:21 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 06:46:21 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 06:46:21 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 06:46:21 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 06:46:30 New Zealand Standard Time INFO mail-api: [bbc34df3] auth: code issued for email=info@goodwalk.co.nz
30/06/2026 06:46:30 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 290216
30/06/2026 06:46:30 New Zealand Standard Time INFO mail-api: [bbc34df3] POST /auth/request-code → 200 (17ms)
30/06/2026 06:46:38 New Zealand Standard Time INFO mail-api: [3beff5af] auth: session created for email=info@goodwalk.co.nz
30/06/2026 06:46:38 New Zealand Standard Time INFO mail-api: [3beff5af] POST /auth/verify-code → 200 (2ms)
30/06/2026 06:46:38 New Zealand Standard Time INFO mail-api: [6dfb7005] GET /auth/verify → 200 (1ms)
30/06/2026 06:46:38 New Zealand Standard Time INFO mail-api: [ad5cfa16] GET /owner/pending-onboarding → 200 (7ms)
30/06/2026 06:46:38 New Zealand Standard Time INFO mail-api: [3bb324dd] GET /owner/birthdays → 200 (6ms)
30/06/2026 06:46:38 New Zealand Standard Time INFO mail-api: [40620ca9] GET /owner/all-clients → 200 (6ms)
30/06/2026 06:47:08 New Zealand Standard Time INFO mail-api: [925a6008] GET /owner/message-templates → 200 (1ms)
30/06/2026 06:47:08 New Zealand Standard Time INFO mail-api: [004ceaf9] POST /owner/render-message → 200 (9ms)
30/06/2026 06:47:08 New Zealand Standard Time INFO mail-api: [edb3108b] GET /owner/scheduled-emails → 200 (7ms)
30/06/2026 06:47:29 New Zealand Standard Time INFO mail-api: [dd965716] POST /owner/render-welcome-pack → 200 (19ms)
30/06/2026 06:47:33 New Zealand Standard Time INFO mail-api: [7bb64760] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 06:47:36 New Zealand Standard Time INFO mail-api: [3b2db602] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 06:49:34 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 06:49:34 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 06:49:34 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 06:49:34 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 06:49:34 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 06:49:34 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 06:49:34 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 06:49:40 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 06:49:40 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 06:49:40 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 06:49:40 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 06:49:40 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 06:49:40 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 06:49:40 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 06:49:45 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 06:49:45 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 06:49:45 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 06:49:45 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 06:49:46 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 06:49:46 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 06:49:46 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 06:50:03 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 06:50:03 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 06:50:03 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 06:50:03 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 06:50:03 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 06:50:03 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 06:50:03 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 06:52:25 New Zealand Standard Time INFO mail-api: [31aff9a2] GET /auth/verify → 401 (2ms)
30/06/2026 06:52:29 New Zealand Standard Time INFO mail-api: [9b30057b] auth: code issued for email=info@goodwalk.co.nz
30/06/2026 06:52:29 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 338322
30/06/2026 06:52:29 New Zealand Standard Time INFO mail-api: [9b30057b] POST /auth/request-code → 200 (2ms)
30/06/2026 06:52:42 New Zealand Standard Time INFO mail-api: [5969de0e] auth: session created for email=info@goodwalk.co.nz
30/06/2026 06:52:42 New Zealand Standard Time INFO mail-api: [5969de0e] POST /auth/verify-code → 200 (2ms)
30/06/2026 06:52:42 New Zealand Standard Time INFO mail-api: [011b6832] GET /auth/verify → 200 (0ms)
30/06/2026 06:52:42 New Zealand Standard Time INFO mail-api: [5ac3bf94] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 06:52:42 New Zealand Standard Time INFO mail-api: [d4bec847] GET /owner/birthdays → 200 (5ms)
30/06/2026 06:52:42 New Zealand Standard Time INFO mail-api: [27243eb5] GET /owner/all-clients → 200 (6ms)
30/06/2026 06:52:45 New Zealand Standard Time INFO mail-api: [32edffaf] POST /owner/render-welcome-pack → 200 (4ms)
30/06/2026 06:53:34 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 06:53:34 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 06:53:34 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 06:53:34 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 06:53:35 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 06:53:35 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 06:53:35 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 06:53:35 New Zealand Standard Time INFO mail-api: [832a30e9] POST /owner/render-welcome-pack → 401 (5ms)
30/06/2026 06:53:35 New Zealand Standard Time INFO mail-api: [7cdc46f2] POST /owner/render-welcome-pack → 401 (1ms)
30/06/2026 06:53:36 New Zealand Standard Time INFO mail-api: [a75ad55a] POST /owner/render-welcome-pack → 401 (1ms)
30/06/2026 06:53:38 New Zealand Standard Time INFO mail-api: [bfe88528] POST /owner/render-welcome-pack → 401 (1ms)
30/06/2026 06:53:40 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 06:53:40 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 06:53:40 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 06:53:40 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 06:53:40 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 06:53:40 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 06:53:40 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 06:53:42 New Zealand Standard Time INFO mail-api: [2fcbd5c1] POST /owner/render-welcome-pack → 401 (5ms)
30/06/2026 06:53:50 New Zealand Standard Time INFO mail-api: [eee9d591] POST /owner/render-welcome-pack → 401 (1ms)
30/06/2026 06:53:51 New Zealand Standard Time INFO mail-api: [dc8dcc5e] POST /owner/render-welcome-pack → 401 (1ms)
30/06/2026 06:55:08 New Zealand Standard Time INFO mail-api: [6107da6a] POST /owner/render-welcome-pack → 401 (1ms)
30/06/2026 06:56:11 New Zealand Standard Time INFO mail-api: [cdf62d36] GET /auth/verify → 401 (1ms)
30/06/2026 06:57:55 New Zealand Standard Time INFO mail-api: [f043d2a7] auth: code issued for email=info@goodwalk.co.nz
30/06/2026 06:57:55 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 667648
30/06/2026 06:57:55 New Zealand Standard Time INFO mail-api: [f043d2a7] POST /auth/request-code → 200 (2ms)
30/06/2026 06:58:36 New Zealand Standard Time INFO mail-api: [beeb395b] auth: session created for email=info@goodwalk.co.nz
30/06/2026 06:58:36 New Zealand Standard Time INFO mail-api: [beeb395b] POST /auth/verify-code → 200 (1ms)
30/06/2026 06:58:36 New Zealand Standard Time INFO mail-api: [679a2c01] GET /auth/verify → 200 (0ms)
30/06/2026 06:58:36 New Zealand Standard Time INFO mail-api: [24d6a2a1] GET /owner/all-clients → 200 (2ms)
30/06/2026 06:58:36 New Zealand Standard Time INFO mail-api: [7af60bb5] GET /owner/pending-onboarding → 200 (3ms)
30/06/2026 06:58:36 New Zealand Standard Time INFO mail-api: [46022f39] GET /owner/birthdays → 200 (4ms)
30/06/2026 06:58:39 New Zealand Standard Time INFO mail-api: [a2f82e89] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:00:05 New Zealand Standard Time INFO mail-api: [ff59ff88] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:00:16 New Zealand Standard Time INFO mail-api: [b6394983] GET /auth/verify → 200 (0ms)
30/06/2026 07:00:16 New Zealand Standard Time INFO mail-api: [5e7d46f3] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:00:16 New Zealand Standard Time INFO mail-api: [ac29a4dc] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:00:16 New Zealand Standard Time INFO mail-api: [940c1e1b] GET /owner/birthdays → 200 (1ms)
30/06/2026 07:00:19 New Zealand Standard Time INFO mail-api: [f28b3d91] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:00:32 New Zealand Standard Time INFO mail-api: [f089d63e] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:00:36 New Zealand Standard Time INFO mail-api: [14478f46] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:02:55 New Zealand Standard Time INFO mail-api: [ea5d9f2a] GET /auth/verify → 200 (0ms)
30/06/2026 07:02:55 New Zealand Standard Time INFO mail-api: [2acc2934] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:02:55 New Zealand Standard Time INFO mail-api: [da6f44d5] GET /owner/pending-onboarding → 200 (2ms)
30/06/2026 07:02:55 New Zealand Standard Time INFO mail-api: [3217a2f9] GET /owner/birthdays → 200 (2ms)
30/06/2026 07:02:58 New Zealand Standard Time INFO mail-api: [8eddf911] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:03:18 New Zealand Standard Time INFO mail-api: [e723f5e8] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:04:38 New Zealand Standard Time INFO mail-api: [921d03a9] GET /auth/verify → 200 (0ms)
30/06/2026 07:04:38 New Zealand Standard Time INFO mail-api: [fc0cc0b4] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:04:38 New Zealand Standard Time INFO mail-api: [a9adf982] GET /owner/all-clients → 200 (2ms)
30/06/2026 07:04:38 New Zealand Standard Time INFO mail-api: [3493e198] GET /owner/birthdays → 200 (2ms)
30/06/2026 07:04:41 New Zealand Standard Time INFO mail-api: [e36c4943] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:04:41 New Zealand Standard Time INFO mail-api: [ecd8a2d7] GET /auth/verify → 200 (0ms)
30/06/2026 07:04:41 New Zealand Standard Time INFO mail-api: [d8ce46fc] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:04:41 New Zealand Standard Time INFO mail-api: [7555a8d1] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:04:41 New Zealand Standard Time INFO mail-api: [a3ca7831] GET /owner/birthdays → 200 (1ms)
30/06/2026 07:04:42 New Zealand Standard Time INFO mail-api: [929dc138] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:04:45 New Zealand Standard Time INFO mail-api: [f1d5739c] GET /auth/verify → 200 (1ms)
30/06/2026 07:04:45 New Zealand Standard Time INFO mail-api: [24829184] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:04:45 New Zealand Standard Time INFO mail-api: [f1f82b65] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:04:45 New Zealand Standard Time INFO mail-api: [687a7a7e] GET /owner/birthdays → 200 (0ms)
30/06/2026 07:04:46 New Zealand Standard Time INFO mail-api: [3fb741d9] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:05:36 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 07:05:37 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 07:05:37 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 07:05:37 New Zealand Standard Time INFO mail-api: [1279cc45] GET /owner/resend-overview → 502 (542ms)
30/06/2026 07:05:37 New Zealand Standard Time INFO mail-api: [dcc78774] GET /owner/activity → 200 (1ms)
30/06/2026 07:05:38 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 07:05:38 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 07:05:38 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 07:05:38 New Zealand Standard Time INFO mail-api: [df85643c] GET /owner/resend-overview → 502 (233ms)
30/06/2026 07:05:43 New Zealand Standard Time INFO mail-api: [75ca2e2c] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:06:02 New Zealand Standard Time INFO mail-api: [5cdfd5d4] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:06:33 New Zealand Standard Time INFO mail-api: [87ddc765] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:06:47 New Zealand Standard Time INFO mail-api: [e7317a39] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:07:01 New Zealand Standard Time INFO mail-api: [bf7a6217] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:07:05 New Zealand Standard Time INFO mail-api: [c0b64b7b] GET /auth/verify → 200 (0ms)
30/06/2026 07:07:05 New Zealand Standard Time INFO mail-api: [e3a26eec] GET /owner/pending-onboarding → 200 (0ms)
30/06/2026 07:07:05 New Zealand Standard Time INFO mail-api: [45e9482d] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:07:05 New Zealand Standard Time INFO mail-api: [39496676] GET /owner/birthdays → 200 (1ms)
30/06/2026 07:07:06 New Zealand Standard Time INFO mail-api: [45660d34] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:07:15 New Zealand Standard Time INFO mail-api: [1d66dd1b] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:07:22 New Zealand Standard Time INFO mail-api: [2f2f455f] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:07:25 New Zealand Standard Time INFO mail-api: [36366953] GET /auth/verify → 200 (0ms)
30/06/2026 07:07:26 New Zealand Standard Time INFO mail-api: [7d742ad9] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:07:26 New Zealand Standard Time INFO mail-api: [83b6dc7d] GET /owner/all-clients → 200 (2ms)
30/06/2026 07:07:26 New Zealand Standard Time INFO mail-api: [6c1560c0] GET /owner/birthdays → 200 (2ms)
30/06/2026 07:07:27 New Zealand Standard Time INFO mail-api: [670a8c5a] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:07:54 New Zealand Standard Time INFO mail-api: [20bd4489] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:08:03 New Zealand Standard Time INFO mail-api: [b8eabac8] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:08:12 New Zealand Standard Time INFO mail-api: [2e5adc43] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:08:23 New Zealand Standard Time INFO mail-api: [911cdbfe] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:08:28 New Zealand Standard Time INFO mail-api: [7861aed7] POST /owner/render-welcome-pack → 200 (2ms)
30/06/2026 07:08:37 New Zealand Standard Time INFO mail-api: [9a1b9225] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:08:43 New Zealand Standard Time INFO mail-api: [102e3f8e] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:08:48 New Zealand Standard Time INFO mail-api: [ad586e3e] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:08:53 New Zealand Standard Time INFO mail-api: [926a06a4] GET /auth/verify → 200 (0ms)
30/06/2026 07:08:53 New Zealand Standard Time INFO mail-api: [20f2aab9] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:08:53 New Zealand Standard Time INFO mail-api: [d22b9fc3] GET /owner/all-clients → 200 (2ms)
30/06/2026 07:08:53 New Zealand Standard Time INFO mail-api: [c7029fd7] GET /owner/birthdays → 200 (2ms)
30/06/2026 07:08:55 New Zealand Standard Time INFO mail-api: [15df1f07] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:09:07 New Zealand Standard Time INFO mail-api: [c513723f] GET /auth/verify → 200 (0ms)
30/06/2026 07:09:07 New Zealand Standard Time INFO mail-api: [830f6c66] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:09:07 New Zealand Standard Time INFO mail-api: [580689b2] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:09:07 New Zealand Standard Time INFO mail-api: [a82a355d] GET /owner/birthdays → 200 (2ms)
30/06/2026 07:09:08 New Zealand Standard Time INFO mail-api: [67a01521] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:10:59 New Zealand Standard Time INFO mail-api: [a4471d4d] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:11:09 New Zealand Standard Time INFO mail-api: [25dca175] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:11:13 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 07:11:13 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 07:11:13 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 07:11:13 New Zealand Standard Time INFO mail-api: [f5c9a388] GET /owner/resend-overview → 502 (291ms)
30/06/2026 07:11:14 New Zealand Standard Time INFO mail-api: [547ddc2b] GET /owner/activity → 200 (0ms)
30/06/2026 07:11:17 New Zealand Standard Time INFO mail-api: [88af9737] GET /owner/message-templates → 200 (1ms)
30/06/2026 07:11:17 New Zealand Standard Time INFO mail-api: [582a5552] POST /owner/render-message → 200 (1ms)
30/06/2026 07:11:18 New Zealand Standard Time INFO mail-api: [8790ddd6] GET /owner/scheduled-emails → 200 (1ms)
30/06/2026 07:11:34 New Zealand Standard Time INFO mail-api: [fa63447e] GET /auth/verify → 200 (0ms)
30/06/2026 07:11:34 New Zealand Standard Time INFO mail-api: [e9bb0cb6] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:11:34 New Zealand Standard Time INFO mail-api: [047bb06b] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:11:34 New Zealand Standard Time INFO mail-api: [ab5e3044] GET /owner/birthdays → 200 (2ms)
30/06/2026 07:11:41 New Zealand Standard Time INFO mail-api: [5b103bc4] GET /auth/verify → 200 (0ms)
30/06/2026 07:11:41 New Zealand Standard Time INFO mail-api: [1230b0d3] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:11:41 New Zealand Standard Time INFO mail-api: [9a3d52bf] GET /owner/pending-onboarding → 200 (2ms)
30/06/2026 07:11:41 New Zealand Standard Time INFO mail-api: [93943eac] GET /owner/birthdays → 200 (1ms)
30/06/2026 07:11:49 New Zealand Standard Time INFO mail-api: [60e1adc0] GET /owner/message-templates → 200 (1ms)
30/06/2026 07:11:49 New Zealand Standard Time INFO mail-api: [1ae0ecca] POST /owner/render-message → 200 (1ms)
30/06/2026 07:12:20 New Zealand Standard Time INFO mail-api: [806d6b9a] GET /auth/verify → 200 (0ms)
30/06/2026 07:12:20 New Zealand Standard Time INFO mail-api: [fbb3497c] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:12:20 New Zealand Standard Time INFO mail-api: [22eabece] GET /owner/all-clients → 200 (2ms)
30/06/2026 07:12:20 New Zealand Standard Time INFO mail-api: [5775132e] GET /owner/birthdays → 200 (2ms)
30/06/2026 07:12:31 New Zealand Standard Time INFO mail-api: [87b20670] GET /owner/message-templates → 200 (1ms)
30/06/2026 07:12:31 New Zealand Standard Time INFO mail-api: [f07bb9cb] POST /owner/render-message → 200 (1ms)
30/06/2026 07:13:10 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 07:13:10 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 07:13:10 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 07:13:10 New Zealand Standard Time INFO mail-api: [661139b9] GET /owner/resend-overview → 502 (265ms)
30/06/2026 07:13:22 New Zealand Standard Time INFO mail-api: [60138d86] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:13:39 New Zealand Standard Time INFO mail-api: [4ba280d8] GET /owner/scheduled-emails → 200 (0ms)
30/06/2026 07:13:44 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 07:13:44 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 07:13:44 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 07:13:44 New Zealand Standard Time INFO mail-api: [8eb770e9] GET /owner/resend-overview → 502 (224ms)
30/06/2026 07:13:46 New Zealand Standard Time INFO mail-api: [6ec9e909] GET /owner/activity → 200 (0ms)
30/06/2026 07:13:51 New Zealand Standard Time INFO mail-api: [4f1a7800] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:14:56 New Zealand Standard Time INFO mail-api: [62c5abbc] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:15:52 New Zealand Standard Time INFO mail-api: [579385b2] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:16:05 New Zealand Standard Time INFO mail-api: [6ad78b84] GET /owner/scheduled-emails → 200 (0ms)
30/06/2026 07:16:11 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 07:16:11 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 07:16:11 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 07:16:11 New Zealand Standard Time INFO mail-api: [2c5758f2] GET /owner/resend-overview → 502 (276ms)
30/06/2026 07:16:12 New Zealand Standard Time INFO mail-api: [97a6cff1] GET /owner/activity → 200 (0ms)
30/06/2026 07:16:14 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 07:16:14 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 07:16:14 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 07:16:15 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 07:16:15 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 07:16:15 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 07:16:15 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 07:16:18 New Zealand Standard Time INFO mail-api: [4a06a35f] POST /owner/render-welcome-pack → 401 (5ms)
30/06/2026 07:16:20 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 07:16:20 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 07:16:20 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 07:16:20 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 07:16:20 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 07:16:20 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 07:16:20 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 07:16:25 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 07:16:25 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 07:16:25 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 07:16:25 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 07:16:25 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 07:16:25 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 07:16:25 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 07:16:33 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 07:16:33 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 07:16:33 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 07:16:33 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 07:16:33 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 07:16:33 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 07:16:33 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 07:16:34 New Zealand Standard Time INFO mail-api: [4930d2bc] POST /owner/render-welcome-pack → 401 (5ms)
30/06/2026 07:16:37 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 07:16:37 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 07:16:37 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 07:16:38 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 07:16:38 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 07:16:38 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 07:16:38 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 07:16:48 New Zealand Standard Time INFO mail-api: [d8f06c5f] POST /owner/render-welcome-pack → 401 (7ms)
30/06/2026 07:16:56 New Zealand Standard Time INFO mail-api: [39e076e7] GET /auth/verify → 401 (1ms)
30/06/2026 07:17:00 New Zealand Standard Time INFO mail-api: [d0116640] auth: code issued for email=info@goodwalk.co.nz
30/06/2026 07:17:00 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 171483
30/06/2026 07:17:00 New Zealand Standard Time INFO mail-api: [d0116640] POST /auth/request-code → 200 (2ms)
30/06/2026 07:17:08 New Zealand Standard Time WARNING mail-api: [078165bf] auth: invalid email payload ip=127.0.0.1 body={'email': '171483'} normalized_email='171483'
30/06/2026 07:17:08 New Zealand Standard Time INFO mail-api: [078165bf] POST /auth/request-code → 400 (1ms)
30/06/2026 07:17:36 New Zealand Standard Time INFO mail-api: [0599517b] auth: code issued for email=info@goodwalk.co.nz
30/06/2026 07:17:36 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 193440
30/06/2026 07:17:36 New Zealand Standard Time INFO mail-api: [0599517b] POST /auth/request-code → 200 (1ms)
30/06/2026 07:17:42 New Zealand Standard Time WARNING mail-api: [5b4bc327] auth: invalid email payload ip=127.0.0.1 body={'email': '193440'} normalized_email='193440'
30/06/2026 07:17:42 New Zealand Standard Time INFO mail-api: [5b4bc327] POST /auth/request-code → 400 (1ms)
30/06/2026 07:17:46 New Zealand Standard Time INFO mail-api: [92d6fa07] auth: code issued for email=info@goodwalk.co.nz
30/06/2026 07:17:46 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 910184
30/06/2026 07:17:46 New Zealand Standard Time INFO mail-api: [92d6fa07] POST /auth/request-code → 200 (1ms)
30/06/2026 07:17:51 New Zealand Standard Time INFO mail-api: [2d565dcc] auth: session created for email=info@goodwalk.co.nz
30/06/2026 07:17:51 New Zealand Standard Time INFO mail-api: [2d565dcc] POST /auth/verify-code → 200 (1ms)
30/06/2026 07:17:51 New Zealand Standard Time INFO mail-api: [95b9dbbc] GET /auth/verify → 200 (0ms)
30/06/2026 07:17:51 New Zealand Standard Time INFO mail-api: [f60b5e44] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:17:51 New Zealand Standard Time INFO mail-api: [0e3d9efb] GET /owner/all-clients → 200 (4ms)
30/06/2026 07:17:51 New Zealand Standard Time INFO mail-api: [850a7017] GET /owner/birthdays → 200 (5ms)
30/06/2026 07:17:52 New Zealand Standard Time INFO mail-api: [fce08e8f] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:18:36 New Zealand Standard Time INFO mail-api: [ac76a004] GET /auth/verify → 200 (0ms)
30/06/2026 07:18:36 New Zealand Standard Time INFO mail-api: [e11cf8f4] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:18:36 New Zealand Standard Time INFO mail-api: [2b25010d] GET /owner/pending-onboarding → 200 (2ms)
30/06/2026 07:18:36 New Zealand Standard Time INFO mail-api: [5ea66e6a] GET /owner/birthdays → 200 (2ms)
30/06/2026 07:18:39 New Zealand Standard Time INFO mail-api: [cd5101f8] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:18:53 New Zealand Standard Time INFO mail-api: [a6b8f967] GET /auth/verify → 200 (0ms)
30/06/2026 07:18:53 New Zealand Standard Time INFO mail-api: [4ca11db6] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:18:53 New Zealand Standard Time INFO mail-api: [3824fc7c] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:18:53 New Zealand Standard Time INFO mail-api: [c48a29c9] GET /owner/birthdays → 200 (2ms)
30/06/2026 07:18:55 New Zealand Standard Time INFO mail-api: [247fd893] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:19:12 New Zealand Standard Time INFO mail-api: [10c406ac] GET /auth/verify → 200 (0ms)
30/06/2026 07:19:12 New Zealand Standard Time INFO mail-api: [e0327971] GET /owner/pending-onboarding → 200 (0ms)
30/06/2026 07:19:12 New Zealand Standard Time INFO mail-api: [89bfbf2a] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:19:12 New Zealand Standard Time INFO mail-api: [1492068a] GET /owner/birthdays → 200 (1ms)
30/06/2026 07:19:13 New Zealand Standard Time INFO mail-api: [3738c265] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:27:31 New Zealand Standard Time INFO mail-api: [351b908f] GET /auth/verify → 200 (0ms)
30/06/2026 07:27:31 New Zealand Standard Time INFO mail-api: [f404805c] GET /owner/pending-onboarding → 200 (0ms)
30/06/2026 07:27:31 New Zealand Standard Time INFO mail-api: [b7fc9047] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:27:31 New Zealand Standard Time INFO mail-api: [777da20b] GET /owner/birthdays → 200 (1ms)
30/06/2026 07:27:36 New Zealand Standard Time INFO mail-api: [322a3894] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:27:46 New Zealand Standard Time INFO mail-api: [4a5361bd] GET /auth/verify → 200 (0ms)
30/06/2026 07:27:46 New Zealand Standard Time INFO mail-api: [0c58d088] GET /owner/pending-onboarding → 200 (0ms)
30/06/2026 07:27:46 New Zealand Standard Time INFO mail-api: [de77d459] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:27:46 New Zealand Standard Time INFO mail-api: [7582af97] GET /owner/birthdays → 200 (1ms)
30/06/2026 07:27:51 New Zealand Standard Time INFO mail-api: [7be4a768] GET /auth/verify → 200 (1ms)
30/06/2026 07:27:51 New Zealand Standard Time INFO mail-api: [cf10f220] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:27:51 New Zealand Standard Time INFO mail-api: [8fe98432] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:27:51 New Zealand Standard Time INFO mail-api: [bf1f10f4] GET /owner/birthdays → 200 (1ms)
30/06/2026 07:27:55 New Zealand Standard Time INFO mail-api: [7448989f] GET /auth/verify → 200 (0ms)
30/06/2026 07:27:55 New Zealand Standard Time INFO mail-api: [e62efcfa] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:27:55 New Zealand Standard Time INFO mail-api: [3d734aa8] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:27:55 New Zealand Standard Time INFO mail-api: [c5543d2b] GET /owner/birthdays → 200 (1ms)
30/06/2026 07:28:05 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 07:28:05 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 07:28:05 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 07:28:05 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 07:28:05 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 07:28:05 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 07:28:05 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 07:28:10 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 07:28:10 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 07:28:10 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 07:28:10 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 07:28:10 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 07:28:10 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 07:28:10 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 07:28:15 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 07:28:15 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 07:28:15 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 07:28:15 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 07:28:15 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 07:28:15 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 07:28:15 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 07:28:20 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 07:28:20 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 07:28:20 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 07:28:20 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 07:28:20 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 07:28:20 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 07:28:20 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 07:28:24 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 07:28:24 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 07:28:24 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 07:28:24 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 07:28:24 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 07:28:24 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 07:28:24 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 07:28:29 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 07:28:29 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 07:28:29 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 07:28:29 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 07:28:30 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 07:28:30 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 07:28:30 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 07:33:14 New Zealand Standard Time INFO mail-api: [f48aeb51] GET /auth/verify → 401 (2ms)
30/06/2026 07:33:18 New Zealand Standard Time INFO mail-api: [e32306d6] auth: code issued for email=info@goodwalk.co.nz
30/06/2026 07:33:18 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 593879
30/06/2026 07:33:18 New Zealand Standard Time INFO mail-api: [e32306d6] POST /auth/request-code → 200 (2ms)
30/06/2026 07:33:30 New Zealand Standard Time INFO mail-api: [fdebb3c5] auth: session created for email=info@goodwalk.co.nz
30/06/2026 07:33:30 New Zealand Standard Time INFO mail-api: [fdebb3c5] POST /auth/verify-code → 200 (2ms)
30/06/2026 07:33:30 New Zealand Standard Time INFO mail-api: [518f6399] GET /auth/verify → 200 (0ms)
30/06/2026 07:33:30 New Zealand Standard Time INFO mail-api: [96634d7b] GET /owner/all-clients → 200 (3ms)
30/06/2026 07:33:30 New Zealand Standard Time INFO mail-api: [ed47d5e5] GET /owner/pending-onboarding → 200 (3ms)
30/06/2026 07:33:30 New Zealand Standard Time INFO mail-api: [135596c8] GET /owner/birthdays → 200 (3ms)
30/06/2026 07:33:33 New Zealand Standard Time INFO mail-api: [254e6682] POST /owner/render-welcome-pack → 200 (4ms)
30/06/2026 07:33:44 New Zealand Standard Time INFO mail-api: [b3c13212] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:33:53 New Zealand Standard Time INFO mail-api: [641275e3] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:34:53 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 07:34:53 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 07:34:53 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 07:34:53 New Zealand Standard Time INFO mail-api: [05736c4b] GET /owner/resend-overview → 502 (442ms)
30/06/2026 07:35:26 New Zealand Standard Time INFO mail-api: [8e692e58] GET /owner/client-onboarding-view → 200 (8ms)
30/06/2026 07:36:44 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 07:36:44 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 07:36:44 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 07:36:44 New Zealand Standard Time INFO mail-api: [d6f2986a] GET /owner/resend-overview → 502 (279ms)
30/06/2026 07:36:53 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 07:36:53 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 07:36:53 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 07:36:53 New Zealand Standard Time INFO mail-api: [89c609fa] GET /owner/resend-overview → 502 (219ms)
30/06/2026 07:36:59 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 07:37:00 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 07:37:00 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 07:37:00 New Zealand Standard Time INFO mail-api: [e9bddfda] GET /owner/resend-overview → 502 (329ms)
30/06/2026 07:37:31 New Zealand Standard Time INFO mail-api: [a167e825] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:38:02 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 07:38:02 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 07:38:02 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 07:38:02 New Zealand Standard Time INFO mail-api: [5e5389bd] GET /owner/resend-overview → 502 (269ms)
30/06/2026 07:38:02 New Zealand Standard Time INFO mail-api: [6e218709] GET /owner/activity → 200 (1ms)
30/06/2026 07:40:37 New Zealand Standard Time INFO mail-api: [b3ae058d] GET /auth/verify → 200 (0ms)
30/06/2026 07:40:37 New Zealand Standard Time INFO mail-api: [921d1def] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:40:37 New Zealand Standard Time INFO mail-api: [2a1debea] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:40:37 New Zealand Standard Time INFO mail-api: [58fd4785] GET /owner/birthdays → 200 (0ms)
30/06/2026 07:40:40 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 07:40:40 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 07:40:40 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 07:40:40 New Zealand Standard Time INFO mail-api: [d1efc39f] GET /owner/resend-overview → 502 (317ms)
30/06/2026 07:40:40 New Zealand Standard Time INFO mail-api: [e0edeb68] GET /owner/activity → 200 (0ms)
30/06/2026 07:40:44 New Zealand Standard Time INFO mail-api: [dc5298c3] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 07:40:49 New Zealand Standard Time INFO mail-api: [5c23b10e] GET /owner/client-onboarding-view → 200 (1ms)
30/06/2026 07:41:22 New Zealand Standard Time INFO mail-api: [cb520ef7] GET /owner/message-templates → 200 (1ms)
30/06/2026 07:41:22 New Zealand Standard Time INFO mail-api: [7e7fb306] POST /owner/render-message → 200 (1ms)
30/06/2026 07:41:23 New Zealand Standard Time INFO mail-api: [5006b671] GET /owner/scheduled-emails → 200 (1ms)
30/06/2026 07:41:26 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 07:41:26 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 07:41:26 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 07:41:26 New Zealand Standard Time INFO mail-api: [3d107a24] GET /owner/resend-overview → 502 (221ms)
30/06/2026 07:41:28 New Zealand Standard Time INFO mail-api: [70917493] GET /owner/activity → 200 (0ms)
30/06/2026 07:44:20 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 07:44:20 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 07:44:20 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 07:44:20 New Zealand Standard Time INFO mail-api: [868659f2] GET /owner/resend-overview → 502 (302ms)
30/06/2026 07:44:21 New Zealand Standard Time INFO mail-api: [1daa2ac9] GET /owner/activity → 200 (0ms)
30/06/2026 07:46:26 New Zealand Standard Time INFO mail-api: [627bcf56] GET /auth/verify → 200 (0ms)
30/06/2026 07:46:26 New Zealand Standard Time INFO mail-api: [78f3e3a3] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:46:26 New Zealand Standard Time INFO mail-api: [25e5735a] GET /owner/all-clients → 200 (2ms)
30/06/2026 07:46:26 New Zealand Standard Time INFO mail-api: [ed18760e] GET /owner/birthdays → 200 (1ms)
30/06/2026 07:46:35 New Zealand Standard Time INFO mail-api: [cda74c66] GET /auth/verify → 200 (0ms)
30/06/2026 07:46:35 New Zealand Standard Time INFO mail-api: [df89c08f] GET /owner/pending-onboarding → 200 (0ms)
30/06/2026 07:46:35 New Zealand Standard Time INFO mail-api: [273c6fb7] GET /owner/all-clients → 200 (1ms)
30/06/2026 07:46:35 New Zealand Standard Time INFO mail-api: [b2e8f2aa] GET /owner/birthdays → 200 (1ms)
30/06/2026 07:46:59 New Zealand Standard Time INFO mail-api: [3c01d0e3] GET /auth/verify → 200 (0ms)
30/06/2026 07:46:59 New Zealand Standard Time INFO mail-api: [0d747a2c] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 07:46:59 New Zealand Standard Time INFO mail-api: [39e9e78c] GET /owner/birthdays → 200 (1ms)
30/06/2026 07:46:59 New Zealand Standard Time INFO mail-api: [aefce259] GET /owner/all-clients → 200 (2ms)
30/06/2026 08:43:01 New Zealand Standard Time INFO mail-api: [e99e115a] GET /auth/verify → 200 (0ms)
30/06/2026 08:43:01 New Zealand Standard Time INFO mail-api: [adf59046] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 08:43:01 New Zealand Standard Time INFO mail-api: [a412d922] GET /owner/all-clients → 200 (1ms)
30/06/2026 08:43:01 New Zealand Standard Time INFO mail-api: [28e7d67c] GET /owner/birthdays → 200 (1ms)
30/06/2026 08:43:36 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 08:43:36 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 08:43:36 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 08:43:36 New Zealand Standard Time INFO mail-api: [9f47634b] GET /owner/resend-overview → 502 (365ms)
30/06/2026 08:43:36 New Zealand Standard Time INFO mail-api: [4d9b7c04] GET /owner/activity → 200 (0ms)
30/06/2026 08:44:00 New Zealand Standard Time DEBUG urllib3.connectionpool: Starting new HTTPS connection (1): api.resend.com:443
30/06/2026 08:44:00 New Zealand Standard Time DEBUG urllib3.connectionpool: https://api.resend.com:443 "GET /emails?limit=50 HTTP/1.1" 400 75
30/06/2026 08:44:00 New Zealand Standard Time WARNING mail-api: owner_resend_overview failed: API key is invalid
Traceback (most recent call last):
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\main.py", line 4066, in owner_resend_overview
emails_result = await asyncio.to_thread(resend.Emails.list, {"limit": limit})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\asyncio\threads.py", line 26, in to_thread
return await loop.run_in_executor(None, func_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 86, in run
result = ctx.run(self.task)
File "C:\Users\mattc\AppData\Local\Programs\Python\Python314\Lib\concurrent\futures\thread.py", line 73, in run
return fn(*args, **kwargs)
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\emails\_emails.py", line 368, in list
).perform_with_content()
~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 49, in perform_with_content
resp = self.perform()
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\request.py", line 37, in perform
raise_for_code_and_type(
~~~~~~~~~~~~~~~~~~~~~~~^
code=data.get("statusCode") or 500,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
headers=self._response_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\mattc\gw-svelte\gw-svelte\mail-api\.venv\Lib\site-packages\resend\exceptions.py", line 263, in raise_for_code_and_type
raise error_from_list(
...<4 lines>...
)
resend.exceptions.ValidationError: API key is invalid
30/06/2026 08:44:00 New Zealand Standard Time INFO mail-api: [da779846] GET /owner/resend-overview → 502 (239ms)
30/06/2026 08:44:03 New Zealand Standard Time INFO mail-api: [0b281d7b] GET /owner/activity → 200 (0ms)
30/06/2026 08:44:18 New Zealand Standard Time INFO mail-api: [ea86b8a3] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 09:24:19 New Zealand Standard Time INFO mail-api: [ac1bdf25] GET /auth/verify → 200 (0ms)
30/06/2026 09:24:19 New Zealand Standard Time INFO mail-api: [178fdba9] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 09:24:19 New Zealand Standard Time INFO mail-api: [ecd010de] GET /owner/all-clients → 200 (2ms)
30/06/2026 09:24:19 New Zealand Standard Time INFO mail-api: [3ec6bb29] GET /owner/birthdays → 200 (1ms)
30/06/2026 09:24:22 New Zealand Standard Time INFO mail-api: [b3eb6d85] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 10:11:23 New Zealand Standard Time INFO mail-api: [e624d0fd] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 10:13:35 New Zealand Standard Time INFO mail-api: [fb6be074] GET /auth/verify → 200 (0ms)
30/06/2026 10:13:35 New Zealand Standard Time INFO mail-api: [763fe49b] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 10:13:35 New Zealand Standard Time INFO mail-api: [bc0d0278] GET /owner/all-clients → 200 (1ms)
30/06/2026 10:13:35 New Zealand Standard Time INFO mail-api: [0587b40e] GET /owner/birthdays → 200 (2ms)
30/06/2026 10:13:37 New Zealand Standard Time INFO mail-api: [e2fe41f1] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 10:13:48 New Zealand Standard Time INFO mail-api: [6bd9ede2] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 10:15:32 New Zealand Standard Time INFO mail-api: [6f9f9a9d] GET /auth/verify → 200 (0ms)
30/06/2026 10:15:32 New Zealand Standard Time INFO mail-api: [00404615] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 10:15:32 New Zealand Standard Time INFO mail-api: [242e702c] GET /owner/all-clients → 200 (1ms)
30/06/2026 10:15:32 New Zealand Standard Time INFO mail-api: [3b0876ad] GET /owner/birthdays → 200 (1ms)
30/06/2026 10:15:34 New Zealand Standard Time INFO mail-api: [24556ab5] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 10:15:46 New Zealand Standard Time INFO mail-api: [0e28cbfd] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 10:15:48 New Zealand Standard Time INFO mail-api: [1e39d55e] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 10:15:52 New Zealand Standard Time INFO mail-api: [88a9d786] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 10:17:23 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 10:17:23 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 10:17:23 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 10:17:23 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 10:17:23 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 10:17:23 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 10:17:23 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 10:17:28 New Zealand Standard Time INFO mail-api: Logging initialised -> console=INFO, file=logs\mail-api.log (DEBUG, rotating)
30/06/2026 10:17:28 New Zealand Standard Time INFO mail-api: Mail API config: version='unknown' timezone='system-default' from='GoodWalk <info@goodwalk.co.nz>' reply_to='info@goodwalk.co.nz' owner='info@goodwalk.co.nz' cp_admins=['info@goodwalk.co.nz'] owner_bcc='' client_bcc='' general_enquiries=False max_attempts=3 form_min=1s form_max=7200s rate_window=900s per_ip=50 per_email=50 min_interval=1s send_timeout=20s
30/06/2026 10:17:28 New Zealand Standard Time INFO mail-api: MYOB integration: disabled (set MYOB_* env vars to enable)
30/06/2026 10:17:28 New Zealand Standard Time INFO mail-api: Auth: loaded 3 allowed email(s)
30/06/2026 10:17:29 New Zealand Standard Time ERROR mail-api: Startup smoke: WeasyPrint UNAVAILABLE — PDF attachments will be skipped (cannot load library 'libgobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0')
30/06/2026 10:17:29 New Zealand Standard Time WARNING mail-api: Startup smoke: postgres disabled — activity/submissions will NOT be recorded
30/06/2026 10:17:29 New Zealand Standard Time INFO mail-api: Startup test email skipped: OWNER_BCC is not set to a real address
30/06/2026 10:26:12 New Zealand Standard Time INFO mail-api: [32629ddd] POST /owner/render-welcome-pack → 401 (7ms)
30/06/2026 10:26:22 New Zealand Standard Time INFO mail-api: [cb8eda7f] POST /owner/render-welcome-pack → 401 (1ms)
30/06/2026 10:26:23 New Zealand Standard Time INFO mail-api: [406a59ad] POST /owner/render-welcome-pack → 401 (1ms)
30/06/2026 10:27:25 New Zealand Standard Time INFO mail-api: [37bfb860] POST /owner/render-welcome-pack → 401 (1ms)
30/06/2026 10:39:09 New Zealand Standard Time INFO mail-api: [b8510d24] GET /auth/verify → 401 (1ms)
30/06/2026 10:39:24 New Zealand Standard Time INFO mail-api: [1379586b] auth: code issued for email=info@goodwalk.co.nz
30/06/2026 10:39:24 New Zealand Standard Time WARNING mail-api: [DEV] auth code for info@goodwalk.co.nz: 946936
30/06/2026 10:39:24 New Zealand Standard Time INFO mail-api: [1379586b] POST /auth/request-code → 200 (2ms)
30/06/2026 10:39:53 New Zealand Standard Time INFO mail-api: [762fd607] auth: session created for email=info@goodwalk.co.nz
30/06/2026 10:39:53 New Zealand Standard Time INFO mail-api: [762fd607] POST /auth/verify-code → 200 (2ms)
30/06/2026 10:39:53 New Zealand Standard Time INFO mail-api: [374263f8] GET /auth/verify → 200 (0ms)
30/06/2026 10:39:53 New Zealand Standard Time INFO mail-api: [a05969d1] GET /owner/pending-onboarding → 200 (1ms)
30/06/2026 10:39:53 New Zealand Standard Time INFO mail-api: [fdbef4e9] GET /owner/birthdays → 200 (6ms)
30/06/2026 10:39:53 New Zealand Standard Time INFO mail-api: [b05ef8db] GET /owner/all-clients → 200 (7ms)
30/06/2026 10:40:00 New Zealand Standard Time INFO mail-api: [71b1d28b] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 10:40:07 New Zealand Standard Time INFO mail-api: [3572a80f] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 10:40:08 New Zealand Standard Time INFO mail-api: [15124f03] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 10:40:10 New Zealand Standard Time INFO mail-api: [915648f5] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 10:40:17 New Zealand Standard Time INFO mail-api: [4154ad03] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 10:40:21 New Zealand Standard Time INFO mail-api: [cbbbef97] POST /owner/render-welcome-pack → 200 (1ms)
30/06/2026 10:40:49 New Zealand Standard Time INFO mail-api: [e1a1536e] GET /owner/activity → 200 (1ms)
30/06/2026 10:40:51 New Zealand Standard Time INFO mail-api: [55f73f7e] POST /auth/logout → 200 (1ms)