{"openapi":"3.0.0","info":{"description":"","title":"Rabo Identity Services - SMS OTP","version":"1.52.0","x-api-id":"135667c6-a1db-41ed-acd2-891c17b24ea7","x-ibm-name":"rabo-identity-services-smsotp"},"servers":[{"url":"https://api.rabobank.nl/openapi/","description":"Production server"},{"url":"https://api-sandbox.rabobank.nl/openapi/sandbox/","description":"Sandbox server"}],"paths":{"/ris/auth/smsotp/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":"8e827e5b19c981808dc623d29606b36b55fc34467f71af645492312b57f51f42"}}}},"tags":["Keys"],"operationId":"getKeys","summary":"Retrieve Integrity Keys"}},"/ris/auth/smsotp/sessions":{"post":{"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SmsOtpCreateSessionResponseDto"}}},"description":"Successful operation","headers":{"X-Trace-Id":{"description":"Correlation id per request/response for debug purpose","schema":{"type":"string"},"x-example":"62f2b4284723afee0b8fe4aafecd9891d5409d402420e8eca3d68e8335481b20"}}},"400":{"content":{"application/json":{"examples":{"response":{"value":{"detail":"Invalid request content.","instance":"/ris/auth/smsotp/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":"62f2b4284723afee0b8fe4aafecd9891d5409d402420e8eca3d68e8335481b20"}}},"401":{"content":{"application/json":{"examples":{"response":{"value":{"authorization-error":"Unauthorized","detail":"Failure while processing the request!","instance":"/ris/auth/smsotp","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":"62f2b4284723afee0b8fe4aafecd9891d5409d402420e8eca3d68e8335481b20"}}},"500":{"content":{"application/json":{"examples":{"response":{"value":{"detail":"Failure while processing the request!","instance":"/ris/auth/smsotp","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":"62f2b4284723afee0b8fe4aafecd9891d5409d402420e8eca3d68e8335481b20"}}}},"tags":["SMS OTP"],"operationId":"createSession","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SmsOtpRequestDto"}}},"required":true},"summary":"Create session"}},"/ris/auth/smsotp/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/SmsOtpResponseDto"}}},"description":"Successful operation","headers":{"X-Trace-Id":{"description":"Correlation id per request/response for debug purpose","schema":{"type":"string"},"x-example":"f127dc9d049924536018b5aa4467f0dee9f41847aa8fa283b89f4e8dacaef7f4"}}},"401":{"content":{"application/json":{"examples":{"response":{"value":{"authorization-error":"Unauthorized","detail":"Failure while processing the request!","instance":"/ris/auth/smsotp","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":"f127dc9d049924536018b5aa4467f0dee9f41847aa8fa283b89f4e8dacaef7f4"}}},"404":{"content":{"application/json":{"examples":{"response":{"value":{"detail":"Failure while processing the request!","instance":"/ris/auth/smsotp/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":"f127dc9d049924536018b5aa4467f0dee9f41847aa8fa283b89f4e8dacaef7f4"}}},"500":{"content":{"application/json":{"examples":{"response":{"value":{"detail":"Failure while processing the request!","instance":"/ris/auth/smsotp","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":"f127dc9d049924536018b5aa4467f0dee9f41847aa8fa283b89f4e8dacaef7f4"}}}},"tags":["SMS OTP"],"operationId":"retrieveSession","summary":"Retrieve session"}}},"components":{"schemas":{"CallBackUrlDto":{"description":"Specifies the redirect URLs that should be applied in different scenarios","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"},"JwksResponse":{"description":"JWKSet keys response","properties":{"keys":{"items":{"properties":{},"type":"object"},"type":"array"}},"required":["keys"],"type":"object"},"PrefilledInputDto":{"description":"This object will allow you to prefill data into the flow","properties":{"mobile":{"description":"This object represents the mobile phone number of the user that should be prefilled. The user will not be able to alter it in the UI. Always populate the country code of the phone number, such as +31","example":"+31612345678","pattern":"\\+{1}[0-9]{3,}","type":"string"}},"required":["mobile"],"type":"object"},"SmsOtpRequestDto":{"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"},"prefilledInput":{"$ref":"#/components/schemas/PrefilledInputDto"},"requestedAttributes":{"description":"The list of requested attributes for the identification of the user","example":["idpId"],"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"},"SmsOtpCreateSessionResponseDto":{"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":"otp-sms"},"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"],"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}}},"SmsOtpResponseDto":{"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":"otp-sms","type":"string"},"requestedAttributes":{"description":"The list of requested attributes for the identification of the user","example":["idpId"],"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/SmsOtpSubjectDto"}},"required":["callbackUrls","id","status"],"type":"object"},"SmsOtpSubjectDto":{"description":"The subject of the session","properties":{"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":"+31612345678","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}}