[GH-ISSUE #1693] can't change expiration time of an access toke #1179

Closed
opened 2026-05-07 00:30:51 +02:00 by BreizhHardware · 1 comment

Originally created by @lastsamurai26 on GitHub (Apr 9, 2026).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1693

🐞 Describe the bug
I can't change the expiration time of an access token via the web GUI -> I can only set the expiration in days, but not set it to “infinite”

💻 Components impacted
self host ntfy Server and Web Gui (lastest version)

💡 Screenshots and/or logs

{"time":"2026-04-09T12:17:53.976+02:00","level":"TRACE","message":"HTTP request started","http_method":"PATCH","http_path":"/v1/account/token","http_request":"PATCH /v1/account/token HTTP/1.1\nX-Forwarded-Scheme: https\nX-Forwarded-Proto: https\nX-Forwarded-For: 185.150.xx.xx\nContent-Length: 75\nContent-Type: text/plain;charset=UTF-8\nSec-Fetch-Site: same-origin\nAccept-Encoding: gzip, deflate, br, zstd\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36\nAccept: */*\nOrigin: https://notify.domain.me\nSec-Fetch-Mode: cors\nPriority: u=1, i\nX-Real-Ip: 185.150.xx.xx\nAuthorization: Bearer tk_1dprbhnldo382ay4t4x144116asuy\nSec-Ch-Ua: \"Chromium\";v=\"146\", \"Not-A.Brand\";v=\"24\", \"Google Chrome\";v=\"146\"\nSec-Fetch-Dest: empty\nReferer: https://notify.domain.me/account\nAccept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7\nSec-Ch-Ua-Platform: \"Windows\"\nDnt: 1\nSec-Ch-Ua-Mobile: ?0\nCookie: cf_clearance=54SyUYorjjWVhKRuggm.psN2qfAjeukytVGmRQ74VAg-1775660931-1.2.1.1-EFFRX.jI6sxgmgyWa2T1S4sg.DiPuOK5qSVGG1DQwUr6H6I6Lcu6B5CC4mwA3fmXHiuAbg02W06X9KNBY.sVXWpNDbl6teWdAXaNAFQG26YSu9THzOUYwMgKDpZg3W8UyCFNWe_o.ia6uGOyY8Jw7NCCmEErN.tblH6PQ_IzKpwuxrb2JUjFQtMOMwiP1mr2I6BwwMWV9ClV7guN9B61eWD623a3_.bARD2kuGaMdCpNewRLcda9ATMrM0jturKFqWO.YKSKyRrC570sntJFnfKFEz3T8P9gCQe8u1sEPr7fxBfqWfn9In8Y.AtKGDj2eRGZGF0wvvs24R0ydSaNOA\n\n{\"token\":\"tk_kxszi1w3zs2o7lly53kg757o8265m\",\"label\":\"cdn  / diun / pihole\"}","tag":"http","user_id":"u_9xxxKyjk","user_name":"pilz","visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_seen":"2026-04-09T12:17:53.976+02:00"}
{"time":"2026-04-09T12:17:53.976+02:00","level":"DEBUG","message":"Updating token for user pilz as deleted","http_method":"PATCH","http_path":"/v1/account/token","tag":"account","token_expires":null,"token_label":"cdn  / diun / pihole","user_id":"u_9xxxKyjk","user_name":"pilz","visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_seen":"2026-04-09T12:17:53.976+02:00"}
{"time":"2026-04-09T12:17:53.977+02:00","level":"TRACE","message":"Publishing sync event to user's sync topic","sync_topic":"st_Oq8i3i3gr9eeP","user_id":"u_9xxxKyjk","user_name":"pilz","visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_seen":"2026-04-09T12:17:53.976+02:00"}
{"time":"2026-04-09T12:17:53.977+02:00","level":"DEBUG","message":"Forwarding to 1 subscriber(s)","message_body_size":16,"message_event":"message","message_id":"LuLS69fv2PbZ","message_sequence_id":"","message_time":1775729873,"tag":"publish","topic":"st_Oq8i3i3gr9eeP","user_id":"u_9xxxKyjk","user_name":"pilz","visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_seen":"2026-04-09T12:17:53.976+02:00"}
{"time":"2026-04-09T12:17:53.976+02:00","level":"DEBUG","message":"HTTP request finished","http_method":"PATCH","http_path":"/v1/account/token","tag":"http","time_taken_ms":1,"user_id":"u_9xxxKyjk","user_name":"pilz","visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_seen":"2026-04-09T12:17:53.976+02:00"}
{"time":"2026-04-09T12:17:53.999+02:00","level":"TRACE","message":"HTTP request started","http_method":"GET","http_path":"/v1/account","http_request":"GET /v1/account HTTP/1.1\nX-Forwarded-Proto: https\nX-Forwarded-For: 185.150.xx.xx\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36\nAccept: */*\nReferer: https://notify.domain.me/account\nAccept-Encoding: gzip, deflate, br, zstd\nX-Real-Ip: 185.150.xx.xx\nSec-Fetch-Mode: cors\nSec-Fetch-Dest: empty\nCookie: cf_clearance=54SyUYorjjWVhKRuggm.psN2qfAjeukytVGmRQ74VAg-1775660931-1.2.1.1-EFFRX.jI6sxgmgyWa2T1S4sg.DiPuOK5qSVGG1DQwUr6H6I6Lcu6B5CC4mwA3fmXHiuAbg02W06X9KNBY.sVXWpNDbl6teWdAXaNAFQG26YSu9THzOUYwMgKDpZg3W8UyCFNWe_o.ia6uGOyY8Jw7NCCmEErN.tblH6PQ_IzKpwuxrb2JUjFQtMOMwiP1mr2I6BwwMWV9ClV7guN9B61eWD623a3_.bARD2kuGaMdCpNewRLcda9ATMrM0jturKFqWO.YKSKyRrC570sntJFnfKFEz3T8P9gCQe8u1sEPr7fxBfqWfn9In8Y.AtKGDj2eRGZGF0wvvs24R0ydSaNOA\nX-Forwarded-Scheme: https\nSec-Ch-Ua-Platform: \"Windows\"\nAuthorization: Bearer tk_1dprbhnldo382ay4t4x144116asuy\nSec-Ch-Ua: \"Chromium\";v=\"146\", \"Not-A.Brand\";v=\"24\", \"Google Chrome\";v=\"146\"\nDnt: 1\nSec-Ch-Ua-Mobile: ?0\nSec-Fetch-Site: same-origin\nAccept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7\nPriority: u=1, i","tag":"http","user_id":"u_9xxxKyjk","user_name":"pilz","visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_seen":"2026-04-09T12:17:53.999+02:00"}
{"time":"2026-04-09T12:17:53.999+02:00","level":"DEBUG","message":"Retrieving account stats","http_method":"GET","http_path":"/v1/account","tag":"account","user_id":"u_9xxxKyjk","user_name":"pilz","visitor_attachment_total_size":11052,"visitor_attachment_total_size_limit":104857600,"visitor_attachment_total_size_remaining":104846548,"visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_reservations":0,"visitor_reservations_limit":0,"visitor_reservations_remaining":0,"visitor_seen":"2026-04-09T12:17:53.999+02:00"}
{"time":"2026-04-09T12:17:53.999+02:00","level":"DEBUG","message":"HTTP request finished","http_method":"GET","http_path":"/v1/account","tag":"http","time_taken_ms":0,"user_id":"u_9xxxKyjk","user_name":"pilz","visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_seen":"2026-04-09T12:17:53.999+02:00"}

🔮 Additional context

Originally created by @lastsamurai26 on GitHub (Apr 9, 2026). Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1693 :lady_beetle: **Describe the bug** I can't change the expiration time of an access token via the web GUI -> I can only set the expiration in days, but not set it to “infinite” :computer: **Components impacted** self host ntfy Server and Web Gui (lastest version) :bulb: **Screenshots and/or logs** ``` {"time":"2026-04-09T12:17:53.976+02:00","level":"TRACE","message":"HTTP request started","http_method":"PATCH","http_path":"/v1/account/token","http_request":"PATCH /v1/account/token HTTP/1.1\nX-Forwarded-Scheme: https\nX-Forwarded-Proto: https\nX-Forwarded-For: 185.150.xx.xx\nContent-Length: 75\nContent-Type: text/plain;charset=UTF-8\nSec-Fetch-Site: same-origin\nAccept-Encoding: gzip, deflate, br, zstd\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36\nAccept: */*\nOrigin: https://notify.domain.me\nSec-Fetch-Mode: cors\nPriority: u=1, i\nX-Real-Ip: 185.150.xx.xx\nAuthorization: Bearer tk_1dprbhnldo382ay4t4x144116asuy\nSec-Ch-Ua: \"Chromium\";v=\"146\", \"Not-A.Brand\";v=\"24\", \"Google Chrome\";v=\"146\"\nSec-Fetch-Dest: empty\nReferer: https://notify.domain.me/account\nAccept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7\nSec-Ch-Ua-Platform: \"Windows\"\nDnt: 1\nSec-Ch-Ua-Mobile: ?0\nCookie: cf_clearance=54SyUYorjjWVhKRuggm.psN2qfAjeukytVGmRQ74VAg-1775660931-1.2.1.1-EFFRX.jI6sxgmgyWa2T1S4sg.DiPuOK5qSVGG1DQwUr6H6I6Lcu6B5CC4mwA3fmXHiuAbg02W06X9KNBY.sVXWpNDbl6teWdAXaNAFQG26YSu9THzOUYwMgKDpZg3W8UyCFNWe_o.ia6uGOyY8Jw7NCCmEErN.tblH6PQ_IzKpwuxrb2JUjFQtMOMwiP1mr2I6BwwMWV9ClV7guN9B61eWD623a3_.bARD2kuGaMdCpNewRLcda9ATMrM0jturKFqWO.YKSKyRrC570sntJFnfKFEz3T8P9gCQe8u1sEPr7fxBfqWfn9In8Y.AtKGDj2eRGZGF0wvvs24R0ydSaNOA\n\n{\"token\":\"tk_kxszi1w3zs2o7lly53kg757o8265m\",\"label\":\"cdn / diun / pihole\"}","tag":"http","user_id":"u_9xxxKyjk","user_name":"pilz","visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_seen":"2026-04-09T12:17:53.976+02:00"} {"time":"2026-04-09T12:17:53.976+02:00","level":"DEBUG","message":"Updating token for user pilz as deleted","http_method":"PATCH","http_path":"/v1/account/token","tag":"account","token_expires":null,"token_label":"cdn / diun / pihole","user_id":"u_9xxxKyjk","user_name":"pilz","visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_seen":"2026-04-09T12:17:53.976+02:00"} {"time":"2026-04-09T12:17:53.977+02:00","level":"TRACE","message":"Publishing sync event to user's sync topic","sync_topic":"st_Oq8i3i3gr9eeP","user_id":"u_9xxxKyjk","user_name":"pilz","visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_seen":"2026-04-09T12:17:53.976+02:00"} {"time":"2026-04-09T12:17:53.977+02:00","level":"DEBUG","message":"Forwarding to 1 subscriber(s)","message_body_size":16,"message_event":"message","message_id":"LuLS69fv2PbZ","message_sequence_id":"","message_time":1775729873,"tag":"publish","topic":"st_Oq8i3i3gr9eeP","user_id":"u_9xxxKyjk","user_name":"pilz","visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_seen":"2026-04-09T12:17:53.976+02:00"} {"time":"2026-04-09T12:17:53.976+02:00","level":"DEBUG","message":"HTTP request finished","http_method":"PATCH","http_path":"/v1/account/token","tag":"http","time_taken_ms":1,"user_id":"u_9xxxKyjk","user_name":"pilz","visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_seen":"2026-04-09T12:17:53.976+02:00"} {"time":"2026-04-09T12:17:53.999+02:00","level":"TRACE","message":"HTTP request started","http_method":"GET","http_path":"/v1/account","http_request":"GET /v1/account HTTP/1.1\nX-Forwarded-Proto: https\nX-Forwarded-For: 185.150.xx.xx\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36\nAccept: */*\nReferer: https://notify.domain.me/account\nAccept-Encoding: gzip, deflate, br, zstd\nX-Real-Ip: 185.150.xx.xx\nSec-Fetch-Mode: cors\nSec-Fetch-Dest: empty\nCookie: cf_clearance=54SyUYorjjWVhKRuggm.psN2qfAjeukytVGmRQ74VAg-1775660931-1.2.1.1-EFFRX.jI6sxgmgyWa2T1S4sg.DiPuOK5qSVGG1DQwUr6H6I6Lcu6B5CC4mwA3fmXHiuAbg02W06X9KNBY.sVXWpNDbl6teWdAXaNAFQG26YSu9THzOUYwMgKDpZg3W8UyCFNWe_o.ia6uGOyY8Jw7NCCmEErN.tblH6PQ_IzKpwuxrb2JUjFQtMOMwiP1mr2I6BwwMWV9ClV7guN9B61eWD623a3_.bARD2kuGaMdCpNewRLcda9ATMrM0jturKFqWO.YKSKyRrC570sntJFnfKFEz3T8P9gCQe8u1sEPr7fxBfqWfn9In8Y.AtKGDj2eRGZGF0wvvs24R0ydSaNOA\nX-Forwarded-Scheme: https\nSec-Ch-Ua-Platform: \"Windows\"\nAuthorization: Bearer tk_1dprbhnldo382ay4t4x144116asuy\nSec-Ch-Ua: \"Chromium\";v=\"146\", \"Not-A.Brand\";v=\"24\", \"Google Chrome\";v=\"146\"\nDnt: 1\nSec-Ch-Ua-Mobile: ?0\nSec-Fetch-Site: same-origin\nAccept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7\nPriority: u=1, i","tag":"http","user_id":"u_9xxxKyjk","user_name":"pilz","visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_seen":"2026-04-09T12:17:53.999+02:00"} {"time":"2026-04-09T12:17:53.999+02:00","level":"DEBUG","message":"Retrieving account stats","http_method":"GET","http_path":"/v1/account","tag":"account","user_id":"u_9xxxKyjk","user_name":"pilz","visitor_attachment_total_size":11052,"visitor_attachment_total_size_limit":104857600,"visitor_attachment_total_size_remaining":104846548,"visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_reservations":0,"visitor_reservations_limit":0,"visitor_reservations_remaining":0,"visitor_seen":"2026-04-09T12:17:53.999+02:00"} {"time":"2026-04-09T12:17:53.999+02:00","level":"DEBUG","message":"HTTP request finished","http_method":"GET","http_path":"/v1/account","tag":"http","time_taken_ms":0,"user_id":"u_9xxxKyjk","user_name":"pilz","visitor_auth_limiter_limit":0.016666666666666666,"visitor_auth_limiter_tokens":30,"visitor_id":"ip:185.150.xx.xx","visitor_ip":"185.150.xx.xx","visitor_messages":0,"visitor_messages_limit":17280,"visitor_messages_remaining":17280,"visitor_request_limiter_limit":0.2,"visitor_request_limiter_tokens":60,"visitor_seen":"2026-04-09T12:17:53.999+02:00"} ``` :crystal_ball: **Additional context** <!-- Add any other context about the problem here. -->
BreizhHardware 2026-05-07 00:30:51 +02:00
  • closed this issue
  • added the
    🪲 bug
    label
Author
Owner

@lastsamurai26 commented on GitHub (Apr 12, 2026):

👍

<!-- gh-comment-id:4230996724 --> @lastsamurai26 commented on GitHub (Apr 12, 2026): 👍
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ntfy#1179
No description provided.