संसाधन संचालन
हर तरह का रिकॉर्ड अपनी अलग कमांड है, जैसे incident, monitor या status-page, और हर कमांड वही संचालन लेती है: list, get, create, update, delete और count। यह पेज हर संचालन दिखाता है, फ़िल्टर, पेजिंग और उस JSON के साथ जिसमें रिकॉर्ड लिखा जाता है।
संचालन आपस में कैसे जुड़ते हैं
किसी रिकॉर्ड को पढ़ने, बदलने और हटाने के लिए उसकी ID चाहिए। सूचीबद्ध करने, गिनने और बनाने के लिए किसी ID की ज़रूरत नहीं, और list या create से आपको वे ID मिलती हैं जो बाकी संचालन लेते हैं:
रिकॉर्ड की ID कहाँ से आती है
ID एक UUID होती है, जैसे 6f1c2a40-3b1e-4c55-9a0b-3e2f8d7c1a11। आप इसे Status200 में रिकॉर्ड के पेज से भी कॉपी कर सकते हैं: किसी संसाधन की ID ढूँढना देखें।
किसी रिकॉर्ड की कमांड ढूँढें
status200 resourcesसूची हर तरह के रिकॉर्ड को उसकी कमांड, उसके नामों, उसके प्रकार और उसके API पाथ के साथ दिखाती है। प्रकार दो हैं:
| प्रकार | इसमें क्या होता है | संचालन |
|---|---|---|
database | वे रिकॉर्ड जिन्हें आप प्रबंधित करते हैं: मॉनिटर, घटनाएँ, अलर्ट, स्थिति पृष्ठ, टीमें और अन्य | list, get, create, update, delete, count |
analytics | टेलीमेट्री: लॉग, स्पैन, मेट्रिक्स, अपवाद और अन्य इवेंट | list, create, count |
एक प्रकार दिखाने के लिए status200 resources --type database या --type analytics उपयोग करें। कमांड संदर्भ हर कमांड सूचीबद्ध करता है।
रिकॉर्ड सूचीबद्ध करें
status200 <resource> list [--query <json>] [--limit <n>] [--skip <n>] [--sort <json>] [-o <format>]| विकल्प | यह क्या करता है | डिफ़ॉल्ट |
|---|---|---|
--query <json> | केवल मेल खाने वाले रिकॉर्ड लौटाता है: सूची फ़िल्टर करें देखें | हर वह रिकॉर्ड जिसे कुंजी पढ़ सकती है |
--limit <n> | लौटाए जाने वाले अधिकतम रिकॉर्ड, 10,000 तक | 10 |
--skip <n> | पहले कितने मेल खाने वाले रिकॉर्ड छोड़ने हैं | 0 |
--sort <json> | क्रम, जैसे {"createdAt":"ASC"}, या सबसे नए पहले के लिए "DESC" | सबसे नए पहले |
-o, --output <format> | table, json या wide | टर्मिनल में table, पाइप में json |
# The ten newest incidents
status200 incident list
# The oldest monitors first, 50 at a time: the second page
status200 monitor list --sort '{"createdAt":"ASC"}' --limit 50 --skip 50
# Every field of each incident, as JSON
status200 incident list -o jsonसूची Status200 से हर रिकॉर्ड का वह हर फ़ील्ड माँगती है जिसे कुंजी पढ़ सकती है। टेबल उनमें से छह दिखाती है; JSON सभी दिखाता है (आउटपुट प्रारूप देखें)। हर रिकॉर्ड से होकर पेज करने के लिए, --skip को --limit जितना बढ़ाते जाएँ, जब तक कोई पेज खाली न लौटे; count बताता है कि कुल कितने हैं।
लेबल सबसे नए पहले के बजाय नाम के क्रम में सूचीबद्ध होते हैं: जिन लेबलों के नाम किसी संख्या से शुरू होते हैं, वे पहले आते हैं, उस संख्या के क्रम में (2. Team पहले, 10. Owner बाद में), फिर बाकी लेबल वर्णानुक्रम में। उन्हें किसी और क्रम में सूचीबद्ध करने के लिए --sort दें।
सूची फ़िल्टर करें
--query वही फ़िल्टर लेता है जो API लेता है: मान वाला फ़ील्ड उसी मान से मेल खाता है, और _type वाला ऑब्जेक्ट तुलना करता है।
| फ़िल्टर | किससे मेल खाता है |
|---|---|
{"title":"Checkout API is down"} | ठीक उसी मान वाले रिकॉर्ड |
{"title":{"_type":"Search","value":"checkout"}} | वह टेक्स्ट जिसमें मान शामिल है |
{"createdAt":{"_type":"GreaterThan","value":"2026-10-01T00:00:00.000Z"}} | बाद की तारीखें, या बड़ी संख्याएँ |
{"currentIncidentState":{"isResolvedState":false}} | संसाधन जिस रिकॉर्ड का नाम देता है उसका फ़ील्ड: यहाँ, वे घटनाएँ जो हल नहीं हुई हैं |
status200 incident list --query '{"title":{"_type":"Search","value":"checkout"}}'API संदर्भ में फ़िल्टर, सॉर्ट और पेज हर _type सूचीबद्ध करता है।
रिकॉर्ड पढ़ें
status200 <resource> get <id> [-o <format>]status200 incident get 6f1c2a40-3b1e-4c55-9a0b-3e2f8d7c1a11टेबल रिकॉर्ड के हर फ़ील्ड के लिए एक पंक्ति दिखाती है, हर मान 60 अक्षरों पर कटा हुआ; -o json मान पूरे दिखाता है। जो ID आपकी कुंजी के पढ़ने लायक किसी रिकॉर्ड की नहीं है, उसका जवाब Not found होता है, और कमांड कोड 3 के साथ बाहर निकलती है।
रिकॉर्ड बनाएँ
status200 <resource> create --data <json> [-o <format>]
status200 <resource> create --file <path> [-o <format>]--data रिकॉर्ड को JSON के रूप में लेता है, और --file उसे किसी JSON फ़ाइल से पढ़ता है। दोनों में से एक दें; दोनों देने पर फ़ाइल उपयोग होती है। फ़ील्ड API के ही हैं, और API संदर्भ हर संसाधन के फ़ील्ड सूचीबद्ध करता है। प्रोजेक्ट API कुंजी से आता है, इसलिए रिकॉर्ड में उसका नाम कभी नहीं होता।
# A manual monitor
status200 monitor create --data '{"name":"Checkout API","monitorType":"Manual"}'
# An incident with one of your severities
status200 incident create --data '{"title":"Checkout API is down","incidentSeverityId":"<severity-id>"}'
# The same incident, from a file
status200 incident create --file incident.jsonCLI नया रिकॉर्ड, उसकी _id के साथ, प्रिंट करता है। घटना आपके प्रोजेक्ट की बनाई गई स्थिति में शुरू होती है, जब तक currentIncidentStateId कोई दूसरी स्थिति न बताए: वह स्थिति जिसमें नया रिकॉर्ड शुरू होता है देखें। अपनी गंभीरताओं की ID ढूँढने के लिए:
status200 incident-severity list -o json | jq -r '.[] | "\(._id) \(.name)"'Windows पर, JSON को किसी फ़ाइल में रखें और --file उपयोग करें: PowerShell और Command Prompt कमांड लाइन पर JSON को Bash से अलग तरीके से कोट करते हैं।
रिकॉर्ड अपडेट करें
status200 <resource> update <id> --data <json> [-o <format>]--data ज़रूरी है और इसमें केवल बदलने वाले फ़ील्ड होते हैं:
# Rename a monitor
status200 monitor update <monitor-id> --data '{"name":"Checkout API (EU)"}'
# Move an incident to your resolved state
status200 incident update <incident-id> --data '{"currentIncidentStateId":"<resolved-state-id>"}'Status200 अपडेट का जवाब एक खाली ऑब्जेक्ट से देता है: CLI एक खाली पंक्ति प्रिंट करता है, या -o json के साथ {}। रिकॉर्ड अभी कैसा है यह देखने के लिए get चलाएँ। इस तरह किसी घटना को दूसरी स्थिति में ले जाने पर बदलाव उसकी टाइमलाइन पर दर्ज होता है, जैसा डैशबोर्ड करता है, और उसकी मौजूदा स्थिति से पहले की स्थिति अस्वीकार कर दी जाती है। हल हुई स्थिति की ID ढूँढने के लिए, जो आपके प्रोजेक्ट के क्रम में पहली है:
status200 incident-state list --query '{"isResolvedState":true}' --sort '{"order":"ASC"}' --limit 1 -o json | jq -r '.[0]._id'रिकॉर्ड हटाएँ
status200 <resource> delete <id>status200 monitor delete 6f1c2a40-3b1e-4c55-9a0b-3e2f8d7c1a11यह Monitor 6f1c2a40-3b1e-4c55-9a0b-3e2f8d7c1a11 deleted successfully. जवाब देता है।
delete रिकॉर्ड को तुरंत हटा देता है। CLI आपसे पुष्टि नहीं माँगता, और इसे पूर्ववत नहीं किया जा सकता। यह उन स्क्रिप्ट के लिए --force स्वीकार करता है जो इसके साथ लिखी गई हैं, और --force कुछ नहीं बदलता।रिकॉर्ड गिनें
status200 <resource> count [--query <json>]# Every incident
status200 incident count
# Incidents that are not resolved
status200 incident count --query '{"currentIncidentState":{"isResolvedState":false}}'CLI एक संख्या प्रिंट करता है, टेबल और JSON में एक जैसी, ताकि स्क्रिप्ट उसे जैसी है वैसी ही पढ़ सके।
हर प्रकार क्या कर सकता है
| संचालन | database | analytics |
|---|---|---|
list | हाँ | हाँ |
get | हाँ | नहीं |
create | हाँ | हाँ |
update | हाँ | नहीं |
delete | हाँ | नहीं |
count | हाँ | हाँ |
समस्या निवारण
"Not found: API error (404)" संदेश
रिकॉर्ड मौजूद नहीं है, किसी दूसरे प्रोजेक्ट में है, या कुंजी उसे पढ़ नहीं सकती: Status200 हर मामले में एक ही जवाब देता है। list से ID जाँचें, और कुंजी की अनुमतियाँ भी। कमांड कोड 3 के साथ बाहर निकलती है।
"API error (422): You do not have permissions to select on" संदेश
list या get रिकॉर्ड का हर फ़ील्ड माँगता है, और कुंजी उनमें से किसी एक को पढ़ नहीं सकती: संदेश उस फ़ील्ड और उसे पढ़ सकने वाली अनुमतियों के नाम बताता है। कुंजी को उनमें से एक अनुमति दें।
"Error: Invalid JSON" संदेश
--query, --sort या --data का मान JSON नहीं है। Bash और zsh में, उसे सिंगल कोट में लपेटें; Windows पर, रिकॉर्ड को किसी फ़ाइल में रखें और --file उपयोग करें।
create या update पर API error (400)
Status200 ने कोई फ़ील्ड अस्वीकार किया: संदेश उसका नाम बताता है। No fields to update का मतलब है कि --data में बदलने के लिए कोई फ़ील्ड नहीं था।