{ "aid": "status.io:main-2.0.0", "name": "Status.io API v2", "type": "Index", "description": "Welcome to the official [Status.io](https://status.io) Developer API. This API is designed to help you seamlessly integrate your existing tools with your status page.\n\n# API Testing\n\n## Live Sandbox\n\nUse the built-in API client to test and debug API calls, and view example requests in multiple programming languages.\n\n**Caution:** These are live API calls and will make real changes to your status page. We strongly recommend creating a separate status page for testing purposes.\n\n# Authentication\n\nInclude **x-api-id** and **x-api-key** in the header of every request.\n\nAPI credentials are available in the API tab of your Dashboard.\n\n**Note:** Each team member has their own unique API credentials.\n\n# Error Handling\n\nAll API responses include a status object.\n\nCheck the **status.error** field (\"yes\" or \"no\") and refer to **status.message** for details.\n\n## Success Example\n\n```\n {\"status\":\n {\n \"error\": \"no\",\n \"message\": \"OK\"\n }\n }\n```\n\n## Failure Example\n\n```\n {\"status\":\n {\n \"error\": \"yes\",\n \"message\": \"Authentication failed\"\n }\n }\n```\n\n## Invalid URLs\n\nIf an invalid URL or HTTP method is used, the API will respond with a **403 Forbidden** error.\n\n## Validation Errors\n\nIf input parameters are of the wrong type or missing, the API will return a **400 Bad Request** error.\n\n# Client Libraries\n\nWe provide official client libraries in several languages to help you get started quickly:\n\nGo - [statusio-go](https://github.com/statusio/statusio-go)\n\nNode.js - [statusio-node](https://github.com/statusio/statusio-node)\n\nPHP - [statusio-php](https://github.com/statusio/statusio-php)\n\nPython - [statusio-python](https://github.com/statusio/statusio-python)\n\nRuby - [statusio-ruby](https://github.com/statusio/statusio-ruby)\n\nRust - [statusio unofficial](https://github.com/SecurityInsanity/statusio)\n\n*Created and maintained by a third-party developer.*\n\n## Community Development\n\nIf you have built a library or plugin that integrates with the Status.io API, we welcome community contributions and would be pleased to feature your work. Please reach out to share your integration.\n\n# Data Format\n\nAll requests and responses use JSON.\n\nInclude the following header in all requests:\n\n```\nContent-Type: application/json\n```\n\n## Dates and Times\n\nAll timestamps returned by the API are in UTC.\n\nHowever, custom time zone settings are automatically applied for viewers of your status page.\n\n# Best Practices\n\n## Use Caching\n\nWhenever possible, cache API responses server-side.\n\nAvoid making a new API call for every page hit, especially under load, as this can cause your connection to be throttled.\n\nIf the data doesn’t change frequently, caching will improve performance and reliability.\n\n## Use Reasonable Polling Intervals\n\nAvoid checking for updates too frequently. For example, polling every second for a status update offers no real benefit—the highest meaningful resolution is one minute. Requests more frequent than this may be rate-limited or blocked.\n\n## Only Send Meaningful Updates\n\nSend updates only when status changes occur. Avoid repeatedly reporting the same status, such as continuously reporting that a component is operational when no change has occurred.\n\n## Limit Concurrent Requests\n\nOnly send **one API request at a time**. If you need to send multiple updates, queue them and send them sequentially, waiting at least **1 second between requests** to avoid triggering rate limits.\n\n## Expect Network Issues\n\nNetwork connectivity can be intermittent. Design your integration to handle timeouts and failures gracefully. Always implement proper error handling and retry logic—never assume every request will succeed.\n\n# Support\n\nWe are here to help. If you encounter any issues or have suggestions for improvement, please reach out: hello@status.io\n\n# Security\n\nWe support and appreciate responsible disclosure.\n\nTo report a security issue, contact our security team at: security@status.io.\n\nIf you’re sharing sensitive information, please encrypt it using our [PGP key](https://status.io/public_key.txt).", "url": "https://raw.githubusercontent.com/jentic/jentic-public-apis/refs/heads/main/apis/openapi/status.io/main/2.0.0/apis.json", "tags": [ "status.io", "main" ], "created": "2026-04-11", "modified": "2026-04-11", "specificationVersion": "0.19", "access": "3rd-Party", "maintainers": [ { "FN": "Jentic", "X-github": "jentic", "url": "https://github.com/jentic" } ], "apis": [ { "aid": "status.io:main-2.0.0", "name": "Status.io API v2", "description": "Welcome to the official [Status.io](https://status.io) Developer API. This API is designed to help you seamlessly integrate your existing tools with your status page.\n\n# API Testing\n\n## Live Sandbox\n\nUse the built-in API client to test and debug API calls, and view example requests in multiple programming languages.\n\n**Caution:** These are live API calls and will make real changes to your status page. We strongly recommend creating a separate status page for testing purposes.\n\n# Authentication\n\nInclude **x-api-id** and **x-api-key** in the header of every request.\n\nAPI credentials are available in the API tab of your Dashboard.\n\n**Note:** Each team member has their own unique API credentials.\n\n# Error Handling\n\nAll API responses include a status object.\n\nCheck the **status.error** field (\"yes\" or \"no\") and refer to **status.message** for details.\n\n## Success Example\n\n```\n {\"status\":\n {\n \"error\": \"no\",\n \"message\": \"OK\"\n }\n }\n```\n\n## Failure Example\n\n```\n {\"status\":\n {\n \"error\": \"yes\",\n \"message\": \"Authentication failed\"\n }\n }\n```\n\n## Invalid URLs\n\nIf an invalid URL or HTTP method is used, the API will respond with a **403 Forbidden** error.\n\n## Validation Errors\n\nIf input parameters are of the wrong type or missing, the API will return a **400 Bad Request** error.\n\n# Client Libraries\n\nWe provide official client libraries in several languages to help you get started quickly:\n\nGo - [statusio-go](https://github.com/statusio/statusio-go)\n\nNode.js - [statusio-node](https://github.com/statusio/statusio-node)\n\nPHP - [statusio-php](https://github.com/statusio/statusio-php)\n\nPython - [statusio-python](https://github.com/statusio/statusio-python)\n\nRuby - [statusio-ruby](https://github.com/statusio/statusio-ruby)\n\nRust - [statusio unofficial](https://github.com/SecurityInsanity/statusio)\n\n*Created and maintained by a third-party developer.*\n\n## Community Development\n\nIf you have built a library or plugin that integrates with the Status.io API, we welcome community contributions and would be pleased to feature your work. Please reach out to share your integration.\n\n# Data Format\n\nAll requests and responses use JSON.\n\nInclude the following header in all requests:\n\n```\nContent-Type: application/json\n```\n\n## Dates and Times\n\nAll timestamps returned by the API are in UTC.\n\nHowever, custom time zone settings are automatically applied for viewers of your status page.\n\n# Best Practices\n\n## Use Caching\n\nWhenever possible, cache API responses server-side.\n\nAvoid making a new API call for every page hit, especially under load, as this can cause your connection to be throttled.\n\nIf the data doesn’t change frequently, caching will improve performance and reliability.\n\n## Use Reasonable Polling Intervals\n\nAvoid checking for updates too frequently. For example, polling every second for a status update offers no real benefit—the highest meaningful resolution is one minute. Requests more frequent than this may be rate-limited or blocked.\n\n## Only Send Meaningful Updates\n\nSend updates only when status changes occur. Avoid repeatedly reporting the same status, such as continuously reporting that a component is operational when no change has occurred.\n\n## Limit Concurrent Requests\n\nOnly send **one API request at a time**. If you need to send multiple updates, queue them and send them sequentially, waiting at least **1 second between requests** to avoid triggering rate limits.\n\n## Expect Network Issues\n\nNetwork connectivity can be intermittent. Design your integration to handle timeouts and failures gracefully. Always implement proper error handling and retry logic—never assume every request will succeed.\n\n# Support\n\nWe are here to help. If you encounter any issues or have suggestions for improvement, please reach out: hello@status.io\n\n# Security\n\nWe support and appreciate responsible disclosure.\n\nTo report a security issue, contact our security team at: security@status.io.\n\nIf you’re sharing sensitive information, please encrypt it using our [PGP key](https://status.io/public_key.txt).", "image": "", "baseURL": "https://api.status.io/v2", "humanURL": "https://github.com/jentic/jentic-public-apis/tree/main/apis/openapi/status.io/main/2.0.0", "version": "2.0.0", "tags": [ "status.io", "main" ], "properties": [ { "type": "OpenAPI", "name": "OpenAPI definition", "url": "https://raw.githubusercontent.com/jentic/jentic-public-apis/refs/heads/main/apis/openapi/status.io/main/2.0.0/openapi.json", "mediaType": "application/openapi+json" }, { "type": "GitHubRepo", "url": "https://github.com/jentic/jentic-public-apis/tree/main/apis/openapi/status.io/main/2.0.0" } ] } ] }