OpenAI spend alert ($50 / 30d)

Active

Emails the Rubicon admins whenever trailing-30d OpenAI spend crosses each $50 rung ($50, $100, ...). One email per crossing — no daily re-sends. Replaces the balance-based credits watchdog (deleted 2026-07-13).

cron 0 9 * * * (America/New_York) · runs as Yoga · next 2026-07-27 13:00:00

Run history

RunStatusStarted TookStepsArtifact
#14failed2026-07-26 13:00:260.6sopenai_credits_check·error
step #0 (openai_credits_check) raised OpenAIHTTPError: OpenAI HTTP 429: { "error": { "message": "You've exceeded the 30 request(s) every 1 minute(s) rate limit, please slow down and try again.", "type": "invalid_request_error", "param": null, "code": "rate_limit_exceeded" } }
#13failed2026-07-25 13:00:270.5sopenai_credits_check·error
step #0 (openai_credits_check) raised OpenAIHTTPError: OpenAI HTTP 429: { "error": { "message": "You've exceeded the 30 request(s) every 1 minute(s) rate limit, please slow down and try again.", "type": "invalid_request_error", "param": null, "code": "rate_limit_exceeded" } }
#12failed2026-07-24 13:00:230.5sopenai_credits_check·error
step #0 (openai_credits_check) raised OpenAIHTTPError: OpenAI HTTP 429: { "error": { "message": "You've exceeded the 30 request(s) every 1 minute(s) rate limit, please slow down and try again.", "type": "invalid_request_error", "param": null, "code": "rate_limit_exceeded" } }
#11failed2026-07-23 13:00:300.4sopenai_credits_check·error
step #0 (openai_credits_check) raised OpenAIHTTPError: OpenAI HTTP 429: { "error": { "message": "You've exceeded the 30 request(s) every 1 minute(s) rate limit, please slow down and try again.", "type": "invalid_request_error", "param": null, "code": "rate_limit_exceeded" } }
#10failed2026-07-22 13:00:470.5sopenai_credits_check·error
step #0 (openai_credits_check) raised OpenAIHTTPError: OpenAI HTTP 429: { "error": { "message": "You've exceeded the 30 request(s) every 1 minute(s) rate limit, please slow down and try again.", "type": "invalid_request_error", "param": null, "code": "rate_limit_exceeded" } }
#9failed2026-07-21 13:00:140.6sopenai_credits_check·error
step #0 (openai_credits_check) raised OpenAIHTTPError: OpenAI HTTP 429: { "error": { "message": "You've exceeded the 30 request(s) every 1 minute(s) rate limit, please slow down and try again.", "type": "invalid_request_error", "param": null, "code": "rate_limit_exceeded" } }
#8ran2026-07-20 13:01:006.9sopenai_credits_check·ok
#7failed2026-07-19 13:00:280.6sopenai_credits_check·error
step #0 (openai_credits_check) raised OpenAIHTTPError: OpenAI HTTP 429: { "error": { "message": "You've exceeded the 30 request(s) every 1 minute(s) rate limit, please slow down and try again.", "type": "invalid_request_error", "param": null, "code": "rate_limit_exceeded" } }
#6ran2026-07-18 13:00:098.9sopenai_credits_check·ok
#5ran2026-07-17 13:00:1813.0sopenai_credits_check·ok
#4ran2026-07-16 13:00:1514.1sopenai_credits_check·ok
#3failed2026-07-15 13:00:320.7sopenai_credits_check·error
step #0 (openai_credits_check) raised OpenAIHTTPError: OpenAI HTTP 429: { "error": { "message": "You've exceeded the 30 request(s) every 1 minute(s) rate limit, please slow down and try again.", "type": "invalid_request_error", "param": null, "code": "rate_limit_exceeded" } }
#2failed2026-07-14 13:00:150.9sopenai_credits_check·error
step #0 (openai_credits_check) raised OpenAIHTTPError: OpenAI HTTP 429: { "error": { "message": "You've exceeded the 30 request(s) every 1 minute(s) rate limit, please slow down and try again.", "type": "invalid_request_error", "param": null, "code": "rate_limit_exceeded" } }
#1ran2026-07-13 13:01:1025.9sopenai_credits_check·ok

Live view · refreshes every 15s · id 03dae87a-321b-406c-bb4b-3283c428eae7