From 27596e171bea5dea2edd22681070db82b0da852e Mon Sep 17 00:00:00 2001
From: Masaharu Hattori <112887632+Masa8106@users.noreply.github.com>
Date: Mon, 15 Jun 2026 13:01:20 +0100
Subject: [PATCH] Add HowtoUseAPI.md file
---
.../SupportingDocuments/HowtoUseAPI.md | 56 +++++++++++++++++++
1 file changed, 56 insertions(+)
create mode 100644 documentation/SupportingDocuments/HowtoUseAPI.md
diff --git a/documentation/SupportingDocuments/HowtoUseAPI.md b/documentation/SupportingDocuments/HowtoUseAPI.md
new file mode 100644
index 0000000..6c0face
--- /dev/null
+++ b/documentation/SupportingDocuments/HowtoUseAPI.md
@@ -0,0 +1,56 @@
+# How to Use the Number Recycling API
+
+## Introduction
+
+This supporting document presents the flow diagram on how to use the Number Recycling API from API consumers perspective.
+
+## Flow Diagram
+
+
+```mermaid
+ flowchart TD
+ A["t0
API Consumer onboards the user and verifies the phone number
(e.g. SMS OTP / Number Verification / equivalent trust step)"]
+ A2["API Consumer establishes a Trusted Reference Date
(e.g. t0) and MAY store it according to its own policy"]
+
+ B["tn
A sensitive action or hygiene check requires a phone-number trust assessment"]
+ C["API Consumer calls Number Recycling
with specifiedDate = Trusted Reference Date selected by consumer policy"]
+
+ D{"API response"}
+
+ E["200 OK
phoneNumberRecycled = false"]
+ F["200 OK
phoneNumberRecycled = true"]
+ G["400 OUT_OF_RANGE
specifiedDate is not processable for this provider/period"]
+ H["Other API errors
(e.g. INVALID_ARGUMENT, SERVICE_NOT_APPLICABLE, auth errors)"]
+
+ E1["No recycling detected since specifiedDate"]
+ E2["API Consumer applies its own policy
(e.g. proceed, or combine with other signals if needed)"]
+ E3["If the consumer establishes a new trusted point,
it MAY define and/or store a new Trusted Reference Date"]
+
+ F1["Recycling / ownership change detected after specifiedDate"]
+ F2["Do not assume the same user still controls the number"]
+ F3["Apply mitigation according to business policy:
block, step-up, re-verify identity, ask for updated phone number"]
+ F4["If a new or re-confirmed number is verified,
the consumer MAY define and/or store a new Trusted Reference Date"]
+
+ G1["No business conclusion can be drawn from Number Recycling alone"]
+ G2["Use fallback path according to API consumer's policy:
alternative factor, fresh verification, or re-enrolment flow"]
+ G3["If trust is re-established,
the consumer MAY define and/or store a new Trusted Reference Date"]
+
+ H1["Handle according to generic API error policy"]
+
+ Z1["Note 1:
This diagram is illustrative consumer guidance,
not normative API semantics"]
+ Z2["Note 2:
The Trusted Reference Date is not mandatory to store;
it is chosen according to the API consumer's policy"]
+ Z3["Note 3:
Examples may include original onboarding date,
last successful reverification date, or another trusted timestamp"]
+ Z4["Note 4:
false means 'no recycling detected since specifiedDate';
it does not by itself prove current possession/control"]
+
+ A --> A2 --> B --> C --> D
+ D --> E --> E1 --> E2 --> E3 --> B
+ D --> F --> F1 --> F2 --> F3 --> F4 --> B
+ D --> G --> G1 --> G2 --> G3 --> B
+ D --> H --> H1 --> B
+
+ Z1 -.-> D
+ Z2 -.-> A2
+ Z2 -.-> C
+ Z3 -.-> A2
+ Z4 -.-> E1
+```
\ No newline at end of file