From 45fda69ee318b6aa7623f0e01f0ee3ad63a3be59 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 16 Oct 2026 13:56:21 +0000 Subject: [PATCH] chore: update v3 OpenAPI specs to v3.1029.0 --- CHANGELOG.md | 7 +++++++ specs/v3/openapi.yaml | 41 +++++++++++++++++++++++++++++++++------ specs/v3/v3-services.yaml | 36 ++++++++++++++++++++++++++++------ 3 files changed, 72 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ce071b..f4388d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] +## [v3.1029.0] - 2026-10-16 + +### Changed +- Updated `openapi` +- Updated `v3-services` + + ## [v3.1022.0] - 2026-10-15 ### Changed diff --git a/specs/v3/openapi.yaml b/specs/v3/openapi.yaml index be9808e..505a839 100644 --- a/specs/v3/openapi.yaml +++ b/specs/v3/openapi.yaml @@ -3174,7 +3174,21 @@ paths: summary: Get ID type availability status description: | Returns the current availability and success rate for a specific ID type - in a given country, based on uptime data from the last hour. + in a given country. + + Every 10 minutes, Smile ID works out the share of the previous 10 minutes' + verifications for the ID type in which the ID authority responded. Only an + "ID authority unavailable" result counts as a failure: a not-found or no-match + result still means the authority responded. `last_known_status` comes from the + latest of these 10-minute results: + + - `online`: more than 91% of checks succeeded + - `interruption`: more than 50% and up to 91% succeeded + - `offline`: 50% or fewer succeeded + + A result is only recorded for a window that had traffic. For an ID type with + little traffic, the latest result can be up to an hour old (see `last_checked`). + If there is no result in the last hour, the endpoint returns a 400 no-data error. In sandbox there is no uptime data. The endpoint returns `online` by default, or the state named in `sandbox_status`, so you can test how your flow handles each one. @@ -6322,26 +6336,41 @@ components: last_checked: type: string format: date-time - description: Timestamp of the most recent uptime check. + description: >- + When the latest 10-minute availability result was calculated. Use it to tell how old the status is. example: '2026-04-14T12:30:00.000Z' last_check_status: type: string enum: - success - failure - description: Whether the most recent check succeeded or failed. + deprecated: true + description: | + Deprecated: use `last_known_status`. `failure` when `last_known_status` is `offline`, + otherwise `success`, so `interruption` always comes with `success`. example: success last_hour_success_rate: type: string - description: Aggregate success rate over the last hour as a percentage. + description: >- + Success rate across every 10-minute result in the last hour, as a whole percentage rounded down. example: 95% last_known_status: type: string - description: The raw status string from the most recent check (e.g. "online", "offline"). + enum: + - online + - interruption + - offline + description: | + Availability from the latest 10-minute result. `online` when more than 91% of + checks succeeded, `interruption` when more than 50% and up to 91% succeeded, + `offline` when 50% or fewer succeeded. example: online last_check_success_rate: type: string - description: Success rate of the most recent individual check as a percentage. + description: | + Success rate in the latest 10-minute result, as a whole percentage rounded down. + Because of the rounding, 91% can appear with `online` or `interruption`, and 50% + with `interruption` or `offline`. example: 90% ServiceErrorResponse: type: object diff --git a/specs/v3/v3-services.yaml b/specs/v3/v3-services.yaml index 9698e2b..dc2494f 100644 --- a/specs/v3/v3-services.yaml +++ b/specs/v3/v3-services.yaml @@ -179,24 +179,34 @@ components: last_checked: type: string format: date-time - description: Timestamp of the most recent uptime check. + description: When the latest 10-minute availability result was calculated. Use it to tell how old the status is. example: '2026-04-14T12:30:00.000Z' last_check_status: type: string enum: [success, failure] - description: Whether the most recent check succeeded or failed. + deprecated: true + description: | + Deprecated: use `last_known_status`. `failure` when `last_known_status` is `offline`, + otherwise `success`, so `interruption` always comes with `success`. example: success last_hour_success_rate: type: string - description: Aggregate success rate over the last hour as a percentage. + description: Success rate across every 10-minute result in the last hour, as a whole percentage rounded down. example: '95%' last_known_status: type: string - description: The raw status string from the most recent check (e.g. "online", "offline"). + enum: [online, interruption, offline] + description: | + Availability from the latest 10-minute result. `online` when more than 91% of + checks succeeded, `interruption` when more than 50% and up to 91% succeeded, + `offline` when 50% or fewer succeeded. example: online last_check_success_rate: type: string - description: Success rate of the most recent individual check as a percentage. + description: | + Success rate in the latest 10-minute result, as a whole percentage rounded down. + Because of the rounding, 91% can appear with `online` or `interruption`, and 50% + with `interruption` or `offline`. example: '90%' ServiceErrorResponse: type: object @@ -411,7 +421,21 @@ paths: summary: Get ID type availability status description: | Returns the current availability and success rate for a specific ID type - in a given country, based on uptime data from the last hour. + in a given country. + + Every 10 minutes, Smile ID works out the share of the previous 10 minutes' + verifications for the ID type in which the ID authority responded. Only an + "ID authority unavailable" result counts as a failure: a not-found or no-match + result still means the authority responded. `last_known_status` comes from the + latest of these 10-minute results: + + - `online`: more than 91% of checks succeeded + - `interruption`: more than 50% and up to 91% succeeded + - `offline`: 50% or fewer succeeded + + A result is only recorded for a window that had traffic. For an ID type with + little traffic, the latest result can be up to an hour old (see `last_checked`). + If there is no result in the last hour, the endpoint returns a 400 no-data error. In sandbox there is no uptime data. The endpoint returns `online` by default, or the state named in `sandbox_status`, so you can test how your flow handles each one.