From 70595328625bead3bdda87495542a7e82c6d4fd6 Mon Sep 17 00:00:00 2001
From: Gilles Renoux <144710412+GillesInnov35@users.noreply.github.com>
Date: Wed, 24 Jun 2026 11:07:39 +0200
Subject: [PATCH 01/12] Update KYC Fill-in API definition
---
code/API_definitions/kyc-fill-in.yaml | 202 +-------------------------
1 file changed, 8 insertions(+), 194 deletions(-)
diff --git a/code/API_definitions/kyc-fill-in.yaml b/code/API_definitions/kyc-fill-in.yaml
index 9dbbb51..1bc1101 100644
--- a/code/API_definitions/kyc-fill-in.yaml
+++ b/code/API_definitions/kyc-fill-in.yaml
@@ -157,7 +157,7 @@ paths:
- kyc-fill-in:nationality
parameters:
- - $ref: '#/components/parameters/x-correlator'
+ - $ref: '../common/CAMARA_common.yaml#/components/parameters/x-correlator'
requestBody:
required: true
@@ -176,7 +176,7 @@ paths:
description: OK
headers:
x-correlator:
- $ref: "#/components/headers/X-Correlator"
+ $ref: "../common/CAMARA_common.yaml#/components/headers/X-Correlator"
content:
application/json:
@@ -212,15 +212,15 @@ paths:
nationality: ES
"400":
- $ref: '#/components/responses/Generic400'
+ $ref: '../common/CAMARA_common.yaml#/components/responses/Generic400'
"401":
- $ref: '#/components/responses/Generic401'
+ $ref: '../common/CAMARA_common.yaml#/components/responses/Generic401'
"403":
- $ref: '#/components/responses/Generic403'
+ $ref: '../common/CAMARA_common.yaml#/components/responses/Generic403'
"404":
- $ref: '#/components/responses/Generic404'
+ $ref: '../common/CAMARA_common.yaml#/components/responses/Generic404'
"422":
- $ref: '#/components/responses/Generic422'
+ $ref: '../common/CAMARA_common.yaml#/components/responses/Generic422'
components:
securitySchemes:
@@ -228,21 +228,6 @@ components:
type: openIdConnect
openIdConnectUrl: https://example.com/.well-known/openid-configuration
- headers:
- X-Correlator:
- description: Correlation id for the different services
- required: false
- schema:
- $ref: "#/components/schemas/XCorrelator"
-
- parameters:
- x-correlator:
- name: x-correlator
- in: header
- description: Correlation id for the different services
- schema:
- $ref: "#/components/schemas/XCorrelator"
-
schemas:
KYC_FillinRequest:
type: object
@@ -258,10 +243,7 @@ components:
properties:
phoneNumber:
- type: string
- description: A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with '+'.
- pattern: '^\+[1-9][0-9]{4,14}$'
- example: "+123456789"
+ $ref: "../common/CAMARA_common.yaml#/components/schemas/PhoneNumber"
idDocument:
type: string
@@ -366,171 +348,3 @@ components:
nationality:
type: string
description: ISO 3166-1 alpha-2 code of the customer’s nationality. In the case a customer has more than one nationality, it is supposed to be the nationality related to the ID document provided in the match request.
-
- ErrorInfo:
- type: object
- required:
- - status
- - code
- - message
- properties:
- status:
- type: integer
- description: HTTP response status code
- code:
- type: string
- description: A human-readable code to describe the error
- message:
- type: string
- description: A human-readable description of what the event represents
-
- XCorrelator:
- type: string
- pattern: ^[a-zA-Z0-9-_:;.\/<>{}]{0,256}$
- example: "b4333c46-49c0-4f62-80d7-f0ef930f1c46"
-
- responses:
- Generic400:
- description: Bad Request
- headers:
- x-correlator:
- $ref: "#/components/headers/X-Correlator"
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/ErrorInfo"
- - type: object
- properties:
- status:
- enum:
- - 400
- code:
- enum:
- - INVALID_ARGUMENT
- examples:
- GENERIC_400_INVALID_ARGUMENT:
- description: Invalid Argument. Generic Syntax Exception
- value:
- status: 400
- code: INVALID_ARGUMENT
- message: Client specified an invalid argument, request body or query param.
-
- Generic401:
- description: Unauthorized
- headers:
- x-correlator:
- $ref: "#/components/headers/X-Correlator"
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/ErrorInfo"
- - type: object
- properties:
- status:
- enum:
- - 401
- code:
- enum:
- - UNAUTHENTICATED
- examples:
- GENERIC_401_UNAUTHENTICATED:
- description: Request cannot be authenticated and a new authentication is required
- value:
- status: 401
- code: UNAUTHENTICATED
- message: Request not authenticated due to missing, invalid, or expired credentials. A new authentication is required.
-
- Generic403:
- description: Forbidden
- headers:
- x-correlator:
- $ref: "#/components/headers/X-Correlator"
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/ErrorInfo"
- - type: object
- properties:
- status:
- enum:
- - 403
- code:
- enum:
- - PERMISSION_DENIED
-
- examples:
- GENERIC_403_PERMISSION_DENIED:
- description: Permission denied. OAuth2 token access does not have the required scope or when the user fails operational security
- value:
- status: 403
- code: PERMISSION_DENIED
- message: Client does not have sufficient permissions to perform this action.
-
- Generic404:
- description: Not found
- headers:
- x-correlator:
- $ref: "#/components/headers/X-Correlator"
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/ErrorInfo"
- - type: object
- properties:
- status:
- enum:
- - 404
- code:
- enum:
- - IDENTIFIER_NOT_FOUND
- examples:
- GENERIC_404_IDENTIFIER_NOT_FOUND:
- description: The phone number is not associated with a CSP customer account
- value:
- status: 404
- code: IDENTIFIER_NOT_FOUND
- message: The phone number provided is not associated with a customer account
-
- Generic422:
- description: Unprocessable Content
- headers:
- x-correlator:
- $ref: "#/components/headers/X-Correlator"
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/ErrorInfo"
- - type: object
- properties:
- status:
- enum:
- - 422
- code:
- enum:
- - SERVICE_NOT_APPLICABLE
- - MISSING_IDENTIFIER
- - UNNECESSARY_IDENTIFIER
- examples:
- GENERIC_422_SERVICE_NOT_APPLICABLE:
- description: Service is not applicable for the provided phone number
- value:
- status: 422
- code: SERVICE_NOT_APPLICABLE
- message: The service is not applicable for the provided phone number
- GENERIC_422_MISSING_IDENTIFIER:
- description: No phone number has been provided either explicitly or associated with the access token
- value:
- status: 422
- code: MISSING_IDENTIFIER
- message: No phone number has been provided
- GENERIC_422_UNNECESSARY_IDENTIFIER:
- description: An explicit phone number has been provided when one is already associated with the access token
- value:
- status: 422
- code: UNNECESSARY_IDENTIFIER
- message: An explicit phone number has been provided when one is already associated with the access token
From 45f55df2ed8c3fdc58fa1e43cb681b19c0772696 Mon Sep 17 00:00:00 2001
From: Gilles Renoux <144710412+GillesInnov35@users.noreply.github.com>
Date: Wed, 24 Jun 2026 11:18:18 +0200
Subject: [PATCH 02/12] Update KYC API definition with new details
---
code/API_definitions/kyc-fill-in.yaml | 48 ++++++++++++++++++++++-----
1 file changed, 40 insertions(+), 8 deletions(-)
diff --git a/code/API_definitions/kyc-fill-in.yaml b/code/API_definitions/kyc-fill-in.yaml
index 1bc1101..ed2c2ad 100644
--- a/code/API_definitions/kyc-fill-in.yaml
+++ b/code/API_definitions/kyc-fill-in.yaml
@@ -40,14 +40,15 @@ info:
* An endpoint to request information related to an end user against the account data bound to their phone number.
- ## Authorization and authentication
+
+ # Authorization and authentication
The "Camara Security and Interoperability Profile" provides details of how an API consumer requests an access token. Please refer to Identity and Consent Management (https://github.com/camaraproject/IdentityAndConsentManagement/) for the released version of the profile.
The specific authorization flows to be used will be agreed upon during the onboarding process, happening between the API consumer and the API provider, taking into account the declared purpose for accessing the API, whilst also being subject to the prevailing legal framework dictated by local legislation.
In cases where personal data is processed by the API and users can exercise their rights through mechanisms such as opt-in and/or opt-out, the use of three-legged access tokens is mandatory. This ensures that the API remains in compliance with privacy regulations, upholding the principles of transparency and user-centric privacy-by-design.
-
+
# Identifying the phone number from the access token
@@ -63,12 +64,21 @@ info:
- If the subject can be identified from the access token and the optional `phoneNumber` field is also included in the request, then the server will return an error with the `422 UNNECESSARY_IDENTIFIER` error code. This will be the case even if the same phone number is identified by these two methods, as the server is unable to make this comparison.
- ### Additional CAMARA error responses
- The list of error codes in this API specification is not exhaustive. Therefore the API specification may not document some non-mandatory error statuses as indicated in `CAMARA API Design Guide`.
+
+ # Additional CAMARA error responses
+
+ The list of error codes in this API specification is not exhaustive. Therefore the API specification MAY not document some non-mandatory error statuses as indicated in `CAMARA API Design Guide`.
Please refer to the `CAMARA_common.yaml` of the Commonalities Release associated to this API version for a complete list of error responses. The applicable Commonalities Release can be identified in the `API Readiness Checklist` document associated to this API version.
As a specific rule, error `501 - NOT_IMPLEMENTED` can be only a possible error response if it is explicitly documented in the API.
+
+
+
+ # Request body strictness
+
+ This API rejects requests with JSON request bodies that contain properties not declared in this specification, at any nesting level. Unknown properties result in a `400 INVALID_ARGUMENT` response.
+
license:
name: Apache 2.0
@@ -225,6 +235,7 @@ paths:
components:
securitySchemes:
openId:
+ description: OpenID Connect authentication
type: openIdConnect
openIdConnectUrl: https://example.com/.well-known/openid-configuration
@@ -233,10 +244,7 @@ components:
type: object
properties:
phoneNumber:
- type: string
- description: A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with '+'.
- pattern: '^\+[1-9][0-9]{4,14}$'
- example: "+123456789"
+ $ref: "../common/CAMARA_common.yaml#/components/schemas/PhoneNumber"
KYC_FillinResponse:
type: object
@@ -247,90 +255,111 @@ components:
idDocument:
type: string
+ maxLength: 50
description: Id number associated to the id_document of the customer stored on the Operator's system.
idDocumentType:
type: string
+ maxLength: 50
enum: [passport, national_id_card, residence_permit, diplomatic_id, driver_licence, social_security_id, other]
description: Type of the official identity document provided.
idDocumentExpiryDate:
type: string
format: date
+ maxLength: 16
description: Expiration date of the identity document (ISO 8601).
name:
type: string
+ maxLength: 256
description: Complete name of the customer stored on the Operator's system. It is usually composed of first/given name and last/family/sur- name in a country. Depending on the country, the order of first/give name and last/family/sur- name varies, and middle name could be included. It can use givenName, middleNames, familyName and/or familyNameAtBirth. For example, in ESP, name+familyName; in NLD, it can be name+middleNames+familyName or name+middleNames+familyNameAtBirth, etc.
givenName:
type: string
+ maxLength: 100
description: First/given name or compound first/given name of the customer on the Operator's system.
familyName:
type: string
+ maxLength: 150
description: Last name, family name, or surname of the customer stored on the Operator's system.
nameKanaHankaku:
type: string
+ maxLength: 256
description: Complete name of the customer in Hankaku-Kana format (reading of name) for Japan, stored on the Operator's system.
nameKanaZenkaku:
type: string
+ maxLength: 256
description: Complete name of the customer in Zenkaku-Kana format (reading of name) for Japan, stored on the Operator's system.
middleNames:
type: string
+ maxLength: 100
description: Middle name/s of the customer stored on the Operator's system.
familyNameAtBirth:
type: string
+ maxLength: 150
description: Last/family/sur- name at birth of the customer stored on the Operator's system.
address:
type: string
+ maxLength: 256
description: Complete address of the customer stored on the Operator's system. For some countries, it is built following the usual concatenation of parameters in a country, but for other countries, this is not the case. For some countries, it can use streetName, streetNumber and/or houseNumberExtension. For example, in ESP, streetName+streetNumber; in NLD, it can be streetName+streetNumber or streetName+streetNumber+houseNumberExtension.
streetName:
type: string
+ maxLength: 150
description: Name of the street of the customer's address on the Operator's system. It should not include the type of the street.
streetNumber:
type: string
+ maxLength: 20
description: The street number of the customer's address on the Operator's system. Number identifying a specific property on the 'streetName'.
postalCode:
type: string
+ maxLength: 20
description: The postal code or Zip code of the customer's address, stored on the Operator's system.
region:
type: string
+ maxLength: 100
description: Region/prefecture of the customer's address, stored on the Operator's system.
locality:
type: string
+ maxLength: 100
description: Locality of the customer's address, stored on the Operator's system.
country:
type: string
+ maxLength: 2
description: Country of the customer's address stored on the Operator's system. Format ISO 3166-1 alpha-2.
houseNumberExtension:
type: string
+ maxLength: 20
description: House number extension of the customer stored on the Operator's system. Specific identifier of the house needed depending on the property type. For example, number of apartment in an apartment building.
birthdate:
type: string
format: date
+ maxLength: 64
description: Birthdate of the customer, in ISO 8601 calendar date format (YYYY-MM-DD), stored on the Operator's system.
email:
type: string
format: email
+ maxLength: 254
description: Email address of the customer in the RFC specified format (local-part@domain), stored on the Operator's system.
gender:
type: string
+ maxLength: 6
description: Gender of the customer stored on the Operator's system (Male/Female/Other).
enum:
- MALE
@@ -339,12 +368,15 @@ components:
cityOfBirth:
type: string
+ maxLength: 100
description: City where the customer was born.
countryOfBirth:
type: string
+ maxLength: 2
description: Country where the customer was born. Format ISO 3166-1 alpha-2.
nationality:
type: string
+ maxLength: 2
description: ISO 3166-1 alpha-2 code of the customer’s nationality. In the case a customer has more than one nationality, it is supposed to be the nationality related to the ID document provided in the match request.
From d6d31313eca2dcc4bf8198f4f6cb55bedc3276d6 Mon Sep 17 00:00:00 2001
From: Gilles Renoux <144710412+GillesInnov35@users.noreply.github.com>
Date: Wed, 24 Jun 2026 11:26:11 +0200
Subject: [PATCH 03/12] Update KYC Fill-in API definition
---
code/API_definitions/kyc-fill-in.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/API_definitions/kyc-fill-in.yaml b/code/API_definitions/kyc-fill-in.yaml
index ed2c2ad..08976f2 100644
--- a/code/API_definitions/kyc-fill-in.yaml
+++ b/code/API_definitions/kyc-fill-in.yaml
@@ -186,7 +186,7 @@ paths:
description: OK
headers:
x-correlator:
- $ref: "../common/CAMARA_common.yaml#/components/headers/X-Correlator"
+ $ref: "../common/CAMARA_common.yaml#/components/headers/x-correlator"
content:
application/json:
From 0e65295a14c3636443a57e4ec0b0b3faedd04755 Mon Sep 17 00:00:00 2001
From: Gilles Renoux <144710412+GillesInnov35@users.noreply.github.com>
Date: Wed, 24 Jun 2026 11:30:41 +0200
Subject: [PATCH 04/12] Delete code/API_definitions/README.MD
---
code/API_definitions/README.MD | 1 -
1 file changed, 1 deletion(-)
delete mode 100644 code/API_definitions/README.MD
diff --git a/code/API_definitions/README.MD b/code/API_definitions/README.MD
deleted file mode 100644
index e9cd5a5..0000000
--- a/code/API_definitions/README.MD
+++ /dev/null
@@ -1 +0,0 @@
-Here you can add your definition file(s). Delete this README.MD file after the first file is added.
From b0c08a3dd95f21738a76ebf6980fa626a2ac17a4 Mon Sep 17 00:00:00 2001
From: Gilles Renoux <144710412+GillesInnov35@users.noreply.github.com>
Date: Wed, 24 Jun 2026 11:34:19 +0200
Subject: [PATCH 05/12] Update KYC Fill-in API definition
---
code/API_definitions/kyc-fill-in.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/code/API_definitions/kyc-fill-in.yaml b/code/API_definitions/kyc-fill-in.yaml
index 08976f2..9c56894 100644
--- a/code/API_definitions/kyc-fill-in.yaml
+++ b/code/API_definitions/kyc-fill-in.yaml
@@ -109,6 +109,8 @@ paths:
tags:
- Fill-in
summary: Providing information related to a customer identity stored the account data bound to the customer's phone number.
+ description: |
+ Provides information related to a customer identity stored the account data bound to the customer's phone number.
operationId: KYC_Fill-in
From a2d764ebb6029aaeab1e0fbd53742037ff8299de Mon Sep 17 00:00:00 2001
From: Gilles Renoux <144710412+GillesInnov35@users.noreply.github.com>
Date: Wed, 24 Jun 2026 11:43:29 +0200
Subject: [PATCH 06/12] Delete
documentation/API_documentation/kyc-fill-in-API-Readiness-Checklist.md
---
.../kyc-fill-in-API-Readiness-Checklist.md | 29 -------------------
1 file changed, 29 deletions(-)
delete mode 100644 documentation/API_documentation/kyc-fill-in-API-Readiness-Checklist.md
diff --git a/documentation/API_documentation/kyc-fill-in-API-Readiness-Checklist.md b/documentation/API_documentation/kyc-fill-in-API-Readiness-Checklist.md
deleted file mode 100644
index ab68c13..0000000
--- a/documentation/API_documentation/kyc-fill-in-API-Readiness-Checklist.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# API Readiness Checklist
-
-Checklist for kyc-fill-in 0.4.1 in release r1.3
-
-| Nr | API release assets | alpha | release-candidate | initial
public | stable
public | Status | Reference information |
-|----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|:----:|
-| 1 | API definition | M | M | M | M | Y | [link](/code/API_definitions/kyc-fill-in.yaml) |
-| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.4](https://github.com/camaraproject/Commonalities/releases/tag/r3.4) |
-| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.3) |
-| 4 | API versioning convention applied | M | M | M | M | Y | |
-| 5 | API documentation | M | M | M | M | Y | Embedded documentation into API spec - [link](/code/API_definitions/kyc-fill-in.yaml) |
-| 6 | User stories | O | O | O | M | Y | [link](/documentation/API_documentation/KnowYourCustomer_User_Story.md) |
-| 7 | Basic API test cases & documentation | O | M | M | M | Y | [link](/code/Test_definitions/kyc-fill-in.feature) |
-| 8 | Enhanced API test cases & documentation | O | O | O | M | N | |
-| 9 | Test result statement | O | O | O | M | N | |
-| 10 | API release numbering convention applied | M | M | M | M | Y | r1.3 |
-| 11 | Change log updated | M | M | M | M | Y | [link](/CHANGELOG.md) |
-| 12 | Previous public release was certified | O | O | O | M | N | |
-| 13 | API description (for marketing) | O | O | M | M | Y | [wiki link](https://lf-camaraproject.atlassian.net/wiki/x/d4AzC) |
-
-To fill the checklist:
-- in the line above the table, replace the api-name, api-version and the rx.y by their actual values for the current API version and release.
-- in the Status column, put "Y" (yes) if the release asset is available or fulfilled in the current release, a "N" (no) or a "tbd". Example use of "tbd" is in case an alpha or release-candidate API version does not yet provide all mandatory assets for the release.
-- in the Reference information column, provide the relative links (from the API repository home folder) to the release asset once available, the applicable release numbers (not versions) of Commonalities and ICM, and any other relevant links or information.
-- For the point 12: The Reference information comment shall reference a note (e.g. "see (1)") under the checklist table to be added that states the certified company(s) as can be found on the following link: [GSMA Open Gateway Portal](https://open-gateway.gsma.com/).
-
-Note: the checklists of a public API version and of its preceding release-candidate API version can be the same.
-
-The documentation for the content of the checklist is here: see API Readiness Checklist section in the [API Release Process](https://lf-camaraproject.atlassian.net/wiki/x/jine).
From 046711ec9b83813c944f3ec1dd35e13df8c37232 Mon Sep 17 00:00:00 2001
From: Gilles Renoux <144710412+GillesInnov35@users.noreply.github.com>
Date: Wed, 24 Jun 2026 11:47:37 +0200
Subject: [PATCH 07/12] Update KYC Fill-in API documentation
---
code/API_definitions/kyc-fill-in.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/code/API_definitions/kyc-fill-in.yaml b/code/API_definitions/kyc-fill-in.yaml
index 9c56894..59879a2 100644
--- a/code/API_definitions/kyc-fill-in.yaml
+++ b/code/API_definitions/kyc-fill-in.yaml
@@ -244,12 +244,14 @@ components:
schemas:
KYC_FillinRequest:
type: object
+ description: KYC Fill-In request body
properties:
phoneNumber:
$ref: "../common/CAMARA_common.yaml#/components/schemas/PhoneNumber"
KYC_FillinResponse:
type: object
+ description: KYC Fill-In response body
properties:
phoneNumber:
From f08a9d087d664f08bdde180b529b89f750d5cd6a Mon Sep 17 00:00:00 2001
From: Gilles Renoux <144710412+GillesInnov35@users.noreply.github.com>
Date: Mon, 6 Jul 2026 09:46:06 +0200
Subject: [PATCH 08/12] Update kyc-fill-in.yaml
---
code/API_definitions/kyc-fill-in.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/API_definitions/kyc-fill-in.yaml b/code/API_definitions/kyc-fill-in.yaml
index 59879a2..f05439c 100644
--- a/code/API_definitions/kyc-fill-in.yaml
+++ b/code/API_definitions/kyc-fill-in.yaml
@@ -271,7 +271,7 @@ components:
idDocumentExpiryDate:
type: string
format: date
- maxLength: 16
+ maxLength: 10
description: Expiration date of the identity document (ISO 8601).
name:
@@ -352,7 +352,7 @@ components:
birthdate:
type: string
format: date
- maxLength: 64
+ maxLength: 10
description: Birthdate of the customer, in ISO 8601 calendar date format (YYYY-MM-DD), stored on the Operator's system.
email:
From 93a9221bb5a3dd8125378a2309618dd4c8a7930c Mon Sep 17 00:00:00 2001
From: Gilles Renoux <144710412+GillesInnov35@users.noreply.github.com>
Date: Tue, 7 Jul 2026 09:48:16 +0200
Subject: [PATCH 09/12] Update kyc-fill-in.yaml
---
code/API_definitions/kyc-fill-in.yaml | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/code/API_definitions/kyc-fill-in.yaml b/code/API_definitions/kyc-fill-in.yaml
index f05439c..dedc360 100644
--- a/code/API_definitions/kyc-fill-in.yaml
+++ b/code/API_definitions/kyc-fill-in.yaml
@@ -242,6 +242,16 @@ components:
openIdConnectUrl: https://example.com/.well-known/openid-configuration
schemas:
+
+ Iso3166Alpha2:
+ type: string
+ format: iso3166-1-alpha-2
+ description: Two-letter ISO 3166-1 alpha-2 country code
+ pattern: ^[A-Z]{2}$
+ minLength: 2
+ maxLength: 2
+ example: "DE"
+
KYC_FillinRequest:
type: object
description: KYC Fill-In request body
@@ -340,8 +350,7 @@ components:
description: Locality of the customer's address, stored on the Operator's system.
country:
- type: string
- maxLength: 2
+ $ref: '#/components/schemas/Iso3166Alpha2'
description: Country of the customer's address stored on the Operator's system. Format ISO 3166-1 alpha-2.
houseNumberExtension:
@@ -376,11 +385,10 @@ components:
description: City where the customer was born.
countryOfBirth:
- type: string
- maxLength: 2
+ $ref: '#/components/schemas/Iso3166Alpha2'
description: Country where the customer was born. Format ISO 3166-1 alpha-2.
nationality:
- type: string
- maxLength: 2
+ $ref: '#/components/schemas/Iso3166Alpha2'
description: ISO 3166-1 alpha-2 code of the customer’s nationality. In the case a customer has more than one nationality, it is supposed to be the nationality related to the ID document provided in the match request.
+
From 7ec0a704e24aeb366ecd13198f1e9e22b7cc9d1e Mon Sep 17 00:00:00 2001
From: Gilles Renoux <144710412+GillesInnov35@users.noreply.github.com>
Date: Tue, 7 Jul 2026 09:54:03 +0200
Subject: [PATCH 10/12] Update kyc-fill-in.yaml
---
code/API_definitions/kyc-fill-in.yaml | 1 -
1 file changed, 1 deletion(-)
diff --git a/code/API_definitions/kyc-fill-in.yaml b/code/API_definitions/kyc-fill-in.yaml
index dedc360..8e2a007 100644
--- a/code/API_definitions/kyc-fill-in.yaml
+++ b/code/API_definitions/kyc-fill-in.yaml
@@ -391,4 +391,3 @@ components:
nationality:
$ref: '#/components/schemas/Iso3166Alpha2'
description: ISO 3166-1 alpha-2 code of the customer’s nationality. In the case a customer has more than one nationality, it is supposed to be the nationality related to the ID document provided in the match request.
-
From 10e4608470b22ab0fa8b8d47799b8f367df878cd Mon Sep 17 00:00:00 2001
From: Gilles Renoux <144710412+GillesInnov35@users.noreply.github.com>
Date: Tue, 7 Jul 2026 10:01:04 +0200
Subject: [PATCH 11/12] Update kyc-fill-in.yaml
---
code/API_definitions/kyc-fill-in.yaml | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/code/API_definitions/kyc-fill-in.yaml b/code/API_definitions/kyc-fill-in.yaml
index 8e2a007..727bd5e 100644
--- a/code/API_definitions/kyc-fill-in.yaml
+++ b/code/API_definitions/kyc-fill-in.yaml
@@ -389,5 +389,9 @@ components:
description: Country where the customer was born. Format ISO 3166-1 alpha-2.
nationality:
- $ref: '#/components/schemas/Iso3166Alpha2'
+ type: string
description: ISO 3166-1 alpha-2 code of the customer’s nationality. In the case a customer has more than one nationality, it is supposed to be the nationality related to the ID document provided in the match request.
+ pattern: ^[A-Z]{2}$
+ minLength: 2
+ maxLength: 2
+ example: "JP"
From 25839e8c3ae57b8c3d76c8114aa62d0bc686ab8e Mon Sep 17 00:00:00 2001
From: Gilles Renoux <144710412+GillesInnov35@users.noreply.github.com>
Date: Tue, 7 Jul 2026 10:04:40 +0200
Subject: [PATCH 12/12] Update kyc-fill-in.yaml
---
code/API_definitions/kyc-fill-in.yaml | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/code/API_definitions/kyc-fill-in.yaml b/code/API_definitions/kyc-fill-in.yaml
index 727bd5e..940333f 100644
--- a/code/API_definitions/kyc-fill-in.yaml
+++ b/code/API_definitions/kyc-fill-in.yaml
@@ -350,8 +350,12 @@ components:
description: Locality of the customer's address, stored on the Operator's system.
country:
- $ref: '#/components/schemas/Iso3166Alpha2'
- description: Country of the customer's address stored on the Operator's system. Format ISO 3166-1 alpha-2.
+ type: string
+ description: Country of the customer's address. Format ISO 3166-1 alpha-2.
+ pattern: ^[A-Z]{2}$
+ minLength: 2
+ maxLength: 2
+ example: "JP"
houseNumberExtension:
type: string
@@ -385,8 +389,12 @@ components:
description: City where the customer was born.
countryOfBirth:
- $ref: '#/components/schemas/Iso3166Alpha2'
+ type: string
description: Country where the customer was born. Format ISO 3166-1 alpha-2.
+ pattern: ^[A-Z]{2}$
+ minLength: 2
+ maxLength: 2
+ example: "JP"
nationality:
type: string