{"swagger":"2.0","info":{"title":"Open Bank Project API","description":"An Open Source API for Banks. (c) TESOBE GmbH. 2011 - 2024. Licensed under the AGPL and commercial licences.","contact":{"name":"TESOBE GmbH. / Open Bank Project","url":"https://openbankproject.com","email":"contact@tesobe.com"},"version":"v4.0.0"},"host":"apisandbox.openbankproject.com","basePath":"/","schemes":["http","https"],"securityDefinitions":{"directLogin":{"type":"apiKey","description":"https://github.com/OpenBankProject/OBP-API/wiki/Direct-Login","in":"header","name":"Authorization"},"gatewayLogin":{"type":"apiKey","description":"https://github.com/OpenBankProject/OBP-API/wiki/Gateway-Login","in":"header","name":"Authorization"}},"security":[{"directLogin":[],"gatewayLogin":[]}],"paths":{"/obp/v4.0.0/endpoints/json-schema-validations":{"get":{"tags":["JSON-Schema-Validation"],"summary":"Get all JSON Schema Validations - public","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"
Get all JSON Schema Validations - public.
Authentication is Optional
","operationId":"getAllJsonSchemaValidationsPublic","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["json_schema_validations"],"properties":{"json_schema_validations":{"type":"array","items":{"$ref":"#/definitions/JsonValidationV400"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}}},"/obp/v4.0.0/management/json-schema-validations":{"get":{"tags":["JSON-Schema-Validation"],"summary":"Get all JSON Schema Validations","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all JSON Schema Validations.
Authentication is Mandatory
","operationId":"getAllJsonSchemaValidations","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["json_schema_validations"],"properties":{"json_schema_validations":{"type":"array","items":{"$ref":"#/definitions/JsonValidationV400"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/json-schema-validations/OPERATION_ID":{"delete":{"tags":["JSON-Schema-Validation"],"summary":"Delete a JSON Schema Validation","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a JSON Schema Validation by operation_id.
Authentication is Mandatory
","operationId":"deleteJsonSchemaValidation","parameters":[],"responses":{"204":{"description":"Success","schema":{"type":"boolean"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["JSON-Schema-Validation"],"summary":"Get a JSON Schema Validation","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get a JSON Schema Validation by operation_id.
Authentication is Mandatory
","operationId":"getJsonSchemaValidation","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonValidationV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}},"post":{"tags":["JSON-Schema-Validation"],"summary":"Create a JSON Schema Validation","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a JSON Schema Validation.
Introduction:
JSON Schema is "a vocabulary that allows you to annotate and validate JSON documents".
By applying JSON Schema Validation to your OBP endpoints you can constrain POST and PUT request bodies. For example, you can set minimum / maximum lengths of fields and constrain values to certain lists or regular expressions.
See JSONSchema.org for more information about the JSON Schema standard.
To create a JSON Schema from an any JSON Request body you can use JSON Schema Net
(The video link below shows how to use that)
Note: OBP Dynamic Entities also use JSON Schema Validation so you don't need to additionally wrap the resulting endpoints with extra JSON Schema Validation but you could do.
You can apply JSON schema validations to any OBP endpoint's request body using the POST and PUT endpoints listed in the link below.
PLEASE SEE the following video explanation: JSON schema validation of request for Static and Dynamic Endpoints and Entities
To use this endpoint, please supply a valid json-schema in the request body.
Note: It might take a few minutes for the newly created JSON Schema to take effect!
Authentication is Mandatory
","operationId":"createJsonSchemaValidation","parameters":[{"in":"body","name":"body","description":"JsonSchemaV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/JsonSchemaV400"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/JsonValidationV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["JSON-Schema-Validation"],"summary":"Update a JSON Schema Validation","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update a JSON Schema Validation.
Introduction:
JSON Schema is "a vocabulary that allows you to annotate and validate JSON documents".
By applying JSON Schema Validation to your OBP endpoints you can constrain POST and PUT request bodies. For example, you can set minimum / maximum lengths of fields and constrain values to certain lists or regular expressions.
See JSONSchema.org for more information about the JSON Schema standard.
To create a JSON Schema from an any JSON Request body you can use JSON Schema Net
(The video link below shows how to use that)
Note: OBP Dynamic Entities also use JSON Schema Validation so you don't need to additionally wrap the resulting endpoints with extra JSON Schema Validation but you could do.
You can apply JSON schema validations to any OBP endpoint's request body using the POST and PUT endpoints listed in the link below.
PLEASE SEE the following video explanation: JSON schema validation of request for Static and Dynamic Endpoints and Entities
To use this endpoint, please supply a valid json-schema in the request body.
Authentication is Mandatory
","operationId":"updateJsonSchemaValidation","parameters":[{"in":"body","name":"body","description":"JsonSchemaV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/JsonSchemaV400"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonValidationV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}}},"definitions":{"ErrorInvalidJsonFormat":{"properties":{"message":{"type":"string","example":"OBP-10001: Incorrect json format."}}},"ErrorUserNotLoggedIn":{"properties":{"message":{"type":"string","example":"OBP-20001: User not logged in. Authentication is required!"}}},"JsonValidationV400":{"required":["operation_id","json_schema"],"properties":{"operation_id":{"type":"string","example":"OBPv4.0.0-createXxx"},"json_schema":{"$ref":"#/definitions/JsonSchemaV400"}}},"JsonSchemaV400":{"required":["description","properties","additionalProperties","title","type","required","$schema"],"properties":{"description":{"type":"string","example":"The demo json-schema"},"properties":{"$ref":"#/definitions/Properties"},"additionalProperties":{"type":"boolean","example":"true"},"title":{"type":"string","example":"The demo schema"},"type":{"type":"string","example":"object"},"required":{"type":"array","items":{"type":"string"}},"$schema":{"type":"string","example":"http://json-schema.org/draft-07/schema"}}},"XxxId":{"required":["type","minLength","maxLength","examples"],"properties":{"type":{"type":"string","example":"string"},"minLength":{"type":"integer","format":"int32","example":"2"},"maxLength":{"type":"integer","format":"int32","example":"50"},"examples":{"type":"array","items":{"type":"string"}}}},"Properties":{"required":["xxx_id"],"properties":{"xxx_id":{"$ref":"#/definitions/XxxId"}}}}}