Platform status
The status of the platform itself (not your projects), as on the status page; checked every minute. Incidents and maintenance, history, RSS and Atom, and subscriptions by email or SMS. No key needed.
/v1/statusThe platform's status page#
The status of our own services, not your projects: the overall status, each component (dashboard, api, functions, apps, databases, caches, storage, builds, dns) with its current status, 90-day uptime and one entry a day (Tehran days, oldest first: the worst status that lasted a minute, the uptime, the minutes of each status and the incidents that touched it), open incidents, scheduled and running maintenance, the last 15 days' incidents and the ways to subscribe. Checked every minute; cached 15 s. Uptime counts a minute of major outage whole and of partial outage 30 %; degraded counts as up; announced maintenance is left out. Names and texts come in Persian and English ({fa, en}). Auth: none. CORS: *.
- Credential
- None
Response
200PlatformStatus
statusPlatformStatusValueupdated_atstring (date-time)page_urlstringcomponentsobject[]idstringone of
dashboard,api,functions,apps,databases,caches,storage,builds,dnsnameBilingualfastringenstring
statusPlatformStatusValueuptime_90dnumber0 to 1; null with no data
daysobject[]daystring (date)statusPlatformStatusValueuptimenumberminutesobjectdegradedintegerpartial_outageintegermajor_outageintegermaintenanceintegerprobe_errorintegerMinutes our check of the component failed (not measured, not counted).
incidentsobject[]idstringtitleBilingualfastringenstring
incidentsPlatformIncident[]idstring (uuid)kindstringone of
incident,maintenancetitleBilingualfastringenstring
impactstringone of
none,minor,major,critical,maintenancestatusstringone of
investigating,identified,monitoring,resolved,scheduled,in_progress,completed,cancelledcomponentsobject[]idstringnameBilingualfastringenstring
statusPlatformStatusValue
starts_atstring (date-time)ends_atstring (date-time)started_atstring (date-time)resolved_atstring (date-time)updated_atstring (date-time)updatesobject[]idintegerstatusstringbodyBilingualfastringenstring
created_atstring (date-time)
maintenancePlatformIncident[]idstring (uuid)kindstringone of
incident,maintenancetitleBilingualfastringenstring
impactstringone of
none,minor,major,critical,maintenancestatusstringone of
investigating,identified,monitoring,resolved,scheduled,in_progress,completed,cancelledcomponentsobject[]idstringnameBilingualfastringenstring
statusPlatformStatusValue
starts_atstring (date-time)ends_atstring (date-time)started_atstring (date-time)resolved_atstring (date-time)updated_atstring (date-time)updatesobject[]idintegerstatusstringbodyBilingualfastringenstring
created_atstring (date-time)
recentPlatformIncident[]idstring (uuid)kindstringone of
incident,maintenancetitleBilingualfastringenstring
impactstringone of
none,minor,major,critical,maintenancestatusstringone of
investigating,identified,monitoring,resolved,scheduled,in_progress,completed,cancelledcomponentsobject[]idstringnameBilingualfastringenstring
statusPlatformStatusValue
starts_atstring (date-time)ends_atstring (date-time)started_atstring (date-time)resolved_atstring (date-time)updated_atstring (date-time)updatesobject[]idintegerstatusstringbodyBilingualfastringenstring
created_atstring (date-time)
channelsobjectemailbooleansmsbooleanrssBilingualfastringenstring
atomBilingualfastringenstring
balestringour Bale channel's address
eitaastringour Eitaa channel's address
Example
curl "https://api.ibel.ai/v1/status"/v1/status/summaryThe status in one line#
The overall status, the components that are not operational, open incidents and maintenance (what the dashboard's footer and cloudhost status show). Auth: none. CORS: *.
- Credential
- None
Response
200object
statusPlatformStatusValueupdated_atstring (date-time)page_urlstringcomponentsobject[]idstringnameBilingualfastringenstring
statusPlatformStatusValue
incidentsobject[]maintenanceobject[]
Example
curl "https://api.ibel.ai/v1/status/summary"/v1/status/incidentsIncident history#
Past and current incidents and maintenance (not those still only scheduled), newest first, with every update. Page with before (the next_before of the page before). Auth: none.
- Credential
- None
Parameters
limitintegerquery1–50 · default
20beforestring (date-time)queryan RFC 3339 time; incidents that started before it
kindstringqueryone of
incident,maintenance
Response
200object
itemsPlatformIncident[]idstring (uuid)kindstringone of
incident,maintenancetitleBilingualfastringenstring
impactstringone of
none,minor,major,critical,maintenancestatusstringone of
investigating,identified,monitoring,resolved,scheduled,in_progress,completed,cancelledcomponentsobject[]idstringnameBilingualfastringenstring
statusPlatformStatusValue
starts_atstring (date-time)ends_atstring (date-time)started_atstring (date-time)resolved_atstring (date-time)updated_atstring (date-time)updatesobject[]idintegerstatusstringbodyBilingualfastringenstring
created_atstring (date-time)
next_beforestring (date-time)
Errors
| Status | Description |
|---|---|
| 400 | Bad request: bad_request, bad_param, bad_code |
Example
curl "https://api.ibel.ai/v1/status/incidents"/v1/status/incidents/{id}One incident#
An incident or maintenance with every update, newest first. Auth: none.
- Credential
- None
Parameters
idstring (uuid)pathrequired
Response
200PlatformIncident
idstring (uuid)kindstringone of
incident,maintenancetitleBilingualfastringenstring
impactstringone of
none,minor,major,critical,maintenancestatusstringone of
investigating,identified,monitoring,resolved,scheduled,in_progress,completed,cancelledcomponentsobject[]idstringnameBilingualfastringenstring
statusPlatformStatusValue
starts_atstring (date-time)ends_atstring (date-time)started_atstring (date-time)resolved_atstring (date-time)updated_atstring (date-time)updatesobject[]idintegerstatusstringbodyBilingualfastringenstring
created_atstring (date-time)
Errors
| Status | Description |
|---|---|
| 404 | Not found: not_found |
Example
curl "https://api.ibel.ai/v1/status/incidents/88e2fe1d-6d75-4de5-8c8f-27380ec66903"/v1/status/feed.rssIncidents as RSS#
The last 30 incidents and maintenance with their updates, as RSS 2.0 (/v1/status/feed.atom: the same as Atom). lang=en for English. The status page serves the same feeds at /feed.rss and /en/feed.rss. Auth: none.
- Credential
- None
Parameters
langstringqueryone of
fa,en· default"fa"
Response
200stringapplication/rss+xml
Example
curl "https://api.ibel.ai/v1/status/feed.rss"- Credential
- None
Parameters
langstringqueryone of
fa,en· default"fa"
Response
200stringapplication/atom+xml
Example
curl "https://api.ibel.ai/v1/status/feed.atom"/v1/status/subscribeSubscribe to incident updates#
By email (a confirmation link, valid 24 hours) or SMS (a 6-digit code, valid 10 minutes). Nothing is sent until it is confirmed; every message has an unsubscribe link. An address already subscribed gets a note saying so, not a second subscription. Bale, Eitaa and RSS need no subscription (see channels in GET /v1/status). Limits: 10 a network per hour, 5 SMS a network per day, 3 messages an address per day. Auth: none.
- Credential
- None
Request bodyapplication/json
channelstringrequiredone of
email,smstargetstringrequiredan email address, or an Iranian mobile number
langstringone of
fa,en· default"fa"componentsstring[]only updates touching these components; none for all
Response
200objectSent
sentbooleanconfirmstringone of
link,code
Errors
| Status | Description |
|---|---|
| 400 | Bad request: bad_request, bad_param, bad_code |
| 429 | Too many requests: rate_limited |
Example
curl -X POST "https://api.ibel.ai/v1/status/subscribe" \
-d '{"channel":"email","target":"…"}'/v1/status/subscribe/confirmConfirm a subscription#
{token} from the email's link, or {channel: "sms", target, code}. A code allows 5 tries. Auth: none.
- Credential
- None
Request bodyapplication/json
tokenstringchannelstringone of
smstargetstringcodestring
Response
200objectConfirmed
confirmedbooleanchannelstringlangstringcomponentsstring[]manage_tokenstring
Errors
| Status | Description |
|---|---|
| 400 | Bad request: bad_request, bad_param, bad_code |
Example
curl -X POST "https://api.ibel.ai/v1/status/subscribe/confirm" \
-d '{"token":"…","channel":"sms","target":"…","code":"123456"}'/v1/status/unsubscribeUnsubscribe#
{token}: the one in every message's unsubscribe link. Auth: none.
- Credential
- None
Request bodyapplication/json
tokenstringrequired
Response
200objectUnsubscribed
unsubscribedboolean
Errors
| Status | Description |
|---|---|
| 404 | Not found: not_found |
Example
curl -X POST "https://api.ibel.ai/v1/status/unsubscribe" \
-d '{"token":"…"}'