{"resource_docs":[{"operation_id":"OBPv2.0.0-createUser","implemented_by":{"version":"OBPv2.0.0","function":"createUser"},"request_verb":"POST","request_url":"/obp/v2.0.0/users","summary":"Create User","description":"<p>Creates OBP user.<br />\nNo authorisation required.</p>\n<p>Mimics current webform to Register.</p>\n<p>Requires username(email), password, first_name, last_name, and email.</p>\n<p>Validation checks performed:<br />\n- Password must meet strong password requirements (InvalidStrongPasswordFormat error if not)<br />\n- Username must be unique (409 error if username already exists)<br />\n- All required fields must be present in valid JSON format</p>\n<p>Email validation behavior:<br />\n- Controlled by property 'authUser.skipEmailValidation' (default: false)<br />\n- When false: User is created with validated=false and a validation email is sent to the user's email address<br />\n- When true: User is created with validated=true and no validation email is sent<br />\n- Default entitlements are granted immediately regardless of validation status</p>\n<p>Note: If email validation is required (skipEmailValidation=false), the user must click the validation link<br />\nin the email before they can log in, even though entitlements are already granted.</p>\n<p>User Authentication is Required. The User must be logged in. The Application must also be authenticated.</p>\n<p><strong>JSON request body fields:</strong></p>\n<p><a href=\"/glossary#\"><strong>email</strong></a>: <a href=\"&#109;&#x61;il&#x74;&#x6f;:&#x66;e&#108;&#x69;&#120;&#x73;&#109;i&#x74;&#x68;&#x40;&#x65;&#x78;a&#109;&#x70;&#108;&#x65;&#46;&#x63;&#111;&#109;\">&#102;&#101;&#x6c;&#105;&#120;&#x73;&#109;&#x69;&#x74;&#104;&#x40;&#101;&#120;&#97;&#x6d;p&#x6c;&#x65;&#46;&#x63;&#x6f;m</a></p>\n<p><a href=\"/glossary#first_name\"><strong>first_name</strong></a>: Tom</p>\n<p><a href=\"/glossary#last_name\"><strong>last_name</strong></a>: Smith</p>\n<p><a href=\"/glossary#\"><strong>password</strong></a>: password</p>\n<p><a href=\"/glossary#\"><strong>username</strong></a>: felixsmith</p>\n<p><strong>JSON response body fields:</strong></p>\n<p><a href=\"/glossary#\"><strong>bank_id</strong></a>: gh.29.uk</p>\n<p><a href=\"/glossary#\"><strong>email</strong></a>: <a href=\"m&#x61;&#x69;l&#116;o&#58;&#102;e&#x6c;&#105;&#120;&#x73;&#109;&#105;&#116;&#104;&#x40;&#101;&#x78;amp&#x6c;&#x65;&#x2e;&#99;o&#109;\">&#x66;el&#x69;&#120;&#x73;&#x6d;&#x69;&#116;&#x68;&#x40;&#101;&#x78;&#x61;&#x6d;&#x70;&#x6c;&#101;.&#99;&#111;&#109;</a></p>\n<p><a href=\"/glossary#entitlement_id\"><strong>entitlement_id</strong></a>:</p>\n<p><a href=\"/glossary#entitlements\"><strong>entitlements</strong></a>:</p>\n<p><a href=\"/glossary#list\"><strong>list</strong></a>:</p>\n<p><a href=\"/glossary#provider\"><strong>provider</strong></a>: ETHEREUM</p>\n<p><a href=\"/glossary#provider_id\"><strong>provider_id</strong></a>:</p>\n<p><a href=\"/glossary#role_name\"><strong>role_name</strong></a>:</p>\n<p><a href=\"/glossary#\"><strong>user_id</strong></a>: 9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1</p>\n<p><a href=\"/glossary#\"><strong>username</strong></a>: felixsmith</p>\n","description_markdown":"Creates OBP user.\n No authorisation required.\n\n Mimics current webform to Register.\n\n Requires username(email), password, first_name, last_name, and email.\n\n Validation checks performed:\n - Password must meet strong password requirements (InvalidStrongPasswordFormat error if not)\n - Username must be unique (409 error if username already exists)\n - All required fields must be present in valid JSON format\n\n Email validation behavior:\n - Controlled by property 'authUser.skipEmailValidation' (default: false)\n - When false: User is created with validated=false and a validation email is sent to the user's email address\n - When true: User is created with validated=true and no validation email is sent\n - Default entitlements are granted immediately regardless of validation status\n\n Note: If email validation is required (skipEmailValidation=false), the user must click the validation link\n in the email before they can log in, even though entitlements are already granted.\n\n\n\nUser Authentication is Required. The User must be logged in. The Application must also be authenticated.\n\n\n**JSON request body fields:**\n\n\n\n[**email**](/glossary#): felixsmith@example.com\n\n\n\n[**first_name**](/glossary#first_name): Tom\n\n\n\n[**last_name**](/glossary#last_name): Smith\n\n\n\n[**password**](/glossary#): password\n\n\n\n[**username**](/glossary#): felixsmith\n\n\n\n\n\n**JSON response body fields:**\n\n\n\n[**bank_id**](/glossary#): gh.29.uk\n\n\n\n[**email**](/glossary#): felixsmith@example.com\n\n\n\n[**entitlement_id**](/glossary#entitlement_id): \n\n\n\n[**entitlements**](/glossary#entitlements): \n\n\n\n[**list**](/glossary#list): \n\n\n\n[**provider**](/glossary#provider): ETHEREUM\n\n\n\n[**provider_id**](/glossary#provider_id): \n\n\n\n[**role_name**](/glossary#role_name): \n\n\n\n[**user_id**](/glossary#): 9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1\n\n\n\n[**username**](/glossary#): felixsmith\n\n\n","example_request_body":{"email":"felixsmith@example.com","username":"felixsmith","password":"String","first_name":"Simon","last_name":"Redfern"},"success_response_body":{"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1","email":"felixsmith@example.com","provider_id":"Chris","provider":"http://127.0.0.1:8080","username":"felixsmith","entitlements":{"list":[{"entitlement_id":"6fb17583-1e49-4435-bb74-a14fe0996723","role_name":"CanQueryOtherUser","bank_id":"gh.29.uk"}]}},"error_response_bodies":["OBP-20001: User not logged in. Authentication is required!","OBP-10001: Incorrect json format.","OBP-30207: Invalid Password Format. Your password should EITHER be at least 10 characters long and contain mixed numbers and both upper and lower case letters and at least one special character, OR the length should be > 16 and <= 512.","OBP-20258: Duplicate Username. Cannot create Username because it already exists. ","OBP-20259: Could not check username uniqueness against the external provider. The Connector or Adapter may not be running. ","Error occurred during user creation.","OBP-50000: Unknown Error."],"tags":["User","Onboarding"],"typed_request_body":{"type":"object","properties":{"email":{"type":"string"},"first_name":{"type":"string"},"password":{"type":"string"},"username":{"type":"string"},"last_name":{"type":"string"}}},"typed_success_response_body":{"type":"object","properties":{"provider":{"type":"string"},"email":{"type":"string"},"provider_id":{"type":"string"},"entitlements":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"role_name":{"type":"string"},"bank_id":{"type":"string"},"entitlement_id":{"type":"string"}}}}}},"username":{"type":"string"},"user_id":{"type":"string"}}},"is_featured":false,"special_instructions":"","specified_url":"/obp/v5.1.0/users","connector_methods":[]},{"operation_id":"OBPv5.0.0-createAccount","implemented_by":{"version":"OBPv5.0.0","function":"createAccount"},"request_verb":"PUT","request_url":"/obp/v5.0.0/banks/BANK_ID/accounts/ACCOUNT_ID","summary":"Create Account (PUT)","description":"<p>Create Account at bank specified by BANK_ID with Id specified by ACCOUNT_ID.</p>\n<p>The User can create an Account for themself  - or -  the User that has the USER_ID specified in the POST body.</p>\n<p>If the PUT body USER_ID <em>is</em> specified, the logged in user must have the Role canCreateAccount. Once created, the Account will be owned by the User specified by USER_ID.</p>\n<p>If the PUT body USER_ID is <em>not</em> specified, the account will be owned by the logged in User.</p>\n<p>The 'product_code' field SHOULD be a product_code from Product.<br />\nIf the 'product_code' matches a product_code from Product, account attributes will be created that match the Product Attributes.</p>\n<p>Note: The Amount MUST be zero.</p>\n<p>User Authentication is Required. The User must be logged in. The Application must also be authenticated.</p>\n<p><strong>URL Parameters:</strong></p>\n<p><a href=\"/glossary#Account.account_id\">ACCOUNT_ID</a>: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0</p>\n<p><a href=\"/glossary#Bank.bank_id\">BANK_ID</a>: gh.29.uk</p>\n<p><strong>JSON response body fields:</strong></p>\n<p><a href=\"/glossary#account_attribute_id\"><strong>account_attribute_id</strong></a>:</p>\n<p><a href=\"/glossary#account_attributes\"><strong>account_attributes</strong></a>:</p>\n<p><a href=\"/glossary#\"><strong>account_id</strong></a>: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0</p>\n<p><a href=\"/glossary#account_routings\"><strong>account_routings</strong></a>:</p>\n<p><a href=\"/glossary#address\"><strong>address</strong></a>:</p>\n<p><a href=\"/glossary#\"><strong>amount</strong></a>: 10.12</p>\n<p><a href=\"/glossary#balance\"><strong>balance</strong></a>: 10</p>\n<p><a href=\"/glossary#\"><strong>branch_id</strong></a>: DERBY6</p>\n<p><a href=\"/glossary#\"><strong>currency</strong></a>: EUR</p>\n<p><a href=\"/glossary#\"><strong>label</strong></a>: My Account</p>\n<p><a href=\"/glossary#name\"><strong>name</strong></a>: ACCOUNT_MANAGEMENT_FEE</p>\n<p><a href=\"/glossary#product_code\"><strong>product_code</strong></a>: 1234BW</p>\n<p><a href=\"/glossary#scheme\"><strong>scheme</strong></a>: OBP</p>\n<p><a href=\"/glossary#type\"><strong>type</strong></a>:</p>\n<p><a href=\"/glossary#\"><strong>user_id</strong></a>: 9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1</p>\n<p><a href=\"/glossary#\"><strong>value</strong></a>: 5987953</p>\n<p><a href=\"/glossary#\">product_instance_code</a>: product_instance_code</p>\n","description_markdown":"Create Account at bank specified by BANK_ID with Id specified by ACCOUNT_ID.\n\nThe User can create an Account for themself  - or -  the User that has the USER_ID specified in the POST body.\n\nIf the PUT body USER_ID *is* specified, the logged in user must have the Role canCreateAccount. Once created, the Account will be owned by the User specified by USER_ID.\n\nIf the PUT body USER_ID is *not* specified, the account will be owned by the logged in User.\n\nThe 'product_code' field SHOULD be a product_code from Product.\nIf the 'product_code' matches a product_code from Product, account attributes will be created that match the Product Attributes.\n\nNote: The Amount MUST be zero.\n\nUser Authentication is Required. The User must be logged in. The Application must also be authenticated.\n\n\n**URL Parameters:**\n\n[ACCOUNT_ID](/glossary#Account.account_id): 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0\n\n\n\n[BANK_ID](/glossary#Bank.bank_id): gh.29.uk\n\n\n\n\n\n**JSON response body fields:**\n\n\n\n[**account_attribute_id**](/glossary#account_attribute_id): \n\n\n\n[**account_attributes**](/glossary#account_attributes): \n\n\n\n[**account_id**](/glossary#): 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0\n\n\n\n[**account_routings**](/glossary#account_routings): \n\n\n\n[**address**](/glossary#address): \n\n\n\n[**amount**](/glossary#): 10.12\n\n\n\n[**balance**](/glossary#balance): 10\n\n\n\n[**branch_id**](/glossary#): DERBY6\n\n\n\n[**currency**](/glossary#): EUR\n\n\n\n[**label**](/glossary#): My Account\n\n\n\n[**name**](/glossary#name): ACCOUNT_MANAGEMENT_FEE\n\n\n\n[**product_code**](/glossary#product_code): 1234BW\n\n\n\n[**scheme**](/glossary#scheme): OBP\n\n\n\n[**type**](/glossary#type): \n\n\n\n[**user_id**](/glossary#): 9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1\n\n\n\n[**value**](/glossary#): 5987953\n\n\n\n[product_instance_code](/glossary#): product_instance_code\n\n\n","example_request_body":{"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1","label":"My Account","product_code":"1234BW","balance":{"currency":"EUR","amount":"0"},"branch_id":"DERBY6","account_routings":[{"scheme":"OBP","address":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"}]},"success_response_body":{"account_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0","user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1","label":"My Account","product_code":"1234BW","balance":{"currency":"EUR","amount":"0"},"branch_id":"DERBY6","account_routings":[{"scheme":"OBP","address":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"}],"account_attributes":[{"product_code":"1234BW","account_attribute_id":"613c83ea-80f9-4560-8404-b9cd4ec42a7f","name":"OVERDRAFT_START_DATE","type":"DATE_WITH_DAY","value":"2012-04-23","product_instance_code":"LKJL98769F"}]},"error_response_bodies":["OBP-10001: Incorrect json format.","OBP-30001: Bank not found. Please specify a valid value for BANK_ID.","OBP-20001: User not logged in. Authentication is required!","OBP-30107: Invalid User Id.","OBP-30110: Invalid Account Id. The ACCOUNT_ID should only contain 0-9/a-z/A-Z/'-'/'.'/'_', the length should be smaller than 255.","OBP-30111: Invalid Bank Id. The BANK_ID should only contain 0-9/a-z/A-Z/'-'/'.'/'_', the length should be smaller than 255.","OBP-20005: User not found. Please specify a valid value for USER_ID.","OBP-20006: User is missing one or more roles: ","OBP-30106: Invalid Balance Amount.","OBP-30112: Invalid Number. Initial balance must be a number, e.g 1000.00","OBP-30109: Initial Balance of Account must be Zero (0).","OBP-30105: Invalid Balance Currency.","OBP-30208: Account_ID already exists at the Bank.","OBP-50000: Unknown Error."],"tags":["Account","Onboarding"],"typed_request_body":{"type":"object","properties":{"user_id":{"type":"string"},"product_code":{"type":"string"},"balance":{"type":"object","properties":{"currency":{"type":"string"},"amount":{"type":"string"}}},"label":{"type":"string"},"branch_id":{"type":"string"},"account_routings":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"scheme":{"type":"string"}}}}}},"typed_success_response_body":{"type":"object","properties":{"account_routings":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"scheme":{"type":"string"}}}},"product_code":{"type":"string"},"label":{"type":"string"},"balance":{"type":"object","properties":{"currency":{"type":"string"},"amount":{"type":"string"}}},"account_attributes":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"product_code":{"type":"string"},"account_attribute_id":{"type":"string"},"product_instance_code":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"}}}},"branch_id":{"type":"string"},"account_id":{"type":"string"},"user_id":{"type":"string"}}},"roles":[{"role":"CanCreateAccount","requires_bank_id":true}],"is_featured":false,"special_instructions":"","specified_url":"/obp/v5.1.0/banks/BANK_ID/accounts/ACCOUNT_ID","connector_methods":[]}]}