{"openapi":"3.0.0","info":{"description":"","title":"Rabo Identity Services - itsme","version":"1.54.0","x-api-id":"6c9d3a43-35de-4f3b-ae40-84fa3f37066e","x-ibm-name":"rabo-identity-services-itsme"},"servers":[{"url":"https://api.rabobank.nl/openapi/","description":"Production server"},{"url":"https://api-sandbox.rabobank.nl/openapi/sandbox/","description":"Sandbox server"}],"paths":{"/ris/auth/itsme/keys":{"get":{"responses":{"200":{"content":{"application/json":{"examples":{"response":{"value":{"keys":[{"alg":"RS256","e":"AQAB","kid":"12345","kty":"RSA","n":"0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM78LhWx 4cbbfAAtVT86zwu1RK7aPFFxuhDR1L6tSoc_BJECPebWKRXjBZCiFV4n3oknjhMs tn64tZ_2W-5JsGY4Hc5n9yBXArwl93lqt7_RN5w6Cf0h4QyQ5v-65YGjQR0_FDW2 QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbI SD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_xBniIqb w0Ls1jF44-csFCur-kEgU8awapJzKnqDKgw"}]}}},"schema":{"$ref":"#/components/schemas/JwksResponse"}}},"description":"Integrity keys successfully retrieved","headers":{"X-Trace-Id":{"description":"Correlation id per request/response for debug purpose","schema":{"type":"string"},"x-example":"ca7726942bfc8a5a472be0e294c8b6696d38c48423e50e424b9f058ca4619a59"}}}},"tags":["Keys"],"operationId":"getKeys","summary":"Retrieve Integrity Keys"}},"/ris/auth/itsme/sessions":{"post":{"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItsMeCreateSessionResponseDto"}}},"description":"Successful operation","headers":{"X-Trace-Id":{"description":"Correlation id per request/response for debug purpose","schema":{"type":"string"},"x-example":"be398b586404e53f04a2362c9a6e83103338d3164a448e0298c1751cb3d6cd1c"}}},"400":{"content":{"application/json":{"examples":{"response":{"value":{"detail":"Invalid request content.","instance":"/ris/auth/itsme/sessions","invalid-context":[{"field":"requestedAttributes","reason":"must not be empty"}],"status":400,"title":"Bad Request","traceId":"f499f7d9ae692eb6bffab82970c70bf9","type":"urn:ris:error:input-validation"}}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request","headers":{"X-Trace-Id":{"description":"Correlation id per request/response for debug purpose","schema":{"type":"string"},"x-example":"be398b586404e53f04a2362c9a6e83103338d3164a448e0298c1751cb3d6cd1c"}}},"401":{"content":{"application/json":{"examples":{"response":{"value":{"authorization-error":"Unauthorized","detail":"Failure while processing the request!","instance":"/ris/auth/itsme","status":401,"title":"Unauthorized","traceId":"79c50d0b82206e76192f7de64d42e2d4","type":"urn:ris:error:unauthorized"}}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized","headers":{"X-Trace-Id":{"description":"Correlation id per request/response for debug purpose","schema":{"type":"string"},"x-example":"be398b586404e53f04a2362c9a6e83103338d3164a448e0298c1751cb3d6cd1c"}}},"500":{"content":{"application/json":{"examples":{"response":{"value":{"detail":"Failure while processing the request!","instance":"/ris/auth/itsme","status":500,"title":"Internal Server Error","traceId":"327725e316216679503dd9667256e02f","type":"about:blank"}}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"A general problem with the server.","headers":{"X-Trace-Id":{"description":"Correlation id per request/response for debug purpose","schema":{"type":"string"},"x-example":"be398b586404e53f04a2362c9a6e83103338d3164a448e0298c1751cb3d6cd1c"}}}},"tags":["itsme"],"operationId":"createSession","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItsMeRequestDto"}}},"required":true},"summary":"Create session"}},"/ris/auth/itsme/sessions/{sessionId}":{"get":{"parameters":[{"description":"The session identifier","example":"da236845-63a2-f44e-84fb-5f8fb1aa0b3c","in":"path","name":"sessionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItsMeResponseDto"}}},"description":"Successful operation","headers":{"X-Trace-Id":{"description":"Correlation id per request/response for debug purpose","schema":{"type":"string"},"x-example":"9aac4707a1ff60e97baebdd2e1a971fef23f21655ebe32861104fd407187f9fa"}}},"401":{"content":{"application/json":{"examples":{"response":{"value":{"authorization-error":"Unauthorized","detail":"Failure while processing the request!","instance":"/ris/auth/itsme","status":401,"title":"Unauthorized","traceId":"79c50d0b82206e76192f7de64d42e2d4","type":"urn:ris:error:unauthorized"}}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized","headers":{"X-Trace-Id":{"description":"Correlation id per request/response for debug purpose","schema":{"type":"string"},"x-example":"9aac4707a1ff60e97baebdd2e1a971fef23f21655ebe32861104fd407187f9fa"}}},"404":{"content":{"application/json":{"examples":{"response":{"value":{"detail":"Failure while processing the request!","instance":"/ris/auth/itsme/sessions/f0ecc204-e43b-444c-ae37-4d45ff3b2897","not-found-error":"Resource not found [f0ecc204-e43b-444c-ae37-4d45ff3b2897]","status":404,"title":"Resource not found","traceId":"c5d22a80461c552b3b7d1f8d6adee532","type":"urn:ris:error:not-found"}}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Resource not found","headers":{"X-Trace-Id":{"description":"Correlation id per request/response for debug purpose","schema":{"type":"string"},"x-example":"9aac4707a1ff60e97baebdd2e1a971fef23f21655ebe32861104fd407187f9fa"}}},"500":{"content":{"application/json":{"examples":{"response":{"value":{"detail":"Failure while processing the request!","instance":"/ris/auth/itsme","status":500,"title":"Internal Server Error","traceId":"327725e316216679503dd9667256e02f","type":"about:blank"}}},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"A general problem with the server.","headers":{"X-Trace-Id":{"description":"Correlation id per request/response for debug purpose","schema":{"type":"string"},"x-example":"9aac4707a1ff60e97baebdd2e1a971fef23f21655ebe32861104fd407187f9fa"}}}},"tags":["itsme"],"operationId":"retrieveSession","summary":"Retrieve session"}}},"components":{"schemas":{"CallBackUrlDto":{"description":"Specify the redirect URLs that should be applied in different scenarios, https is required for all callback URLs.","properties":{"abort":{"description":"Redirect in case the flow is aborted","example":"https://developer.rabobank.nl/api-documentation/abort","type":"string"},"error":{"description":"Redirect in case the flow is failing","example":"https://developer.rabobank.nl/api-documentation/failed","type":"string"},"success":{"description":"Redirect in case the flow is successful","example":"https://developer.rabobank.nl/api-documentation/success","type":"string"}},"required":["abort","error","success"],"type":"object"},"ErrorDto":{"properties":{"code":{"description":"Code of the error","example":"idp:sql-connection-problem","type":"string"},"detail":{"description":"Details of the error","example":"Enable to connect to SQL memory store","type":"string"},"title":{"description":"Title of the error","example":"SQL connection problem.","type":"string"},"type":{"description":"Type of the error","example":"https://example.com/errors#sql-connection-problem","type":"string"}},"type":"object"},"ErrorResponse":{"properties":{"detail":{"description":"Detail of the error","example":"Failure while processing the request!","type":"string"},"instance":{"description":"Instance of the error","example":"/ris/resource/d5cc0517-4e2b-4e80-8442-46a5a130b03e","type":"string"},"status":{"description":"Status of the error","example":400,"format":"int32","type":"integer"},"title":{"description":"Tittle of the error","example":"Internal Server Error","type":"string"},"traceId":{"description":"Id of the error, so that it can be investigated on the persisted logs","example":"40b664267dbf2e1cec98de4a733bbd01","type":"string"},"type":{"description":"Type of the error","example":"urn:ris:error:input-validation","type":"string"}},"type":"object"},"FormattedAddress":{"properties":{"city":{"description":"The city of the subject","example":"Utrecht","type":"string"},"country":{"description":"The country of the subject","example":"NL","type":"string"},"fullAddress":{"description":"Full address of the subject","example":"Croeselaan 18, 3521CB, Utrecht, NL","type":"string"},"houseNumber":{"description":"The house number of the subject","example":"18","type":"string"},"postalCode":{"description":"The postal code of the subject","example":"3521CB","type":"string"},"street":{"description":"The street name of the subject","example":"Croeselaan","type":"string"}},"type":"object"},"ItsMeRequestDto":{"properties":{"callbackUrls":{"$ref":"#/components/schemas/CallBackUrlDto"},"externalReference":{"description":"An external reference that can be set, which will be returned as a URL parameter on callbackUrls","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","type":"string"},"language":{"description":"The desired language for the UI","example":"nl","type":"string"},"requestedAttributes":{"description":"The list of requested attributes for the identification of the user","example":["name","firstName","lastName","email","gender","dateOfBirth","locale","picture","nin","phoneNumber","address","nationality","placeOfBirth","countryOfBirth","itsmeDocumentNumber","itsmeIssuanceLocality","itsmeValidityFrom","itsmeValidityTo","itsmeReadDate","itsmeNationalNumber","itsmeOs","itsmeAppName","itsmeAppRelease","itsmeDeviceLabel","itsmeDebugEnabled","itsmeDeviceId","itsmeOsRelease","itsmeManufacturer","itsmeDeviceLockLevel","itsmeSmsEnabled","itsmeRooted","itsmeImei","itsmeDeviceModel","itsmeSdkRelease"],"items":{"type":"string"},"type":"array"},"sessionLifetime":{"description":"The default sessionLifetime is 1200s with a minimum of 300s. In case a value is set lower than 300s, a value of 300s is applied. The maximum value is 3599s.","example":1200,"format":"int64","maximum":3599,"type":"integer"}},"required":["callbackUrls","requestedAttributes"],"type":"object"},"ItsMeCreateSessionResponseDto":{"required":["callbackUrls","id","status"],"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the session","example":"f3586299-a7f3-074b-8c49-eaf866810210"},"authenticationUrl":{"type":"string","description":"The URL that should be used to redirect your user to for the identification","example":"https://rabobank.nl/broker/sp/external-service/login?messageId=b7ff5ac0-5a35-a144-9831-1434d87d19dd&transactionId=f3586299-a7f3-074b-8c49-eaf866810210"},"status":{"type":"string","description":"The current status of the session","example":"SUCCESS","enum":["SUCCESS","CREATED","ERROR","ABORT","WAITING_FOR_USER","EXPIRED"]},"statusDetail":{"type":"string","description":"More details in case the response leads to an error","example":"Additional details on the status"},"provider":{"type":"string","description":"The IdP which was used by the end-user to authenticate","example":"itsme"},"callbackUrls":{"$ref":"#/components/schemas/CallBackUrlDto"},"error":{"$ref":"#/components/schemas/ErrorDto"},"language":{"type":"string","description":"The desired language for the UI","example":"nl"},"requestedAttributes":{"type":"array","description":"The list of requested attributes for the identification of the user","example":["idpId","name","firstName","lastName","email","gender","dateOfBirth","locale","picture","nin","phoneNumber","address","nationality","placeOfBirth","countryOfBirth","itsmeDocumentNumber","itsmeIssuanceLocality","itsmeValidityFrom","itsmeValidityTo","itsmeReadDate","itsmeNationalNumber","itsmeOs","itsmeAppName","itsmeAppRelease","itsmeDeviceLabel","itsmeDebugEnabled","itsmeDeviceId","itsmeOsRelease","itsmeManufacturer","itsmeDeviceLockLevel","itsmeSmsEnabled","itsmeRooted","itsmeImei","itsmeDeviceModel","itsmeSdkRelease"],"items":{"type":"string"}},"externalReference":{"type":"string","description":"An external reference that can be set, which will be returned as a URL parameter on callbackUrls","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"sessionLifetime":{"type":"integer","description":"The default sessionLifetime is 1200s with a minimum of 300s. In case a value is set lower than 300s, a value of 300s is applied. The maximum value is 3599s.","format":"int64","example":1200}}},"ItsMeResponseDto":{"properties":{"authenticationUrl":{"description":"The URL that should be used to redirect your user to for the identification","example":"https://rabobank.nl/broker/sp/external-service/login?messageId=b7ff5ac0-5a35-a144-9831-1434d87d19dd&transactionId=f3586299-a7f3-074b-8c49-eaf866810210","type":"string"},"callbackUrls":{"$ref":"#/components/schemas/CallBackUrlDto"},"error":{"$ref":"#/components/schemas/ErrorDto"},"externalReference":{"description":"An external reference that can be set, which will be returned as a URL parameter on callbackUrls","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","type":"string"},"id":{"description":"Unique identifier of the session","example":"f3586299-a7f3-074b-8c49-eaf866810210","type":"string"},"language":{"description":"The desired language for the UI","example":"nl","type":"string"},"provider":{"description":"The IdP which was used by the end-user to authenticate","example":"itsme","type":"string"},"requestedAttributes":{"description":"The list of requested attributes for the identification of the user","example":["idpId","name","firstName","lastName","email","gender","dateOfBirth","locale","picture","nin","phoneNumber","address","nationality","placeOfBirth","countryOfBirth","itsmeDocumentNumber","itsmeIssuanceLocality","itsmeValidityFrom","itsmeValidityTo","itsmeReadDate","itsmeNationalNumber","itsmeOs","itsmeAppName","itsmeAppRelease","itsmeDeviceLabel","itsmeDebugEnabled","itsmeDeviceId","itsmeOsRelease","itsmeManufacturer","itsmeDeviceLockLevel","itsmeSmsEnabled","itsmeRooted","itsmeImei","itsmeDeviceModel","itsmeSdkRelease"],"items":{"type":"string"},"type":"array"},"sessionLifetime":{"description":"The default sessionLifetime is 1200s with a minimum of 300s. In case a value is set lower than 300s, a value of 300s is applied. The maximum value is 3599s.","example":1200,"format":"int64","type":"integer"},"status":{"description":"The current status of the session","enum":["SUCCESS","CREATED","ERROR","ABORT","WAITING_FOR_USER","EXPIRED"],"example":"SUCCESS","type":"string"},"statusDetail":{"description":"More details in case the response leads to an error","example":"Additional details on the status","type":"string"},"subject":{"$ref":"#/components/schemas/ItsMeSubjectDto"}},"required":["callbackUrls","id","status"],"type":"object"},"ItsMeSubjectDto":{"description":"The subject of the session","properties":{"address":{"description":"The address of the subject","example":"Croeselaan 18, 3521CB, Utrecht, NL","type":"string"},"addressFormatted":{"$ref":"#/components/schemas/FormattedAddress"},"countryOfBirth":{"description":"Country of birth of end-user.","example":"Belgium","type":"string"},"dateOfBirth":{"description":"The date of birth of the subject. Format YYYY-MM-DD","example":"1980-01-01","type":"string"},"email":{"description":"The email of the subject","example":"noreply@rabobank.nl","type":"string"},"firstName":{"description":"The first name of the subject","example":"Jansen","type":"string"},"gender":{"description":"Biological sex of the end-user. Possible values are : female, male, unknown, n/a. Note that for Belgian end-users only female or male values are available.","example":"male","type":"string"},"id":{"description":"The identifier of the subject","example":"f3586299-a7f3-074b-8c49-eaf866810210","type":"string"},"idpId":{"description":"The Identity Provider (IdP) identifier of the subject","example":"fq3tit3cptpm4k2c100jwmiskc0ubelaycme","type":"string"},"itsmeAppName":{"description":"The application name","example":"itsme","type":"string"},"itsmeAppRelease":{"description":"The application current release","example":"4.14.0","type":"string"},"itsmeDebugEnabled":{"description":"Boolean that specifies whether debug mode is activated.","example":false,"type":"boolean"},"itsmeDeviceId":{"description":"Device identifier","example":"d25fe0ce28e24902a91ba5dc4fe5f58b2","type":"string"},"itsmeDeviceLabel":{"description":"The name of the device","example":"dm1q","type":"string"},"itsmeDeviceLockLevel":{"description":"Device lock level","example":"BIOMETRIC","type":"string"},"itsmeDeviceModel":{"description":"The model of the device","example":"SM-S911B","type":"string"},"itsmeDocumentNumber":{"description":"ID document number","example":"123-4567890-02","type":"string"},"itsmeImei":{"description":"IMEI number of device","example":"123456789","type":"string"},"itsmeIssuanceLocality":{"description":"Place where the ID document was issued","example":"Bruxelles","type":"string"},"itsmeManufacturer":{"description":"The brand of the device manufacturer","example":"samsung","type":"string"},"itsmeNationalNumber":{"description":"National registration number ( \"Rijksregisternummer\") is the unique identification number of natural persons registerd in Belgium. It comprises 11 digits in the form YY.MM.DD-xxx.cd where YY.MM.DD is the date of birth, xxx is a sequential number (odd for males and even for females) and cd a check-digit.","example":"860224 025 08","type":"string"},"itsmeOs":{"description":"The device operating system. Available values are \"ANDROID\" or \"iOS\".","example":"ANDROID","type":"string"},"itsmeOsRelease":{"description":"The version of the OS running on the device","example":"14","type":"string"},"itsmeReadDate":{"description":"The date when the end-user's document was read for the last time, represented as a string in YYYY-MM-DDThh:mm:ss.nnnZ date format, specified by ISO 8601.","example":"1899-01-31T00:00:00+00Z","type":"string"},"itsmeRooted":{"description":"Specifies if it is a rooted device. This value is always false","example":false,"type":"boolean"},"itsmeSdkRelease":{"description":"Version of SDK on device","example":"4.14.0","type":"string"},"itsmeSmsEnabled":{"description":"True if device can send an SMS","example":true,"type":"boolean"},"itsmeValidityFrom":{"description":"Belgian ID document issuance date, represented as a string in YYYY-MM-DDThh:mm:ss.nnnZ date format specified by ISO 8601","example":"1899-01-31T00:00:00+00Z","type":"string"},"itsmeValidityTo":{"description":"Belgian ID card expiry date, represented as a string in YYYY-MM-DDThh:mm:ss.nnnZ date format specified by ISO 8601.","example":"1899-01-31T00:00:00+00Z","type":"string"},"lastName":{"description":"The last name of the subject","example":"de Vries","type":"string"},"locale":{"description":"End-user mobile phone language","example":"NL","type":"string"},"name":{"description":"The full name of the subject","example":"VJ de Vries","type":"string"},"nationality":{"description":"Nationality of the end-user","example":"NLD","type":"string"},"nin":{"$ref":"#/components/schemas/NationalIdentityNumber"},"phoneNumber":{"description":"Phone number (mobile or landline) of subject","example":"+31612345678","type":"string"},"picture":{"description":"URL pointing to a picture on the ID document of the end-user","example":"https://www.example.com","type":"string"},"placeOfBirth":{"description":"Place of birth of end-user","example":"Bruxelles","type":"string"}},"type":"object"},"JwksResponse":{"description":"JWKSet keys response","properties":{"keys":{"items":{"properties":{},"type":"object"},"type":"array"}},"required":["keys"],"type":"object"},"NationalIdentityNumber":{"properties":{"issuingCountry":{"description":"The country issuing the identity number","example":"NL","type":"string"},"type":{"description":"The type of national identity number","example":"PERSON","type":"string"},"value":{"description":"The national identity number of the end-user","example":"81042419835","type":"string"}},"type":"object"}},"securitySchemes":{"clientId":{"description":"ClientId as provided by the Rabobank developer portal.","in":"header","name":"X-IBM-Client-Id","type":"apiKey"}}},"security":[{"clientId":[]}],"x-components":{},"x-readme":{"explorer-enabled":false,"proxy-enabled":false}}