{
  "page": {
    "id": "s51vcv9qcqnm",
    "name": "Castle",
    "url": "https://status.castle.io"
  },
  "status": {
    "indicator": "none",
    "description": "All Systems Operational"
  },
  "components": [{"status":"operational","name":"Dashboard","created_at":"2020-10-27T15:21:53.177Z","updated_at":"2026-03-31T08:00:07.263Z","position":1,"description":"Castle's administrator dashboard","showcase":true,"start_date":"2020-10-26T00:00:00.000Z","id":"fkxq0xr09m5g","group_id":null,"page_id":"s51vcv9qcqnm"},{"status":"operational","name":"Risk and Filter APIs","created_at":"2021-11-08T22:13:26.341Z","updated_at":"2026-10-23T09:27:11.380Z","position":2,"description":"These API endpoints are used to send data to Castle and get back a risk assessment of the current user.","showcase":true,"start_date":"2021-11-07T00:00:00.000Z","id":"r6k322n35dty","group_id":null,"page_id":"s51vcv9qcqnm"},{"status":"operational","name":"Log API","created_at":"2021-11-08T22:15:53.747Z","updated_at":"2026-05-08T16:41:00.784Z","position":3,"description":"This endpoint is used to send data to Castle. There is no return data.","showcase":true,"start_date":"2021-11-08T00:00:00.000Z","id":"dzm0l0kd2psv","group_id":null,"page_id":"s51vcv9qcqnm"},{"status":"operational","name":"Legacy APIs","created_at":"2020-10-27T15:21:53.121Z","updated_at":"2026-05-08T16:41:00.798Z","position":4,"description":null,"showcase":true,"start_date":"2020-10-26T07:00:00.000Z","id":"3lh2nyh20tt2","group_id":null,"page_id":"s51vcv9qcqnm"}],
  "incidents": [{"name":"Elevated invalid request token errors","status":"resolved","created_at":"2026-10-30T09:37:00.000Z","updated_at":"2026-10-30T11:37:16.452Z","monitoring_at":null,"resolved_at":"2026-10-30T10:37:00.000Z","impact":"major","shortlink":"https://stspg.io/89696gpcyp31","scheduled_for":null,"scheduled_until":null,"scheduled_remind_prior":false,"scheduled_reminded_at":null,"impact_override":"major","scheduled_auto_in_progress":false,"scheduled_auto_completed":false,"metadata":{},"started_at":"2026-10-30T10:37:00.000Z","reminder_intervals":null,"id":"v3flk3d20frt","page_id":"s51vcv9qcqnm","incident_updates":[{"status":"resolved","body":"Between 10:37 and 11:10 UTC, some Risk and Filter API requests from a subset of customers were rejected with an invalid request token error. The system is now fully operational.","created_at":"2026-10-30T11:35:36.838Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-10-30T11:37:16.265Z","display_at":"2026-10-30T10:37:00.000Z","deliver_notifications":false,"tweet_id":null,"id":"qw3p3y6lfyx1","incident_id":"v3flk3d20frt","custom_tweet":null,"affected_components":null}],"postmortem_body":null,"postmortem_body_last_updated_at":null,"postmortem_ignored":false,"postmortem_published_at":null,"postmortem_notified_subscribers":false,"postmortem_notified_twitter":false,"components":[]},{"name":"Risk \u0026 Filter API outage","status":"resolved","created_at":"2026-10-23T09:25:10.327Z","updated_at":"2026-10-23T09:26:44.451Z","monitoring_at":null,"resolved_at":"2026-10-23T09:26:44.425Z","impact":"major","shortlink":"https://stspg.io/ynlfhbbnbkq8","scheduled_for":null,"scheduled_until":null,"scheduled_remind_prior":false,"scheduled_reminded_at":null,"impact_override":"major","scheduled_auto_in_progress":false,"scheduled_auto_completed":false,"metadata":{},"started_at":"2026-10-23T09:25:10.319Z","reminder_intervals":"[]","id":"szjfszrptbqf","page_id":"s51vcv9qcqnm","incident_updates":[{"status":"resolved","body":"This incident has been resolved.","created_at":"2026-10-23T09:26:44.425Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-10-23T09:26:44.425Z","display_at":"2026-10-23T09:26:44.425Z","deliver_notifications":false,"tweet_id":null,"id":"mm5m0nys7nvt","incident_id":"szjfszrptbqf","custom_tweet":null,"affected_components":[{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"operational","new_status":"operational"}]},{"status":"investigating","body":"We are continuing to investigate this issue.","created_at":"2026-10-23T09:25:34.567Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-10-23T09:26:15.937Z","display_at":"2026-10-23T09:25:34.000Z","deliver_notifications":false,"tweet_id":null,"id":"dm3z53vk768h","incident_id":"szjfszrptbqf","custom_tweet":null,"affected_components":[{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"operational","new_status":"operational"}]},{"status":"investigating","body":"We experienced an 18-second API outage from 09:11:53 UTC to 09:12:11 UTC due to an infrastructure failover event. The system is now fully operational.","created_at":"2026-10-23T09:25:10.400Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-10-23T09:25:10.400Z","display_at":"2026-10-23T09:25:10.400Z","deliver_notifications":true,"tweet_id":null,"id":"vxw37n03bzqk","incident_id":"szjfszrptbqf","custom_tweet":null,"affected_components":[{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"operational","new_status":"operational"}]}],"postmortem_body":null,"postmortem_body_last_updated_at":null,"postmortem_ignored":false,"postmortem_published_at":null,"postmortem_notified_subscribers":false,"postmortem_notified_twitter":false,"components":[{"status":"operational","name":"Risk and Filter APIs","created_at":"2021-11-08T22:13:26.341Z","updated_at":"2026-10-23T09:27:11.380Z","position":2,"description":"These API endpoints are used to send data to Castle and get back a risk assessment of the current user.","showcase":true,"start_date":"2021-11-07T00:00:00.000Z","id":"r6k322n35dty","page_id":"s51vcv9qcqnm","group_id":null}]},{"name":"Risk \u0026 Filter API Outage","status":"resolved","created_at":"2026-09-07T13:11:05.000Z","updated_at":"2026-09-07T13:52:20.779Z","monitoring_at":null,"resolved_at":"2026-09-07T13:23:30.000Z","impact":"critical","shortlink":"https://stspg.io/11hrdxqnl377","scheduled_for":null,"scheduled_until":null,"scheduled_remind_prior":false,"scheduled_reminded_at":null,"impact_override":"critical","scheduled_auto_in_progress":false,"scheduled_auto_completed":false,"metadata":{},"started_at":"2026-09-07T13:11:05.000Z","reminder_intervals":null,"id":"b0dc9vmvgn0v","page_id":"s51vcv9qcqnm","incident_updates":[{"status":"resolved","body":"This incident has been resolved.","created_at":"2026-09-07T13:51:30.642Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-09-07T13:52:20.766Z","display_at":"2026-09-07T13:23:30.000Z","deliver_notifications":false,"tweet_id":null,"id":"rvrgntmcc09l","incident_id":"b0dc9vmvgn0v","custom_tweet":null,"affected_components":[{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"operational","new_status":"operational"}]},{"status":"investigating","body":"We experienced an API outage from 13:11 UTC to 13:23 UTC due to infrastructure scaling issues. The system is now fully operational.","created_at":"2026-09-07T13:51:05.306Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-09-07T13:52:02.606Z","display_at":"2026-09-07T13:11:05.000Z","deliver_notifications":true,"tweet_id":null,"id":"yxdtnt5dmn6f","incident_id":"b0dc9vmvgn0v","custom_tweet":null,"affected_components":[{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"operational","new_status":"operational"}]}],"postmortem_body":null,"postmortem_body_last_updated_at":null,"postmortem_ignored":false,"postmortem_published_at":null,"postmortem_notified_subscribers":false,"postmortem_notified_twitter":false,"components":[{"status":"operational","name":"Risk and Filter APIs","created_at":"2021-11-08T22:13:26.341Z","updated_at":"2026-10-23T09:27:11.380Z","position":2,"description":"These API endpoints are used to send data to Castle and get back a risk assessment of the current user.","showcase":true,"start_date":"2021-11-07T00:00:00.000Z","id":"r6k322n35dty","page_id":"s51vcv9qcqnm","group_id":null}]},{"name":"Elevated number of errors","status":"resolved","created_at":"2026-07-31T16:55:00.000Z","updated_at":"2026-07-31T18:02:47.604Z","monitoring_at":null,"resolved_at":"2026-07-31T17:04:00.000Z","impact":"major","shortlink":"https://stspg.io/7gvk7y5pb7pq","scheduled_for":null,"scheduled_until":null,"scheduled_remind_prior":false,"scheduled_reminded_at":null,"impact_override":"major","scheduled_auto_in_progress":false,"scheduled_auto_completed":false,"metadata":{},"started_at":"2026-07-31T17:04:00.000Z","reminder_intervals":null,"id":"0f92qctb80v2","page_id":"s51vcv9qcqnm","incident_updates":[{"status":"resolved","body":"We experienced an elevated number of errors returned by our API. Our team resolved the issue, and the API is operating normally. We apologize for any inconvenience caused.","created_at":"2026-07-31T18:01:24.845Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-07-31T18:02:47.522Z","display_at":"2026-07-31T17:04:00.000Z","deliver_notifications":false,"tweet_id":null,"id":"8snjvw40xy8j","incident_id":"0f92qctb80v2","custom_tweet":null,"affected_components":null}],"postmortem_body":null,"postmortem_body_last_updated_at":null,"postmortem_ignored":false,"postmortem_published_at":null,"postmortem_notified_subscribers":false,"postmortem_notified_twitter":false,"components":[]},{"name":"Degraded performance and latency due to upstream provider issues","status":"resolved","created_at":"2026-05-08T04:31:52.717Z","updated_at":"2026-05-08T16:41:00.849Z","monitoring_at":"2026-05-08T04:56:46.766Z","resolved_at":"2026-05-08T16:41:00.831Z","impact":"minor","shortlink":"https://stspg.io/ml5svqjjxmb3","scheduled_for":null,"scheduled_until":null,"scheduled_remind_prior":false,"scheduled_reminded_at":null,"impact_override":null,"scheduled_auto_in_progress":false,"scheduled_auto_completed":false,"metadata":{},"started_at":"2026-05-08T04:31:52.711Z","reminder_intervals":null,"id":"87dt6c9q90vp","page_id":"s51vcv9qcqnm","incident_updates":[{"status":"resolved","body":"This incident has been resolved.","created_at":"2026-05-08T16:41:00.831Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-05-08T16:41:00.831Z","display_at":"2026-05-08T16:41:00.831Z","deliver_notifications":true,"tweet_id":null,"id":"3vspwzl5gscp","incident_id":"87dt6c9q90vp","custom_tweet":null,"affected_components":[{"code":"3lh2nyh20tt2","name":"Legacy APIs","old_status":"degraded_performance","new_status":"operational"},{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"degraded_performance","new_status":"operational"},{"code":"dzm0l0kd2psv","name":"Log API","old_status":"degraded_performance","new_status":"operational"}]},{"status":"monitoring","body":"A fix has been implemented and we are monitoring the results.","created_at":"2026-05-08T04:56:46.766Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-05-08T04:56:46.766Z","display_at":"2026-05-08T04:56:46.766Z","deliver_notifications":true,"tweet_id":null,"id":"f0bvrwkr6lpz","incident_id":"87dt6c9q90vp","custom_tweet":null,"affected_components":[{"code":"3lh2nyh20tt2","name":"Legacy APIs","old_status":"degraded_performance","new_status":"degraded_performance"},{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"degraded_performance","new_status":"degraded_performance"},{"code":"dzm0l0kd2psv","name":"Log API","old_status":"degraded_performance","new_status":"degraded_performance"}]},{"status":"identified","body":"We are observing an elevated number of errors and slightly higher latency than normal due to upstream provider issues in AWS US-EAST-1 (us-east-1a). We are continuing to monitor the situation.\nhttps://health.aws.amazon.com/health/status","created_at":"2026-05-08T04:31:52.809Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-05-08T04:31:52.809Z","display_at":"2026-05-08T04:31:52.809Z","deliver_notifications":true,"tweet_id":null,"id":"5pjfc01qx893","incident_id":"87dt6c9q90vp","custom_tweet":null,"affected_components":[{"code":"3lh2nyh20tt2","name":"Legacy APIs","old_status":"operational","new_status":"degraded_performance"},{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"operational","new_status":"degraded_performance"},{"code":"dzm0l0kd2psv","name":"Log API","old_status":"operational","new_status":"degraded_performance"}]}],"postmortem_body":null,"postmortem_body_last_updated_at":null,"postmortem_ignored":false,"postmortem_published_at":null,"postmortem_notified_subscribers":false,"postmortem_notified_twitter":false,"components":[{"status":"operational","name":"Risk and Filter APIs","created_at":"2021-11-08T22:13:26.341Z","updated_at":"2026-10-23T09:27:11.380Z","position":2,"description":"These API endpoints are used to send data to Castle and get back a risk assessment of the current user.","showcase":true,"start_date":"2021-11-07T00:00:00.000Z","id":"r6k322n35dty","page_id":"s51vcv9qcqnm","group_id":null},{"status":"operational","name":"Log API","created_at":"2021-11-08T22:15:53.747Z","updated_at":"2026-05-08T16:41:00.784Z","position":3,"description":"This endpoint is used to send data to Castle. There is no return data.","showcase":true,"start_date":"2021-11-08T00:00:00.000Z","id":"dzm0l0kd2psv","page_id":"s51vcv9qcqnm","group_id":null},{"status":"operational","name":"Legacy APIs","created_at":"2020-10-27T15:21:53.121Z","updated_at":"2026-05-08T16:41:00.798Z","position":4,"description":null,"showcase":true,"start_date":"2020-10-26T07:00:00.000Z","id":"3lh2nyh20tt2","page_id":"s51vcv9qcqnm","group_id":null}]},{"name":"Underlying infrastructure maintenance","status":"completed","created_at":"2026-03-16T09:23:23.917Z","updated_at":"2026-03-31T08:00:07.490Z","monitoring_at":null,"resolved_at":"2026-03-31T08:00:07.457Z","impact":"maintenance","shortlink":"https://stspg.io/1vlk016j4wh0","scheduled_for":"2026-03-31T06:00:00.000Z","scheduled_until":"2026-03-31T08:00:00.000Z","scheduled_remind_prior":true,"scheduled_reminded_at":"2026-03-31T05:00:09.835Z","impact_override":null,"scheduled_auto_in_progress":true,"scheduled_auto_completed":true,"metadata":{},"started_at":"2026-03-16T09:23:23.910Z","reminder_intervals":null,"id":"19d7gf3rnyq0","page_id":"s51vcv9qcqnm","incident_updates":[{"status":"completed","body":"The scheduled maintenance has been completed.","created_at":"2026-03-31T08:00:07.457Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-03-31T08:00:07.457Z","display_at":"2026-03-31T08:00:07.457Z","deliver_notifications":true,"tweet_id":null,"id":"z13rjp4hcgnr","incident_id":"19d7gf3rnyq0","custom_tweet":null,"affected_components":[{"code":"3lh2nyh20tt2","name":"Legacy APIs","old_status":"under_maintenance","new_status":"operational"},{"code":"fkxq0xr09m5g","name":"Dashboard","old_status":"under_maintenance","new_status":"operational"},{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"under_maintenance","new_status":"operational"},{"code":"dzm0l0kd2psv","name":"Log API","old_status":"under_maintenance","new_status":"operational"}]},{"status":"in_progress","body":"Scheduled maintenance is currently in progress. We will provide updates as necessary.","created_at":"2026-03-31T06:00:07.262Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-03-31T06:00:07.262Z","display_at":"2026-03-31T06:00:07.262Z","deliver_notifications":true,"tweet_id":null,"id":"4tjns9skdjcy","incident_id":"19d7gf3rnyq0","custom_tweet":null,"affected_components":[{"code":"3lh2nyh20tt2","name":"Legacy APIs","old_status":"operational","new_status":"under_maintenance"},{"code":"fkxq0xr09m5g","name":"Dashboard","old_status":"operational","new_status":"under_maintenance"},{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"operational","new_status":"under_maintenance"},{"code":"dzm0l0kd2psv","name":"Log API","old_status":"operational","new_status":"under_maintenance"}]},{"status":"scheduled","body":"Maintenance will begin as scheduled in 60 minutes.","created_at":"2026-03-31T05:00:09.633Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-03-31T05:00:09.633Z","display_at":"2026-03-31T05:00:09.633Z","deliver_notifications":true,"tweet_id":null,"id":"1hsnqbr3qdxg","incident_id":"19d7gf3rnyq0","custom_tweet":null,"affected_components":null},{"status":"scheduled","body":"\u003cb\u003eCorrection to previous maintenance notice\u003c/b\u003e\n\nIn the Actions Needed section of our previous maintenance notice, we incorrectly stated that Castle SDKs return a \"deny\" action by default if requests fail.\n\nThe correct default behavior is \"allow\".\n\nIf you are using our SDKs and have not modified the default failover configuration, no action is required.\n\nWe apologize for the confusion.","created_at":"2026-03-17T08:01:35.836Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-03-17T08:01:35.836Z","display_at":"2026-03-17T08:01:35.836Z","deliver_notifications":true,"tweet_id":null,"id":"mr78wvt4m371","incident_id":"19d7gf3rnyq0","custom_tweet":null,"affected_components":[{"code":"3lh2nyh20tt2","name":"Legacy APIs","old_status":"operational","new_status":"operational"},{"code":"fkxq0xr09m5g","name":"Dashboard","old_status":"operational","new_status":"operational"},{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"operational","new_status":"operational"},{"code":"dzm0l0kd2psv","name":"Log API","old_status":"operational","new_status":"operational"}]},{"status":"scheduled","body":"\u003cb\u003eExpected Impact\u003c/b\u003e\n\nWe're engineering for a near-zero downtime, but have a fallback plan that may cause a possible interruption in our services during the maintenance period. Our projections estimate a service downtime of less than 30 minutes for the fallback plan. During this interruption, access to all our APIs and the dashboard will be temporarily unavailable. This maintenance has been scheduled for a period of typically lower traffic to minimize disruption to your workflows and operations.\n\n\u003cb\u003eActions Needed\u003c/b\u003e\nIn preparation for this, we recommend that you take the following actions:\n\n1. \u003cb\u003eFor users of our SDKs\u003c/b\u003e: Our SDKs are designed to handle such temporary interruptions and no action is needed on your part. They will automatically manage this brief downtime. You may want to review the failover strategy as Castle SDKs will by default return a “deny” action upon failing requests. Please see the corresponding SDK documentation (\u003ca href=\"https://docs.castle.io/docs/sdk-download\"\u003ehttps://docs.castle.io/docs/sdk-download\u003c/a\u003e) on how to change this.\n2. \u003cb\u003eFor users with custom integrations\u003c/b\u003e: If you're using custom integrations, we recommend checking that your systems can adequately handle timeouts and react to 4xx/5xx HTTP status codes. Implementing proper error handling in your code will help prevent any potential disruption to your service during this maintenance period.\n\nWe understand that any disruption, even a brief one, can be an inconvenience. However, this essential maintenance will help us improve our infrastructure and continue delivering high-quality, reliable services to you.\n\nThank you for your understanding and cooperation. We will do everything we can to ensure this process is as smooth as possible.","created_at":"2026-03-16T09:23:23.982Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-03-16T09:23:23.982Z","display_at":"2026-03-16T09:23:23.982Z","deliver_notifications":true,"tweet_id":null,"id":"vr5fspmmsjms","incident_id":"19d7gf3rnyq0","custom_tweet":null,"affected_components":[{"code":"3lh2nyh20tt2","name":"Legacy APIs","old_status":"operational","new_status":"operational"},{"code":"fkxq0xr09m5g","name":"Dashboard","old_status":"operational","new_status":"operational"},{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"operational","new_status":"operational"},{"code":"dzm0l0kd2psv","name":"Log API","old_status":"operational","new_status":"operational"}]}],"postmortem_body":null,"postmortem_body_last_updated_at":null,"postmortem_ignored":false,"postmortem_published_at":null,"postmortem_notified_subscribers":false,"postmortem_notified_twitter":false,"components":[{"status":"operational","name":"Dashboard","created_at":"2020-10-27T15:21:53.177Z","updated_at":"2026-03-31T08:00:07.263Z","position":1,"description":"Castle's administrator dashboard","showcase":true,"start_date":"2020-10-26T00:00:00.000Z","id":"fkxq0xr09m5g","page_id":"s51vcv9qcqnm","group_id":null},{"status":"operational","name":"Risk and Filter APIs","created_at":"2021-11-08T22:13:26.341Z","updated_at":"2026-10-23T09:27:11.380Z","position":2,"description":"These API endpoints are used to send data to Castle and get back a risk assessment of the current user.","showcase":true,"start_date":"2021-11-07T00:00:00.000Z","id":"r6k322n35dty","page_id":"s51vcv9qcqnm","group_id":null},{"status":"operational","name":"Log API","created_at":"2021-11-08T22:15:53.747Z","updated_at":"2026-05-08T16:41:00.784Z","position":3,"description":"This endpoint is used to send data to Castle. There is no return data.","showcase":true,"start_date":"2021-11-08T00:00:00.000Z","id":"dzm0l0kd2psv","page_id":"s51vcv9qcqnm","group_id":null},{"status":"operational","name":"Legacy APIs","created_at":"2020-10-27T15:21:53.121Z","updated_at":"2026-05-08T16:41:00.798Z","position":4,"description":null,"showcase":true,"start_date":"2020-10-26T07:00:00.000Z","id":"3lh2nyh20tt2","page_id":"s51vcv9qcqnm","group_id":null}]},{"name":"Risk and Filter API Outage","status":"resolved","created_at":"2026-03-17T09:56:21.098Z","updated_at":"2026-03-17T09:56:21.162Z","monitoring_at":null,"resolved_at":"2026-03-17T09:56:21.150Z","impact":"none","shortlink":"https://stspg.io/hz9zsp7h31yg","scheduled_for":null,"scheduled_until":null,"scheduled_remind_prior":false,"scheduled_reminded_at":null,"impact_override":null,"scheduled_auto_in_progress":false,"scheduled_auto_completed":false,"metadata":{},"started_at":"2026-03-17T09:56:21.095Z","reminder_intervals":null,"id":"z1wf2s2b5j52","page_id":"s51vcv9qcqnm","incident_updates":[{"status":"resolved","body":"We experienced an issue with downsizing one of our underlying nodes that affected the 25% of our traffic.","created_at":"2026-03-17T09:56:21.150Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-03-17T09:56:21.150Z","display_at":"2026-03-17T09:56:21.150Z","deliver_notifications":true,"tweet_id":null,"id":"fbhnk02dbscf","incident_id":"z1wf2s2b5j52","custom_tweet":null,"affected_components":[{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"operational","new_status":"operational"}]}],"postmortem_body":null,"postmortem_body_last_updated_at":null,"postmortem_ignored":false,"postmortem_published_at":null,"postmortem_notified_subscribers":false,"postmortem_notified_twitter":false,"components":[{"status":"operational","name":"Risk and Filter APIs","created_at":"2021-11-08T22:13:26.341Z","updated_at":"2026-10-23T09:27:11.380Z","position":2,"description":"These API endpoints are used to send data to Castle and get back a risk assessment of the current user.","showcase":true,"start_date":"2021-11-07T00:00:00.000Z","id":"r6k322n35dty","page_id":"s51vcv9qcqnm","group_id":null}]},{"name":"Underlying infrastructure maintenance","status":"completed","created_at":"2026-01-17T12:15:39.250Z","updated_at":"2026-02-28T10:00:07.193Z","monitoring_at":null,"resolved_at":"2026-02-28T10:00:07.172Z","impact":"maintenance","shortlink":"https://stspg.io/vmc2h6xdfd1h","scheduled_for":"2026-02-28T08:00:00.000Z","scheduled_until":"2026-02-28T10:00:00.000Z","scheduled_remind_prior":true,"scheduled_reminded_at":"2026-02-21T07:00:09.733Z","impact_override":null,"scheduled_auto_in_progress":true,"scheduled_auto_completed":true,"metadata":{},"started_at":"2026-01-17T12:15:39.242Z","reminder_intervals":null,"id":"s05mpkgk3rkb","page_id":"s51vcv9qcqnm","incident_updates":[{"status":"completed","body":"The scheduled maintenance has been completed.","created_at":"2026-02-28T10:00:07.172Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-02-28T10:00:07.172Z","display_at":"2026-02-28T10:00:07.172Z","deliver_notifications":true,"tweet_id":null,"id":"xwdtsy3fvqnw","incident_id":"s05mpkgk3rkb","custom_tweet":null,"affected_components":[{"code":"3lh2nyh20tt2","name":"Legacy APIs","old_status":"under_maintenance","new_status":"operational"},{"code":"fkxq0xr09m5g","name":"Dashboard","old_status":"under_maintenance","new_status":"operational"},{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"under_maintenance","new_status":"operational"},{"code":"dzm0l0kd2psv","name":"Log API","old_status":"under_maintenance","new_status":"operational"}]},{"status":"in_progress","body":"Scheduled maintenance is currently in progress. We will provide updates as necessary.","created_at":"2026-02-28T08:00:07.715Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-02-28T08:00:07.715Z","display_at":"2026-02-28T08:00:07.715Z","deliver_notifications":true,"tweet_id":null,"id":"shrb5t40cl38","incident_id":"s05mpkgk3rkb","custom_tweet":null,"affected_components":[{"code":"3lh2nyh20tt2","name":"Legacy APIs","old_status":"operational","new_status":"under_maintenance"},{"code":"fkxq0xr09m5g","name":"Dashboard","old_status":"operational","new_status":"under_maintenance"},{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"operational","new_status":"under_maintenance"},{"code":"dzm0l0kd2psv","name":"Log API","old_status":"operational","new_status":"under_maintenance"}]},{"status":"scheduled","body":"Maintenance will begin as scheduled in 60 minutes.","created_at":"2026-02-21T07:00:09.332Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-02-21T07:00:09.332Z","display_at":"2026-02-21T07:00:09.332Z","deliver_notifications":true,"tweet_id":null,"id":"px8v6vc2xc74","incident_id":"s05mpkgk3rkb","custom_tweet":null,"affected_components":null},{"status":"scheduled","body":"\u003cb\u003eExpected Impact\u003c/b\u003e\nWe anticipate a brief interruption in our services during the maintenance period. Our projections estimate a service downtime of less than 20 seconds. During this short interruption, access to our all APIs and dashboard will be temporarily unavailable. This maintenance has been scheduled for a period of typically lower traffic to minimize disruption to your workflows and operations.\n\n\u003cb\u003eActions Needed\u003c/b\u003e\nIn preparation for this, we recommend that you take the following actions:\n1. \u003cb\u003eFor users of our SDKs\u003c/b\u003e: Our SDKs are designed to handle such temporary interruptions and no action is needed on your part. They will automatically manage this brief downtime. You may want to review the failover strategy as Castle SDKs will by default return a “deny” action upon failing requests. Please see the corresponding SDK documentation (\u003ca href=\"https://docs.castle.io/docs/sdk-download\"\u003ehttps://docs.castle.io/docs/sdk-download\u003c/a\u003e) on how to change this.\n2. \u003cb\u003eFor users with custom integrations\u003c/b\u003e: If you're using custom integrations, we recommend checking that your systems can adequately handle timeouts and react to 4xx/5xx HTTP status codes. Implementing proper error handling in your code will help prevent any potential disruption to your service during this maintenance period.\n\nWe understand that any disruption, even a brief one, can be an inconvenience. However, this essential maintenance will help us improve our infrastructure and continue delivering high-quality, reliable services to you.\n\nThank you for your understanding and cooperation. We will do everything we can to ensure this process is as smooth as possible.","created_at":"2026-01-17T12:15:39.324Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-01-17T12:15:39.324Z","display_at":"2026-01-17T12:15:39.324Z","deliver_notifications":true,"tweet_id":null,"id":"1gvjnsptg96k","incident_id":"s05mpkgk3rkb","custom_tweet":null,"affected_components":[{"code":"3lh2nyh20tt2","name":"Legacy APIs","old_status":"operational","new_status":"operational"},{"code":"fkxq0xr09m5g","name":"Dashboard","old_status":"operational","new_status":"operational"},{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"operational","new_status":"operational"},{"code":"dzm0l0kd2psv","name":"Log API","old_status":"operational","new_status":"operational"}]}],"postmortem_body":null,"postmortem_body_last_updated_at":null,"postmortem_ignored":false,"postmortem_published_at":null,"postmortem_notified_subscribers":false,"postmortem_notified_twitter":false,"components":[{"status":"operational","name":"Dashboard","created_at":"2020-10-27T15:21:53.177Z","updated_at":"2026-03-31T08:00:07.263Z","position":1,"description":"Castle's administrator dashboard","showcase":true,"start_date":"2020-10-26T00:00:00.000Z","id":"fkxq0xr09m5g","page_id":"s51vcv9qcqnm","group_id":null},{"status":"operational","name":"Risk and Filter APIs","created_at":"2021-11-08T22:13:26.341Z","updated_at":"2026-10-23T09:27:11.380Z","position":2,"description":"These API endpoints are used to send data to Castle and get back a risk assessment of the current user.","showcase":true,"start_date":"2021-11-07T00:00:00.000Z","id":"r6k322n35dty","page_id":"s51vcv9qcqnm","group_id":null},{"status":"operational","name":"Log API","created_at":"2021-11-08T22:15:53.747Z","updated_at":"2026-05-08T16:41:00.784Z","position":3,"description":"This endpoint is used to send data to Castle. There is no return data.","showcase":true,"start_date":"2021-11-08T00:00:00.000Z","id":"dzm0l0kd2psv","page_id":"s51vcv9qcqnm","group_id":null},{"status":"operational","name":"Legacy APIs","created_at":"2020-10-27T15:21:53.121Z","updated_at":"2026-05-08T16:41:00.798Z","position":4,"description":null,"showcase":true,"start_date":"2020-10-26T07:00:00.000Z","id":"3lh2nyh20tt2","page_id":"s51vcv9qcqnm","group_id":null}]},{"name":"API Outage","status":"resolved","created_at":"2026-01-22T23:01:59.652Z","updated_at":"2026-01-22T23:01:59.718Z","monitoring_at":null,"resolved_at":"2026-01-22T23:01:59.706Z","impact":"none","shortlink":"https://stspg.io/8pcg5pk4v8ty","scheduled_for":null,"scheduled_until":null,"scheduled_remind_prior":false,"scheduled_reminded_at":null,"impact_override":null,"scheduled_auto_in_progress":false,"scheduled_auto_completed":false,"metadata":{},"started_at":"2026-01-22T23:01:59.649Z","reminder_intervals":"[]","id":"hh03vdwg6z2j","page_id":"s51vcv9qcqnm","incident_updates":[{"status":"resolved","body":"This incident has been resolved.","created_at":"2026-01-22T23:01:59.706Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2026-01-22T23:01:59.706Z","display_at":"2026-01-22T23:01:59.706Z","deliver_notifications":true,"tweet_id":null,"id":"8hkm9k1c0xmh","incident_id":"hh03vdwg6z2j","custom_tweet":null,"affected_components":[{"code":"r6k322n35dty","name":"Risk and Filter APIs","old_status":"operational","new_status":"operational"}]}],"postmortem_body":null,"postmortem_body_last_updated_at":null,"postmortem_ignored":false,"postmortem_published_at":null,"postmortem_notified_subscribers":false,"postmortem_notified_twitter":false,"components":[{"status":"operational","name":"Risk and Filter APIs","created_at":"2021-11-08T22:13:26.341Z","updated_at":"2026-10-23T09:27:11.380Z","position":2,"description":"These API endpoints are used to send data to Castle and get back a risk assessment of the current user.","showcase":true,"start_date":"2021-11-07T00:00:00.000Z","id":"r6k322n35dty","page_id":"s51vcv9qcqnm","group_id":null}]},{"name":"We observe a slight increase in 5xx errors due to transient backend issues.","status":"resolved","created_at":"2025-06-27T05:30:00.000Z","updated_at":"2025-06-27T07:23:16.642Z","monitoring_at":null,"resolved_at":"2025-06-27T06:52:00.000Z","impact":"minor","shortlink":"https://stspg.io/rzqtxj2z30js","scheduled_for":null,"scheduled_until":null,"scheduled_remind_prior":false,"scheduled_reminded_at":null,"impact_override":"minor","scheduled_auto_in_progress":false,"scheduled_auto_completed":false,"metadata":{},"started_at":"2025-06-27T07:30:00.000Z","reminder_intervals":null,"id":"1rcg979spz3w","page_id":"s51vcv9qcqnm","incident_updates":[{"status":"resolved","body":"We’re currently experiencing an elevated number of errors returned by our API. Our team has identified the root cause and is actively working on a fix. We apologize for any inconvenience and will provide updates as soon as more information becomes available.","created_at":"2025-06-27T07:18:22.696Z","wants_twitter_update":false,"twitter_updated_at":null,"updated_at":"2025-06-27T07:23:16.562Z","display_at":"2025-06-27T06:52:00.000Z","deliver_notifications":false,"tweet_id":null,"id":"79fbypgzk2p7","incident_id":"1rcg979spz3w","custom_tweet":null,"affected_components":null}],"postmortem_body":null,"postmortem_body_last_updated_at":null,"postmortem_ignored":false,"postmortem_published_at":null,"postmortem_notified_subscribers":false,"postmortem_notified_twitter":false,"components":[]}]
}
