{"schema_version":2,"dataset":"1xai-provider-reachability","description":"Daily reliability and request volume for each AI provider, measured from inside Iran through the 1xAi gateway. Provider failures (5xx, transport) are counted separately from caller failures (4xx), and only the former affect the reliability rate.","generated_at":"2026-07-27T01:05:25Z","timezone":"UTC","publisher":"1xAi (1xai.ir)","vantage_point":"1xAi gateway egress, Iran","source_url":"https://1xai.ir/status/dataset","csv_url":"https://1xai.ir/status/dataset?format=csv","license":"CC-BY-4.0","license_url":"https://creativecommons.org/licenses/by/4.0/","attribution":"Source: 1xAi provider reachability dataset — https://1xai.ir/status","methodology":["Every row is counted from 1xAi's own request log (usage_logs): one record per API call we proxied to an upstream vendor, written at the moment we returned the response.","The vantage point is our gateway's egress inside Iran. These are real production requests from Iranian users and applications — not synthetic probes fired from a datacenter elsewhere.","Every request is classified into exactly one of three outcomes. ok: the upstream answered 2xx. client_errors: the upstream rejected it with a 4xx — an unknown model id, a malformed body, a content-policy refusal, or a quota exhausted on our own account. provider_errors: any 5xx, or a transport failure where no HTTP response came back.","ok_pct is 100 * ok / eligible, where eligible = ok + provider_errors. It answers one question: of the well-formed requests we sent, how many did the provider serve. Client errors are excluded from it, because a caller sending a model id that does not exist is not evidence that a provider is down.","This is a change from schema_version 1, which divided by total requests and therefore published a caller-error rate under a reliability label. On one recent day that made a provider with zero server errors read as 74% reliable. Rows recomputed under v2 will not match figures quoted from v1.","client_err_pct (100 * client_errors / requests) is published alongside it. It is the more useful number for spotting a broken integration, and it is deliberately not the headline.","Days are UTC calendar days. The most recent row is the day in progress and is flagged partial=true.","A day with no traffic for a provider produces no row. We do not zero-fill, and absence of a row is not evidence of an outage.","The `current` block is byte-for-byte what the public /api/status endpoint and the /status page render: 1-hour and 24-hour rolling windows, not calendar days, so it will not equal the last history row.","State labels on the page apply the same reliability rate: operational at 97% or above, degraded from 85% up to 97%, down below 85%. Below 5 eligible requests in the window we do not condemn a provider on organic traffic alone and defer to an active health probe.","History window served here: 30 days (max 90 via ?days=)."],"methodology_fa":["هر ردیف از لاگِ درخواست‌های خودِ 1xAi شمرده می‌شود: یک رکورد برای هر فراخوانی که به سرویس‌دهندهٔ بالادست پراکسی کرده‌ایم.","نقطهٔ دید، خروجیِ زیرساختِ ما از داخلِ ایران است؛ این‌ها درخواست‌های واقعیِ کاربران و برنامه‌هاست، نه آزمونِ ساختگی از یک دیتاسنترِ بیرونی.","هر درخواست دقیقاً در یکی از سه دسته می‌نشیند. «موفق»: بالادست پاسخِ ۲xx داده. «خطای کاربر»: بالادست با ۴xx ردش کرده — نامِ مدلی که وجود ندارد، بدنهٔ نادرست، ردِ سیاستِ محتوا، یا اتمامِ سهمیهٔ حسابِ خودِ ما. «خطای سرویس‌دهنده»: هر ۵xx، یا شکستِ ارتباط بدونِ هیچ پاسخِ HTTP.","مقدارِ ok_pct برابر است با ۱۰۰ × ok ÷ eligible، و eligible یعنی ok به‌علاوهٔ خطاهای سرویس‌دهنده. این عدد تنها به یک پرسش پاسخ می‌دهد: از میانِ درخواست‌های درست‌ساخته، سرویس‌دهنده چندتا را جواب داده است. خطای کاربر در آن شمرده نمی‌شود، چون کاربری که نامِ مدلیِ ناموجود می‌فرستد دلیلی بر قطعیِ سرویس‌دهنده نیست.","این با نسخهٔ ۱ شِما فرق دارد: آنجا مخرج، کلِ درخواست‌ها بود و در عمل نرخِ خطای کاربر را زیرِ برچسبِ پایداری منتشر می‌کرد. در یکی از روزهای اخیر، همین باعث شد سرویس‌دهنده‌ای با صفر خطای سروری، ۷۴٪ خوانده شود. ارقامی که از نسخهٔ ۱ نقل شده با بازمحاسبهٔ نسخهٔ ۲ یکی نخواهند بود.","مقدارِ client_err_pct (۱۰۰ × خطای کاربر ÷ کلِ درخواست‌ها) کنارِ آن منتشر می‌شود. برای پیدا کردنِ یکپارچه‌سازیِ خراب مفیدتر است، و عمداً تیترِ صفحه نیست.","روزها بر پایهٔ تقویمِ UTC است. تازه‌ترین ردیف، روزِ در جریان است و با partial=true علامت خورده.","روزی که یک سرویس‌دهنده هیچ ترافیکی نداشته، ردیفی نمی‌سازد. جای خالی را با صفر پر نمی‌کنیم و نبودِ ردیف نشانهٔ قطعی نیست.","بخشِ current همان چیزی است که صفحهٔ /status نشان می‌دهد: پنجره‌های غلتانِ ۱ ساعته و ۲۴ ساعته، نه روزِ تقویمی — پس با آخرین ردیفِ تاریخچه برابر نخواهد بود.","برچسب‌ها بر همین نرخِ پایداری سوارند: «عملیاتی» از ۹۷٪ به بالا، «کندی/اختلال» از ۸۵ تا ۹۷٪، و «قطع» زیرِ ۸۵٪. زیرِ 5 درخواستِ واجدِ شرایط در پنجره، تنها با ترافیکِ ارگانیک حکم نمی‌دهیم و به آزمونِ فعالِ سلامت تکیه می‌کنیم.","بازهٔ این پاسخ: 30 روز (بیشینه 90 روز با ?days=)."],"caveats":["This measures reachability THROUGH 1xAi, not the global health of a vendor. A low success rate here can mean our routing, our upstream account, our rate limit or our egress path — not that the provider is down for everyone.","Volume differs enormously between providers. A provider with a few dozen eligible requests in a day has a noisy percentage; read the eligible column before quoting the rate.","The split between client_errors and provider_errors is made from the HTTP status the upstream returned, which is a good proxy for fault but not a perfect one. One known blur: when our own upstream account runs out of credit the vendor returns 429, and we rewrite that to 503 for the caller — so it lands in provider_errors even though the cause was our unpaid bill, not their outage.","Request volume reflects what our customers chose to call. It is a usage signal for 1xAi, not market share for the vendor.","We publish what our logs contain. This is first-party operational data, not an independent survey, and it has not been audited by a third party.","Historical rows are recomputed from the log on every request, so a figure quoted today remains reproducible from this endpoint — but the current day's row changes as the day fills in."],"caveats_fa":["این داده «دسترس‌پذیری از مسیرِ 1xAi» را می‌سنجد، نه سلامتِ جهانیِ یک سرویس‌دهنده. نرخِ پایین می‌تواند از مسیریابی، حسابِ بالادست، یا محدودیتِ نرخِ ما باشد، نه قطعیِ آن سرویس برای همه.","حجمِ ترافیک میانِ سرویس‌دهنده‌ها بسیار متفاوت است. سرویسی با چند ده درخواستِ واجدِ شرایط در روز، درصدِ پرنوسانی دارد؛ پیش از نقلِ نرخ، ستونِ eligible را ببینید.","جدا کردنِ خطای کاربر از خطای سرویس‌دهنده بر پایهٔ کدِ وضعیتِ بالادست انجام می‌شود؛ نشانگرِ خوبی است، اما بی‌نقص نیست. یک مورد را می‌دانیم: وقتی اعتبارِ حسابِ خودمان تمام می‌شود، سرویس‌دهنده ۴۲۹ برمی‌گرداند و ما آن را برای کاربر به ۵۰۳ بازنویسی می‌کنیم؛ پس در ستونِ خطای سرویس‌دهنده می‌نشیند، هرچند علتش صورت‌حسابِ پرداخت‌نشدهٔ ما بوده، نه قطعیِ آن‌ها.","حجمِ درخواست بازتابِ انتخابِ کاربرانِ ماست؛ سیگنالی دربارهٔ 1xAi است، نه سهمِ بازارِ آن سرویس‌دهنده.","ما همان چیزی را منتشر می‌کنیم که در لاگِ ما هست: دادهٔ عملیاتیِ دستِ‌اول، نه یک نظرسنجیِ مستقل، و ممیزیِ شخصِ ثالث نشده است.","ردیف‌های گذشته در هر درخواست از نو از لاگ محاسبه می‌شوند، پس رقمی که امروز نقل می‌کنید بازتولیدپذیر می‌ماند — جز ردیفِ روزِ جاری که تا پایانِ روز کامل می‌شود."],"fields":[{"name":"day","type":"string (YYYY-MM-DD, UTC)","description":"Calendar day the requests were made, in UTC."},{"name":"provider","type":"string","description":"Upstream vendor the request was routed to: openai, anthropic, gemini, deepseek."},{"name":"requests","type":"integer","description":"Requests we proxied to that provider on that day. Equals ok + client_errors + provider_errors."},{"name":"ok","type":"integer","description":"Of those, the ones the upstream answered with a 2xx."},{"name":"client_errors","type":"integer","description":"Requests the upstream rejected with a 4xx: a model id that does not exist, a malformed body, a content-policy refusal, or a quota exhausted on our own account. These are caused by the caller or by us, not by the provider, and they are EXCLUDED from ok_pct."},{"name":"provider_errors","type":"integer","description":"Requests that failed on the provider's side: any 5xx, or a transport failure where no HTTP response came back at all."},{"name":"eligible","type":"integer","description":"ok + provider_errors — the well-formed requests whose outcome the provider is answerable for. The denominator of ok_pct."},{"name":"ok_pct","type":"number (0-100, 1 decimal)","description":"100 * ok / eligible. The reliability headline: of the well-formed requests we sent, how many the provider served. NOT 100 * ok / requests — a caller sending a dead model id cannot make a provider look unreliable. Never rounded to a whole number."},{"name":"client_err_pct","type":"number (0-100, 1 decimal)","description":"100 * client_errors / requests. A caller-side fault rate, published because it is operationally useful — a spike means somebody's integration is broken — but it is not a statement about the provider."},{"name":"partial","type":"boolean","description":"True only for the UTC day still in progress at generated_at; that row covers part of a day."}],"coverage":{"days_requested":30,"days_returned":30,"first_day":"2026-06-28","last_day":"2026-07-27","first_log_at":"2026-05-10T15:36:08Z","total_requests":51613,"total_ok":46822,"total_client_errors":1600,"total_provider_errors":3191,"total_eligible":50013},"current":[{"provider":"anthropic","state":"operational","ok_pct_24h":100,"ok_pct_1h":100,"reqs_24h":951,"reqs_1h":130,"eligible_24h":947,"eligible_1h":130,"client_errors_24h":4,"client_errors_1h":0,"provider_errors_24h":0,"provider_errors_1h":0,"client_err_pct_24h":0.4,"client_err_pct_1h":0,"last_ok":"2026-07-27T01:05:24Z"},{"provider":"deepseek","state":"operational","ok_pct_24h":100,"ok_pct_1h":0,"reqs_24h":3,"reqs_1h":0,"eligible_24h":2,"eligible_1h":0,"client_errors_24h":1,"client_errors_1h":0,"provider_errors_24h":0,"provider_errors_1h":0,"client_err_pct_24h":33.3,"client_err_pct_1h":0,"last_ok":"2026-07-26T12:44:34Z"},{"provider":"gemini","state":"operational","ok_pct_24h":100,"ok_pct_1h":100,"reqs_24h":579,"reqs_1h":121,"eligible_24h":579,"eligible_1h":121,"client_errors_24h":0,"client_errors_1h":0,"provider_errors_24h":0,"provider_errors_1h":0,"client_err_pct_24h":0,"client_err_pct_1h":0,"last_ok":"2026-07-27T01:05:24Z"},{"provider":"openai","state":"operational","ok_pct_24h":100,"ok_pct_1h":100,"reqs_24h":8794,"reqs_1h":47,"eligible_24h":8794,"eligible_1h":47,"client_errors_24h":0,"client_errors_1h":0,"provider_errors_24h":0,"provider_errors_1h":0,"client_err_pct_24h":0,"client_err_pct_1h":0,"last_ok":"2026-07-27T01:05:18Z"}],"overall":"operational","history":[{"day":"2026-06-28","provider":"anthropic","requests":592,"ok":534,"client_errors":58,"provider_errors":0,"eligible":534,"ok_pct":100,"client_err_pct":9.8,"partial":false},{"day":"2026-06-28","provider":"gemini","requests":397,"ok":392,"client_errors":1,"provider_errors":4,"eligible":396,"ok_pct":99,"client_err_pct":0.3,"partial":false},{"day":"2026-06-28","provider":"openai","requests":226,"ok":226,"client_errors":0,"provider_errors":0,"eligible":226,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-06-29","provider":"anthropic","requests":825,"ok":0,"client_errors":825,"provider_errors":0,"eligible":0,"ok_pct":0,"client_err_pct":100,"partial":false},{"day":"2026-06-29","provider":"gemini","requests":1969,"ok":594,"client_errors":26,"provider_errors":1349,"eligible":1943,"ok_pct":30.6,"client_err_pct":1.3,"partial":false},{"day":"2026-06-29","provider":"openai","requests":80,"ok":80,"client_errors":0,"provider_errors":0,"eligible":80,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-06-30","provider":"anthropic","requests":159,"ok":0,"client_errors":159,"provider_errors":0,"eligible":0,"ok_pct":0,"client_err_pct":100,"partial":false},{"day":"2026-06-30","provider":"gemini","requests":253,"ok":240,"client_errors":13,"provider_errors":0,"eligible":240,"ok_pct":100,"client_err_pct":5.1,"partial":false},{"day":"2026-06-30","provider":"openai","requests":72,"ok":71,"client_errors":1,"provider_errors":0,"eligible":71,"ok_pct":100,"client_err_pct":1.4,"partial":false},{"day":"2026-07-01","provider":"anthropic","requests":379,"ok":377,"client_errors":2,"provider_errors":0,"eligible":377,"ok_pct":100,"client_err_pct":0.5,"partial":false},{"day":"2026-07-01","provider":"gemini","requests":215,"ok":214,"client_errors":0,"provider_errors":1,"eligible":215,"ok_pct":99.5,"client_err_pct":0,"partial":false},{"day":"2026-07-01","provider":"openai","requests":182,"ok":182,"client_errors":0,"provider_errors":0,"eligible":182,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-02","provider":"anthropic","requests":598,"ok":597,"client_errors":1,"provider_errors":0,"eligible":597,"ok_pct":100,"client_err_pct":0.2,"partial":false},{"day":"2026-07-02","provider":"gemini","requests":211,"ok":202,"client_errors":0,"provider_errors":9,"eligible":211,"ok_pct":95.7,"client_err_pct":0,"partial":false},{"day":"2026-07-02","provider":"openai","requests":152,"ok":152,"client_errors":0,"provider_errors":0,"eligible":152,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-03","provider":"anthropic","requests":511,"ok":509,"client_errors":2,"provider_errors":0,"eligible":509,"ok_pct":100,"client_err_pct":0.4,"partial":false},{"day":"2026-07-03","provider":"gemini","requests":128,"ok":128,"client_errors":0,"provider_errors":0,"eligible":128,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-03","provider":"openai","requests":110,"ok":110,"client_errors":0,"provider_errors":0,"eligible":110,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-04","provider":"anthropic","requests":324,"ok":323,"client_errors":1,"provider_errors":0,"eligible":323,"ok_pct":100,"client_err_pct":0.3,"partial":false},{"day":"2026-07-04","provider":"gemini","requests":129,"ok":128,"client_errors":0,"provider_errors":1,"eligible":129,"ok_pct":99.2,"client_err_pct":0,"partial":false},{"day":"2026-07-04","provider":"openai","requests":113,"ok":111,"client_errors":2,"provider_errors":0,"eligible":111,"ok_pct":100,"client_err_pct":1.8,"partial":false},{"day":"2026-07-05","provider":"anthropic","requests":227,"ok":226,"client_errors":1,"provider_errors":0,"eligible":226,"ok_pct":100,"client_err_pct":0.4,"partial":false},{"day":"2026-07-05","provider":"gemini","requests":70,"ok":70,"client_errors":0,"provider_errors":0,"eligible":70,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-05","provider":"openai","requests":49,"ok":49,"client_errors":0,"provider_errors":0,"eligible":49,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-06","provider":"anthropic","requests":254,"ok":252,"client_errors":1,"provider_errors":1,"eligible":253,"ok_pct":99.6,"client_err_pct":0.4,"partial":false},{"day":"2026-07-06","provider":"gemini","requests":133,"ok":125,"client_errors":0,"provider_errors":8,"eligible":133,"ok_pct":94,"client_err_pct":0,"partial":false},{"day":"2026-07-06","provider":"openai","requests":116,"ok":116,"client_errors":0,"provider_errors":0,"eligible":116,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-07","provider":"anthropic","requests":206,"ok":204,"client_errors":2,"provider_errors":0,"eligible":204,"ok_pct":100,"client_err_pct":1,"partial":false},{"day":"2026-07-07","provider":"gemini","requests":64,"ok":64,"client_errors":0,"provider_errors":0,"eligible":64,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-07","provider":"openai","requests":69,"ok":69,"client_errors":0,"provider_errors":0,"eligible":69,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-08","provider":"anthropic","requests":299,"ok":298,"client_errors":1,"provider_errors":0,"eligible":298,"ok_pct":100,"client_err_pct":0.3,"partial":false},{"day":"2026-07-08","provider":"gemini","requests":141,"ok":139,"client_errors":0,"provider_errors":2,"eligible":141,"ok_pct":98.6,"client_err_pct":0,"partial":false},{"day":"2026-07-08","provider":"openai","requests":114,"ok":113,"client_errors":1,"provider_errors":0,"eligible":113,"ok_pct":100,"client_err_pct":0.9,"partial":false},{"day":"2026-07-09","provider":"anthropic","requests":219,"ok":218,"client_errors":1,"provider_errors":0,"eligible":218,"ok_pct":100,"client_err_pct":0.5,"partial":false},{"day":"2026-07-09","provider":"gemini","requests":56,"ok":56,"client_errors":0,"provider_errors":0,"eligible":56,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-09","provider":"openai","requests":64,"ok":64,"client_errors":0,"provider_errors":0,"eligible":64,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-10","provider":"anthropic","requests":348,"ok":346,"client_errors":2,"provider_errors":0,"eligible":346,"ok_pct":100,"client_err_pct":0.6,"partial":false},{"day":"2026-07-10","provider":"gemini","requests":128,"ok":124,"client_errors":0,"provider_errors":4,"eligible":128,"ok_pct":96.9,"client_err_pct":0,"partial":false},{"day":"2026-07-10","provider":"openai","requests":119,"ok":119,"client_errors":0,"provider_errors":0,"eligible":119,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-11","provider":"anthropic","requests":302,"ok":301,"client_errors":1,"provider_errors":0,"eligible":301,"ok_pct":100,"client_err_pct":0.3,"partial":false},{"day":"2026-07-11","provider":"gemini","requests":114,"ok":114,"client_errors":0,"provider_errors":0,"eligible":114,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-11","provider":"openai","requests":114,"ok":114,"client_errors":0,"provider_errors":0,"eligible":114,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-12","provider":"anthropic","requests":752,"ok":751,"client_errors":1,"provider_errors":0,"eligible":751,"ok_pct":100,"client_err_pct":0.1,"partial":false},{"day":"2026-07-12","provider":"gemini","requests":373,"ok":372,"client_errors":0,"provider_errors":1,"eligible":373,"ok_pct":99.7,"client_err_pct":0,"partial":false},{"day":"2026-07-12","provider":"openai","requests":212,"ok":212,"client_errors":0,"provider_errors":0,"eligible":212,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-13","provider":"anthropic","requests":2863,"ok":2862,"client_errors":1,"provider_errors":0,"eligible":2862,"ok_pct":100,"client_err_pct":0.1,"partial":false},{"day":"2026-07-13","provider":"gemini","requests":462,"ok":459,"client_errors":0,"provider_errors":3,"eligible":462,"ok_pct":99.4,"client_err_pct":0,"partial":false},{"day":"2026-07-13","provider":"openai","requests":280,"ok":280,"client_errors":0,"provider_errors":0,"eligible":280,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-14","provider":"anthropic","requests":594,"ok":592,"client_errors":2,"provider_errors":0,"eligible":592,"ok_pct":100,"client_err_pct":0.3,"partial":false},{"day":"2026-07-14","provider":"gemini","requests":360,"ok":358,"client_errors":0,"provider_errors":2,"eligible":360,"ok_pct":99.4,"client_err_pct":0,"partial":false},{"day":"2026-07-14","provider":"openai","requests":238,"ok":238,"client_errors":0,"provider_errors":0,"eligible":238,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-15","provider":"anthropic","requests":545,"ok":544,"client_errors":1,"provider_errors":0,"eligible":544,"ok_pct":100,"client_err_pct":0.2,"partial":false},{"day":"2026-07-15","provider":"gemini","requests":256,"ok":256,"client_errors":0,"provider_errors":0,"eligible":256,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-15","provider":"openai","requests":167,"ok":167,"client_errors":0,"provider_errors":0,"eligible":167,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-16","provider":"anthropic","requests":550,"ok":515,"client_errors":1,"provider_errors":34,"eligible":549,"ok_pct":93.8,"client_err_pct":0.2,"partial":false},{"day":"2026-07-16","provider":"gemini","requests":336,"ok":295,"client_errors":0,"provider_errors":41,"eligible":336,"ok_pct":87.8,"client_err_pct":0,"partial":false},{"day":"2026-07-16","provider":"openai","requests":195,"ok":195,"client_errors":0,"provider_errors":0,"eligible":195,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-17","provider":"anthropic","requests":524,"ok":522,"client_errors":2,"provider_errors":0,"eligible":522,"ok_pct":100,"client_err_pct":0.4,"partial":false},{"day":"2026-07-17","provider":"gemini","requests":315,"ok":314,"client_errors":0,"provider_errors":1,"eligible":315,"ok_pct":99.7,"client_err_pct":0,"partial":false},{"day":"2026-07-17","provider":"openai","requests":212,"ok":212,"client_errors":0,"provider_errors":0,"eligible":212,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-18","provider":"anthropic","requests":1431,"ok":1425,"client_errors":6,"provider_errors":0,"eligible":1425,"ok_pct":100,"client_err_pct":0.4,"partial":false},{"day":"2026-07-18","provider":"gemini","requests":287,"ok":257,"client_errors":0,"provider_errors":30,"eligible":287,"ok_pct":89.5,"client_err_pct":0,"partial":false},{"day":"2026-07-18","provider":"openai","requests":165,"ok":164,"client_errors":1,"provider_errors":0,"eligible":164,"ok_pct":100,"client_err_pct":0.6,"partial":false},{"day":"2026-07-19","provider":"anthropic","requests":342,"ok":244,"client_errors":98,"provider_errors":0,"eligible":244,"ok_pct":100,"client_err_pct":28.7,"partial":false},{"day":"2026-07-19","provider":"gemini","requests":287,"ok":287,"client_errors":0,"provider_errors":0,"eligible":287,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-19","provider":"openai","requests":195,"ok":195,"client_errors":0,"provider_errors":0,"eligible":195,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-20","provider":"anthropic","requests":896,"ok":871,"client_errors":18,"provider_errors":7,"eligible":878,"ok_pct":99.2,"client_err_pct":2,"partial":false},{"day":"2026-07-20","provider":"gemini","requests":564,"ok":558,"client_errors":0,"provider_errors":6,"eligible":564,"ok_pct":98.9,"client_err_pct":0,"partial":false},{"day":"2026-07-20","provider":"openai","requests":410,"ok":410,"client_errors":0,"provider_errors":0,"eligible":410,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-21","provider":"anthropic","requests":1249,"ok":1214,"client_errors":18,"provider_errors":17,"eligible":1231,"ok_pct":98.6,"client_err_pct":1.4,"partial":false},{"day":"2026-07-21","provider":"deepseek","requests":2,"ok":2,"client_errors":0,"provider_errors":0,"eligible":2,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-21","provider":"gemini","requests":1199,"ok":902,"client_errors":0,"provider_errors":297,"eligible":1199,"ok_pct":75.2,"client_err_pct":0,"partial":false},{"day":"2026-07-21","provider":"openai","requests":593,"ok":591,"client_errors":2,"provider_errors":0,"eligible":591,"ok_pct":100,"client_err_pct":0.3,"partial":false},{"day":"2026-07-22","provider":"anthropic","requests":1369,"ok":1368,"client_errors":1,"provider_errors":0,"eligible":1368,"ok_pct":100,"client_err_pct":0.1,"partial":false},{"day":"2026-07-22","provider":"gemini","requests":2384,"ok":1272,"client_errors":0,"provider_errors":1112,"eligible":2384,"ok_pct":53.4,"client_err_pct":0,"partial":false},{"day":"2026-07-22","provider":"openai","requests":843,"ok":842,"client_errors":1,"provider_errors":0,"eligible":842,"ok_pct":100,"client_err_pct":0.1,"partial":false},{"day":"2026-07-23","provider":"anthropic","requests":1081,"ok":1078,"client_errors":3,"provider_errors":0,"eligible":1078,"ok_pct":100,"client_err_pct":0.3,"partial":false},{"day":"2026-07-23","provider":"gemini","requests":1330,"ok":1158,"client_errors":0,"provider_errors":172,"eligible":1330,"ok_pct":87.1,"client_err_pct":0,"partial":false},{"day":"2026-07-23","provider":"openai","requests":667,"ok":666,"client_errors":0,"provider_errors":1,"eligible":667,"ok_pct":99.9,"client_err_pct":0,"partial":false},{"day":"2026-07-24","provider":"anthropic","requests":764,"ok":761,"client_errors":3,"provider_errors":0,"eligible":761,"ok_pct":100,"client_err_pct":0.4,"partial":false},{"day":"2026-07-24","provider":"gemini","requests":1046,"ok":960,"client_errors":0,"provider_errors":86,"eligible":1046,"ok_pct":91.8,"client_err_pct":0,"partial":false},{"day":"2026-07-24","provider":"openai","requests":531,"ok":531,"client_errors":0,"provider_errors":0,"eligible":531,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-25","provider":"anthropic","requests":1249,"ok":930,"client_errors":319,"provider_errors":0,"eligible":930,"ok_pct":100,"client_err_pct":25.5,"partial":false},{"day":"2026-07-25","provider":"gemini","requests":1286,"ok":1284,"client_errors":1,"provider_errors":1,"eligible":1285,"ok_pct":99.9,"client_err_pct":0.1,"partial":false},{"day":"2026-07-25","provider":"openai","requests":1003,"ok":987,"client_errors":15,"provider_errors":1,"eligible":988,"ok_pct":99.9,"client_err_pct":1.5,"partial":false},{"day":"2026-07-26","provider":"anthropic","requests":852,"ok":848,"client_errors":4,"provider_errors":0,"eligible":848,"ok_pct":100,"client_err_pct":0.5,"partial":false},{"day":"2026-07-26","provider":"deepseek","requests":3,"ok":2,"client_errors":1,"provider_errors":0,"eligible":2,"ok_pct":100,"client_err_pct":33.3,"partial":false},{"day":"2026-07-26","provider":"gemini","requests":470,"ok":470,"client_errors":0,"provider_errors":0,"eligible":470,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-26","provider":"openai","requests":8752,"ok":8752,"client_errors":0,"provider_errors":0,"eligible":8752,"ok_pct":100,"client_err_pct":0,"partial":false},{"day":"2026-07-27","provider":"anthropic","requests":130,"ok":130,"client_errors":0,"provider_errors":0,"eligible":130,"ok_pct":100,"client_err_pct":0,"partial":true},{"day":"2026-07-27","provider":"gemini","requests":121,"ok":121,"client_errors":0,"provider_errors":0,"eligible":121,"ok_pct":100,"client_err_pct":0,"partial":true},{"day":"2026-07-27","provider":"openai","requests":47,"ok":47,"client_errors":0,"provider_errors":0,"eligible":47,"ok_pct":100,"client_err_pct":0,"partial":true}]}
